12014-02-20 Beth Dakin <bdakin@apple.com> 2 3 WKPage's setBackgroundExtendsBeyondPage API should be exposed through WKView and 4 WKWebView 5 https://bugs.webkit.org/show_bug.cgi?id=129120 6 7 Reviewed by Anders Carlsson. 8 9 While we’re in this code, fix up the pageExtendedBackgroundColor to match. 10 * UIProcess/API/Cocoa/WKViewPrivate.h: 11 * UIProcess/API/Cocoa/WKWebView.mm: 12 (-[WKWebView _pageExtendedBackgroundColor]): 13 (-[WKWebView _setBackgroundExtendsBeyondPage:]): 14 (-[WKWebView _backgroundExtendsBeyondPage]): 15 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 16 * UIProcess/API/ios/WKViewIOS.mm: 17 (-[WKView _pageExtendedBackgroundColor]): 18 (-[WKView _setBackgroundExtendsBeyondPage:]): 19 (-[WKView _backgroundExtendsBeyondPage]): 20 212014-02-20 Dean Jackson <dino@apple.com> 22 23 Add an unresolved WebGLPolicy and an API to resolve it 24 https://bugs.webkit.org/show_bug.cgi?id=129109 25 26 Reviewed by Anders Carlsson. 27 28 Add a third WebGLLoadPolicy which is "pending" allowing the page 29 to go ahead with creating the WebGLRenderingContext and resolve the policy 30 at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution. 31 32 * UIProcess/API/APILoaderClient.h: 33 (API::LoaderClient::webGLLoadPolicy): New return value. 34 (API::LoaderClient::resolveWebGLLoadPolicy): New method definition. 35 * UIProcess/API/C/WKAPICast.h: 36 (WebKit::toWebGLLoadPolicy): Change names of return types. 37 * UIProcess/API/C/WKPage.cpp: 38 (WKPageSetPageLoaderClient): New stubs. 39 * UIProcess/API/C/WKPageLoaderClient.h: New policy type kWKWebGLLoadPolicyPending. 40 * UIProcess/WebPageProxy.cpp: 41 (WebKit::WebPageProxy::resolveWebGLPolicyForURL): New method. 42 * UIProcess/WebPageProxy.h: 43 * UIProcess/WebPageProxy.messages.in: New message. 44 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 45 (WebKit::WebFrameLoaderClient::webGLPolicyForURL): 46 (WebKit::WebFrameLoaderClient::resolveWebGLPolicyForURL): 47 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 48 * WebProcess/WebPage/WebPage.cpp: 49 (WebKit::WebPage::webGLPolicyForURL): 50 (WebKit::WebPage::resolveWebGLPolicyForURL): 51 * WebProcess/WebPage/WebPage.h: 52 532014-02-20 Anders Carlsson <andersca@apple.com> 54 55 Make it possible to reply asynchronously to JavaScript panels and alerts 56 https://bugs.webkit.org/show_bug.cgi?id=129116 57 58 Reviewed by Dan Bernstein. 59 60 * Scripts/webkit2/LegacyMessageReceiver-expected.cpp: 61 (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): 62 (Messages::WebPage::TestMultipleAttributes::DelayedReply::send): 63 * Scripts/webkit2/MessageReceiver-expected.cpp: 64 (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): 65 (Messages::WebPage::TestMultipleAttributes::DelayedReply::send): 66 * Scripts/webkit2/messages.py: 67 (generate_message_handler): 68 * UIProcess/API/APIUIClient.h: 69 (API::UIClient::runJavaScriptAlert): 70 (API::UIClient::runJavaScriptConfirm): 71 (API::UIClient::runJavaScriptPrompt): 72 * UIProcess/API/C/WKPage.cpp: 73 (WKPageSetPageUIClient): 74 * UIProcess/WebPageProxy.cpp: 75 (WebKit::WebPageProxy::runJavaScriptAlert): 76 (WebKit::WebPageProxy::runJavaScriptConfirm): 77 (WebKit::WebPageProxy::runJavaScriptPrompt): 78 * UIProcess/WebPageProxy.h: 79 * UIProcess/WebPageProxy.messages.in: 80 812014-02-20 Enrique Ocaña González <eocanha@igalia.com> 82 83 WebKitGTK+ should stop using COMPILE_ASSERT_MATCHING_ENUM macros 84 https://bugs.webkit.org/show_bug.cgi?id=127800 85 86 Reviewed by Martin Robinson. 87 88 * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Defined and applied type conversions. 89 (webkit_authentication_request_get_scheme): 90 * UIProcess/API/gtk/WebKitCookieManager.cpp: Defined and applied type conversions. 91 (toWebKitCookieAcceptPolicy): 92 (toHTTPCookieAcceptPolicy): 93 (webkit_cookie_manager_set_persistent_storage): 94 (webkit_cookie_manager_set_accept_policy): 95 (webkitCookieManagerGetAcceptPolicyCallback): 96 * UIProcess/API/gtk/WebKitCredential.cpp: Defined and applied type conversions. 97 (toWebKitCredentialPersistence): 98 (toWebCoreCredentialPersistence): 99 (webkit_credential_new): 100 (webkit_credential_get_persistence): 101 * UIProcess/API/gtk/WebKitDownload.cpp: Defined and applied type conversions. 102 (webkitDownloadFailed): 103 * UIProcess/API/gtk/WebKitError.cpp: Defined and applied type conversions. 104 * UIProcess/API/gtk/WebKitFindController.cpp: Defined and applied type conversions. 105 (toWebKitFindOptions): 106 (webKitFindControllerPerform): 107 (webkit_find_controller_search_next): 108 (webkit_find_controller_search_previous): 109 * UIProcess/API/gtk/WebKitFindController.h: Added new private fields to the enum, needed to match conversions. 110 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Defined and applied type conversions. 111 (didReceiveWebViewMessageFromInjectedBundle): 112 * UIProcess/API/gtk/WebKitLoaderClient.cpp: Defined and applied type conversions. 113 (didFailProvisionalLoadWithErrorForFrame): 114 (didFailLoadWithErrorForFrame): 115 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Defined and applied type conversions. 116 * UIProcess/API/gtk/WebKitPolicyClient.cpp: Defined and applied type conversions. 117 (toWebKitNavigationType): 118 (decidePolicyForNavigationAction): 119 (decidePolicyForNewWindowAction): 120 * UIProcess/API/gtk/WebKitPrintOperation.cpp: Defined and applied type conversions. 121 (drawPagesForPrintingCompleted): 122 * UIProcess/API/gtk/WebKitPrivate.cpp: Defined and applied type conversions. 123 (toWebKitError): 124 (toWebCoreError): 125 * UIProcess/API/gtk/WebKitPrivate.h: Defined and applied type conversions. 126 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Defined and applied type conversions. 127 (webkit_uri_scheme_request_finish_error): 128 * UIProcess/API/gtk/WebKitWebContext.cpp: Defined and applied type conversions. 129 (toWebKitProcessModel): 130 (webkit_web_context_set_process_model): 131 (webkit_web_context_get_process_model): 132 * UIProcess/API/gtk/WebKitWebView.cpp: Defined and applied type conversions. 133 (toSnapshotRegion): 134 (webkit_web_view_get_snapshot): 135 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Defined and applied type conversions. 136 (toWebCoreUserContentInjectedFrames): 137 (webkit_web_view_group_add_user_style_sheet): 138 1392014-02-20 Csaba Osztrogonác <ossy@webkit.org> 140 141 Get rid of redundant Platform.h includes 142 https://bugs.webkit.org/show_bug.cgi?id=128817 143 144 Reviewed by Brent Fulgham. 145 146 * config.h: 147 1482014-02-19 Alexey Proskuryakov <ap@apple.com> 149 150 Build fix. 151 152 * UIProcess/API/C/WKPage.cpp: (WKPageGetBytecodeProfile): Updated a recently added 153 instance of ScriptCallback. 154 1552014-02-18 Alexey Proskuryakov <ap@apple.com> 156 157 [WK2] IPC callback classes should not be tightly coupled to C API 158 https://bugs.webkit.org/show_bug.cgi?id=129030 159 160 Reviewed by Anders Carlsson. 161 162 Changed CallbackBase subclasses to take an std::function (with context captured inside). 163 Instead of C API objects, these callback functions take implementation ones. 164 There are VoidAPICallback and GenericAPICallback helpers for the common case of C API. 165 166 * Shared/SecurityOriginData.h: 167 * UIProcess/API/C/WKApplicationCacheManager.cpp: 168 (WKApplicationCacheManagerGetApplicationCacheOrigins): 169 * UIProcess/API/C/WKContext.cpp: 170 (WKContextGetStatistics): 171 (WKContextGetStatisticsWithOptions): 172 * UIProcess/API/C/WKCookieManager.cpp: 173 (WKCookieManagerGetHostnamesWithCookies): 174 (WKCookieManagerGetHTTPCookieAcceptPolicy): 175 * UIProcess/API/C/WKDatabaseManager.cpp: 176 (WKDatabaseManagerGetDatabasesByOrigin): 177 (WKDatabaseManagerGetDatabaseOrigins): 178 * UIProcess/API/C/WKFrame.cpp: 179 (WKFrameGetMainResourceData): 180 (WKFrameGetResourceData): 181 (WKFrameGetWebArchive): 182 * UIProcess/API/C/WKKeyValueStorageManager.cpp: 183 (WKKeyValueStorageManagerGetKeyValueStorageOrigins): 184 (WKKeyValueStorageManagerGetStorageDetailsByOrigin): 185 * UIProcess/API/C/WKMediaCacheManager.cpp: 186 (WKMediaCacheManagerGetHostnamesWithMediaCache): 187 * UIProcess/API/C/WKOriginDataManager.cpp: 188 (WKOriginDataManagerGetOrigins): 189 * UIProcess/API/C/WKPage.cpp: 190 (WKPageRunJavaScriptInMainFrame): 191 (WKPageRenderTreeExternalRepresentation): 192 (WKPageGetSourceForFrame): 193 (WKPageGetContentsAsString): 194 (WKPageGetSelectionAsWebArchiveData): 195 (WKPageGetContentsAsMHTMLData): 196 (WKPageForceRepaint): 197 (WKPageValidateCommand): 198 (WKPageComputePagesForPrinting): 199 (WKPageDrawPagesToPDF): 200 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 201 (WKPluginSiteDataManagerGetSitesWithData): 202 (WKPluginSiteDataManagerClearSiteData): 203 (WKPluginSiteDataManagerClearAllSiteData): 204 * UIProcess/API/C/WKResourceCacheManager.cpp: 205 (WKResourceCacheManagerGetCacheOrigins): 206 * UIProcess/API/gtk/WebKitCookieManager.cpp: 207 (webkit_cookie_manager_get_accept_policy): 208 (webkit_cookie_manager_get_domains_with_cookies): 209 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 210 (drawPagesForPrintingCompleted): 211 (webkitPrintOperationPrintPagesForFrame): 212 * UIProcess/API/gtk/WebKitWebResource.cpp: 213 (resourceDataCallback): 214 (webkit_web_resource_get_data): 215 * UIProcess/API/gtk/WebKitWebView.cpp: 216 (webkit_web_view_can_execute_editing_command): 217 (webkitWebViewRunJavaScriptCallback): 218 (webkit_web_view_run_javascript): 219 (resourcesStreamReadCallback): 220 (getContentsAsMHTMLDataCallback): 221 (webkit_web_view_save): 222 (webkit_web_view_save_to_file): 223 * UIProcess/API/ios/WKInteractionView.mm: 224 (-[WKInteractionView _define:]): 225 (selectionChangedWithGesture): 226 (selectionChangedWithTouch): 227 (-[WKInteractionView changeSelectionWithGestureAt:withGesture:withState:]): 228 (-[WKInteractionView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]): 229 (-[WKInteractionView changeSelectionWithTouchesFrom:to:withGesture:withState:]): 230 (-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]): 231 (-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]): 232 (-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]): 233 * UIProcess/API/mac/WKPrintingView.mm: 234 (pageDidDrawToImage): 235 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): 236 (pageDidComputePageRects): 237 (-[WKPrintingView _askPageToComputePageRects]): 238 (-[WKPrintingView _drawPreview:]): 239 * UIProcess/API/mac/WKView.mm: 240 (-[WKView validateUserInterfaceItem:]): 241 (-[WKView startSpeaking:]): 242 * UIProcess/AutoCorrectionCallback.h: 243 (WebKit::AutocorrectionDataCallback::create): 244 (WebKit::AutocorrectionDataCallback::performCallbackWithReturnValue): 245 (WebKit::AutocorrectionDataCallback::invalidate): 246 (WebKit::AutocorrectionDataCallback::AutocorrectionDataCallback): 247 (WebKit::AutocorrectionContextCallback::create): 248 (WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue): 249 (WebKit::AutocorrectionContextCallback::invalidate): 250 (WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback): 251 * UIProcess/GenericCallback.h: 252 (WebKit::CallbackBase::CallbackBase): 253 (WebKit::CallbackBase::generateCallbackID): 254 (WebKit::VoidCallback::create): 255 (WebKit::VoidCallback::performCallback): 256 (WebKit::VoidCallback::invalidate): 257 (WebKit::VoidCallback::VoidCallback): 258 (WebKit::VoidAPICallback::create): 259 (WebKit::GenericCallback::create): 260 (WebKit::GenericCallback::performCallbackWithReturnValue): 261 (WebKit::GenericCallback::invalidate): 262 (WebKit::GenericCallback::GenericCallback): 263 (WebKit::GenericAPICallback::create): 264 (WebKit::ComputedPagesCallback::create): 265 (WebKit::ComputedPagesCallback::performCallbackWithReturnValue): 266 (WebKit::ComputedPagesCallback::invalidate): 267 (WebKit::ComputedPagesCallback::ComputedPagesCallback): 268 (WebKit::ImageCallback::create): 269 (WebKit::ImageCallback::performCallbackWithReturnValue): 270 (WebKit::ImageCallback::invalidate): 271 (WebKit::ImageCallback::ImageCallback): 272 * UIProcess/Plugins/WebPluginSiteDataManager.h: 273 * UIProcess/StatisticsRequest.h: 274 * UIProcess/WebApplicationCacheManagerProxy.h: 275 * UIProcess/WebContext.h: 276 * UIProcess/WebCookieManagerProxy.h: 277 * UIProcess/WebDatabaseManagerProxy.h: 278 * UIProcess/WebFrameProxy.h: 279 * UIProcess/WebKeyValueStorageManager.h: 280 * UIProcess/WebMediaCacheManagerProxy.h: 281 * UIProcess/WebOriginDataManagerProxy.h: 282 * UIProcess/WebPageProxy.h: 283 (WebKit::ValidateCommandCallback::create): 284 (WebKit::ValidateCommandCallback::performCallbackWithReturnValue): 285 (WebKit::ValidateCommandCallback::invalidate): 286 (WebKit::ValidateCommandCallback::ValidateCommandCallback): 287 (WebKit::GestureCallback::create): 288 (WebKit::GestureCallback::performCallbackWithReturnValue): 289 (WebKit::GestureCallback::invalidate): 290 (WebKit::GestureCallback::GestureCallback): 291 (WebKit::TouchesCallback::create): 292 (WebKit::TouchesCallback::performCallbackWithReturnValue): 293 (WebKit::TouchesCallback::invalidate): 294 (WebKit::TouchesCallback::TouchesCallback): 295 * UIProcess/WebResourceCacheManagerProxy.h: 296 * UIProcess/mac/WKFullScreenWindowController.mm: 297 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): 298 2992014-02-19 Simon Fraser <simon.fraser@apple.com> 300 301 Avoid sending redundant layer properties to the UI process, and avoid allocation of RemoteLayerBackingStore unless we need it 302 https://bugs.webkit.org/show_bug.cgi?id=129076 303 304 Reviewed by Tim Horton. 305 306 Normally we rely on GraphicsLayerCA to avoid redundant property 307 setting on PlatformCALayers, but for contents layers GraphicsLayerCA 308 sets properties on every update. 309 310 Make PlatformCALayerRemote more efficient in this case by not 311 setting dirty flags for unchanged property sets. 312 313 Also avoid creation of RemoteLayerBackingStore unless we 314 actually need one. 315 316 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 317 (PlatformCALayerRemote::ensureBackingStore): 318 (PlatformCALayerRemote::updateBackingStore): 319 (PlatformCALayerRemote::setBounds): 320 (PlatformCALayerRemote::setPosition): 321 (PlatformCALayerRemote::setAnchorPoint): 322 (PlatformCALayerRemote::setMasksToBounds): 323 (PlatformCALayerRemote::setAcceleratesDrawing): 324 (PlatformCALayerRemote::setBorderWidth): 325 (PlatformCALayerRemote::setBorderColor): 326 (PlatformCALayerRemote::setContentsScale): 327 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 328 3292014-02-19 Simon Fraser <simon.fraser@apple.com> 330 331 [UI-Side Compositing] 6% of main thread time spent copying LayerProperties when adding to hash table 332 https://bugs.webkit.org/show_bug.cgi?id=129074 333 334 Reviewed by Tim Horton. 335 336 Make RemoteLayerTreeTransaction::LayerProperties smaller and not copied by 337 value everywhere. 338 339 Put some big members into unique_ptrs, and store unique_ptrs 340 in the hash of layerID to properties. 341 342 Clean up member variable order of LayerProperties to improve packing. 343 344 Also have applyPropertiesToLayer() take references to things to avoid 345 copies. 346 347 * Shared/mac/RemoteLayerTreePropertyApplier.h: 348 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 349 (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): 350 * Shared/mac/RemoteLayerTreeTransaction.h: 351 (WebKit::RemoteLayerTreeTransaction::changedLayers): 352 * Shared/mac/RemoteLayerTreeTransaction.mm: 353 (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): 354 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 355 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 356 (WebKit::RemoteLayerTreeTransaction::encode): 357 (WebKit::RemoteLayerTreeTransaction::decode): 358 (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged): 359 (WebKit::dumpChangedLayers): 360 * UIProcess/mac/RemoteLayerTreeHost.h: 361 * UIProcess/mac/RemoteLayerTreeHost.mm: 362 (WebKit::RemoteLayerTreeHost::updateLayerTree): 363 (WebKit::RemoteLayerTreeHost::createLayer): 364 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 365 (PlatformCALayerRemote::create): 366 (PlatformCALayerRemote::PlatformCALayerRemote): 367 (PlatformCALayerRemote::clone): 368 (PlatformCALayerRemote::recursiveBuildTransaction): 369 (PlatformCALayerRemote::ensureBackingStore): 370 (PlatformCALayerRemote::setNeedsDisplay): 371 (PlatformCALayerRemote::transform): 372 (PlatformCALayerRemote::setTransform): 373 (PlatformCALayerRemote::sublayerTransform): 374 (PlatformCALayerRemote::setSublayerTransform): 375 (PlatformCALayerRemote::setFilters): 376 (PlatformCALayerRemote::enumerateRectsBeingDrawn): 377 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 378 3792014-02-19 Benjamin Poulain <bpoulain@apple.com> 380 381 Remove -[WKContentView setViewportSize:] 382 https://bugs.webkit.org/show_bug.cgi?id=129071 383 384 Reviewed by Enrica Casucci. 385 386 I forgot to clean that up. 387 388 * UIProcess/API/ios/WKContentView.h: 389 * UIProcess/API/ios/WKContentView.mm: 390 3912014-02-19 Oliver Hunt <oliver@apple.com> 392 393 Add WK2 SPI to get bytecode profile from web process 394 https://bugs.webkit.org/show_bug.cgi?id=129069 395 396 Reviewed by Anders Carlsson. 397 398 Simple patch to allow asynchronous fetching of the 399 bytecode profiler output from the WebProcess. 400 401 * UIProcess/API/C/WKPage.cpp: 402 (WKPageGetBytecodeProfile): 403 * UIProcess/API/C/WKPagePrivate.h: 404 * UIProcess/WebPageProxy.cpp: 405 (WebKit::WebPageProxy::getBytecodeProfile): 406 * UIProcess/WebPageProxy.h: 407 * WebProcess/WebPage/WebPage.cpp: 408 (WebKit::WebPage::getBytecodeProfile): 409 * WebProcess/WebPage/WebPage.h: 410 * WebProcess/WebPage/WebPage.messages.in: 411 4122014-02-19 Beth Dakin <bdakin@apple.com> 413 414 Build fix. 415 416 * UIProcess/API/Cocoa/WKWebView.mm: 417 (-[WKWebView pageExtendedBackgroundColor]): 418 4192014-02-19 Beth Dakin <bdakin@apple.com> 420 421 UIProcess needs to know the color of the page's extended background 422 https://bugs.webkit.org/show_bug.cgi?id=129004 423 424 Reviewed by Simon Fraser and Brent Fulgham. 425 426 New method on WKWebView and WKView will return the page’s extended background 427 color. 428 * UIProcess/API/Cocoa/WKViewPrivate.h: 429 * UIProcess/API/Cocoa/WKWebView.mm: 430 (-[WKWebView pageExtendedBackgroundColor]): 431 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 432 * UIProcess/API/ios/WKViewIOS.mm: 433 (-[WKView pageExtendedBackgroundColor]): 434 435 The color is stored in the WebPageProxy, and the ChromeClient sends a message to 436 the WebPageProxy with the new color whenever it changes. 437 * UIProcess/WebPageProxy.cpp: 438 (WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange): 439 * UIProcess/WebPageProxy.h: 440 (WebKit::WebPageProxy::pageExtendedBackgroundColor): 441 * UIProcess/WebPageProxy.messages.in: 442 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 443 (WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange): 444 * WebProcess/WebCoreSupport/WebChromeClient.h: 445 4462014-02-19 Tim Horton <timothy_horton@apple.com> 447 448 [wk2] REGRESSION (r162710): Open tab urls not restored after switching to new Safari build 449 https://bugs.webkit.org/show_bug.cgi?id=128536 450 <rdar://problem/15911839> 451 452 Reviewed by Dan Bernstein. 453 454 * UIProcess/cf/WebBackForwardListCF.cpp: 455 (WebKit::extractBackForwardListEntriesFromArray): 456 Don't fail to extract an entry if it doesn't have a snapshot UUID. 457 458 * UIProcess/cf/WebPageProxyCF.cpp: 459 It turns out that this was the wrong version to bump, and we don't support 460 reading different versions of the session state data. 461 4622014-02-19 Brady Eidson <beidson@apple.com> 463 464 Add FeatureDefines for image controls 465 https://bugs.webkit.org/show_bug.cgi?id=129022 466 467 Reviewed by Jer Noble. 468 469 * Configurations/FeatureDefines.xcconfig: 470 4712014-02-19 Brady Eidson <beidson@apple.com> 472 473 Add settings/preferences for enabling image controls 474 https://bugs.webkit.org/show_bug.cgi?id=129027 475 476 Reviewed by Jer Noble. 477 478 * Shared/WebPreferencesStore.h: 479 480 * WebProcess/WebPage/WebPage.cpp: 481 (WebKit::WebPage::updatePreferences): 482 4832014-02-19 Dan Bernstein <mitz@apple.com> 484 485 Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions 486 https://bugs.webkit.org/show_bug.cgi?id=129029 487 488 Reviewed by Mark Rowe. 489 490 * PluginProcess/PluginProcess.cpp: 491 (WebKit::PluginProcess::netscapePluginModule): 492 * Shared/API/c/WKDeprecatedFunctions.cpp: 493 * Shared/WebPreferencesStore.h: 494 * UIProcess/API/Cocoa/WKWebView.mm: 495 (-[WKWebView initWithFrame:configuration:]): 496 * UIProcess/PageClient.h: 497 * UIProcess/Scrolling/RemoteScrollingTree.cpp: 498 * UIProcess/Scrolling/RemoteScrollingTree.h: 499 * UIProcess/WebContext.h: 500 * UIProcess/WebInspectorProxy.h: 501 * UIProcess/WebPageProxy.cpp: 502 (WebKit::WebPageProxy::didChangeBackForwardList): 503 (WebKit::WebPageProxy::pageDidScroll): 504 (WebKit::WebPageProxy::resetStateAfterProcessExited): 505 (WebKit::WebPageProxy::creationParameters): 506 * UIProcess/WebPageProxy.h: 507 * UIProcess/WebPageProxy.messages.in: 508 * UIProcess/mac/WebContextMac.mm: 509 (WebKit::WebContext::platformInitializeWebProcess): 510 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 511 (WKBundlePageSetTopOverhangImage): 512 (WKBundlePageSetBottomOverhangImage): 513 * WebProcess/WebPage/PageBanner.h: 514 * WebProcess/WebPage/WebPage.cpp: 515 (WebKit::WebPage::setDeviceScaleFactor): 516 (WebKit::WebPage::mainFrameDidLayout): 517 (WebKit::WebPage::beginPrinting): 518 (WebKit::WebPage::drawRectToImage): 519 (WebKit::WebPage::drawPagesToPDF): 520 * WebProcess/WebPage/WebPage.messages.in: 521 * config.h: 522 5232014-02-18 Dan Bernstein <mitz@apple.com> 524 525 PLATFORM(MAC) is true when building for iOS 526 https://bugs.webkit.org/show_bug.cgi?id=129025 527 528 Reviewed by Mark Rowe. 529 530 * Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to 531 PLATFORM(COCOA) now that the former does not include iOS. 532 (WebKit::NetworkProcessCreationParameters::encode): 533 (WebKit::NetworkProcessCreationParameters::decode): 534 * Shared/Network/NetworkProcessCreationParameters.h: Ditto. 535 * WebKit2Prefix.h: Ditto. 536 5372014-02-18 Simon Fraser <simon.fraser@apple.com> 538 539 Clean up WKContentView initialization 540 https://bugs.webkit.org/show_bug.cgi?id=129016 541 542 Reviewed by Benjamin Poulain. 543 544 WKContentView had too many initializers and duplicated init 545 code. Clean up by removing all but one initializer and and 546 doing all the setup in it. 547 548 * UIProcess/API/ios/WKContentView.h: 549 * UIProcess/API/ios/WKContentView.mm: 550 * UIProcess/API/ios/WKViewIOS.mm: 551 (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 552 5532014-02-18 Tim Horton <timothy_horton@apple.com> 554 555 Another 32-bit build fix. 556 557 * UIProcess/API/mac/WKView.mm: 558 (-[WKView _acceleratedCompositingModeRootLayer]): 559 5602014-02-18 Tim Horton <timothy_horton@apple.com> 561 562 More more WK_API_ENABLED after r164337. 563 564 * UIProcess/API/mac/PageClientImpl.mm: 565 (WebKit::PageClientImpl::activeView): 566 5672014-02-18 Tim Horton <timothy_horton@apple.com> 568 569 Can't use #if inside a macro, so we'll duplicate the macro for now. 570 571 Build fix for all of Mac. 572 573 * UIProcess/API/mac/WKView.mm: 574 5752014-02-18 Tim Horton <timothy_horton@apple.com> 576 577 Don't build WKThumbnailView on iOS; it won't build. 578 579 * Configurations/WebKit2.xcconfig: 580 5812014-02-18 Tim Horton <timothy_horton@apple.com> 582 583 More WK_API_ENABLED after r164337. 584 585 * UIProcess/API/mac/WKView.mm: 586 (-[WKView dealloc]): 587 (-[WKView scrollWheel:]): 588 (-[WKView mouseMoved:]): 589 (-[WKView mouseDown:]): 590 (-[WKView mouseUp:]): 591 (-[WKView mouseDragged:]): 592 (-[WKView _setAcceleratedCompositingModeRootLayer:]): 593 * UIProcess/API/mac/WKViewInternal.h: 594 5952014-02-18 Simon Fraser <simon.fraser@apple.com> 596 597 Remove UIWKRemoteView 598 https://bugs.webkit.org/show_bug.cgi?id=129015 599 600 Reviewed by Dan Bernstein. 601 602 Remove UIWKRemoteView which is unused. 603 604 * Configurations/WebKit2.xcconfig: 605 * UIProcess/API/ios/UIWKRemoteView.h: Removed. 606 * UIProcess/API/ios/UIWKRemoteView.mm: Removed. 607 * WebKit2.xcodeproj/project.pbxproj: 608 6092014-02-18 Tim Horton <timothy_horton@apple.com> 610 611 32-bit build fix after r164337 612 613 * UIProcess/API/Cocoa/WKThumbnailView.mm: 614 Address a review comment. We'll get this for free. 615 616 * UIProcess/API/mac/PageClientImpl.mm: 617 (WebKit::PageClientImpl::activeView): 618 Build fix. 619 6202014-02-18 Tim Horton <timothy_horton@apple.com> 621 622 Add a way to efficiently thumbnail WKViews 623 https://bugs.webkit.org/show_bug.cgi?id=128831 624 <rdar://problem/15669655> 625 626 Reviewed by Dan Bernstein. 627 628 * UIProcess/API/Cocoa/WKThumbnailView.h: Added. 629 * UIProcess/API/Cocoa/WKThumbnailView.mm: Added. 630 (-[WKThumbnailView initWithFrame:fromWKView:]): 631 (-[WKThumbnailView _viewWasUnparented]): 632 (-[WKThumbnailView _viewWasParented]): 633 (-[WKThumbnailView viewDidMoveToWindow]): 634 (-[WKThumbnailView setScale:]): 635 (-[WKThumbnailView setThumbnailLayer:]): 636 (-[WKThumbnailView thumbnailLayer]): 637 * UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added. 638 Add WKThumbnailView. 639 Clients of this private API will call initWithFrame:fromWKView:, 640 giving the WKView they wish to borrow contents from. 641 They can also call setScale: to set the scale that will be used to render 642 the content in an implementation-defined set of cases (currently, we will 643 use the low resolution scale for WKViews which were not parented when the 644 WKThumbnailView was created; parented WKViews will use the existing scale). 645 646 * UIProcess/API/mac/PageClientImpl.mm: 647 (WebKit::PageClientImpl::isViewWindowActive): 648 (WebKit::PageClientImpl::isViewVisible): 649 (WebKit::PageClientImpl::isViewVisibleOrOccluded): 650 (WebKit::PageClientImpl::isViewInWindow): 651 (WebKit::PageClientImpl::viewLayerHostingMode): 652 If the WKView has an actively-parented WKThumbnailView attached to it, 653 we should determine view visibility/etc. using that view instead of the WKView. 654 655 * UIProcess/API/mac/WKView.mm: 656 (-[WKView dealloc]): 657 WKThumbnailView holds on to the WKView, and clears WKView's backpointer 658 when it leaves the window, so we should never see WKView get deallocated 659 with a live thumbnail view. 660 661 (-[WKView scrollWheel:]): 662 (-[WKView mouseMoved:]): 663 (-[WKView mouseDown:]): 664 (-[WKView mouseUp:]): 665 (-[WKView mouseDragged:]): 666 Don't handle events while thumbnailed. 667 668 (-[WKView _setAcceleratedCompositingModeRootLayer:]): 669 Forward root layer changes to the installed thumbnail view. 670 671 (-[WKView _acceleratedCompositingModeRootLayer]): 672 _acceleratedCompositingModeRootLayer should return the same layer 673 that was set via _setAcceleratedCompositingModeRootLayer:, not its parent. 674 675 (-[WKView _setThumbnailView:]): 676 (-[WKView _thumbnailView]): 677 Install/uninstall a WKThumbnailView. Hand it our root layer if installing, 678 or recover it from the departing thumbnail view if uninstalling. 679 680 * UIProcess/API/mac/WKViewInternal.h: 681 Add in a missing RetainPtr.h include that I missed earlier and causes trouble. 682 Add WKView _thumbnailView and _setThumbnailView:. 683 684 * UIProcess/WebPageProxy.cpp: 685 (WebKit::WebPageProxy::setThumbnailScale): 686 * UIProcess/WebPageProxy.h: 687 (WebKit::WebPageProxy::mayStartMediaWhenInWindow): 688 689 * UIProcess/mac/ViewGestureControllerMac.mm: 690 (WebKit::ViewGestureController::beginSwipeGesture): 691 (WebKit::ViewGestureController::handleSwipeGesture): 692 Swipe was accidentally depending on a mistake in WKView's 693 _acceleratedCompositingModeRootLayer where it was returning the wrong layer. 694 The actual root layer doesn't have a size, so we should use the drawing 695 area's size instead. 696 697 * WebKit2.xcodeproj/project.pbxproj: 698 Add some new files. 699 700 * WebProcess/WebPage/WebPage.cpp: 701 (WebKit::WebPage::didCommitLoad): 702 If we reset the page scale because a load was committed, we should 703 reset the stored thumbnail-scale-less page scale so that we don't restore 704 the wrong scale when leaving thumbnailing. 705 706 (WebKit::WebPage::WebPage): 707 (WebKit::WebPage::setThumbnailScale): 708 * WebProcess/WebPage/WebPage.h: 709 * WebProcess/WebPage/WebPage.messages.in: 710 Apply the thumbnail scale to the page. If we're currently not in 711 thumbnail scaling mode, save the current page scale and scroll position 712 so we can restore them once we leave thumbnail mode again. 713 Transform the DrawingArea so that the page appears at the same 714 position and size, but scaled. 715 716 * WebProcess/WebPage/DrawingArea.h: 717 (WebKit::DrawingArea::setTransform): 718 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 719 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 720 (WebKit::TiledCoreAnimationDrawingArea::setTransform): 721 Add a DrawingArea method to apply an arbitrary transform to the drawing area. 722 723 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 724 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 725 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay): 726 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 727 (WebKit::TiledCoreAnimationDrawingArea::suspendPainting): 728 (WebKit::TiledCoreAnimationDrawingArea::resumePainting): 729 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): 730 (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): 731 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 732 (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): 733 (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer): 734 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): 735 Remove the word "compositing" in a bunch of places where it isn't needed. 736 Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store 737 the root compositing layer actually passed in via setRootCompositingLayer. 738 Rename m_pendingRootCompositingLayer to m_pendingRootLayer. 739 7402014-02-18 Anders Carlsson <andersca@apple.com> 741 742 Add SPI for enabling/disabling private browsing 743 https://bugs.webkit.org/show_bug.cgi?id=129012 744 745 Reviewed by Tim Horton. 746 747 * UIProcess/API/Cocoa/WKWebView.mm: 748 (-[WKWebView _privateBrowsingEnabled]): 749 (-[WKWebView _setPrivateBrowsingEnabled:]): 750 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 751 7522014-02-18 Anders Carlsson <andersca@apple.com> 753 754 Add more SPI methods to WKWebView 755 https://bugs.webkit.org/show_bug.cgi?id=129011 756 757 Reviewed by Tim Horton. 758 759 * UIProcess/API/Cocoa/WKWebView.mm: 760 (-[WKWebView _webProcessIdentifier]): 761 (-[WKWebView _sessionState]): 762 (releaseNSData): 763 (-[WKWebView _restoreFromSessionState:]): 764 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 765 7662014-02-18 Anders Carlsson <andersca@apple.com> 767 768 Add more new SPI methods 769 https://bugs.webkit.org/show_bug.cgi?id=129009 770 771 Reviewed by Tim Horton. 772 773 * UIProcess/API/Cocoa/WKWebView.mm: 774 (-[WKWebView _certificateChain]): 775 (-[WKWebView _committedURL]): 776 (-[WKWebView _applicationNameForUserAgent]): 777 (-[WKWebView _setApplicationNameForUserAgent:]): 778 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 779 7802014-02-18 Anders Carlsson <andersca@apple.com> 781 782 Make reload SPI for now 783 https://bugs.webkit.org/show_bug.cgi?id=129007 784 785 Reviewed by Simon Fraser. 786 787 * UIProcess/API/Cocoa/WKWebView.h: 788 * UIProcess/API/Cocoa/WKWebView.mm: 789 (-[WKWebView _reload]): 790 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 791 7922014-02-18 Anders Carlsson <andersca@apple.com> 793 794 Add -[WKWebView reload] 795 https://bugs.webkit.org/show_bug.cgi?id=129005 796 797 Reviewed by Tim Horton. 798 799 * UIProcess/API/Cocoa/WKWebView.h: 800 * UIProcess/API/Cocoa/WKWebView.mm: 801 (-[WKWebView reload]): 802 8032014-02-18 Anders Carlsson <andersca@apple.com> 804 805 Add SPI for allowing HTTPS certificates 806 https://bugs.webkit.org/show_bug.cgi?id=129002 807 808 Reviewed by Dan Bernstein. 809 810 * UIProcess/API/Cocoa/WKProcessClass.mm: 811 (-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]): 812 * UIProcess/API/Cocoa/WKProcessClassInternal.h: 813 * UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h. 814 * WebKit2.xcodeproj/project.pbxproj: 815 8162014-02-18 Anders Carlsson <andersca@apple.com> 817 818 Add SPI for getting the original URL from a WKNavigationAction 819 https://bugs.webkit.org/show_bug.cgi?id=128997 820 821 Reviewed by Tim Horton. 822 823 * UIProcess/API/Cocoa/WKNavigationActionInternal.h: 824 * UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h. 825 * UIProcess/Cocoa/NavigationState.mm: 826 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 827 * WebKit2.xcodeproj/project.pbxproj: 828 8292014-02-18 Anders Carlsson <andersca@apple.com> 830 831 Add more WKWebView SPI 832 https://bugs.webkit.org/show_bug.cgi?id=128994 833 834 Reviewed by Tim Horton. 835 836 * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: 837 * UIProcess/API/Cocoa/WKWebView.mm: 838 (-[WKWebView _unreachableURL]): 839 (-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]): 840 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 841 8422014-02-18 Anders Carlsson <andersca@apple.com> 843 844 Fix build. 845 846 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: 847 (-[WKProcessClassConfiguration description]): 848 8492014-02-18 Sam Weinig <sam@webkit.org> 850 851 Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions. 852 853 * Shared/WebPreferencesStore.h: 854 * WebProcess/WebPage/WebPage.cpp: 855 (WebKit::WebPage::updatePreferences): 856 8572014-02-18 Dan Bernstein <mitz@apple.com> 858 859 [Cocoa] Implement -description in some API objects 860 https://bugs.webkit.org/show_bug.cgi?id=128956 861 862 Reviewed by Anders Carlsson. 863 864 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 865 Changed category name to have the framework’s prefix. 866 (-[WKRemoteObjectInterface description]): Added. 867 * UIProcess/API/Cocoa/WKFrameInfo.mm: 868 (-[WKFrameInfo description]): Added. 869 * UIProcess/API/Cocoa/WKNavigationAction.mm: 870 (-[WKNavigationAction description]): Added. 871 * UIProcess/API/Cocoa/WKNavigationResponse.mm: 872 (-[WKNavigationResponse description]): Added. 873 * UIProcess/API/Cocoa/WKProcessClass.mm: 874 (-[WKProcessClass description]): Added. 875 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: 876 (-[WKProcessClassConfiguration description]): Added. 877 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 878 (-[WKWebViewConfiguration description]): Added. 879 8802014-02-17 ChangSeok Oh <changseok.oh@collabora.com> 881 882 Unreviewed gtk build fix. 883 884 * GNUmakefile.list.am: Remove WebHistoryClient.cpp/h after r164230. 885 8862014-02-17 Ricky Mondello <rmondello@apple.com> 887 888 Expose a way to clear cookies modified after a given date 889 https://bugs.webkit.org/show_bug.cgi?id=128845 890 891 Reviewed by Alexey Proskuryakov. 892 893 * UIProcess/API/C/WKCookieManager.cpp: 894 (WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager. 895 * UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate. 896 * UIProcess/WebCookieManagerProxy.cpp: 897 (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the 898 Network Process. 899 * UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate. 900 * WebProcess/Cookies/WebCookieManager.cpp: 901 (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job. 902 * WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate. 903 * WebProcess/Cookies/WebCookieManager.messages.in: Add new message. 904 9052014-02-17 Ryuan Choi <ryuan.choi@samsung.com> 906 907 [EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface 908 https://bugs.webkit.org/show_bug.cgi?id=119120 909 910 Reviewed by Gyuyoung Kim. 911 912 WKColorPickerResultListener and related files are only used in EFL since added. 913 Indeed, it does not work since refactored common logic for ColorPicker in WebPageProxy. 914 915 This patch moved them to EFL specfic and refactor to work well. 916 917 * CMakeLists.txt: Moved WebColorPickerResultListenerProxy.cpp to PlatformEfl.cmake. 918 * GNUmakefile.list.am: Removed ColorPickerResultListener related files which are only for Efl from source list. 919 * PlatformEfl.cmake: Added ColorPickerResultListenerProxy related files and newly added files into source list. 920 * UIProcess/API/APIUIClient.h: 921 * UIProcess/API/C/WKPage.cpp: 922 (WKPageSetPageUIClient): 923 * UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp. 924 (WKColorPickerResultListenerGetTypeID): 925 (WKColorPickerResultListenerSetColor): 926 * UIProcess/API/C/efl/WKColorPickerResultListener.h: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.h. 927 * UIProcess/API/C/efl/WKViewEfl.cpp: Introduced WKColorPickerClient and setter. 928 (WKViewSetColorPickerClient): 929 * UIProcess/API/C/efl/WKViewEfl.h: 930 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Enabled test case for color picker. 931 (TEST_F): 932 * UIProcess/WebPageProxy.cpp: Removed unnecessary WebColorPickerResultListenerProxy dependency. 933 * UIProcess/WebPageProxy.h: Ditto. 934 * UIProcess/efl/PageUIClientEfl.cpp: Removed color picker callbacks of PageUIClient. 935 (WebKit::PageUIClientEfl::PageUIClientEfl): 936 * UIProcess/efl/PageUIClientEfl.h: 937 * UIProcess/efl/ViewClientEfl.cpp: Registered callbacks of WKColorPickerClient. 938 (WebKit::ViewClientEfl::showColorPicker): 939 (WebKit::ViewClientEfl::endColorPicker): 940 (WebKit::ViewClientEfl::ViewClientEfl): 941 (WebKit::ViewClientEfl::~ViewClientEfl): 942 * UIProcess/efl/ViewClientEfl.h: 943 * UIProcess/efl/WebColorPickerClient.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h. 944 (WebKit::WebColorPickerClient::showColorPicker): 945 (WebKit::WebColorPickerClient::endPicker): 946 * UIProcess/efl/WebColorPickerClient.h: Added. 947 * UIProcess/efl/WebColorPickerEfl.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h. 948 (WebKit::WebColorPickerEfl::WebColorPickerEfl): 949 (WebKit::WebColorPickerEfl::endPicker): 950 (WebKit::WebColorPickerEfl::showColorPicker): 951 (WebKit::WebColorPickerEfl::setSelectedColor): 952 (WebKit::WebColorPickerEfl::didChooseColor): 953 * UIProcess/efl/WebColorPickerEfl.h: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h. 954 (WebKit::WebColorPickerEfl::create): 955 (WebKit::WebColorPickerEfl::~WebColorPickerEfl): 956 * UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.cpp. 957 (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy): 958 (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy): 959 (WebKit::WebColorPickerResultListenerProxy::invalidate): 960 (WebKit::WebColorPickerResultListenerProxy::setColor): 961 * UIProcess/efl/WebColorPickerResultListenerProxy.h: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h. 962 (WebKit::WebColorPickerResultListenerProxy::create): 963 * UIProcess/efl/WebViewEfl.cpp: 964 (WebKit::WebViewEfl::initializeColorPickerClient): 965 (WebKit::WebViewEfl::createColorPicker): 966 * UIProcess/efl/WebViewEfl.h: 967 (WebKit::WebViewEfl::colorPickerClient): 968 * WebKit2.xcodeproj/project.pbxproj: Removed ColorPickerResultListener related files which are only for Efl from source list. 969 9702014-02-17 Sam Weinig <sam@webkit.org> 971 972 [iOS, WebKit2] Add settings and correct default values for settings important on iOS 973 https://bugs.webkit.org/show_bug.cgi?id=128947 974 975 Reviewed by Simon Fraser. 976 977 * Shared/WebPreferencesStore.cpp: 978 * Shared/WebPreferencesStore.h: 979 * WebProcess/WebPage/WebPage.cpp: 980 (WebKit::WebPage::updatePreferences): 981 9822014-02-17 Gyuyoung Kim <gyuyoung.kim@samsung.com> 983 984 [CoordinatedGraphics][EFL] Remove view_source functions. 985 https://bugs.webkit.org/show_bug.cgi?id=128945 986 987 Reviewed by Anders Carlsson. 988 989 EFL port has been broken since r164254 because of removing view source files in WK2. 990 This patch is to follow to remove remained view source functions. 991 992 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 993 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 994 * UIProcess/API/efl/ewk_view.cpp: 995 * UIProcess/API/efl/ewk_view.h: 996 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 997 * UIProcess/CoordinatedGraphics/WebView.cpp: 998 * UIProcess/CoordinatedGraphics/WebView.h: 999 10002014-02-17 Tim Horton <timothy_horton@apple.com> 1001 1002 [iOS][wk2] Custom layers are sometimes put on-screen without being parented 1003 https://bugs.webkit.org/show_bug.cgi?id=128935 1004 <rdar://problem/16022336> 1005 1006 Reviewed by Sam Weinig. 1007 1008 * Platform/mac/LayerHostingContext.mm: 1009 (WebKit::LayerHostingContext::createForExternalHostingProcess): 1010 Give an explicit and unlikely display ID, so that the layer will never 1011 be brought on-screen unless explicitly parented. 1012 10132014-02-17 Anders Carlsson <andersca@apple.com> 1014 1015 Add history delegate to WKWebView 1016 https://bugs.webkit.org/show_bug.cgi?id=128930 1017 1018 Reviewed by Dan Bernstein. 1019 1020 * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h. 1021 * UIProcess/API/Cocoa/WKProcessClass.mm: 1022 (-[WKProcessClass initWithConfiguration:]): 1023 * UIProcess/API/Cocoa/WKWebView.mm: 1024 (-[WKWebView _historyDelegate]): 1025 (-[WKWebView _setHistoryDelegate:]): 1026 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 1027 * UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h. 1028 * UIProcess/Cocoa/HistoryClient.mm: Added. 1029 (WebKit::HistoryClient::HistoryClient): 1030 (WebKit::HistoryClient::~HistoryClient): 1031 (WebKit::HistoryClient::didNavigateWithNavigationData): 1032 (WebKit::HistoryClient::didPerformClientRedirect): 1033 (WebKit::HistoryClient::didPerformServerRedirect): 1034 (WebKit::HistoryClient::didUpdateHistoryTitle): 1035 (WebKit::HistoryClient::populateVisitedLinks): 1036 (WebKit::HistoryClient::shouldTrackVisitedLinks): 1037 * UIProcess/Cocoa/NavigationState.h: 1038 * UIProcess/Cocoa/NavigationState.mm: 1039 (WebKit::navigationStates): 1040 (WebKit::NavigationState::NavigationState): 1041 (WebKit::NavigationState::~NavigationState): 1042 (WebKit::NavigationState::fromWebPage): 1043 (WebKit::NavigationState::historyDelegate): 1044 (WebKit::NavigationState::setHistoryDelegate): 1045 (WebKit::NavigationState::didNavigateWithNavigationData): 1046 (WebKit::NavigationState::didPerformClientRedirect): 1047 (WebKit::NavigationState::didPerformServerRedirect): 1048 (WebKit::NavigationState::didUpdateHistoryTitle): 1049 * WebKit2.xcodeproj/project.pbxproj: 1050 10512014-02-17 Sam Weinig <sam@webkit.org> 1052 1053 [WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa 1054 https://bugs.webkit.org/show_bug.cgi?id=128939 1055 1056 Reviewed by Dan Bernstein. 1057 1058 * WebKit2.xcodeproj/project.pbxproj: 1059 Add/remove files/groups. 1060 1061 * WebProcess/WebProcess.h: 1062 Change stopRunLoop() to be AppKit only. 1063 1064 * WebProcess/cocoa: Added. 1065 * WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm. 1066 (WebKit::WebProcess::platformInitializeWebProcess): 1067 (WebKit::WebProcess::initializeProcessName): 1068 (WebKit::WebProcess::platformInitializeProcess): 1069 (WebKit::WebProcess::initializeSandbox): 1070 (WebKit::WebProcess::updateActivePages): 1071 * WebProcess/ios/WebProcessIOS.mm: Removed. 1072 * WebProcess/mac/WebProcessMac.mm: Removed. 1073 Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate. 1074 10752014-02-17 Anders Carlsson <andersca@apple.com> 1076 1077 Stop using isMainThread() in WebKit2 1078 https://bugs.webkit.org/show_bug.cgi?id=128940 1079 <rdar://problem/15963666> 1080 1081 Reviewed by Enrica Casucci. 1082 1083 Since isMainThread() has a different meaning when the web thread is enabled on iOS, 1084 just use RunLoop::isMain() to check if we're executing on the main thread. 1085 1086 * DatabaseProcess/DatabaseProcess.cpp: 1087 (WebKit::DatabaseProcess::ensurePathExists): 1088 (WebKit::DatabaseProcess::postDatabaseTask): 1089 (WebKit::DatabaseProcess::performNextDatabaseTask): 1090 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 1091 (WebKit::UniqueIDBDatabase::shutdown): 1092 (WebKit::UniqueIDBDatabase::shutdownBackingStore): 1093 (WebKit::UniqueIDBDatabase::didShutdownBackingStore): 1094 (WebKit::UniqueIDBDatabase::deleteDatabase): 1095 (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): 1096 (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): 1097 (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): 1098 (WebKit::UniqueIDBDatabase::postTransactionOperation): 1099 (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation): 1100 (WebKit::UniqueIDBDatabase::changeDatabaseVersion): 1101 (WebKit::UniqueIDBDatabase::createObjectStore): 1102 (WebKit::UniqueIDBDatabase::deleteObjectStore): 1103 (WebKit::UniqueIDBDatabase::clearObjectStore): 1104 (WebKit::UniqueIDBDatabase::createIndex): 1105 (WebKit::UniqueIDBDatabase::deleteIndex): 1106 (WebKit::UniqueIDBDatabase::putRecord): 1107 (WebKit::UniqueIDBDatabase::getRecord): 1108 (WebKit::UniqueIDBDatabase::openCursor): 1109 (WebKit::UniqueIDBDatabase::cursorAdvance): 1110 (WebKit::UniqueIDBDatabase::cursorIterate): 1111 (WebKit::UniqueIDBDatabase::count): 1112 (WebKit::UniqueIDBDatabase::deleteRange): 1113 (WebKit::UniqueIDBDatabase::openBackingStoreTransaction): 1114 (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction): 1115 (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction): 1116 (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction): 1117 (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction): 1118 (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore): 1119 (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore): 1120 (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore): 1121 (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore): 1122 (WebKit::UniqueIDBDatabase::createIndexInBackingStore): 1123 (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore): 1124 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): 1125 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): 1126 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 1127 (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory): 1128 (WebKit::UniqueIDBDatabase::postMainThreadTask): 1129 (WebKit::UniqueIDBDatabase::performNextMainThreadTask): 1130 (WebKit::UniqueIDBDatabase::postDatabaseTask): 1131 (WebKit::UniqueIDBDatabase::performNextDatabaseTask): 1132 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 1133 (WebKit::generateDatabaseId): 1134 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite): 1135 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 1136 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): 1137 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): 1138 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath): 1139 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): 1140 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): 1141 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction): 1142 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction): 1143 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction): 1144 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction): 1145 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion): 1146 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): 1147 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): 1148 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): 1149 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): 1150 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex): 1151 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber): 1152 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber): 1153 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): 1154 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): 1155 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): 1156 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): 1157 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): 1158 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange): 1159 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): 1160 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): 1161 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count): 1162 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): 1163 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): 1164 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): 1165 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges): 1166 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: 1167 (WebKit::NetworkBlobRegistry::shared): 1168 * NetworkProcess/HostRecord.cpp: 1169 (WebKit::HostRecord::scheduleResourceLoader): 1170 (WebKit::HostRecord::addLoaderInProgress): 1171 (WebKit::HostRecord::removeLoader): 1172 * NetworkProcess/NetworkResourceLoadScheduler.cpp: 1173 (WebKit::NetworkResourceLoadScheduler::removeLoader): 1174 (WebKit::NetworkResourceLoadScheduler::receivedRedirect): 1175 (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): 1176 * NetworkProcess/NetworkResourceLoader.cpp: 1177 (WebKit::NetworkResourceLoader::NetworkResourceLoader): 1178 (WebKit::NetworkResourceLoader::~NetworkResourceLoader): 1179 (WebKit::NetworkResourceLoader::start): 1180 (WebKit::NetworkResourceLoader::cleanup): 1181 (WebKit::NetworkResourceLoader::abort): 1182 (WebKit::NetworkResourceLoader::willSendRequestAsync): 1183 (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync): 1184 * NetworkProcess/NetworkResourceLoader.h: 1185 (WebKit::NetworkResourceLoader::setHostRecord): 1186 (WebKit::NetworkResourceLoader::hostRecord): 1187 * NetworkProcess/mac/DiskCacheMonitor.mm: 1188 (WebKit::DiskCacheMonitor::DiskCacheMonitor): 1189 * Shared/AsyncRequest.cpp: 1190 (WebKit::generateRequestID): 1191 * Shared/Authentication/AuthenticationManager.cpp: 1192 (WebKit::generateAuthenticationChallengeID): 1193 (WebKit::AuthenticationManager::establishIdentifierForChallenge): 1194 (WebKit::AuthenticationManager::useCredentialForChallenge): 1195 (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): 1196 (WebKit::AuthenticationManager::cancelChallenge): 1197 * Shared/Downloads/mac/DownloadMac.mm: 1198 (dispatchOnMainThread): 1199 * Shared/Plugins/NPObjectProxy.cpp: 1200 (WebKit::NPObjectProxy::~NPObjectProxy): 1201 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 1202 (WebKit::getPluginInfoFromCarbonResources): 1203 * Shared/SessionTracker.cpp: 1204 (WebKit::staticSessionMap): 1205 (WebKit::storageSessionToID): 1206 (WebKit::identifierBase): 1207 (WebKit::SessionTracker::destroySession): 1208 (WebKit::SessionTracker::setIdentifierBase): 1209 * UIProcess/APISession.cpp: 1210 (API::generateID): 1211 (API::Session::defaultSession): 1212 (API::Session::legacyPrivateSession): 1213 * WebProcess/Cookies/WebCookieManager.cpp: 1214 (WebKit::WebCookieManager::dispatchCookiesDidChange): 1215 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 1216 (WebKit::WebIDBFactoryBackend::open): 1217 (WebKit::WebIDBFactoryBackend::deleteDatabase): 1218 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 1219 (WebKit::generateServerConnectionIdentifier): 1220 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 1221 (WebKit::WebFrameNetworkingContext::storageSession): 1222 * WebProcess/WebPage/EventDispatcher.cpp: 1223 (WebKit::EventDispatcher::dispatchWheelEvent): 1224 12252014-02-17 Anders Carlsson <andersca@apple.com> 1226 1227 Remove view source code 1228 https://bugs.webkit.org/show_bug.cgi?id=127233 1229 1230 Reviewed by Antti Koivisto. 1231 1232 * UIProcess/WebPageProxy.cpp: 1233 (WebKit::WebPageProxy::WebPageProxy): 1234 * UIProcess/WebPageProxy.h: 1235 * WebProcess/WebPage/WebPage.cpp: 1236 * WebProcess/WebPage/WebPage.h: 1237 * WebProcess/WebPage/WebPage.messages.in: 1238 12392014-02-17 Sergio Correia <sergio.correia@openbossa.org> 1240 1241 Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector 1242 https://bugs.webkit.org/show_bug.cgi?id=128681 1243 1244 Reviewed by Timothy Hatcher. 1245 1246 Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting 1247 WebCore/inspector/*. Besides files in there, a few other files in 1248 JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/ 1249 and WebCore/testing were touched. 1250 1251 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 1252 12532014-02-17 Michał Pakuła vel Rutka <m.pakula@samsung.com> 1254 1255 Unreviewed EFL build fix attempt 1256 1257 * CMakeLists.txt: Remove WebHistoryClient.cpp after r164230. 1258 12592014-02-17 Anders Carlsson <andersca@apple.com> 1260 1261 WebKitGTK+ should stop calling functions to set the view source mode 1262 https://bugs.webkit.org/show_bug.cgi?id=128919 1263 1264 Reviewed by Carlos Garcia Campos. 1265 1266 This is a first step towards getting rid of the view source mode from WebCore. 1267 View source shouldn't be a mode on the web page and can be implemented in other ways by 1268 embedding apps. Furthermore, the inspector has an excellent view source mode. 1269 1270 * UIProcess/API/gtk/WebKitWebView.cpp: 1271 (webkit_web_view_set_view_mode): 1272 (webkit_web_view_get_view_mode): 1273 Turn these into no-ops. 1274 12752014-02-17 Anders Carlsson <andersca@apple.com> 1276 1277 Turn the history client into a fancy API::HistoryClient abstract base class 1278 https://bugs.webkit.org/show_bug.cgi?id=128917 1279 1280 Reviewed by Andreas Kling. 1281 1282 * UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h. 1283 (API::HistoryClient::~HistoryClient): 1284 (API::HistoryClient::didNavigateWithNavigationData): 1285 (API::HistoryClient::didPerformClientRedirect): 1286 (API::HistoryClient::didPerformServerRedirect): 1287 (API::HistoryClient::didUpdateHistoryTitle): 1288 (API::HistoryClient::populateVisitedLinks): 1289 (API::HistoryClient::shouldTrackVisitedLinks): 1290 * UIProcess/API/C/WKContext.cpp: 1291 (WKContextSetHistoryClient): 1292 * UIProcess/WebContext.cpp: 1293 (WebKit::WebContext::WebContext): 1294 (WebKit::WebContext::setHistoryClient): 1295 (WebKit::WebContext::createNewWebProcess): 1296 (WebKit::WebContext::populateVisitedLinks): 1297 * UIProcess/WebContext.h: 1298 (WebKit::WebContext::historyClient): 1299 * UIProcess/WebHistoryClient.cpp: Removed. 1300 * UIProcess/WebPageProxy.h: 1301 * UIProcess/WebProcessProxy.cpp: 1302 * WebKit2.xcodeproj/project.pbxproj: 1303 13042014-02-17 Dan Bernstein <mitz@apple.com> 1305 1306 Try to fix iOS Debug builds without breaking Release builds. 1307 1308 * WebProcess/WebPage/PageBanner.cpp: 1309 * WebProcess/WebPage/PageBanner.h: 1310 13112014-02-16 Dan Bernstein <mitz@apple.com> 1312 1313 Speculative iOS build fix. 1314 1315 * WebProcess/WebPage/mac/PageBannerMac.mm: 1316 13172014-02-16 Dan Bernstein <mitz@apple.com> 1318 1319 Speculative iOS build fix. 1320 1321 * WebProcess/WebPage/PageBanner.h: 1322 13232014-02-16 Dan Bernstein <mitz@apple.com> 1324 1325 Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS” 1326 https://bugs.webkit.org/show_bug.cgi?id=128885 1327 1328 Reviewed by Anders Carlsson. 1329 1330 * Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm 1331 from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with 1332 !PLATFORM(IOS). 1333 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to 1334 PLATFORM(COCOA). 1335 (WKBundleFrameCopyWebArchiveFilteringSubframes): 1336 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS). 1337 * WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1338 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): 1339 * WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION) 1340 around use of NSBundle. 1341 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to 1342 PLATFORM(COCOA). 1343 (WebKit::InjectedBundleUserMessageEncoder::encode): 1344 (WebKit::InjectedBundleUserMessageDecoder::decode): 1345 * WebProcess/Network/WebResourceLoader.cpp: Ditto. 1346 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): 1347 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto. 1348 (WebKit::NPN_GetValue): 1349 (WebKit::NPN_SetValue): 1350 (WebKit::initializeBrowserFuncs): 1351 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto. 1352 (WebKit::NetscapePlugin::NetscapePlugin): 1353 (WebKit::NetscapePlugin::supportsSnapshotting): 1354 * WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto. 1355 * WebProcess/Plugins/Plugin.cpp: Ditto. 1356 (WebKit::Plugin::Parameters::encode): 1357 (WebKit::Plugin::Parameters::decode): 1358 * WebProcess/Plugins/Plugin.h: Ditto. 1359 * WebProcess/Plugins/PluginController.h: Ditto. 1360 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to 1361 USE(DARWIN) around use of Mach-based IPC. 1362 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 1363 * WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA). 1364 * WebProcess/Plugins/PluginProxy.h: Ditto. 1365 * WebProcess/Plugins/PluginProxy.messages.in: Ditto. 1366 * WebProcess/Plugins/PluginView.cpp: Ditto. 1367 (WebKit::PluginView::destroyPluginAndReset): 1368 (WebKit::PluginView::viewStateDidChange): 1369 (WebKit::PluginView::didInitializePlugin): 1370 (WebKit::PluginView::invalidateRect): 1371 (WebKit::PluginView::pluginSnapshotTimerFired): 1372 * WebProcess/Plugins/PluginView.h: Ditto. 1373 * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto. 1374 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto. 1375 (WebKit::WebChromeClient::windowRect): 1376 * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto. 1377 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto. 1378 * WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto. 1379 * WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto. 1380 * WebProcess/WebCoreSupport/WebDragClient.h: Ditto. 1381 * WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto. 1382 (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection): 1383 * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto. 1384 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto. 1385 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 1386 (WebKit::WebFrameLoaderClient::createPlugin): 1387 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto. 1388 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto. 1389 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto. 1390 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC). 1391 (InitWebCoreSystemInterface): 1392 * WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1393 (WebKit::DrawingArea::create): 1394 * WebProcess/WebPage/DrawingArea.h: Ditto. 1395 * WebProcess/WebPage/DrawingArea.messages.in: Ditto. 1396 * WebProcess/WebPage/EventDispatcher.cpp: Ditto. 1397 (WebKit::EventDispatcher::wheelEvent): 1398 * WebProcess/WebPage/LayerTreeHost.h: Ditto. 1399 * WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS) 1400 * WebProcess/WebPage/PageBanner.h: Ditto. 1401 * WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1402 * WebProcess/WebPage/WebFrame.h: Ditto. 1403 * WebProcess/WebPage/WebInspector.cpp: Ditto. 1404 (WebKit::WebInspector::WebInspector): 1405 * WebProcess/WebPage/WebInspector.h: Ditto. 1406 * WebProcess/WebPage/WebPage.cpp: Ditto. 1407 (WebKit::WebPage::WebPage): 1408 (WebKit::isContextClick): 1409 (WebKit::WebPage::getSelectionAsWebArchiveData): 1410 (WebKit::WebPage::getWebArchiveOfFrame): 1411 (WebKit::WebPage::updatePreferences): 1412 (WebKit::WebPage::sendSetWindowFrame): 1413 (WebKit::WebPage::beginPrinting): 1414 (WebKit::WebPage::computePagesForPrinting): 1415 * WebProcess/WebPage/WebPage.h: Ditto. 1416 * WebProcess/WebPage/WebPage.messages.in: Ditto. 1417 * WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS). 1418 * WebProcess/WebProcess.cpp: 1419 (WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA). 1420 (WebKit::WebProcess::initializeWebProcess): Ditto. 1421 (WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN). 1422 (WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to 1423 PLATFORM(COCOA). 1424 (WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto. 1425 (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to 1426 OS(DARWIN). 1427 (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to 1428 PLATFORM(COCOA) 1429 * WebProcess/WebProcess.h: Ditto. 1430 * WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around 1431 SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS. 1432 14332014-02-15 Alexey Proskuryakov <ap@apple.com> 1434 1435 [Mac] All WebKit clients should encrypt WebCrypto keys automatically 1436 https://bugs.webkit.org/show_bug.cgi?id=128852 1437 1438 Reviewed by Oliver Hunt. 1439 1440 * UIProcess/WebPageProxy.cpp: 1441 (WebKit::WebPageProxy::wrapCryptoKey): 1442 (WebKit::WebPageProxy::unwrapCryptoKey): 1443 Call the default implementation if key is not provided by a client. 1444 14452014-02-15 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 1446 1447 [EFL][WK2] Stop calling mktemp(3). 1448 https://bugs.webkit.org/show_bug.cgi?id=128826 1449 1450 Reviewed by Gyuyoung Kim. 1451 1452 mktemp(3) is an insecure function and should be avoided at all costs. 1453 Replace its usage with mkdtemp(3): instead of just getting a file name 1454 that is supposed to be random and unused, we now create a directory 1455 with a random name and then put whatever files we need there with fixed 1456 names. 1457 1458 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 1459 (TEST_F): 1460 * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: 1461 (TEST_F): 1462 14632014-02-15 Dan Bernstein <mitz@apple.com> 1464 1465 Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS” 1466 https://bugs.webkit.org/show_bug.cgi?id=128868 1467 1468 Reviewed by Anders Carlsoon. 1469 1470 * UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1471 * UIProcess/Databases/DatabaseProcessProxy.cpp: 1472 (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed 1473 PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC. 1474 * UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) 1475 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 1476 * UIProcess/DrawingAreaProxy.h: Ditto. 1477 * UIProcess/DrawingAreaProxy.messages.in: Ditto. 1478 * UIProcess/Launcher/ProcessLauncher.cpp: 1479 (WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN) 1480 around use of Mach API. 1481 * UIProcess/Launcher/ProcessLauncher.h: Ditto. 1482 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to 1483 PLATFORM(COCOA) 1484 * UIProcess/Network/NetworkProcessProxy.cpp: 1485 (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC) 1486 to OS(DARWIN). 1487 (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto. 1488 (WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA) 1489 around process suppression call. 1490 * UIProcess/Network/NetworkProcessProxy.h: Ditto. 1491 * UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1492 * UIProcess/Plugins/PluginInfoStore.cpp: Ditto. 1493 * UIProcess/Plugins/PluginProcessManager.h: Ditto. 1494 * UIProcess/Plugins/PluginProcessProxy.cpp: 1495 (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto. 1496 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC) 1497 to OS(DARWIN). 1498 (WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA). 1499 (WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around 1500 use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS. 1501 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to 1502 OS(DARWIN). 1503 * UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1504 * UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto. 1505 * UIProcess/TextChecker.h: Ditto. 1506 * UIProcess/WebContext.cpp: Ditto. 1507 (WebKit::WebContext::ensureNetworkProcess): 1508 (WebKit::WebContext::createNewWebProcess): 1509 (WebKit::WebContext::setHTTPPipeliningEnabled): 1510 (WebKit::WebContext::httpPipeliningEnabled): 1511 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 1512 * UIProcess/WebContext.h: Ditto. 1513 * UIProcess/WebContext.messages.in: Ditto. 1514 * UIProcess/WebContextUserMessageCoders.h: Ditto. 1515 (WebKit::WebContextUserMessageEncoder::encode): 1516 (WebKit::WebContextUserMessageDecoder::decode): 1517 * UIProcess/WebCookieManagerProxy.cpp: Ditto. 1518 (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): 1519 * UIProcess/WebCookieManagerProxy.h: Ditto. 1520 * UIProcess/WebFormSubmissionListenerProxy.h: Ditto. 1521 * UIProcess/WebFramePolicyListenerProxy.h: Ditto. 1522 * UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing 1523 the inspector window and its view. 1524 * UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1525 (WebKit::WebPageProxy::WebPageProxy): 1526 (WebKit::WebPageProxy::initializeWebPage): 1527 (WebKit::WebPageProxy::recordNavigationSnapshot): 1528 (WebKit::WebPageProxy::canShowMIMEType): 1529 (WebKit::canCoalesce): 1530 (WebKit::coalesce): 1531 (WebKit::WebPageProxy::findPlugin): 1532 (WebKit::WebPageProxy::editorStateChanged): 1533 (WebKit::WebPageProxy::contextMenuItemSelected): 1534 (WebKit::WebPageProxy::didReceiveEvent): 1535 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 1536 * UIProcess/WebPageProxy.h: Ditto. 1537 * UIProcess/WebPageProxy.messages.in: Ditto. 1538 * UIProcess/WebProcessProxy.cpp: Ditto. 1539 (WebKit::WebProcessProxy::WebProcessProxy): 1540 (WebKit::WebProcessProxy::createWebPage): 1541 (WebKit::WebProcessProxy::addExistingWebPage): 1542 (WebKit::WebProcessProxy::removeWebPage): 1543 (WebKit::WebProcessProxy::didFinishLaunching): 1544 (WebKit::WebProcessProxy::pageSuppressibilityChanged): 1545 (WebKit::WebProcessProxy::pagePreferencesChanged): 1546 * UIProcess/WebProcessProxy.h: Ditto. 1547 * UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any 1548 configuration. 1549 * UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be 1550 implemented for iOS. 1551 * WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp. 1552 15532014-02-15 Jeremy Jones <jeremyj@apple.com> 1554 1555 messages.py doesn't handle parameters with more than one level of scope. 1556 https://bugs.webkit.org/show_bug.cgi?id=128573 1557 1558 Reviewed by Simon Fraser. 1559 1560 Support .messages.in header include generation for parameter types with more than 1 level of scope. 1561 1562 Add a test case and update expected results. 1563 1564 * Scripts/webkit2/LegacyMessageReceiver-expected.cpp: 1565 (WebKit::WebPage::didReceiveWebPageMessage): 1566 * Scripts/webkit2/LegacyMessages-expected.h: 1567 (Messages::WebPage::SetVideoLayerID::receiverName): 1568 (Messages::WebPage::SetVideoLayerID::name): 1569 (Messages::WebPage::SetVideoLayerID::SetVideoLayerID): 1570 (Messages::WebPage::SetVideoLayerID::arguments): 1571 * Scripts/webkit2/MessageReceiver-expected.cpp: 1572 (WebKit::WebPage::didReceiveMessage): 1573 * Scripts/webkit2/Messages-expected.h: 1574 (Messages::WebPage::SetVideoLayerID::receiverName): 1575 (Messages::WebPage::SetVideoLayerID::name): 1576 (Messages::WebPage::SetVideoLayerID::SetVideoLayerID): 1577 (Messages::WebPage::SetVideoLayerID::arguments): 1578 * Scripts/webkit2/messages.py: 1579 (headers_for_type): 1580 * Scripts/webkit2/messages_unittest.py: 1581 * Scripts/webkit2/test-legacy-messages.in: 1582 * Scripts/webkit2/test-messages.in: 1583 15842014-02-14 Carlos Garcia Campos <cgarcia@igalia.com> 1585 1586 [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal 1587 https://bugs.webkit.org/show_bug.cgi?id=128808 1588 1589 Reviewed by Sergio Villar Senin. 1590 1591 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 1592 (webkit_web_page_class_init): Use g_cclosure_marshal_VOID__VOID 1593 instead of g_cclosure_marshal_VOID__OBJECT. 1594 15952014-02-14 Anders Carlsson <andersca@apple.com> 1596 1597 Add SPI for monitoring web process crashes 1598 https://bugs.webkit.org/show_bug.cgi?id=128851 1599 1600 Reviewed by Beth Dakin. 1601 1602 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: 1603 * UIProcess/Cocoa/NavigationState.h: 1604 * UIProcess/Cocoa/NavigationState.mm: 1605 (WebKit::NavigationState::setNavigationDelegate): 1606 (WebKit::NavigationState::LoaderClient::processDidCrash): 1607 16082014-02-14 Anders Carlsson <andersca@apple.com> 1609 1610 Add SPI for authentication 1611 https://bugs.webkit.org/show_bug.cgi?id=128847 1612 1613 Reviewed by Dan Bernstein. 1614 1615 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: 1616 * UIProcess/Cocoa/NavigationState.h: 1617 * UIProcess/Cocoa/NavigationState.mm: 1618 (WebKit::NavigationState::setNavigationDelegate): 1619 (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): 1620 (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): 1621 16222014-02-14 Anders Carlsson <andersca@apple.com> 1623 1624 Add WKBackForwardListDidChangeNotification 1625 https://bugs.webkit.org/show_bug.cgi?id=128839 1626 1627 Reviewed by Dan Bernstein. 1628 1629 Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems 1630 instead of a pointer to a Vector of API::Objects. 1631 1632 * Shared/API/Cocoa/WKFoundation.h: 1633 * UIProcess/API/APILoaderClient.h: 1634 (API::LoaderClient::didChangeBackForwardList): 1635 * UIProcess/API/C/WKPage.cpp: 1636 (WKPageSetPageLoaderClient): 1637 * UIProcess/API/Cocoa/WKBackForwardList.h: 1638 * UIProcess/API/Cocoa/WKBackForwardList.mm: 1639 * UIProcess/Cocoa/NavigationState.h: 1640 * UIProcess/Cocoa/NavigationState.mm: 1641 (WebKit::NavigationState::LoaderClient::didChangeBackForwardList): 1642 * UIProcess/WebBackForwardList.cpp: 1643 (WebKit::WebBackForwardList::addItem): 1644 (WebKit::WebBackForwardList::goToItem): 1645 (WebKit::WebBackForwardList::clear): 1646 * UIProcess/WebPageProxy.cpp: 1647 (WebKit::WebPageProxy::didChangeBackForwardList): 1648 * UIProcess/WebPageProxy.h: 1649 16502014-02-12 Jer Noble <jer.noble@apple.com> 1651 1652 [iOS][WK2] Always enable AVKit in WK2 1653 https://bugs.webkit.org/show_bug.cgi?id=128686 1654 1655 Reviewed by Simon Fraser. 1656 1657 Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2. 1658 1659 * WebProcess/WebPage/WebPage.cpp: 1660 (WebKit::WebPage::updatePreferences): 1661 16622014-02-14 Benjamin Poulain <bpoulain@apple.com> 1663 1664 [WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events 1665 https://bugs.webkit.org/show_bug.cgi?id=128715 1666 1667 Reviewed by Darin Adler. 1668 1669 * WebProcess/WebPage/ios/WebPageIOS.mm: 1670 (WebKit::WebPage::handleTap): 1671 16722014-02-14 Benjamin Poulain <bpoulain@apple.com> 1673 1674 <rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen 1675 https://bugs.webkit.org/show_bug.cgi?id=128710 1676 1677 Reviewed by Enrica Casucci. 1678 1679 WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard. 1680 1681 * UIProcess/API/Cocoa/WKWebView.mm: 1682 (-[WKWebView initWithFrame:configuration:]): 1683 (-[WKWebView dealloc]): 1684 (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]): 1685 (-[WKWebView _keyboardWillChangeFrame:]): 1686 (-[WKWebView _keyboardDidChangeFrame:]): 1687 (-[WKWebView _keyboardWillShow:]): 1688 (-[WKWebView _keyboardWillHide:]): 1689 * UIProcess/API/ios/WKContentView.h: 1690 * UIProcess/API/ios/WKContentView.mm: 1691 (-[WKContentView isAssistingNode]): 1692 * UIProcess/API/ios/WKInteractionView.h: 1693 * UIProcess/API/ios/WKViewIOS.mm: 1694 (-[WKView dealloc]): 1695 (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 1696 (-[WKView _keyboardChangedWithInfo:adjustScrollView:]): 1697 (-[WKView _keyboardWillChangeFrame:]): 1698 (-[WKView _keyboardDidChangeFrame:]): 1699 (-[WKView _keyboardWillShow:]): 1700 (-[WKView _keyboardWillHide:]): 1701 17022014-02-14 Dan Bernstein <mitz@apple.com> 1703 1704 Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS” 1705 https://bugs.webkit.org/show_bug.cgi?id=128802 1706 1707 Reviewed by Darin Adler. 1708 1709 * PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1710 (WebKit::PluginControllerProxy::PluginControllerProxy): 1711 (WebKit::PluginControllerProxy::paint): 1712 * PluginProcess/PluginControllerProxy.h: Ditto. 1713 * PluginProcess/PluginControllerProxy.messages.in: Ditto. 1714 * PluginProcess/PluginProcess.cpp: 1715 (WebKit::PluginProcess::PluginProcess): Ditto. 1716 (WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific 1717 quirk. 1718 (WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN) 1719 around use of Mach-based IPC. 1720 * PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to 1721 USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit. 1722 * PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around 1723 SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS. 1724 * PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 1725 (WebKit::WebProcessConnection::createPluginInternal): 1726 (WebKit::WebProcessConnection::createPlugin): 1727 17282014-02-14 Anders Carlsson <andersca@apple.com> 1729 1730 Add -[WKWebView estimatedProgress] 1731 https://bugs.webkit.org/show_bug.cgi?id=128830 1732 1733 Reviewed by Dan Bernstein. 1734 1735 * UIProcess/API/Cocoa/WKWebView.h: 1736 * UIProcess/API/Cocoa/WKWebView.mm: 1737 (-[WKWebView estimatedProgress]): 1738 * UIProcess/Cocoa/NavigationState.mm: 1739 (WebKit::NavigationState::willChangeEstimatedProgress): 1740 (WebKit::NavigationState::didChangeEstimatedProgress): 1741 17422014-02-13 Simon Fraser <simon.fraser@apple.com> 1743 1744 Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around 1745 https://bugs.webkit.org/show_bug.cgi?id=128790 1746 1747 Reviewed by Beth Dakin. 1748 1749 Have scrolling tree nodes and state nodes track another layer, the 1750 "scrolled contents layer", for accelerated overflow:scroll. 1751 1752 When making ScrollingTreeScrollingNodes for overflow:scroll, the node's 1753 layer will point to the composited element's primary layer, and its 1754 scrolledContentsLayer to the layer that gets moved around by scrolling. 1755 1756 Do some other cleanup on AsyncScrollingCoordinator, removing 1757 functions that just called through to nodes. 1758 1759 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 1760 (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): 1761 17622014-02-14 Anders Carlsson <andersca@apple.com> 1763 1764 Add -[WKWebView _handle] 1765 https://bugs.webkit.org/show_bug.cgi?id=128828 1766 1767 Reviewed by Dan Bernstein. 1768 1769 * UIProcess/API/Cocoa/WKWebView.mm: 1770 (-[WKWebView _handle]): 1771 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 1772 17732014-02-13 Dan Bernstein <mitz@apple.com> 1774 1775 [Cocoa] Expose the bundle form client 1776 https://bugs.webkit.org/show_bug.cgi?id=128792 1777 1778 Reviewed by Anders Carlsson. 1779 1780 * WebKit2.xcodeproj/project.pbxproj: Added new file. 1781 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added. 1782 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 1783 (didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form 1784 delegate. 1785 (setUpFormClient): Added. Initializes the form client with the above function. 1786 (-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter. 1787 (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or 1788 clears the form client. 1789 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: 1790 Declared _formDelegate property. 1791 17922014-02-13 Dan Bernstein <mitz@apple.com> 1793 1794 [Cocoa] Add a way to get the page from a frame in the injected bundle 1795 https://bugs.webkit.org/show_bug.cgi?id=128791 1796 1797 Reviewed by Anders Carlsson. 1798 1799 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: 1800 (-[WKWebProcessPlugInFrame _browserContextController]): Added. 1801 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared 1802 _browserContextController property. 1803 18042014-02-13 Anders Carlsson <andersca@apple.com> 1805 1806 Add -[WKWebView stopLoading:] 1807 https://bugs.webkit.org/show_bug.cgi?id=128784 1808 1809 Reviewed by Dan Bernstein. 1810 1811 * UIProcess/API/Cocoa/WKWebView.h: 1812 * UIProcess/API/Cocoa/WKWebView.mm: 1813 (-[WKWebView stopLoading:]): 1814 18152014-02-13 Anders Carlsson <andersca@apple.com> 1816 1817 Add -[WKWebView activeURL] 1818 https://bugs.webkit.org/show_bug.cgi?id=128777 1819 1820 Reviewed by Dan Bernstein. 1821 1822 * UIProcess/API/Cocoa/WKWebView.h: 1823 * UIProcess/API/Cocoa/WKWebView.mm: 1824 (-[WKWebView activeURL]): 1825 * UIProcess/Cocoa/NavigationState.mm: 1826 (WebKit::NavigationState::willChangeActiveURL): 1827 (WebKit::NavigationState::didChangeActiveURL): 1828 18292014-02-13 Anders Carlsson <andersca@apple.com> 1830 1831 Add -[WKWebView goToBackForwardListItem:] 1832 https://bugs.webkit.org/show_bug.cgi?id=128773 1833 1834 Reviewed by Andreas Kling. 1835 1836 * UIProcess/API/Cocoa/WKWebView.h: 1837 * UIProcess/API/Cocoa/WKWebView.mm: 1838 (-[WKWebView goToBackForwardListItem:]): 1839 18402014-02-13 Anders Carlsson <andersca@apple.com> 1841 1842 Make WKWebViewConfigurationPrivate.h private 1843 https://bugs.webkit.org/show_bug.cgi?id=128761 1844 1845 Reviewed by Tim Horton. 1846 1847 * WebKit2.xcodeproj/project.pbxproj: 1848 18492014-02-13 Myles C. Maxfield <mmaxfield@apple.com> 1850 1851 During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected 1852 https://bugs.webkit.org/show_bug.cgi?id=128688 1853 1854 Reviewed by Ryosuke Niwa. 1855 1856 Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy 1857 1858 * Shared/WebPreferencesStore.h: 1859 * UIProcess/API/C/WKPreferences.cpp: 1860 (WKPreferencesSetShouldConvertPositionStyleOnCopy): 1861 (WKPreferencesGetShouldConvertPositionStyleOnCopy): 1862 * UIProcess/API/C/WKPreferencesPrivate.h: 1863 * WebProcess/WebPage/WebPage.cpp: 1864 (WebKit::WebPage::updatePreferences): 1865 18662014-02-12 Timothy Hatcher <timothy@apple.com> 1867 1868 Enable inspection of recently used IndexedDB databases. 1869 1870 https://bugs.webkit.org/show_bug.cgi?id=128687 1871 1872 Reviewed by Brady Eidson & Joseph Pecoraro. 1873 1874 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 1875 (WebKit::sharedRecentDatabaseNameMap): 1876 (WebKit::combinedSecurityOriginIdentifier): 1877 (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend): 1878 (WebKit::WebIDBFactoryBackend::getDatabaseNames): 1879 (WebKit::WebIDBFactoryBackend::open): 1880 (WebKit::WebIDBFactoryBackend::deleteDatabase): 1881 Keep track of recently used database names per security-origin pair. 1882 Implement getDatabaseNames to return the recently used names. 1883 1884 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 1885 Fix up the arguments passed to getDatabaseNames. 1886 18872014-02-13 Anders Carlsson <andersca@apple.com> 1888 1889 Fix build. 1890 1891 * UIProcess/API/Cocoa/WKWebView.mm: 1892 (layoutMilestones): 1893 18942014-02-13 Anders Carlsson <andersca@apple.com> 1895 1896 Add rendering progress events SPI 1897 https://bugs.webkit.org/show_bug.cgi?id=128752 1898 1899 Reviewed by Dan Bernstein. 1900 1901 * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h. 1902 * UIProcess/API/Cocoa/WKWebView.mm: 1903 (-[WKWebView _observedRenderingProgressEvents]): 1904 (layoutMilestones): 1905 (-[WKWebView _setObservedRenderingProgressEvents:]): 1906 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 1907 (NS_OPTIONS): 1908 * UIProcess/Cocoa/NavigationState.h: 1909 * UIProcess/Cocoa/NavigationState.mm: 1910 (WebKit::NavigationState::setNavigationDelegate): 1911 (WebKit::renderingProgressEvents): 1912 (WebKit::NavigationState::LoaderClient::didLayout): 1913 * WebKit2.xcodeproj/project.pbxproj: 1914 19152014-02-13 Anders Carlsson <andersca@apple.com> 1916 1917 Disable XPC for plug-ins that need executable heap 1918 https://bugs.webkit.org/show_bug.cgi?id=128744 1919 <rdar://problem/15962958> 1920 1921 Reviewed by Dan Bernstein. 1922 1923 When switching to XPC for plug-ins, we accidentally broke the "feature" 1924 where plug-ins can ask for the heap to be executable. 1925 1926 This breaks Silverlight, so just disable XPC for any plug-ins that need this. 1927 <rdar://problem/16059483> tracks fixing this in the XPC service. 1928 1929 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 1930 (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap): 1931 Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins 1932 that require this feature. 1933 1934 (WebKit::PluginProcessProxy::platformGetLaunchOptions): 1935 Set launchOptions.useXPC to false if launchOptions.executableHeap is true. 1936 19372014-02-12 Antti Koivisto <antti@apple.com> 1938 1939 Return immediately from DestroyPlugin IPC call 1940 https://bugs.webkit.org/show_bug.cgi?id=128712 1941 1942 Reviewed by Anders Carlsson. 1943 1944 In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce 1945 the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous 1946 IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually 1947 starting. 1948 1949 * PluginProcess/WebProcessConnection.cpp: 1950 (WebKit::WebProcessConnection::destroyPlugin): 1951 * PluginProcess/WebProcessConnection.h: 1952 * PluginProcess/WebProcessConnection.messages.in: 1953 19542014-02-12 Anders Carlsson <andersca@apple.com> 1955 1956 Pass the related page in the WebPageConfiguration struct 1957 https://bugs.webkit.org/show_bug.cgi?id=128714 1958 1959 Reviewed by Darin Adler. 1960 1961 * UIProcess/API/Cocoa/WKWebView.mm: 1962 (-[WKWebView initWithFrame:configuration:]): 1963 * UIProcess/API/ios/WKContentView.h: 1964 * UIProcess/API/ios/WKContentView.mm: 1965 (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]): 1966 19672014-02-12 Anders Carlsson <andersca@apple.com> 1968 1969 Add relatedWebView property to WKWebViewConfiguration 1970 https://bugs.webkit.org/show_bug.cgi?id=128707 1971 1972 Reviewed by Dan Bernstein. 1973 1974 * UIProcess/API/Cocoa/WKWebView.mm: 1975 (-[WKWebView initWithFrame:configuration:]): 1976 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 1977 (-[WKWebViewConfiguration copyWithZone:]): 1978 (-[WKWebViewConfiguration relatedWebView]): 1979 (-[WKWebViewConfiguration setRelatedWebView:]): 1980 * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm. 1981 * WebKit2.xcodeproj/project.pbxproj: 1982 19832014-02-12 Alexey Proskuryakov <ap@apple.com> 1984 1985 [WK2] Add a C API to get WebCrypto master key from a client 1986 https://bugs.webkit.org/show_bug.cgi?id=128702 1987 1988 Reviewed by Anders Carlsson. 1989 1990 Added a new version of WKContextClient, with a function that returns the key. 1991 1992 * UIProcess/API/C/WKContext.h: 1993 * UIProcess/WebContextClient.cpp: 1994 (WebKit::WebContextClient::copyWebCryptoMasterKey): 1995 * UIProcess/WebContextClient.h: 1996 * UIProcess/WebPageProxy.cpp: 1997 (WebKit::WebPageProxy::wrapCryptoKey): 1998 (WebKit::WebPageProxy::unwrapCryptoKey): 1999 * UIProcess/mac/WebPageProxyMac.mm: 2000 20012014-02-12 Anders Carlsson <andersca@apple.com> 2002 2003 Add destinationFrame property to WKNavigationAction 2004 https://bugs.webkit.org/show_bug.cgi?id=128700 2005 2006 Reviewed by Tim Horton. 2007 2008 * UIProcess/API/Cocoa/WKNavigationAction.h: 2009 * UIProcess/API/Cocoa/WKNavigationAction.mm: 2010 (-[WKNavigationAction destinationFrame]): 2011 (-[WKNavigationAction setDestinationFrame:]): 2012 * UIProcess/API/Cocoa/WKNavigationActionInternal.h: 2013 * UIProcess/Cocoa/NavigationState.mm: 2014 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 2015 20162014-02-12 Anders Carlsson <andersca@apple.com> 2017 2018 Forward declare WKNavigation in WKNavigationDelegate.h 2019 https://bugs.webkit.org/show_bug.cgi?id=128699 2020 2021 Reviewed by Tim Horton. 2022 2023 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 2024 20252014-02-12 Anders Carlsson <andersca@apple.com> 2026 2027 Expose scrollView on the WKWebView 2028 https://bugs.webkit.org/show_bug.cgi?id=128697 2029 2030 Reviewed by Dan Bernstein. 2031 2032 * UIProcess/API/Cocoa/WKWebView.h: 2033 20342014-02-12 Anders Carlsson <andersca@apple.com> 2035 2036 Better iOS build fix. 2037 2038 * UIProcess/WebPageProxy.cpp: 2039 (WebKit::WebPageProxy::wrapCryptoKey): 2040 (WebKit::WebPageProxy::unwrapCryptoKey): 2041 Make these functions cross platform. 2042 2043 * UIProcess/mac/WebPageProxyMac.mm: 2044 20452014-02-12 Andy Estes <aestes@apple.com> 2046 2047 Fix the iOS build after r163976 2048 2049 Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by 2050 both Mac and iOS. 2051 2052 * UIProcess/Cocoa/WebPageProxyCocoa.mm: Added. 2053 (WebKit::WebPageProxy::wrapCryptoKey): 2054 (WebKit::WebPageProxy::unwrapCryptoKey): 2055 * UIProcess/mac/WebPageProxyMac.mm: 2056 * WebKit2.xcodeproj/project.pbxproj: 2057 20582014-02-12 Anders Carlsson <andersca@apple.com> 2059 2060 Fix build. 2061 2062 * UIProcess/API/Cocoa/WKProcessClass.h: 2063 20642014-02-12 Benjamin Poulain <bpoulain@apple.com> 2065 2066 [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype 2067 https://bugs.webkit.org/show_bug.cgi?id=128639 2068 2069 Reviewed by Andreas Kling. 2070 2071 * WebProcess/WebCoreSupport/WebChromeClient.h: 2072 * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: 2073 (WebKit::WebChromeClient::didReceiveMobileDocType): 2074 * WebProcess/WebPage/WebPage.h: 2075 * WebProcess/WebPage/ios/WebPageIOS.mm: 2076 (WebKit::WebPage::didReceiveMobileDocType): 2077 20782014-02-12 Anders Carlsson <andersca@apple.com> 2079 2080 WKProcessClass.h and WKNavigationResponse.h should be public headers 2081 https://bugs.webkit.org/show_bug.cgi?id=128683 2082 2083 Reviewed by Dan Bernstein. 2084 2085 * WebKit2.xcodeproj/project.pbxproj: 2086 20872014-02-12 Alexey Proskuryakov <ap@apple.com> 2088 2089 Wrap WebCrypto keys in SerializedScriptValue 2090 https://bugs.webkit.org/show_bug.cgi?id=128680 2091 2092 Reviewed by Anders Carlsson. 2093 2094 Retrieve a master key (placeholder code for now), and use it to wrap key data. 2095 2096 * UIProcess/WebPageProxy.cpp: 2097 (WebKit::WebPageProxy::wrapCryptoKey): 2098 (WebKit::WebPageProxy::unwrapCryptoKey): 2099 * UIProcess/mac/WebPageProxyMac.mm: 2100 (WebKit::WebPageProxy::wrapCryptoKey): 2101 (WebKit::WebPageProxy::unwrapCryptoKey): 2102 21032014-02-12 Zan Dobersek <zdobersek@igalia.com> 2104 2105 [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function 2106 https://bugs.webkit.org/show_bug.cgi?id=128473 2107 2108 Reviewed by Anders Carlsson. 2109 2110 Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11 2111 lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected 2112 throughout the lifetime of the function wrapper. 2113 2114 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 2115 (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate): 2116 (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState): 2117 (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect): 2118 (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor): 2119 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 2120 21212014-02-12 Dan Bernstein <mitz@apple.com> 2122 2123 Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS” 2124 https://bugs.webkit.org/show_bug.cgi?id=128659 2125 2126 Reviewed by Anders Carlsson. 2127 2128 * DatabaseProcess/DatabaseProcess.cpp: 2129 (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to 2130 OS(DARWIN) around use of Mach-based IPC. 2131 Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file. 2132 * NetworkProcess/NetworkProcess.cpp: Ditto. 2133 (WebKit::NetworkProcess::NetworkProcess): 2134 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess): 2135 * NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2136 * NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around 2137 SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS. 2138 * NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) 2139 (WebKit::NetworkResourceLoader::continueWillSendRequest): 2140 * NetworkProcess/NetworkResourceLoader.h: Ditto. 2141 * NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext. 2142 21432014-02-11 Brent Fulgham <bfulgham@apple.com> 2144 2145 Remove some unintended copies in ranged for loops 2146 https://bugs.webkit.org/show_bug.cgi?id=128644 2147 2148 Reviewed by Anders Carlsson. 2149 2150 * Shared/WebCrossThreadCopier.cpp: 2151 (WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of 2152 vectors, 2153 * Shared/mac/RemoteLayerBackingStore.mm: 2154 (RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect 2155 on each iteration. 2156 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 2157 (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying 2158 a LayerProperty object each iteration. 2159 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 2160 (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid 2161 copying a pair<int64_t, pointer> each iteration. 2162 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 2163 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto 2164 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 2165 (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto 2166 * UIProcess/WebContext.cpp: 2167 (WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a 2168 RefPtr each loop iteration. 2169 * UIProcess/WebPageProxy.cpp: 2170 (WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint 2171 object each cycle. 2172 * UIProcess/mac/RemoteLayerTreeHost.mm: 2173 (WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration. 2174 * UIProcess/mac/WindowServerConnection.mm: 2175 (WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct 2176 of occlusionNotificationHandlers each iteration. 2177 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 2178 (WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each 2179 iteration. 2180 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 2181 (PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a 2182 RefPtr each loop iteration. 2183 21842014-02-12 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 2185 2186 Update the HTML Media Capture implementation. 2187 https://bugs.webkit.org/show_bug.cgi?id=118465 2188 2189 Reviewed by Darin Adler. 2190 2191 Make the implementation in WebKit compatible with the 2013-05-09 2192 version of the spec, which makes the "capture" attribute a boolean 2193 instead of an enum. 2194 2195 * Shared/WebOpenPanelParameters.cpp: 2196 (WebKit::WebOpenPanelParameters::capture): Return a bool. 2197 * Shared/WebOpenPanelParameters.h: Ditto. 2198 * UIProcess/API/C/WKOpenPanelParameters.cpp: 2199 (WKOpenPanelParametersCopyCapture): Deprecate, the implementation is 2200 incompatible with the current version of the spec. 2201 (WKOpenPanelParametersGetCaptureEnabled): Add and return a bool. 2202 * UIProcess/API/C/WKOpenPanelParameters.h: 2203 22042014-02-12 Alberto Garcia <berto@igalia.com> 2205 2206 [GTK] Fails to build if configure is run with its absolute path 2207 https://bugs.webkit.org/show_bug.cgi?id=126693 2208 2209 Reviewed by Gustavo Noronha Silva. 2210 2211 When creating links to the WebKit2 headers in the source tree 2212 don't expect $(WebKit2) to be a relative path. 2213 2214 * GNUmakefile.am: 2215 22162014-02-11 Filip Pizlo <fpizlo@apple.com> 2217 2218 JIT should be enabled (regression from addition of JIT enabled setting) 2219 https://bugs.webkit.org/show_bug.cgi?id=128653 2220 2221 Reviewed by Tim Horton. 2222 2223 * UIProcess/mac/WebContextMac.mm: 2224 (WebKit::registerUserDefaultsIfNeeded): 2225 22262014-02-11 Ryosuke Niwa <rniwa@webkit.org> 2227 2228 Remove one of includes added in r163943 and r163939. 2229 2230 * WebProcess/WebPage/WebPage.h: 2231 22322014-02-11 Dan Bernstein <mitz@apple.com> 2233 2234 <rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator 2235 https://bugs.webkit.org/show_bug.cgi?id=128650 2236 2237 Reviewed by Mark Rowe. 2238 2239 * Configurations/All-iOS.xcconfig: Removed this unused file. 2240 * Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that 2241 its Copy Files build phase, intended only for engineering builds, doesn’t copy into the 2242 (wrong) install location. 2243 22442014-02-11 Ryosuke Niwa <rniwa@webkit.org> 2245 2246 EFL build fix after r163919. 2247 2248 * WebProcess/WebPage/WebPage.h: 2249 22502014-02-11 Jaehun Lim <ljaehun.lim@samsung.com> 2251 2252 Unreviewed build fix after r163919 2253 2254 WKGestureTypes.h needs PLATFORM(IOS) guard. 2255 2256 * WebProcess/WebPage/WebPage.h: 2257 22582014-02-11 Zalan Bujtas <zalan@apple.com> 2259 2260 Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based. 2261 https://bugs.webkit.org/show_bug.cgi?id=128460 2262 2263 Reviewed by Simon Fraser. 2264 2265 GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on 2266 subpixel position. 2267 2268 No change in functionality. 2269 2270 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: 2271 (WebKit::LayerTreeHostGtk::paintContents): 2272 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: 2273 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 2274 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 2275 (WebKit::RemoteLayerTreeDrawingArea::paintContents): 2276 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 2277 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 2278 (WebKit::TiledCoreAnimationDrawingArea::paintContents): 2279 22802014-02-11 Sam Weinig <sam@webkit.org> 2281 2282 [WebKit2, JSC] Add user default to disable the JIT 2283 https://bugs.webkit.org/show_bug.cgi?id=128643 2284 2285 Reviewed by Filip Pizlo. 2286 2287 * Shared/WebProcessCreationParameters.cpp: 2288 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 2289 (WebKit::WebProcessCreationParameters::encode): 2290 (WebKit::WebProcessCreationParameters::decode): 2291 * Shared/WebProcessCreationParameters.h: 2292 * UIProcess/mac/WebContextMac.mm: 2293 (WebKit::registerUserDefaultsIfNeeded): 2294 (WebKit::WebContext::platformInitializeWebProcess): 2295 * WebProcess/mac/WebProcessMac.mm: 2296 (WebKit::WebProcess::platformInitializeWebProcess): 2297 22982014-02-11 Ryosuke Niwa <rniwa@webkit.org> 2299 2300 Frame::rectForSelection shouldn't instantiate FrameSelection 2301 https://bugs.webkit.org/show_bug.cgi?id=128587 2302 2303 Reviewed by Enrica Casucci. 2304 2305 * WebProcess/WebCoreSupport/WebEditorClient.h: 2306 * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm: 2307 23082014-02-11 Enrica Casucci <enrica@apple.com> 2309 2310 Support WebSelections in WK2 on iOS. 2311 https://bugs.webkit.org/show_bug.cgi?id=127015 2312 <rdar://problem/15211964> 2313 2314 Reviewed by Benjamin Poulain. 2315 2316 First step towards implementing block selections on iOS. 2317 The main logic is in rangeForWebSelectionAtPosition that 2318 decides whether we create a text or a block selection. 2319 2320 * Shared/ios/WKGestureTypes.h: 2321 * UIProcess/API/ios/WKInteractionView.mm: 2322 (toUIWKSelectionFlags): 2323 (selectionChangedWithGesture): 2324 * WebProcess/WebPage/WebPage.h: 2325 * WebProcess/WebPage/ios/WebPageIOS.mm: 2326 (WebKit::WebPage::rangeForWebSelectionAtPosition): 2327 (WebKit::WebPage::selectWithGesture): 2328 (WebKit::WebPage::getPositionInformation): 2329 23302014-02-10 Myles C. Maxfield <mmaxfield@apple.com> 2331 2332 Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy 2333 https://bugs.webkit.org/show_bug.cgi?id=128194 2334 2335 Reviewed by Simon Fraser. 2336 2337 * Shared/WebPreferencesStore.h: 2338 * UIProcess/API/C/WKPreferences.cpp: 2339 (WKPreferencesSetConvertPositionStyleOnCopy): 2340 (WKPreferencesGetConvertPositionStyleOnCopy): 2341 * UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior 2342 * WebProcess/WebPage/WebPage.cpp: 2343 (WebKit::WebPage::updatePreferences): 2344 23452014-02-11 Benjamin Poulain <bpoulain@apple.com> 2346 2347 [WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen 2348 https://bugs.webkit.org/show_bug.cgi?id=128575 2349 2350 Reviewed by Darin Adler. 2351 2352 In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen. 2353 Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS. 2354 2355 This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart. 2356 2357 * UIProcess/API/gtk/PageClientImpl.cpp: 2358 (WebKit::PageClientImpl::screenToRootView): 2359 (WebKit::PageClientImpl::rootViewToScreen): 2360 * UIProcess/API/gtk/PageClientImpl.h: 2361 * UIProcess/API/ios/PageClientImplIOS.h: 2362 * UIProcess/API/ios/PageClientImplIOS.mm: 2363 (WebKit::PageClientImpl::screenToRootView): 2364 (WebKit::PageClientImpl::rootViewToScreen): 2365 * UIProcess/API/mac/PageClientImpl.h: 2366 * UIProcess/API/mac/PageClientImpl.mm: 2367 (WebKit::PageClientImpl::screenToRootView): 2368 (WebKit::PageClientImpl::rootViewToScreen): 2369 * UIProcess/CoordinatedGraphics/WebView.cpp: 2370 (WebKit::WebView::screenToRootView): 2371 (WebKit::WebView::rootViewToScreen): 2372 * UIProcess/CoordinatedGraphics/WebView.h: 2373 * UIProcess/PageClient.h: 2374 * UIProcess/WebPageProxy.cpp: 2375 (WebKit::WebPageProxy::screenToRootView): 2376 (WebKit::WebPageProxy::rootViewToScreen): 2377 * UIProcess/WebPageProxy.h: 2378 * UIProcess/WebPageProxy.messages.in: 2379 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 2380 (WebKit::WebChromeClient::screenToRootView): 2381 (WebKit::WebChromeClient::rootViewToScreen): 2382 * WebProcess/WebPage/WebPage.cpp: 2383 (WebKit::WebPage::screenToRootView): 2384 (WebKit::WebPage::rootViewToScreen): 2385 * WebProcess/WebPage/WebPage.h: 2386 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 2387 (-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]): 2388 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 2389 23902014-02-11 Andy Estes <aestes@apple.com> 2391 2392 [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate 2393 https://bugs.webkit.org/show_bug.cgi?id=128583 2394 2395 Reviewed by Anders Carlsson. 2396 2397 The delegate method was removed in Snow Leopard. 2398 2399 * NetworkProcess/NetworkResourceLoader.cpp: 2400 * NetworkProcess/NetworkResourceLoader.h: 2401 24022014-02-11 Brady Eidson <beidson@apple.com> 2403 2404 IndexedDB tests on some bots are flakey (timeouts) 2405 <rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612 2406 2407 Reviewed by Sam Weinig. 2408 2409 When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder. 2410 *ESPECIALLY* when dealing with multiple threads. 2411 2412 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 2413 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 2414 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): 2415 24162014-02-11 Dan Bernstein <mitz@apple.com> 2417 2418 Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS” 2419 https://bugs.webkit.org/show_bug.cgi?id=128582 2420 2421 Reviewed by Darin Adler. 2422 2423 * Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility. 2424 (WKContextMenuItemGetTag): 2425 * Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions 2426 are not needed on iOS. 2427 * Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2428 (WebKit::toAPI): 2429 (WebKit::toImpl): 2430 * Shared/APIObject.h: Ditto. 2431 * Shared/ChildProcess.cpp: Ditto. 2432 * Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around 2433 setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop. 2434 * Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse(). 2435 * Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2436 (WebKit::DictionaryPopupInfo::encode): 2437 (WebKit::DictionaryPopupInfo::decode): 2438 * Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2439 * Shared/Downloads/Download.h: Ditto. 2440 * Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2441 * Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2442 (WebKit::FontInfo::encode): 2443 (WebKit::FontInfo::decode): 2444 * Shared/FontInfo.h: Ditto. 2445 * Shared/LayerTreeContext.h: Ditto. 2446 * Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around 2447 forward-declaration of NSView. 2448 * Shared/NativeWebMouseEvent.h: Ditto. 2449 * Shared/NativeWebWheelEvent.h: Ditto. 2450 * Shared/Network/CustomProtocols/Cocoa: Renamed from mac. 2451 * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm. 2452 * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed. 2453 * Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to 2454 PLATFORM(COCOA). 2455 * Shared/Network/CustomProtocols/mac: Removed. 2456 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed. 2457 * Shared/PlatformPopupMenuData.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2458 (WebKit::PlatformPopupMenuData::encode): 2459 (WebKit::PlatformPopupMenuData::decode): 2460 * Shared/PlatformPopupMenuData.h: Ditto. 2461 * Shared/Plugins/Netscape/PluginInformation.cpp: Ditto. 2462 * Shared/Plugins/PluginModuleInfo.h: Ditto. 2463 * Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto. 2464 (WebKit::PluginProcessCreationParameters::encode): 2465 (WebKit::PluginProcessCreationParameters::decode): 2466 * Shared/Plugins/PluginProcessCreationParameters.h: Ditto. 2467 * Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of 2468 NSPrintInfo. 2469 * Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2470 * Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT). 2471 * Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA). 2472 * Shared/WebArchive.h: Ditto. 2473 * Shared/WebArchiveResource.cpp: Ditto. 2474 * Shared/WebArchiveResource.h: Ditto. 2475 * Shared/WebCoreArgumentCoders.cpp: Ditto. 2476 (IPC::ArgumentCoder<ResourceResponse>::encode): 2477 (IPC::ArgumentCoder<ResourceResponse>::decode): 2478 * Shared/WebCoreArgumentCoders.h: Ditto. 2479 * Shared/WebEvent.h: Ditto. 2480 * Shared/WebEventConversion.cpp: Ditto. 2481 (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): 2482 * Shared/WebKit2Initialize.cpp: Ditto. 2483 (WebKit::InitializeWebKit2): 2484 * Shared/WebPageCreationParameters.cpp: Ditto. 2485 (WebKit::WebPageCreationParameters::encode): 2486 (WebKit::WebPageCreationParameters::decode): 2487 * Shared/WebPageCreationParameters.h: Ditto. 2488 * Shared/WebPreferencesStore.h: Ditto. 2489 * Shared/WebProcessCreationParameters.cpp: Ditto. 2490 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 2491 (WebKit::WebProcessCreationParameters::encode): 2492 (WebKit::WebProcessCreationParameters::decode): 2493 * Shared/WebProcessCreationParameters.h: Ditto. 2494 * Shared/WebWheelEvent.cpp: Ditto. 2495 (WebKit::WebWheelEvent::WebWheelEvent): 2496 (WebKit::WebWheelEvent::encode): 2497 (WebKit::WebWheelEvent::decode): 2498 * Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION). 2499 (IPC::decode): 2500 * Shared/mac/CommandLineMac.cpp: Removed. 2501 * Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC) 2502 * Shared/posix: Added. 2503 * Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed 2504 comment. 2505 * WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames. 2506 25072014-02-11 Brady Eidson <beidson@apple.com> 2508 2509 IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs 2510 <rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581 2511 2512 Reviewed by Alexey Proskuryakov. 2513 2514 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 2515 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results. 2516 25172014-02-11 Alberto Garcia <berto@igalia.com> 2518 2519 O_CLOEXEC in shm_open does not work on FreeBSD 2520 https://bugs.webkit.org/show_bug.cgi?id=128572 2521 2522 Reviewed by Darin Adler. 2523 2524 The O_CLOEXEC is not supported by shm_open() and is also not 2525 necessary since FD_CLOEXEC is already set by default when the new 2526 file descriptor is created. 2527 2528 * Platform/unix/SharedMemoryUnix.cpp: 2529 (WebKit::SharedMemory::create): 2530 25312014-02-10 Commit Queue <commit-queue@webkit.org> 2532 2533 Unreviewed, rolling out r163856. 2534 http://trac.webkit.org/changeset/163856 2535 https://bugs.webkit.org/show_bug.cgi?id=128585 2536 2537 The build fix depends on r163848, which has been reverted 2538 (Requested by notbenjamin on #webkit). 2539 2540 * UIProcess/ios/TextCheckerIOS.mm: 2541 (WebKit::TextChecker::checkTextOfParagraph): 2542 (WebKit::TextChecker::checkSpellingOfString): 2543 (WebKit::TextChecker::checkGrammarOfString): 2544 25452014-02-10 Alexey Proskuryakov <ap@apple.com> 2546 2547 Add hooks for wrapping CryptoKeys in SerializedScriptValue 2548 https://bugs.webkit.org/show_bug.cgi?id=128567 2549 2550 Reviewed by Anders Carlsson. 2551 2552 * UIProcess/WebPageProxy.cpp: 2553 (WebKit::WebPageProxy::wrapCryptoKey): 2554 (WebKit::WebPageProxy::unwrapCryptoKey): 2555 * UIProcess/WebPageProxy.h: 2556 * UIProcess/WebPageProxy.messages.in: 2557 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 2558 (WebKit::WebChromeClient::wrapCryptoKey): 2559 (WebKit::WebChromeClient::unwrapCryptoKey): 2560 * WebProcess/WebCoreSupport/WebChromeClient.h: 2561 Dummy implementation, to be filled in later. 2562 25632014-02-10 Dan Bernstein <mitz@apple.com> 2564 2565 Stop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not iOS” 2566 https://bugs.webkit.org/show_bug.cgi?id=128513 2567 2568 Reviewed by Dean Jackson. 2569 2570 * Platform/IPC/Connection.cpp: 2571 (IPC::Connection::waitForSyncReply): Changed PLATFORM(MAC) to PLATFORM(COCOA) around use of 2572 RunLoop::runForDuration, matching the guard around that function. 2573 * Platform/Logging.cpp: Deleted unused definition of logLevelString. 2574 * Platform/Module.cpp: 2575 (WebKit::Module::Module): Changed PLATFORM(MAC) to USE(CF). 2576 * Platform/Module.h: Changed PLATFORM(MAC) to USE(CF), since the “Mac” implementation is 2577 just a CFBundle-based implementation. 2578 * Platform/PlatformProcessIdentifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). Arguably 2579 this should be OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK). 2580 * Platform/cf: Added. 2581 * Platform/cf/ModuleCF.cpp: Renamed from Platform/mac/ModuleMac.mm. This file did not 2582 contain any Objective-C code. 2583 * Platform/foundation: Added. 2584 * Platform/foundation/LoggingFoundation.mm: Renamed from Platform/mac/Logging.mac.mm. 2585 * Platform/mac/Logging.mac.mm: Removed. 2586 * Platform/mac/ModuleMac.mm: Removed. 2587 * WebKit2.xcodeproj/project.pbxproj: Updated for renames. 2588 25892014-02-10 Commit Queue <commit-queue@webkit.org> 2590 2591 Unreviewed, rolling out r163848. 2592 http://trac.webkit.org/changeset/163848 2593 https://bugs.webkit.org/show_bug.cgi?id=128580 2594 2595 Caused a lot of crashes on tests (Requested by ap on #webkit). 2596 2597 * Shared/APIString.h: 2598 * UIProcess/TextChecker.h: 2599 * UIProcess/WebPageProxy.cpp: 2600 (WebKit::WebPageProxy::checkTextOfParagraph): 2601 (WebKit::WebPageProxy::checkSpellingOfString): 2602 (WebKit::WebPageProxy::checkGrammarOfString): 2603 * UIProcess/mac/TextCheckerMac.mm: 2604 (WebKit::TextChecker::checkTextOfParagraph): 2605 (WebKit::TextChecker::checkSpellingOfString): 2606 (WebKit::TextChecker::checkGrammarOfString): 2607 26082014-02-10 Brady Eidson <beidson@apple.com> 2609 2610 IDB: storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html fails 2611 <rdar://problem/16033286> and https://bugs.webkit.org/show_bug.cgi?id=128574 2612 2613 Reviewed by Maciej Stachowiak. 2614 2615 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 2616 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If there is no value in an object-store get, 2617 don’t return *any* results. 2618 26192014-02-10 Benjamin Poulain <bpoulain@apple.com> 2620 2621 Fix the iOS build after r163848 2622 2623 * UIProcess/ios/TextCheckerIOS.mm: 2624 (WebKit::TextChecker::checkTextOfParagraph): 2625 (WebKit::TextChecker::checkSpellingOfString): 2626 (WebKit::TextChecker::checkGrammarOfString): 2627 26282014-02-10 Brady Eidson <beidson@apple.com> 2629 2630 IDB: storage/indexeddb/mozilla/indexes.html fails 2631 <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563 2632 2633 Reviewed by Tim Horton. 2634 2635 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 2636 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Pass the cursor type to the backing store. 2637 2638 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 2639 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 2640 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): If it’s a key-only cursor, 2641 return only the key result. 2642 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 2643 2644 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 2645 (WebKit::getIndexStatement): Fix index statement selection so ascending, unique cursors sort correctly. 2646 26472014-02-10 Anders Carlsson <andersca@apple.com> 2648 2649 Remove a couple of deprecatedCharacters() from WebKit2 2650 https://bugs.webkit.org/show_bug.cgi?id=128569 2651 2652 Reviewed by Andreas Kling. 2653 2654 * Shared/APIString.h: 2655 * UIProcess/TextChecker.h: 2656 * UIProcess/WebPageProxy.cpp: 2657 (WebKit::WebPageProxy::checkTextOfParagraph): 2658 (WebKit::WebPageProxy::checkSpellingOfString): 2659 (WebKit::WebPageProxy::checkGrammarOfString): 2660 * UIProcess/mac/TextCheckerMac.mm: 2661 (WebKit::TextChecker::checkTextOfParagraph): 2662 (WebKit::TextChecker::checkSpellingOfString): 2663 (WebKit::TextChecker::checkGrammarOfString): 2664 26652014-02-10 Filip Pizlo <fpizlo@apple.com> 2666 2667 Rename Operations.h to JSCInlines.h 2668 https://bugs.webkit.org/show_bug.cgi?id=128543 2669 2670 Rubber stamped by Geoffrey Garen. 2671 2672 * Shared/linux/WebMemorySamplerLinux.cpp: 2673 * UIProcess/WebContext.cpp: 2674 * WebProcess/WebPage/WebPage.cpp: 2675 * WebProcess/efl/WebProcessMainEfl.cpp: 2676 26772014-02-10 Benjamin Poulain <bpoulain@apple.com> 2678 2679 [WK2] Add support for image document viewport configuration 2680 https://bugs.webkit.org/show_bug.cgi?id=128565 2681 2682 Reviewed by Simon Fraser. 2683 2684 * UIProcess/API/ios/PageClientImplIOS.mm: 2685 (WebKit::PageClientImpl::screenToWindow): 2686 (WebKit::PageClientImpl::windowToScreen): 2687 Add the implementation for ImageDocument. 2688 2689 * WebProcess/WebPage/WebPage.cpp: 2690 (WebKit::WebPage::didCommitLoad): 2691 Use the right default settings when dealing with image documents. 2692 26932014-02-10 Simon Fraser <simon.fraser@apple.com> 2694 2695 Show a debug tile map indicator for UI-side compositing 2696 https://bugs.webkit.org/show_bug.cgi?id=128553 2697 2698 Reviewed by Tim Horton. 2699 2700 Implement a tiled scrolling indicator for UI-side compositing. 2701 2702 The indicator is created by making another RemoteLayerTreeHost, 2703 and decoding the transaction in it a second time to create a cloned 2704 layer tree. In that clone commit, we modify some layer properties to 2705 make things easier to see. 2706 2707 The cloned layer tree is hosted in the root layer of the main 2708 RemoteLayerTreeHost. 2709 2710 RemoteLayerTreeHost was changed to not need a pointer to the WebPageProxy, 2711 which it only used in the "root layer changed" case; instead, it now just 2712 returns a bool from updateLayerTree() in that situation. 2713 2714 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Explanatory comment. 2715 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: 2716 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 2717 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): 2718 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): 2719 (WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect): 2720 (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation): 2721 (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicatorPosition): 2722 (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale): 2723 (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator): 2724 (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator): 2725 * UIProcess/mac/RemoteLayerTreeHost.h: 2726 (WebKit::RemoteLayerTreeHost::rootLayer): 2727 (WebKit::RemoteLayerTreeHost::setIsDebugLayerTreeHost): 2728 (WebKit::RemoteLayerTreeHost::isDebugLayerTreeHost): 2729 * UIProcess/mac/RemoteLayerTreeHost.mm: 2730 (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): 2731 (WebKit::RemoteLayerTreeHost::updateLayerTree): 2732 (WebKit::RemoteLayerTreeHost::createLayer): 2733 27342014-02-10 Simon Fraser <simon.fraser@apple.com> 2735 2736 Put a delegatesScrolling flag on WebPageProxy so that the UI process knows when scrolling is delegated 2737 https://bugs.webkit.org/show_bug.cgi?id=128429 2738 2739 Reviewed by Sam Weinig. 2740 2741 Add delegatesScrolling() which defaults to false, but is set to true for iOS 2742 by WKContentView. 2743 2744 * UIProcess/API/ios/WKContentView.mm: 2745 (-[WKContentView initWithFrame:configuration:]): 2746 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 2747 * UIProcess/WebPageProxy.cpp: 2748 (WebKit::WebPageProxy::WebPageProxy): 2749 * UIProcess/WebPageProxy.h: 2750 (WebKit::WebPageProxy::setDelegatesScrolling): 2751 (WebKit::WebPageProxy::delegatesScrolling): 2752 27532014-02-10 Gavin Barraclough <barraclough@apple.com> 2754 2755 Remove WKPageSetVisibilityState 2756 https://bugs.webkit.org/show_bug.cgi?id=128551 2757 2758 Reviewed by Anders Carlsson. 2759 2760 Made prerender state automatic. We should move this further 2761 up into WebCore, but this requires refactoring for the Page 2762 construction order. 2763 2764 * Shared/API/c/WKDeprecatedFunctions.cpp: 2765 (WKPageSetVisibilityState): 2766 - deprecated. 2767 * UIProcess/API/C/WKPage.cpp: 2768 - removed WKPageSetVisibilityState. 2769 * UIProcess/API/C/WKPage.h: 2770 - removed WKPageSetVisibilityState. 2771 * UIProcess/WebPageProxy.cpp: 2772 - removed setVisibilityStatePrerender. 2773 * UIProcess/WebPageProxy.h: 2774 - removed setVisibilityStatePrerender. 2775 * WebProcess/WebPage/WebPage.cpp: 2776 (WebKit::WebPage::WebPage): 2777 - removed setVisibilityStatePrerender. 2778 - When creating a Page, automatically set the prerender state. 2779 * WebProcess/WebPage/WebPage.h: 2780 - removed setVisibilityStatePrerender. 2781 * WebProcess/WebPage/WebPage.messages.in: 2782 - removed SetVisibilityStatePrerender. 2783 27842014-02-10 Brady Eidson <beidson@apple.com> 2785 2786 IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails 2787 <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487 2788 2789 Missed one piece of review feedback before landing. 2790 2791 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 2792 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 2793 27942014-02-10 Brady Eidson <beidson@apple.com> 2795 2796 IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails 2797 <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487 2798 2799 Reviewed by Tim Horton. 2800 2801 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 2802 (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): 2803 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Update logging. 2804 (WebKit::DatabaseProcessIDBConnection::deleteDatabase): If deleteDatabase succeeds, 2805 also disconnect from the UniqueIDBDatabase so it can be cleaned up properly. 2806 (WebKit::DatabaseProcessIDBConnection::close): New message from the WebProcess to handle 2807 clean closures. 2808 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 2809 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 2810 2811 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 2812 (WebKit::UniqueIDBDatabase::shutdown): Move most of the cleanup to didShutdownBackingStore. 2813 (WebKit::UniqueIDBDatabase::didShutdownBackingStore): Execute all remaining mainThreadTasks 2814 (as they represent real results from the backing store thread). 2815 (WebKit::UniqueIDBDatabase::deleteDatabase): Add an ASSERT. 2816 (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Call through to performNextMainThreadTaskWithoutAdoptRef. 2817 (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Execute a task, 2818 returning true if there are more tasks left to execute. 2819 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 2820 2821 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 2822 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): Properly 2823 handle JSC cleanup. 2824 2825 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 2826 (WebKit::WebIDBServerConnection::close): Implement this. 2827 28282014-02-10 Benjamin Poulain <bpoulain@apple.com> 2829 2830 [iOS][WK2] Add empty definition for an API allowing clients to define obscured edges over the scrollview 2831 https://bugs.webkit.org/show_bug.cgi?id=128396 2832 2833 Reviewed by Simon Fraser. 2834 2835 ObscuredInset defines the area of the scrollview unusable for positioning content. 2836 The API is unused in this patch. 2837 2838 * UIProcess/API/Cocoa/WKViewPrivate.h: 2839 * UIProcess/API/Cocoa/WKWebView.mm: 2840 (-[WKWebView _obscuredInset]): 2841 (-[WKWebView _setObscuredInset:]): 2842 (-[WKWebView _commitObscuredInset]): 2843 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 2844 * UIProcess/API/ios/WKViewIOS.mm: 2845 (-[WKView _obscuredInset]): 2846 (-[WKView _setObscuredInset:]): 2847 (-[WKView _commitObscuredInset]): 2848 28492014-02-10 Martin Hock <mhock@apple.com> 2850 2851 Add API for accessing session ephemerality from a page bundle 2852 https://bugs.webkit.org/show_bug.cgi?id=128410 2853 2854 Reviewed by Alexey Proskuryakov. 2855 2856 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 2857 (WKBundlePageIsUsingEphemeralSession): 2858 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 2859 * WebProcess/WebPage/WebPage.cpp: 2860 (WebKit::WebPage::isUsingEphemeralSession): 2861 * WebProcess/WebPage/WebPage.h: 2862 28632014-02-10 Carlos Garcia Campos <cgarcia@igalia.com> 2864 2865 [GTK] Create the inspector view using the same web process as the inspected page 2866 https://bugs.webkit.org/show_bug.cgi?id=128539 2867 2868 Reviewed by Martin Robinson. 2869 2870 * UIProcess/API/C/gtk/WKView.cpp: 2871 (WKViewCreate): Pass nullptr as the related page. 2872 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 2873 (webkitWebViewBaseCreate): Add related page argument and pass it 2874 to webkitWebViewBaseCreateWebPage() instead of nullptr. 2875 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 2876 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 2877 (WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass 2878 m_page as related page to webkitWebViewBaseCreate(). 2879 28802014-02-10 Carlos Garcia Campos <cgarcia@igalia.com> 2881 2882 [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr 2883 https://bugs.webkit.org/show_bug.cgi?id=127554 2884 2885 Reviewed by Gustavo Noronha Silva. 2886 2887 Use GUniqueOutPtr instead of GOwnPtr. 2888 2889 * NetworkProcess/soup/NetworkProcessSoup.cpp: 2890 (WebKit::getCacheDiskFreeSize): 2891 * Shared/Downloads/soup/DownloadSoup.cpp: 2892 (WebKit::DownloadClient::didReceiveResponse): 2893 (WebKit::DownloadClient::didReceiveData): 2894 (WebKit::DownloadClient::didFinishLoading): 2895 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 2896 (processPendingIconsForPageURL): 2897 (webkit_favicon_database_get_favicon): 2898 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 2899 (webkitURISchemeRequestReadCallback): 2900 * UIProcess/API/gtk/WebKitWebView.cpp: 2901 (gotFaviconCallback): 2902 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 2903 (WebKit::WebInspectorServer::platformResourceForPath): 2904 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 2905 (WebKit::ProcessLauncher::launchProcess): 2906 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: 2907 (WebKit::PluginProcessProxy::scanPlugin): 2908 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 2909 * WebProcess/soup/WebProcessSoup.cpp: 2910 (WebKit::getCacheDiskFreeSize): 2911 29122014-02-10 Tim Horton <timothy_horton@apple.com> 2913 2914 [iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture 2915 https://bugs.webkit.org/show_bug.cgi?id=128523 2916 <rdar://problem/16020378> 2917 2918 Reviewed by Darin Adler. 2919 2920 We can't install the gesture recognizer on a view that's going to be 2921 reparented during the swipe, because the gesture will be cancelled. 2922 Install the recognizer on the WKView and move the WKView's scrollview 2923 child around instead. 2924 2925 * UIProcess/API/ios/WKViewIOS.mm: 2926 (-[WKView setAllowsBackForwardNavigationGestures:]): 2927 We'll install the gesture recognizer on the WKView, but swipe the scrollview. 2928 2929 * UIProcess/ios/ViewGestureControllerIOS.mm: 2930 (-[WKSwipeTransitionController initWithViewGestureController:gestureRecognizerView:]): 2931 Clarify that WKSwipeTransitionController gets handed only the view to install the gesture recognizer on. 2932 (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]): 2933 Use public enum values so we can get rid of one private header. 2934 2935 (WebKit::ViewGestureController::installSwipeHandler): 2936 Separate out the gesture recognizer view from the one that gets swiped. 2937 2938 (WebKit::ViewGestureController::beginSwipeGesture): 2939 Record a snapshot before beginning the swipe. This is important for the back-then-forward 2940 swipe case, and matches the behavior of the Mac implementation. 2941 2942 (WebKit::ViewGestureController::endSwipeGesture): 2943 * UIProcess/mac/ViewGestureController.h: 2944 Slight geometry adjustments due to the change in targetted view. 2945 29462014-02-10 Filip Pizlo <fpizlo@apple.com> 2947 2948 JSC environment variables should override other mechanisms for setting options 2949 https://bugs.webkit.org/show_bug.cgi?id=128511 2950 2951 Reviewed by Geoffrey Garen. 2952 2953 * WebProcess/mac/WebProcessMac.mm: 2954 (WebKit::WebProcess::platformInitializeWebProcess): 2955 29562014-02-10 Carlos Garcia Campos <cgarcia@igalia.com> 2957 2958 [GTK] Add API to create a webview related to another one 2959 https://bugs.webkit.org/show_bug.cgi?id=128498 2960 2961 Reviewed by Gustavo Noronha Silva. 2962 2963 Add webkit_web_view_new_with_related_view() to create a new 2964 WebView sharing the same web process as the given one. 2965 2966 * UIProcess/API/gtk/WebKitWebContext.cpp: 2967 (webkitWebContextCreatePageForWebView): Use the given related 2968 WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage(). 2969 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 2970 * UIProcess/API/gtk/WebKitWebView.cpp: 2971 (webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView(). 2972 (webkitWebViewSetProperty): 2973 (webkit_web_view_class_init): Add related-view construct-only property. 2974 (webkit_web_view_new_with_related_view): New public method to 2975 create a web view with a related one. 2976 * UIProcess/API/gtk/WebKitWebView.h: 2977 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 2978 (webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage(). 2979 (webkitWebViewBaseCreateWebPage): Use the given related 2980 WebPageProxy to initialize the web page configuration. 2981 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 2982 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 2983 29842014-02-10 Lukasz Bialek <l.bialek@samsung.com> 2985 2986 [EFL] Spelling unit tests should use ecore_main_loop_iterate() 2987 https://bugs.webkit.org/show_bug.cgi?id=127427 2988 2989 Reviewed by Gyuyoung Kim. 2990 2991 r148670 gets rid of EFL's idlers in a favor of timers to load languages. 2992 ecore_main_loop_iterate() can be used now. 2993 2994 Add function that loads spellchecking languages and waits for loading 2995 to be finished: 2996 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 2997 (EWK2UnitTest::EWK2UnitTestBase::waitForLanguageLoading): 2998 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h: 2999 3000 Apply added function to tests that should wait for languages to be loaded: 3001 * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp: 3002 (EWK2TextCheckerTest::resetCallbacksExecutionStats): 3003 (TEST_F): 3004 30052014-02-09 Carlos Garnacho <carlosg@gnome.org> 3006 3007 [GTK] Implement support touch events 3008 https://bugs.webkit.org/show_bug.cgi?id=98931 3009 3010 Reviewed by Carlos Garcia Campos. 3011 3012 In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement 3013 touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse 3014 events will be generated as a fallback. 3015 3016 * GNUmakefile.list.am: 3017 * PlatformGTK.cmake: 3018 * Shared/gtk/NativeWebTouchEventGtk.cpp: 3019 * Shared/NativeWebTouchEvent.h: 3020 (WebKit::NativeWebTouchEvent::nativeEvent): 3021 (WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent. 3022 * Shared/gtk/WebEventFactory.cpp: 3023 (WebKit::touchPhaseFromEvents): 3024 (WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out 3025 of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current 3026 touches, in order to build information about all individual touchpoints. 3027 * Shared/gtk/WebEventFactory.h: 3028 * UIProcess/API/gtk/PageClientImpl.cpp: 3029 (WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled 3030 in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its 3031 mouse event counterpart and handled by the widget again. 3032 * UIProcess/API/gtk/PageClientImpl.h: 3033 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3034 (webkitWebViewBaseRealize): Listen for touch events 3035 (webkitWebViewBaseTouchEvent): 3036 (webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely 3037 lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received. 3038 30392014-02-09 Commit Queue <commit-queue@webkit.org> 3040 3041 Unreviewed, rolling out r162768. 3042 http://trac.webkit.org/changeset/162768 3043 https://bugs.webkit.org/show_bug.cgi?id=128495 3044 3045 Causes crashes on GTK WK2 in three fast/forms tests. 3046 (Requested by zdobersek on #webkit). 3047 3048 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 3049 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): 3050 30512014-02-08 Brady Eidson <beidson@apple.com> 3052 3053 IDB: storage/indexeddb/mozilla/object-cursors.html fails 3054 <rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479 3055 3056 Reviewed by Dan Bernstein. 3057 3058 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 3059 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo 3060 table schema to allow for indexes with the same id/name as previous indexes. 3061 But with different object stores, of course. 3062 30632014-02-08 Brady Eidson <beidson@apple.com> 3064 3065 IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails 3066 <rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444 3067 3068 Reviewed by Dan Bernstein. 3069 3070 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 3071 (WebKit::getIndexStatement): Return different statements for unique cursors that will 3072 sort the values in reverse of the cursor direction, matching expected IndexedDB behavior. 3073 (WebKit::SQLiteIDBCursor::establishStatement): 3074 3075 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 3076 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as 3077 strings since we need the collation function to be called for proper sorting. 3078 30792014-02-08 Ryosuke Niwa <rniwa@webkit.org> 3080 3081 Cleanup the interface of FrameSelection 3082 https://bugs.webkit.org/show_bug.cgi?id=128481 3083 3084 Reviewed by Andreas Kling. 3085 3086 * WebProcess/WebPage/FindController.cpp: 3087 (WebKit::FindController::getFindIndicatorBitmapAndRect): 3088 (WebKit::FindController::drawRect): 3089 * WebProcess/WebPage/WebPage.cpp: 3090 (WebKit::WebPage::scaledSnapshotWithOptions): 3091 30922014-02-08 Brady Eidson <beidson@apple.com> 3093 3094 IDB: storage/indexeddb/mozilla/cursors.html fails 3095 <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423 3096 3097 Reviewed by Dan Bernstein. 3098 3099 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 3100 (WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors. 3101 (WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key. 3102 Depending on the direction of the cursor we should check for the next highest or next lowest key. 3103 31042014-02-08 Dan Bernstein <mitz@apple.com> 3105 3106 Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter) 3107 https://bugs.webkit.org/show_bug.cgi?id=128456 3108 3109 Reviewed by Anders Carlsson. 3110 3111 * WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and 3112 paintCustomHighlight. 3113 * WebProcess/WebCoreSupport/WebChromeClient.h: 3114 31152014-02-08 Darin Adler <darin@apple.com> 3116 3117 Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters 3118 https://bugs.webkit.org/show_bug.cgi?id=128233 3119 3120 Reviewed by Anders Carlsson. 3121 3122 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: 3123 (-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters. 3124 3125 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 3126 (WebKit::WebEditorClient::checkSpellingOfString): Use StringView. 3127 (WebKit::WebEditorClient::checkGrammarOfString): Ditto. 3128 * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto. 3129 31302014-02-08 Piotr Grad <p.grad@samsung.com> 3131 3132 [GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage 3133 https://bugs.webkit.org/show_bug.cgi?id=128449 3134 3135 Reviewed by Carlos Garcia Campos. 3136 3137 Parameter passed to context->createWebPage was inproper. 3138 3139 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3140 (webkitWebViewBaseCreateWebPage): 3141 31422014-02-08 Dan Bernstein <mitz@apple.com> 3143 3144 Font size-related preference values should be CGFloats backed by doubles 3145 https://bugs.webkit.org/show_bug.cgi?id=128445 3146 3147 Reviewed by Filip Pizlo. 3148 3149 * Shared/WebPreferencesStore.h: Changed minimumFontSize, minimumLogicalFontSize, 3150 defaultFontSize, and defaultFixedFontSize into double-value preferences. 3151 * UIProcess/API/Cocoa/WKPreferences.h: Changed minimumFontSize into CGFloat. 3152 * UIProcess/API/Cocoa/WKPreferences.mm: 3153 (-[WKPreferences minimumFontSize]): Changed return type. 3154 (-[WKPreferences setMinimumFontSize:]): Changed parameter type. 3155 * WebProcess/WebPage/WebPage.cpp: 3156 (WebKit::WebPage::updatePreferences): Changed to use double getters. 3157 31582014-02-08 Adrian Perez de Castro <aperez@igalia.com> 3159 3160 [GTK] Make process model names properly meaningful 3161 https://bugs.webkit.org/show_bug.cgi?id=128389 3162 3163 Reviewed by Carlos Garcia Campos. 3164 3165 The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW 3166 is misleading because there are situations in which web views may 3167 share the same web process even when multi-process mode is enabled; 3168 for example when opening a related view and both interact using JS. 3169 3170 * UIProcess/API/gtk/WebKitWebContext.cpp: 3171 (webkit_web_context_set_process_model): 3172 (webkit_web_context_get_process_model): 3173 Update names of WebKitProcessModel enum values. 3174 * UIProcess/API/gtk/WebKitWebContext.h: 3175 Ditto. 3176 31772014-02-08 Piotr Grad <p.grad@samsung.com> 3178 3179 [GTK] Build break in WebKitSettings 3180 https://bugs.webkit.org/show_bug.cgi?id=128446 3181 3182 Reviewed by Ryosuke Niwa. 3183 3184 Argument for WebPreferences::create was missing 3185 3186 * UIProcess/API/gtk/WebKitSettings.cpp: 3187 (_WebKitSettingsPrivate::_WebKitSettingsPrivate): 3188 31892014-02-07 Jinwoo Song <jinwoo7.song@samsung.com> 3190 3191 Unreviewed EFL WebKit2 build fix after r163671. 3192 3193 * UIProcess/CoordinatedGraphics/WebView.cpp: 3194 (WebKit::WebView::WebView): Use WebPageConfiguration in creating WebPage. 3195 31962014-02-07 Gavin Barraclough <barraclough@apple.com> 3197 3198 Add better comments to code that boosts the NetworkProcess 3199 https://bugs.webkit.org/show_bug.cgi?id=128431 3200 3201 Rubber stamped by Tim Horton 3202 3203 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm: 3204 (WebKit::XPCServiceEventHandler): 3205 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm: 3206 (WebKit::XPCServiceEventHandler): 3207 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 3208 (WebKit::connectToService): 3209 32102014-02-07 Tim Horton <timothy_horton@apple.com> 3211 3212 Build fix. 3213 3214 * UIProcess/API/ios/WKContentView.mm: 3215 (-[WKContentView initWithFrame:configuration:]): 3216 32172014-02-07 Anders Carlsson <andersca@apple.com> 3218 3219 Pass the preferences through from the WKWebViewConfiguration object 3220 https://bugs.webkit.org/show_bug.cgi?id=128430 3221 3222 Reviewed by Tim Horton. 3223 3224 * UIProcess/API/Cocoa/WKPreferences.h: 3225 * UIProcess/API/Cocoa/WKPreferences.mm: 3226 (-[WKPreferences init]): 3227 Don't return nil if [super init] returns a valid object. 3228 3229 (-[WKPreferences minimumFontSize]): 3230 (-[WKPreferences setMinimumFontSize:]): 3231 Change this property to be unsigned. 3232 3233 * UIProcess/API/Cocoa/WKPreferencesInternal.h: 3234 Use @package. 3235 3236 * UIProcess/API/Cocoa/WKWebView.mm: 3237 (-[WKWebView initWithFrame:configuration:]): 3238 Set up a WebKit::WebPageConfiguration and use the new -[WKView initWithFrame:context:configuration:] method. 3239 3240 * UIProcess/API/ios/WKContentView.mm: 3241 (-[WKContentView initWithFrame:configuration:]): 3242 Set the preferences. 3243 3244 * UIProcess/API/mac/WKView.mm: 3245 (-[WKView initWithFrame:context:configuration:]): 3246 Add a new initializer that takes a WebContext and a WebPageConfiguration. 3247 3248 (-[WKView _registerDraggedTypes]): 3249 This shouldn't be in the private category. 3250 3251 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 3252 Call the new initializer. 3253 3254 * UIProcess/API/mac/WKViewInternal.h: 3255 32562014-02-07 Tim Horton <timothy_horton@apple.com> 3257 3258 Fix the WebKit2 build after r163671. 3259 3260 * UIProcess/API/ios/WKContentView.mm: 3261 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 3262 32632014-02-07 Gavin Barraclough <barraclough@apple.com> 3264 3265 Remove isInitialState flag from Page::setViewState 3266 https://bugs.webkit.org/show_bug.cgi?id=128428 3267 3268 Reviewed by Sam Weinig. 3269 3270 * WebProcess/WebPage/WebPage.cpp: 3271 (WebKit::WebPage::WebPage): 3272 - don't pass isInitialState to setViewState. 3273 (WebKit::WebPage::reinitializeWebPage): 3274 - if the viewState changes this should fire a visibility event. 3275 (WebKit::WebPage::setViewState): 3276 - merged with setViewStateInternal. 3277 * WebProcess/WebPage/WebPage.h: 3278 - removed setViewStateInternal. 3279 32802014-02-07 Simon Fraser <simon.fraser@apple.com> 3281 3282 Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process 3283 https://bugs.webkit.org/show_bug.cgi?id=128416 3284 3285 Reviewed by Tim Horton. 3286 3287 Encode and decode requestedScrollPosition() and requestedScrollPositionRepresentsProgrammaticScroll(), 3288 which can't use the macros because the setter takes both arguments. 3289 3290 The UI process needs this to notice programmatic scrolls. 3291 3292 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: 3293 (ArgumentCoder<ScrollingStateScrollingNode>::encode): 3294 (ArgumentCoder<ScrollingStateScrollingNode>::decode): 3295 32962014-02-07 Simon Fraser <simon.fraser@apple.com> 3297 3298 Add typesafe casts for DrawingAreaProxy classes 3299 https://bugs.webkit.org/show_bug.cgi?id=128419 3300 3301 Reviewed by Andreas Kling. 3302 3303 Add typesafe casts, and use one in RemoteScrollingCoordinatorProxy::layerTreeHost(). 3304 3305 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 3306 (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost): 3307 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: 3308 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 3309 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 3310 (WebKit::WebChromeClient::contentsSizeChanged): 3311 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 3312 33132014-02-06 Filip Pizlo <fpizlo@apple.com> 3314 3315 More FTL build scaffolding 3316 https://bugs.webkit.org/show_bug.cgi?id=128330 3317 3318 Reviewed by Geoffrey Garen. 3319 3320 * Configurations/FeatureDefines.xcconfig: 3321 33222014-02-07 Tim Horton <timothy_horton@apple.com> 3323 3324 Move allowsBackForwardNavigationGestures back to private because apparently our build systems are broken. 3325 3326 * UIProcess/API/Cocoa/WKView.h: 3327 * UIProcess/API/Cocoa/WKViewPrivate.h: 3328 * UIProcess/API/mac/WKView.mm: 3329 (-[WKView setAllowsBackForwardNavigationGestures:]): 3330 (-[WKView allowsBackForwardNavigationGestures]): 3331 33322014-02-07 Anders Carlsson <andersca@apple.com> 3333 3334 Simplify web page creation 3335 https://bugs.webkit.org/show_bug.cgi?id=128425 3336 3337 Reviewed by Andreas Kling. 3338 3339 Add a WebPageConfiguration class and stick the page group, preferences, session etc there 3340 instead of adding more and more parameters to the WebPageProxy constructor. 3341 3342 Make WebContext::createWebPage fill in the missing pieces in the WebPageConfiguration object. 3343 3344 * UIProcess/API/ios/WKContentView.mm: 3345 (-[WKContentView initWithFrame:configuration:]): 3346 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 3347 * UIProcess/API/mac/WKView.mm: 3348 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 3349 * UIProcess/WebContext.cpp: 3350 (WebKit::WebContext::createWebPage): 3351 * UIProcess/WebContext.h: 3352 * UIProcess/WebPageProxy.cpp: 3353 (WebKit::WebPageProxy::create): 3354 (WebKit::WebPageProxy::WebPageProxy): 3355 * UIProcess/WebPageProxy.h: 3356 * UIProcess/WebProcessProxy.cpp: 3357 (WebKit::WebProcessProxy::createWebPage): 3358 * UIProcess/WebProcessProxy.h: 3359 33602014-02-07 Tim Horton <timothy_horton@apple.com> 3361 3362 Build fix. Wrong section of the file. 3363 3364 * UIProcess/API/mac/WKView.mm: 3365 (-[WKView setAllowsBackForwardNavigationGestures:]): 3366 (-[WKView allowsBackForwardNavigationGestures]): 3367 33682014-02-07 Benjamin Poulain <bpoulain@apple.com> 3369 3370 [WK2] The WebPageProxy's copy of pageScaleFactor is not update when the scale is changed from the viewport configuration 3371 https://bugs.webkit.org/show_bug.cgi?id=128415 3372 3373 Reviewed by Simon Fraser. 3374 3375 * WebProcess/WebPage/ios/WebPageIOS.mm: 3376 (WebKit::WebPage::viewportConfigurationChanged): 3377 The scale needs to be updated through WebPage::scalePage(). 3378 33792014-02-07 Tim Horton <timothy_horton@apple.com> 3380 3381 WebKit2 View Gestures (Swipe): Support for iOS 3382 https://bugs.webkit.org/show_bug.cgi?id=128363 3383 <rdar://problem/15194194> 3384 3385 Reviewed by Anders Carlsson. 3386 3387 * Shared/mac/RemoteLayerTreeTransaction.h: 3388 (WebKit::RemoteLayerTreeTransaction::renderTreeSize): 3389 (WebKit::RemoteLayerTreeTransaction::setRenderTreeSize): 3390 * Shared/mac/RemoteLayerTreeTransaction.mm: 3391 (WebKit::RemoteLayerTreeTransaction::encode): 3392 (WebKit::RemoteLayerTreeTransaction::decode): 3393 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 3394 (WebKit::RemoteLayerTreeDrawingArea::flushLayers): 3395 Send the render tree size along with remote layer tree commits, 3396 so that we can act upon it (to hide snapshots) in the UI process 3397 in sync with layer commits. 3398 3399 * UIProcess/API/Cocoa/WKViewPrivate.h: 3400 We want allowsBackForwardNavigationGestures for both platforms. 3401 3402 * UIProcess/API/ios/PageClientImplIOS.mm: 3403 (WebKit::PageClientImpl::takeViewSnapshot): 3404 * UIProcess/API/ios/WKContentView.h: 3405 * UIProcess/API/ios/WKContentView.mm: 3406 (-[WKContentView _takeViewSnapshot]): 3407 * UIProcess/API/ios/WKContentViewInternal.h: 3408 Plumb snapshotting through to WKViewIOS. 3409 3410 * UIProcess/API/ios/WKViewIOS.mm: 3411 (-[WKView setAllowsBackForwardNavigationGestures:]): 3412 (-[WKView allowsBackForwardNavigationGestures]): 3413 Create/destroy the gesture controller when we turn on/off back-forward swipe. 3414 Tell WebPageProxy to save snapshots if swipe is enabled. 3415 3416 (-[WKView contentView:didCommitLayerTree:]): 3417 Forward the current transaction's render tree size to ViewGestureController. 3418 3419 (-[WKView takeViewSnapshotForContentView:]): 3420 Snapshot the view. This is not the best SPI to use, we should consider 3421 using one of those which returns an IOSurface and plumbing it through 3422 to ViewSnapshotStore, but all of our PageClient abstraction makes that annoying. 3423 3424 * UIProcess/WebPageProxy.cpp: 3425 (WebKit::WebPageProxy::recordNavigationSnapshot): 3426 Record snapshots on iOS as well. 3427 3428 * UIProcess/ios/ViewGestureControllerIOS.mm: Added. 3429 (-[WKSwipeInteractiveTransitionDelegate initWithViewGestureController:WebKit::swipingView:]): 3430 (-[WKSwipeInteractiveTransitionDelegate WebKit::ViewGestureController::directionForTransition:]): 3431 (-[WKSwipeInteractiveTransitionDelegate startInteractiveTransition:]): 3432 (-[WKSwipeInteractiveTransitionDelegate shouldBeginInteractiveTransition:]): 3433 (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): 3434 (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldReceiveTouch:]): 3435 (-[WKSwipeInteractiveTransitionDelegate gestureRecognizerForInteractiveTransition:WithTarget:action:]): 3436 (WebKit::ViewGestureController::ViewGestureController): 3437 (WebKit::ViewGestureController::~ViewGestureController): 3438 (WebKit::ViewGestureController::installSwipeHandler): 3439 (WebKit::ViewGestureController::beginSwipeGesture): 3440 (WebKit::ViewGestureController::canSwipeInDirection): 3441 (WebKit::ViewGestureController::endSwipeGesture): 3442 (WebKit::ViewGestureController::setRenderTreeSize): 3443 (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired): 3444 (WebKit::ViewGestureController::removeSwipeSnapshot): 3445 3446 * UIProcess/mac/ViewGestureController.h: 3447 Add iOS-specific methods, and don't include all of the Mac-specific code. 3448 We can move towards sharing more logic in the future. 3449 3450 * UIProcess/mac/ViewGestureController.messages.in: 3451 * UIProcess/mac/ViewGestureControllerMac.mm: 3452 (WebKit::ViewGestureController::ViewGestureController): 3453 * UIProcess/mac/ViewSnapshotStore.h: 3454 * UIProcess/mac/ViewSnapshotStore.mm: 3455 (WebKit::ViewSnapshotStore::recordSnapshot): 3456 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): 3457 Make ViewSnapshotStore build/work without IOSurface. 3458 3459 * WebKit2.xcodeproj/project.pbxproj: 3460 34612014-02-07 Anders Carlsson <andersca@apple.com> 3462 3463 Implement more of WKPreferences 3464 https://bugs.webkit.org/show_bug.cgi?id=128411 3465 3466 Reviewed by Tim Horton. 3467 3468 Give WKPreferences an underlying WebKit::WebPreferences object, add a minimumFontSize preference 3469 and make sure that WKWebView's initializer creates a WKPreferences object if the configuration doesn't specify one. 3470 3471 * UIProcess/API/Cocoa/WKPreferences.h: 3472 * UIProcess/API/Cocoa/WKPreferences.mm: 3473 (-[WKPreferences init]): 3474 (-[WKPreferences minimumFontSize]): 3475 (-[WKPreferences setMinimumFontSize:]): 3476 * UIProcess/API/Cocoa/WKPreferencesInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm. 3477 * UIProcess/API/Cocoa/WKWebView.mm: 3478 (-[WKWebView initWithFrame:configuration:]): 3479 * UIProcess/WebPageProxy.h: 3480 * WebKit2.xcodeproj/project.pbxproj: 3481 34822014-02-07 Brady Eidson <beidson@apple.com> 3483 3484 IDB: Some Mozilla cursor mutation tests fail 3485 <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374 3486 3487 Reviewed by Sam Weinig. 3488 3489 After a SQLite statement is prepared, stepping it will not pick up any subsequent changes 3490 to the object store. 3491 3492 By keeping track of the current record we’re looking at in the object store and being told 3493 that the object store changed its contents, we can reset the statement to pick up where it 3494 left off but with the new object store contents. 3495 3496 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 3497 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Tell the backing store to notify 3498 its cursors that the object store changed its records. 3499 (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto. 3500 3501 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 3502 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 3503 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges): Tell the transaction 3504 to notify its cursors that the object store changed its records. 3505 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 3506 3507 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 3508 (WebKit::SQLiteIDBTransaction::notifyCursorsOfChanges): Tell the relevant cursors that their 3509 object store changed its records. 3510 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 3511 3512 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 3513 (WebKit::SQLiteIDBCursor::SQLiteIDBCursor): 3514 (WebKit::getIndexStatement): All statements now have a lower and upper range. By default we bind 3515 IDBKey::Minimum to the lower range and IDBKey::Maximum to the upper range. 3516 (WebKit::getObjectStoreStatement): Ditto. 3517 (WebKit::SQLiteIDBCursor::establishStatement): 3518 (WebKit::SQLiteIDBCursor::createSQLiteStatement): 3519 (WebKit::SQLiteIDBCursor::objectStoreRecordsChanged): Set the flag indicating the statement 3520 needs to be reset and rebound. 3521 (WebKit::SQLiteIDBCursor::resetAndRebindStatement): 3522 (WebKit::SQLiteIDBCursor::bindArguments): Factored out to be shared between statement prepare() 3523 and statement reset(). 3524 (WebKit::SQLiteIDBCursor::advance): 3525 (WebKit::SQLiteIDBCursor::advanceOnce): If the statement needs to be reset, do so before advancing it. 3526 (WebKit::SQLiteIDBCursor::internalAdvanceOnce): In a few cases, tell advanceOnce that it needs to 3527 try again because it is on a missing record or is repeating a record. 3528 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 3529 (WebKit::SQLiteIDBCursor::objectStoreID): 3530 3531 Make sure Maximum and Minimum keys are never sent across IPC, as that doesn’t make sense: 3532 * Shared/WebCoreArgumentCoders.cpp: 3533 (IPC::ArgumentCoder<IDBKeyData>::encode): 3534 (IPC::ArgumentCoder<IDBKeyData>::decode): 3535 35362014-02-07 Anders Carlsson <andersca@apple.com> 3537 3538 Make it possible for each web page to have different preferences 3539 https://bugs.webkit.org/show_bug.cgi?id=128403 3540 3541 Reviewed by Tim Horton. 3542 3543 * UIProcess/API/C/WKPreferences.cpp: 3544 (WKPreferencesCreate): 3545 * UIProcess/WebContext.cpp: 3546 (WebKit::WebContext::ensureNetworkProcess): 3547 (WebKit::WebContext::createNewWebProcess): 3548 * UIProcess/WebIconDatabase.cpp: 3549 (WebKit::WebIconDatabase::setDatabasePath): 3550 * UIProcess/WebPageGroup.cpp: 3551 (WebKit::WebPageGroup::WebPageGroup): 3552 (WebKit::WebPageGroup::~WebPageGroup): 3553 (WebKit::WebPageGroup::setPreferences): 3554 * UIProcess/WebPageProxy.cpp: 3555 (WebKit::WebPageProxy::WebPageProxy): 3556 (WebKit::WebPageProxy::~WebPageProxy): 3557 (WebKit::WebPageProxy::setPreferences): 3558 (WebKit::WebPageProxy::preferencesDidChange): 3559 * UIProcess/WebPageProxy.h: 3560 * UIProcess/WebPreferences.cpp: 3561 (WebKit::WebPreferences::~WebPreferences): 3562 (WebKit::WebPreferences::addPage): 3563 (WebKit::WebPreferences::removePage): 3564 (WebKit::WebPreferences::update): 3565 (WebKit::WebPreferences::updatePrivateBrowsingValue): 3566 (WebKit::WebPreferences::anyPagesAreUsingPrivateBrowsing): 3567 * UIProcess/WebPreferences.h: 3568 35692014-02-07 Benjamin Poulain <bpoulain@apple.com> 3570 3571 [WK2] Add support for text document viewport configuration 3572 https://bugs.webkit.org/show_bug.cgi?id=128359 3573 3574 Reviewed by Simon Fraser. 3575 3576 When a text document is being loaded, use the plainText viewport parameters. 3577 3578 * UIProcess/API/ios/WKContentView.h: 3579 * UIProcess/API/ios/WKContentView.mm: 3580 * WebProcess/WebPage/WebPage.cpp: 3581 (WebKit::WebPage::didCommitLoad): 3582 35832014-02-07 Gavin Barraclough <barraclough@apple.com> 3584 3585 Should report user input to PageThrottler 3586 https://bugs.webkit.org/show_bug.cgi?id=128398 3587 3588 Reviewed by Tim Horton. 3589 3590 Make sure we wake from AppNap if there is user interaction. 3591 3592 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 3593 (WebKit::NPRuntimeObjectMap::evaluate): 3594 - reportInterestingEvent() -> pluginDidEvaluate() 3595 * WebProcess/WebPage/WebPage.cpp: 3596 (WebKit::WebPage::mouseEvent): 3597 (WebKit::WebPage::wheelEvent): 3598 (WebKit::WebPage::keyEvent): 3599 - call didReceiveUserInput() 3600 36012014-02-07 Dean Jackson <dino@apple.com> 3602 3603 WebGL doesn't update with remotely hosted layers 3604 https://bugs.webkit.org/show_bug.cgi?id=128390 3605 3606 Reviewed by Simon Fraser. 3607 3608 PlatformCALayerRemote was intercepting the setNeedsDisplay calls to 3609 WebGL layers, and thus causing them to not draw. Fix this by adding an 3610 override in PlatformCALayerRemoteCustom to check if it is a WebGLLayer 3611 and call setNeedsDisplay directly. 3612 3613 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: 3614 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: 3615 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): 3616 (PlatformCALayerRemoteCustom::setNeedsDisplay): 3617 36182014-02-07 Benjamin Poulain <bpoulain@apple.com> 3619 3620 [WK2] Fitler touch events only based on touch start 3621 https://bugs.webkit.org/show_bug.cgi?id=128354 3622 3623 Reviewed by Simon Fraser. 3624 3625 Touch Events track their target, we should not test the touch regions 3626 again after a touch sequence starts. 3627 3628 This patch adds a boolean flag to know if we are sending events to the WebProcess 3629 (m_isTrackingTouchEvents). The flag is updated every time a touch sequence starts. 3630 3631 * UIProcess/WebPageProxy.cpp: 3632 (WebKit::WebPageProxy::WebPageProxy): 3633 (WebKit::WebPageProxy::shouldStartTrackingTouchEvents): 3634 (WebKit::WebPageProxy::handleTouchEvent): 3635 * UIProcess/WebPageProxy.h: 3636 36372014-02-07 Anders Carlsson <andersca@apple.com> 3638 3639 Simplify WebPreferences creation inside WebPageGroup 3640 https://bugs.webkit.org/show_bug.cgi?id=128392 3641 3642 Reviewed by Andreas Kling. 3643 3644 Always create a WebPreferences object when creating the web page group. 3645 This is another step towards letting WebPageProxy manage web preferences. 3646 3647 * UIProcess/WebPageGroup.cpp: 3648 (WebKit::pageGroupData): 3649 (WebKit::WebPageGroup::WebPageGroup): 3650 (WebKit::WebPageGroup::~WebPageGroup): 3651 (WebKit::WebPageGroup::setPreferences): 3652 (WebKit::WebPageGroup::preferences): 3653 * UIProcess/WebPageGroup.h: 3654 36552014-02-07 Gavin Barraclough <barraclough@apple.com> 3656 3657 Reenable AppNap 3658 https://bugs.webkit.org/show_bug.cgi?id=128394 3659 3660 Reviewed by Tim Horton. 3661 3662 * Shared/WebPreferencesStore.h: 3663 - pageVisibilityBasedProcessSuppressionEnabled should default to true. 3664 36652014-02-07 Tim Horton <timothy_horton@apple.com> 3666 3667 Rename ViewGestureController.mm to ViewGestureControllerMac.mm 3668 https://bugs.webkit.org/show_bug.cgi?id=128387 3669 3670 Reviewed by Anders Carlsson. 3671 3672 As a precursor to having a second nearly completely divergent 3673 ViewGestureController implementation for iOS. 3674 3675 * UIProcess/mac/ViewGestureControllerMac.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.mm. 3676 * WebKit2.xcodeproj/project.pbxproj: 3677 Rename ViewGestureController.mm to ViewGestureControllerMac.mm. 3678 Unfortunately, since we're not renaming the class, the header 3679 has to keep its name (and will be the recipient of a giant #if in a later 3680 patch), because the message receiver generated code will try to import 3681 ViewGestureController.h (without the Mac suffix). 3682 36832014-02-07 Anders Carlsson <andersca@apple.com> 3684 3685 Copying a WebPreferences object should be done through a member function 3686 https://bugs.webkit.org/show_bug.cgi?id=128385 3687 3688 Reviewed by Andreas Kling. 3689 3690 * UIProcess/API/C/WKPreferences.cpp: 3691 (WKPreferencesCreateCopy): 3692 * UIProcess/WebPreferences.cpp: 3693 (WebKit::WebPreferences::copy): 3694 * UIProcess/WebPreferences.h: 3695 36962014-02-07 Anders Carlsson <andersca@apple.com> 3697 3698 WebPageGroup::setPreferences should set the preferences on all pages in the group 3699 https://bugs.webkit.org/show_bug.cgi?id=128383 3700 3701 Reviewed by Alexey Proskuryakov. 3702 3703 * UIProcess/WebPageGroup.cpp: 3704 (WebKit::WebPageGroup::setPreferences): 3705 37062014-02-07 Dan Bernstein <mitz@apple.com> 3707 3708 [Cocoa] WKRemoteObjectInterface doesn’t support aribtrary argument classes 3709 https://bugs.webkit.org/show_bug.cgi?id=128368 3710 3711 Reviewed by Anders Carlsson. 3712 3713 * Shared/API/Cocoa/WKRemoteObjectInterface.h: Declared new methods. 3714 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 3715 (propertyListClasses): Removed NSNull, which is not really a property list class. 3716 (classesForSelectorArgument): Added helper function. 3717 (-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Added. 3718 (-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Added. 3719 37202014-02-07 Dan Bernstein <mitz@apple.com> 3721 3722 [Cocoa] API::FrameHandle has a generic wrapper 3723 https://bugs.webkit.org/show_bug.cgi?id=128366 3724 3725 Reviewed by Anders Carlsson. 3726 3727 Added WKFrameHandle. 3728 3729 * Shared/API/Cocoa/WKFrameHandle.h: Added. 3730 * Shared/API/Cocoa/WKFrameHandle.mm: Added. 3731 (-[WKFrameHandle dealloc]): Calls the API::FrameHandle destructor. 3732 (-[WKFrameHandle isEqual:]): Checks for frame ID equality. 3733 (-[WKFrameHandle hash]): Returns the frame ID. 3734 (-[WKFrameHandle _frameID]): Ditto. 3735 (-[WKFrameHandle copyWithZone:]): Retains self. 3736 (+[WKFrameHandle supportsSecureCoding]): Returns YES. 3737 (-[WKFrameHandle initWithCoder:]): Decodes the frame ID and constructs an API::FrameHandle 3738 with it. 3739 (-[WKFrameHandle encodeWithCoder:]): Encodes the frame ID. 3740 (-[WKFrameHandle _apiObject]): Returns the wrapped API::FrameHandle. 3741 * Shared/API/Cocoa/WKFrameHandleInternal.h: Added. 3742 (WebKit::wrapper): Added. Returns an API::FrameHandle’s wrapper as a WKFrameHandle. 3743 3744 * Shared/APIFrameHandle.cpp: 3745 (API::FrameHandle::create): Changed to return a PassRefPtr. 3746 * Shared/APIFrameHandle.h: Made the constructor public for -[WKFrameHandle initWithCoder:]. 3747 3748 * Shared/Cocoa/APIObject.mm: 3749 (API::Object::newObject): Allocate a WKFrameHandle if the object is an API::FrameHandle. 3750 3751 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 3752 3753 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared handle property. 3754 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: 3755 (+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]): Added. Calls WebProcess::webFrame to 3756 look up a frame with the given handle’s frame ID. 3757 (-[WKWebProcessPlugInFrame handle]): Added. Returns a new handle with the frame’s ID. 3758 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Updated #import. 3759 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Added. 3760 37612014-02-07 Dan Bernstein <mitz@apple.com> 3762 3763 [Cocoa] WKWebProcessPlugInNodeHandle methods leak and may crash 3764 https://bugs.webkit.org/show_bug.cgi?id=128365 3765 3766 Reviewed by Anders Carlsson. 3767 3768 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: 3769 (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): Null-check the result 3770 of InjectedBundleNodeHandle::getOrCreate, and autorelease the return value. 3771 (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): Null-check the result of 3772 InjectedBundleNodeHandle::htmlIFrameElementContentFrame, and autorelease the return value. 3773 37742014-02-06 Brady Eidson <beidson@apple.com> 3775 3776 IDB: storage/indexeddb/create-index-with-integer-keys.html fails 3777 <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316 3778 3779 Reviewed by Geoff Garen. 3780 3781 Update Vector<char> to Vector<uint8_t> throughout: 3782 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 3783 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 3784 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): 3785 (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore): 3786 (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): 3787 (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore): 3788 (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): 3789 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 3790 3791 Update Vector<char> to Vector<uint8_t> throughout: 3792 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 3793 (WebKit::SQLiteIDBCursor::advanceOnce): 3794 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 3795 (WebKit::SQLiteIDBCursor::currentValueBuffer): 3796 3797 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 3798 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 3799 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): Create a script value from the value data, use 3800 generateIndexKeysForValue to get the index keys, and then write the resulting index records. 3801 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Call through to uncheckedPutIndexRecord. 3802 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Version of putIndexRecord that doesn’t 3803 validate the transaction or its mode. 3804 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Update Vector<char> to Vector<uint8_t>. 3805 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Ditto. 3806 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto. 3807 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 3808 38092014-02-07 Jinwoo Song <jinwoo7.song@samsung.com> 3810 3811 [EFL][WK2] WebView should be able to configure to set fixed layout 3812 https://bugs.webkit.org/show_bug.cgi?id=128300 3813 3814 Reviewed by Gyuyoung Kim. 3815 3816 Currently, webview is created by setting fixed layout as true and there is no way to change the setting. 3817 But some applications may do not want to use fixed layout so I'd like to add ewk APIs to configure to it. 3818 3819 * UIProcess/API/efl/ewk_view.cpp: 3820 (EWKViewCreate): Do not set to use fixed layout as default. 3821 (ewk_view_layout_fixed_set): 3822 (ewk_view_layout_fixed_get): 3823 * UIProcess/API/efl/ewk_view.h: Add ewk APIs to set fixed layout. 3824 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 3825 (TEST_F): 3826 38272014-02-06 Brady Eidson <beidson@apple.com> 3828 3829 Unreviewed build fix after r163612. 3830 3831 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 3832 38332014-02-06 Brady Eidson <beidson@apple.com> 3834 3835 IDB: Remove the entirely unnecessary "Value Key" concept 3836 https://bugs.webkit.org/show_bug.cgi?id=128360 3837 3838 Reviewed by Dan Bernstein. 3839 3840 All cursor operations were set up to pass a value key parameter around, but it was: 3841 1 - Entirely unused 3842 2 - The same thing that the primary key is supposed to be 3843 3844 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 3845 (WebKit::DatabaseProcessIDBConnection::openCursor): 3846 (WebKit::DatabaseProcessIDBConnection::cursorAdvance): 3847 (WebKit::DatabaseProcessIDBConnection::cursorIterate): 3848 3849 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 3850 (WebKit::UniqueIDBDatabase::openCursor): 3851 (WebKit::UniqueIDBDatabase::cursorAdvance): 3852 (WebKit::UniqueIDBDatabase::cursorIterate): 3853 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 3854 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): 3855 (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore): 3856 (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): 3857 (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore): 3858 (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): 3859 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 3860 3861 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 3862 (WebKit::SQLiteIDBCursor::advanceOnce): Clean this logic up to not need temporaries, 3863 and also to save the correct primary key (previously the 'value key') 3864 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 3865 3866 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 3867 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 3868 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): 3869 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): 3870 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): 3871 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): 3872 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 3873 3874 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 3875 (WebKit::WebIDBServerConnection::didOpenCursor): 3876 (WebKit::WebIDBServerConnection::didAdvanceCursor): 3877 (WebKit::WebIDBServerConnection::didIterateCursor): 3878 (WebKit::WebIDBServerConnection::openCursor): 3879 (WebKit::WebIDBServerConnection::cursorAdvance): 3880 (WebKit::WebIDBServerConnection::cursorIterate): 3881 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 3882 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 3883 38842014-02-06 Ryuan Choi <ryuan.choi@samsung.com> 3885 3886 Unreviewed build fix on GTK build since r163597 3887 3888 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 3889 (webkitWebViewBaseUpdatePreferences): 3890 38912014-02-06 Yongjun Zhang <yongjun_zhang@apple.com> 3892 3893 Need a ObjC SPI to get the process identifier for web process. 3894 https://bugs.webkit.org/show_bug.cgi?id=128356 3895 3896 Reviewed by Dan Bernstein. 3897 3898 Add a SPI for WKBrowsingContextController to return the process identifier of web 3899 process in the current page. 3900 3901 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 3902 (-[WKBrowsingContextController processIdentifier]): 3903 * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: 3904 39052014-02-06 Ryuan Choi <ryuan.choi@samsung.com> 3906 3907 Unreviewed build fix on EFL build since r163597 3908 3909 preferences() changed return type from pointer to reference. 3910 3911 * UIProcess/API/efl/ewk_settings.cpp: 3912 (EwkSettings::preferences): 3913 (ewk_settings_fullscreen_enabled_set): 3914 (ewk_settings_fullscreen_enabled_get): 3915 (ewk_settings_javascript_enabled_set): 3916 (ewk_settings_javascript_enabled_get): 3917 (ewk_settings_loads_images_automatically_set): 3918 (ewk_settings_loads_images_automatically_get): 3919 (ewk_settings_developer_extras_enabled_set): 3920 (ewk_settings_developer_extras_enabled_get): 3921 (ewk_settings_file_access_from_file_urls_allowed_set): 3922 (ewk_settings_file_access_from_file_urls_allowed_get): 3923 (ewk_settings_frame_flattening_enabled_set): 3924 (ewk_settings_frame_flattening_enabled_get): 3925 (ewk_settings_dns_prefetching_enabled_set): 3926 (ewk_settings_dns_prefetching_enabled_get): 3927 (ewk_settings_encoding_detector_enabled_set): 3928 (ewk_settings_encoding_detector_enabled_get): 3929 (ewk_settings_preferred_minimum_contents_width_set): 3930 (ewk_settings_preferred_minimum_contents_width_get): 3931 (ewk_settings_offline_web_application_cache_enabled_set): 3932 (ewk_settings_offline_web_application_cache_enabled_get): 3933 (ewk_settings_scripts_can_open_windows_set): 3934 (ewk_settings_scripts_can_open_windows_get): 3935 (ewk_settings_local_storage_enabled_set): 3936 (ewk_settings_local_storage_enabled_get): 3937 (ewk_settings_plugins_enabled_set): 3938 (ewk_settings_plugins_enabled_get): 3939 (ewk_settings_default_font_size_set): 3940 (ewk_settings_default_font_size_get): 3941 (ewk_settings_private_browsing_enabled_set): 3942 (ewk_settings_private_browsing_enabled_get): 3943 (ewk_settings_text_autosizing_enabled_set): 3944 (ewk_settings_text_autosizing_enabled_get): 3945 (ewk_settings_spatial_navigation_enabled_set): 3946 (ewk_settings_spatial_navigation_enabled_get): 3947 (EwkSettings::setDefaultTextEncodingName): 3948 * UIProcess/API/efl/ewk_settings_private.h: 3949 (EwkSettings::EwkSettings): 3950 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 3951 (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): 3952 * UIProcess/CoordinatedGraphics/WebView.cpp: 3953 (WebKit::WebView::WebView): 3954 * UIProcess/WebPageProxy.cpp: 3955 (WebKit::WebPageProxy::initializeWebPage): 3956 (WebKit::WebPageProxy::preferencesDidChange): 3957 39582014-02-06 Anders Carlsson <andersca@apple.com> 3959 3960 Crash in MiniBrowser when using Command-W to close a WK2 window 3961 https://bugs.webkit.org/show_bug.cgi?id=128355 3962 <rdar://problem/16008531> 3963 3964 Reviewed by Simon Fraser. 3965 3966 Don't set the API clients to nullptr when closing the page, just create new empty ones instead. 3967 Too much code depends on the clients never being null. 3968 3969 * UIProcess/WebPageProxy.cpp: 3970 (WebKit::WebPageProxy::close): 3971 39722014-02-03 Tim Horton <timothy_horton@apple.com> 3973 3974 [wk2] iOS should use accelerated drawing by default, except in the simulator 3975 https://bugs.webkit.org/show_bug.cgi?id=128140 3976 <rdar://problem/15974171> 3977 3978 Reviewed by Anders Carlsson. 3979 3980 * Shared/WebPreferencesStore.h: 3981 Turn full-page accelerated drawing on for iOS, except the simulator which doesn't support it. 3982 Turn canvas accelerated drawing on for all platforms except the iOS simulator, for the same reason. 3983 The defaults remain the same for non-iOS platforms. 3984 39852014-02-06 Jeremy Jones <jeremyj@apple.com> 3986 3987 Add support for AVKit fullscreen to WebKit2 3988 https://bugs.webkit.org/show_bug.cgi?id=128143 3989 3990 Reviewed by Simon Fraser. 3991 3992 Add WebVideoFullscreenManager and WebVideoFullscreenManagerProxy that implement 3993 WebVideoFullscreenModel and WebVideoFullscreenInterface. 3994 3995 * DerivedSources.make: 3996 * UIProcess/WebPageProxy.cpp: 3997 (WebKit::WebPageProxy::WebPageProxy): 3998 initialize member m_videoFullscreenManager 3999 4000 (WebKit::WebPageProxy::videoFullscreenManager): 4001 add accessor for videoFullscreenManager 4002 4003 * UIProcess/WebPageProxy.h: 4004 * UIProcess/WebVideoFullscreenManagerProxy.cpp: Added. 4005 (WebKit::WebVideoFullscreenManagerProxy::create): 4006 (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy): 4007 (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy): 4008 add basic creation for object. 4009 4010 (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID): 4011 (WebKit::WebVideoFullscreenManagerProxy::requestExitFullScreen): 4012 (WebKit::WebVideoFullscreenManagerProxy::play): 4013 (WebKit::WebVideoFullscreenManagerProxy::pause): 4014 (WebKit::WebVideoFullscreenManagerProxy::togglePlayState): 4015 (WebKit::WebVideoFullscreenManagerProxy::seekToTime): 4016 (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen): 4017 implement WebVideoFullscreenModel to send IPC message. 4018 4019 * UIProcess/WebVideoFullscreenManagerProxy.h: Added. 4020 * UIProcess/WebVideoFullscreenManagerProxy.messages.in: Added. 4021 this interface closely matches WebVideoFullscreenInterface 4022 4023 * WebKit2.xcodeproj/project.pbxproj: 4024 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4025 (WebKit::WebChromeClient::supportsFullscreenForNode): 4026 (WebKit::WebChromeClient::enterFullscreenForNode): 4027 (WebKit::WebChromeClient::exitFullscreenForNode): 4028 Forward these requests onto the videoFullscreenManager 4029 4030 * WebProcess/WebCoreSupport/WebChromeClient.h: 4031 * WebProcess/WebPage/WebPage.cpp: 4032 (WebKit::WebPage::videoFullscreenManager): 4033 accessor for m_videoFullscreenManager 4034 4035 * WebProcess/WebPage/WebPage.h: 4036 * WebProcess/WebVideoFullscreenManager.cpp: Added. 4037 (WebKit::WebVideoFullscreenManager::create): 4038 (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager): 4039 (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager): 4040 add basic creation for object. 4041 4042 (WebKit::WebVideoFullscreenManager::supportsFullscreen): 4043 (WebKit::WebVideoFullscreenManager::enterFullscreenForNode): 4044 (WebKit::WebVideoFullscreenManager::exitFullscreenForNode): 4045 implement interface called by WebChromeClient 4046 4047 (WebKit::WebVideoFullscreenManager::setDuration): 4048 (WebKit::WebVideoFullscreenManager::setCurrentTime): 4049 (WebKit::WebVideoFullscreenManager::setRate): 4050 (WebKit::WebVideoFullscreenManager::setVideoDimensions): 4051 (WebKit::WebVideoFullscreenManager::setVideoLayer): 4052 (WebKit::WebVideoFullscreenManager::setVideoLayerID): 4053 (WebKit::WebVideoFullscreenManager::enterFullscreen): 4054 (WebKit::WebVideoFullscreenManager::exitFullscreen): 4055 implement WebVideoFullscreenInterface to send IPC message. 4056 4057 * WebProcess/WebVideoFullscreenManager.h: Added. 4058 * WebProcess/WebVideoFullscreenManager.messages.in: Added. 4059 this interface closely matches WebVideoFullscreenModel 4060 40612014-02-06 Anders Carlsson <andersca@apple.com> 4062 4063 Begin work on making preferences per page instead of per page group 4064 https://bugs.webkit.org/show_bug.cgi?id=128349 4065 4066 Reviewed by Andreas Kling. 4067 4068 * UIProcess/API/C/WKPageGroup.cpp: 4069 (WKPageGroupGetPreferences): 4070 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 4071 (WKPageIsURLKnownHSTSHost): 4072 * UIProcess/API/mac/WKView.mm: 4073 (-[WKView _preferencesDidChange]): 4074 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 4075 * UIProcess/WebContext.cpp: 4076 (WebKit::WebContext::createWebPage): 4077 * UIProcess/WebInspectorProxy.cpp: 4078 (WebKit::WebInspectorPageGroups::createInspectorPageGroup): 4079 (WebKit::WebInspectorProxy::attach): 4080 (WebKit::WebInspectorProxy::detach): 4081 (WebKit::WebInspectorProxy::setAttachedWindowHeight): 4082 (WebKit::WebInspectorProxy::setAttachedWindowWidth): 4083 (WebKit::WebInspectorProxy::createInspectorPage): 4084 (WebKit::WebInspectorProxy::shouldOpenAttached): 4085 * UIProcess/WebPageGroup.cpp: 4086 (WebKit::WebPageGroup::preferences): 4087 * UIProcess/WebPageGroup.h: 4088 * UIProcess/WebPageProxy.cpp: 4089 (WebKit::WebPageProxy::create): 4090 (WebKit::WebPageProxy::WebPageProxy): 4091 (WebKit::WebPageProxy::isProcessSuppressible): 4092 (WebKit::WebPageProxy::canShowMIMEType): 4093 (WebKit::WebPageProxy::preferencesDidChange): 4094 (WebKit::WebPageProxy::creationParameters): 4095 * UIProcess/WebPageProxy.h: 4096 (WebKit::WebPageProxy::preferences): 4097 (WebKit::WebPageProxy::setPreferences): 4098 * UIProcess/WebProcessProxy.cpp: 4099 (WebKit::WebProcessProxy::createWebPage): 4100 * UIProcess/mac/ViewGestureController.mm: 4101 (WebKit::ViewGestureController::beginSwipeGesture): 4102 * UIProcess/mac/WebInspectorProxyMac.mm: 4103 (WebKit::WebInspectorProxy::createInspectorWindow): 4104 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 4105 (WebKit::WebInspectorProxy::windowFrameDidChange): 4106 (WebKit::WebInspectorProxy::platformAttach): 4107 41082014-02-06 Gavin Barraclough <barraclough@apple.com> 4109 4110 Remove ChildProcess::m_activeTasks 4111 https://bugs.webkit.org/show_bug.cgi?id=128342 4112 4113 Reviewed by Anders Carlson. 4114 4115 Currently we funnel a number of different user activities 4116 to a single UserActivity object, which requires a call down 4117 from WebCore to WebKit2. Split these out so we can track 4118 them separately. 4119 4120 * PluginProcess/PluginProcess.cpp: 4121 (WebKit::PluginProcess::PluginProcess): 4122 - added m_connectionActivity. 4123 * PluginProcess/PluginProcess.h: 4124 (WebKit::PluginProcess::connectionActivity): 4125 - added m_connectionActivity. 4126 * PluginProcess/WebProcessConnection.cpp: 4127 (WebKit::WebProcessConnection::didReceiveSyncMessage): 4128 (WebKit::WebProcessConnection::destroyPlugin): 4129 (WebKit::WebProcessConnection::createPlugin): 4130 - use connectionActivity 4131 * PluginProcess/mac/PluginProcessMac.mm: 4132 (WebKit::PluginProcess::platformInitializeProcess): 4133 - use a separate UserActivity for Java. 4134 * Shared/ActivityAssertion.cpp: 4135 (WebKit::ActivityAssertion::ActivityAssertion): 4136 (WebKit::ActivityAssertion::~ActivityAssertion): 4137 * Shared/ActivityAssertion.h: 4138 - ChildProcess -> UserActivity 4139 * Shared/ChildProcess.cpp: 4140 (WebKit::ChildProcess::ChildProcess): 4141 * Shared/ChildProcess.h: 4142 - remove m_activeTasks. 4143 (WebKit::ChildProcess::processSuppressionEnabled): 4144 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4145 * WebProcess/WebCoreSupport/WebChromeClient.h: 4146 - removed [inc|dec]rementActivePageCount 4147 41482014-02-06 Pratik Solanki <psolanki@apple.com> 4149 4150 [iOS] WebKit2 can't access the GPU 4151 https://bugs.webkit.org/show_bug.cgi?id=128345 4152 <rdar://problem/15976084> 4153 4154 Reviewed by Tim Horton. 4155 4156 Add an entitlement to allow web process to access GPU. 4157 4158 * Configurations/WebContent-iOS.entitlements: Added. 4159 * Configurations/WebContentService.Development.xcconfig: 4160 * Configurations/WebContentService.xcconfig: 4161 41622014-02-06 Pratik Solanki <psolanki@apple.com> 4163 4164 [iOS][WebKit2] Remove JoinExistingSession from plist 4165 https://bugs.webkit.org/show_bug.cgi?id=128318 4166 <rdar://problem/15971612> 4167 4168 Reviewed by Tim Horton. 4169 4170 Remove JoinExistingSession key that is not available on iOS. 4171 4172 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: 4173 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: 4174 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: 4175 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: 4176 41772014-02-06 Anders Carlsson <andersca@apple.com> 4178 4179 Fix build. 4180 4181 * UIProcess/API/Cocoa/WKWebView.mm: 4182 (-[WKWebView _remoteObjectRegistry]): 4183 41842014-02-06 Benjamin Poulain <bpoulain@apple.com> 4185 4186 Fix the setter definition from r163514. 4187 4188 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 4189 41902014-02-06 Joseph Pecoraro <pecoraro@apple.com> 4191 4192 [iOS] Remove duplicate call to RunLoop::initializeMainRunLoop 4193 https://bugs.webkit.org/show_bug.cgi?id=128328 4194 4195 Reviewed by Dan Bernstein. 4196 4197 * UIProcess/API/ios/WKContentView.mm: 4198 (-[WKContentView initWithFrame:configuration:]): 4199 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 4200 42012014-02-06 Joseph Pecoraro <pecoraro@apple.com> 4202 4203 [iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector 4204 https://bugs.webkit.org/show_bug.cgi?id=128338 4205 4206 Reviewed by Sam Weinig. 4207 4208 * WebProcess/ios/WebProcessIOS.mm: 4209 (WebKit::WebProcess::platformInitializeWebProcess): 4210 42112014-02-06 Joseph Pecoraro <pecoraro@apple.com> 4212 4213 Web Inspector: Add Console support to JSContext Inspection 4214 https://bugs.webkit.org/show_bug.cgi?id=127941 4215 4216 Reviewed by Geoffrey Garen. 4217 4218 * WebProcess/WebCoreSupport/WebChromeClient.h: 4219 42202014-02-06 Anders Carlsson <andersca@apple.com> 4221 4222 Add preferences property to WKWebViewConfiguration 4223 https://bugs.webkit.org/show_bug.cgi?id=128337 4224 4225 Reviewed by Sam Weinig. 4226 4227 Also use RetainPtr for processClass and preferences so we won't leak them. 4228 4229 * UIProcess/API/Cocoa/WKWebViewConfiguration.h: 4230 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 4231 (-[WKWebViewConfiguration copyWithZone:]): 4232 (-[WKWebViewConfiguration processClass]): 4233 (-[WKWebViewConfiguration setProcessClass:]): 4234 (-[WKWebViewConfiguration preferences]): 4235 (-[WKWebViewConfiguration setPreferences:]): 4236 42372014-02-06 Anders Carlsson <andersca@apple.com> 4238 4239 Add a remoteObjectRegistry property to WKWebView 4240 https://bugs.webkit.org/show_bug.cgi?id=128331 4241 4242 Reviewed by Tim Horton. 4243 4244 * UIProcess/API/Cocoa/WKWebView.mm: 4245 (-[WKWebView resizeSubviewsWithOldSize:]): 4246 (-[WKWebView _remoteObjectRegistry]): 4247 * UIProcess/API/Cocoa/WKWebViewInternal.h: 4248 * UIProcess/API/Cocoa/WKWebViewPrivate.h: 4249 42502014-02-06 Anders Carlsson <andersca@apple.com> 4251 4252 Add WKNavigationResponse class 4253 https://bugs.webkit.org/show_bug.cgi?id=128326 4254 4255 Reviewed by Dan Bernstein. 4256 4257 * UIProcess/API/Cocoa/WKFrameInfo.mm: 4258 (-[WKFrameInfo initWithWebFrameProxy:WebKit::]): 4259 * UIProcess/API/Cocoa/WKFrameInfoInternal.h: 4260 * UIProcess/API/Cocoa/WKNavigationResponse.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm. 4261 * UIProcess/API/Cocoa/WKNavigationResponse.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm. 4262 (-[WKNavigationResponse frame]): 4263 (-[WKNavigationResponse setFrame:]): 4264 (-[WKNavigationResponse response]): 4265 (-[WKNavigationResponse setResponse:]): 4266 * UIProcess/API/Cocoa/WKNavigationResponseInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h. 4267 * UIProcess/Cocoa/NavigationState.mm: 4268 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 4269 (WebKit::NavigationState::PolicyClient::decidePolicyForResponse): 4270 * WebKit2.xcodeproj/project.pbxproj: 4271 42722014-02-06 Anders Carlsson <andersca@apple.com> 4273 4274 Replace ’ with ' to silence the check-for-webkit-framework-include-consistency script. 4275 4276 * UIProcess/API/Cocoa/WKWebView.h: 4277 42782014-02-06 Anders Carlsson <andersca@apple.com> 4279 4280 Add backForwardList property to WKWebView 4281 https://bugs.webkit.org/show_bug.cgi?id=128320 4282 4283 Reviewed by Tim Horton. 4284 4285 * UIProcess/API/Cocoa/WKWebView.h: 4286 * UIProcess/API/Cocoa/WKWebView.mm: 4287 (-[WKWebView backForwardList]): 4288 42892014-02-06 Anders Carlsson <andersca@apple.com> 4290 4291 The source frame request is not the same thing as the original request 4292 https://bugs.webkit.org/show_bug.cgi?id=128317 4293 4294 Reviewed by Andreas Kling. 4295 4296 Grab the source frame URL From the WebFrameProxy object. 4297 4298 * UIProcess/Cocoa/NavigationState.mm: 4299 (WebKit::frameInfoFromWebFrameProxy): 4300 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 4301 43022014-02-06 Brady Eidson <beidson@apple.com> 4303 4304 IDB: storage/indexeddb/mozilla/clear.html fails 4305 <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282 4306 4307 Reviewed by David Kilzer. 4308 4309 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 4310 (WebKit::DatabaseProcessIDBConnection::openTransaction): Update logging. 4311 4312 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 4313 (WebKit::SQLiteIDBTransaction::commit): Update ASSERT. 4314 43152014-02-06 Csaba Osztrogonác <ossy@webkit.org> 4316 4317 Fix the build after r163516 for !ENABLE(ASYNC_SCROLLING) platforms 4318 https://bugs.webkit.org/show_bug.cgi?id=128299 4319 4320 Reviewed by Antti Koivisto. 4321 4322 * UIProcess/WebPageProxy.cpp: 4323 (WebKit::WebPageProxy::handleTouchEvent): 4324 43252014-02-05 Gavin Barraclough <barraclough@apple.com> 4326 4327 Change Page, FocusController to use ViewState 4328 https://bugs.webkit.org/show_bug.cgi?id=126533 4329 4330 Reviewed by Tim Horton. 4331 4332 These classes currently maintain a set of separate fields to represent the view state; 4333 combine these into a single field, and allow WebPage to send the combined update rather 4334 than individual changes. 4335 4336 Maintain existing interface for WebKit1 clients. 4337 4338 * WebProcess/WebPage/WebPage.cpp: 4339 (WebKit::WebPage::WebPage): 4340 - Combined separate calls to Page::setViewState. 4341 (WebKit::WebPage::updateIsInWindow): 4342 - Simplied from setIsInWindow. 4343 (WebKit::WebPage::setViewState): 4344 - Combined separate calls to Page::setViewState. 4345 * WebProcess/WebPage/WebPage.h: 4346 - Declare updateIsInWindow. 4347 43482014-02-05 Zan Dobersek <zdobersek@igalia.com> 4349 4350 Unreviewed GTK build fix after r163480. 4351 4352 * GNUmakefile.list.am: Removing the WebUIClient build targets. 4353 43542014-02-05 Simon Fraser <simon.fraser@apple.com> 4355 4356 Transfer the non-fast-scrollable region to the UI process for iOS 4357 https://bugs.webkit.org/show_bug.cgi?id=128293 4358 4359 Reviewed by Benjamin Poulain. 4360 4361 Two main changes to support sending the non-fast scrollable region 4362 to the UI process for iOS: 4363 4364 1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(), 4365 which is called when we've updated the touch event region (this can happen 4366 independenly of layout). When called we just scheduled a scrolling tree 4367 commit with the new region. 4368 4369 2. Avoid thinking that we have a new root node with every remote scrolling 4370 transaction. This was a side-effect of reconstructing the scrolling state 4371 tree in the UI process, and caused us to try to grab a nonFastScrollableRegion 4372 from a node which never had one set. 4373 4374 Now that we have the non-fast scrollable region in the UI process, we can 4375 use it to avoid sending sync messages to the web process. 4376 4377 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: 4378 (ArgumentCoder<ScrollingStateScrollingNode>::encode): Encode hasNewRootNode. 4379 (ArgumentCoder<ScrollingStateScrollingNode>::decode): Decode hasNewRootNode and set it on 4380 the state tree. 4381 (WebKit::RemoteScrollingCoordinatorTransaction::encode): Encode the nonFastScrollableRegion 4382 now that we can encode Regions. 4383 (WebKit::RemoteScrollingCoordinatorTransaction::decode): Decode the nonFastScrollableRegion 4384 now that we can decode Regions. 4385 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 4386 (WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion): 4387 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: 4388 * UIProcess/WebPageProxy.cpp: 4389 (WebKit::WebPageProxy::handleTouchEvent): If we're not in the non-fast scrollable region, 4390 don't both sending touch events to the web process. 4391 43922014-02-05 Benjamin Poulain <benjamin@webkit.org> 4393 4394 [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited 4395 https://bugs.webkit.org/show_bug.cgi?id=127886 4396 4397 Reviewed by Simon Fraser. 4398 4399 * Shared/mac/RemoteLayerTreeTransaction.h: 4400 (WebKit::RemoteLayerTreeTransaction::mainFrameContentsSize): 4401 (WebKit::RemoteLayerTreeTransaction::setMainFrameContentsSize): 4402 (WebKit::RemoteLayerTreeTransaction::pageScaleFactor): 4403 (WebKit::RemoteLayerTreeTransaction::setPageScaleFactor): 4404 (WebKit::RemoteLayerTreeTransaction::minimumScaleFactor): 4405 (WebKit::RemoteLayerTreeTransaction::setMinimumScaleFactor): 4406 (WebKit::RemoteLayerTreeTransaction::maximumScaleFactor): 4407 (WebKit::RemoteLayerTreeTransaction::setMaximumScaleFactor): 4408 (WebKit::RemoteLayerTreeTransaction::allowsUserScaling): 4409 (WebKit::RemoteLayerTreeTransaction::setAllowsUserScaling): 4410 * Shared/mac/RemoteLayerTreeTransaction.mm: 4411 (WebKit::RemoteLayerTreeTransaction::encode): 4412 (WebKit::RemoteLayerTreeTransaction::decode): 4413 * UIProcess/API/ios/PageClientImplIOS.h: 4414 * UIProcess/API/ios/PageClientImplIOS.mm: 4415 (WebKit::PageClientImpl::didCommitLayerTree): 4416 * UIProcess/API/ios/WKContentView.h: 4417 * UIProcess/API/ios/WKContentView.mm: 4418 (-[WKContentView setMinimumLayoutSize:]): 4419 (-[WKContentView willStartUserTriggeredZoom]): 4420 (-[WKContentView _didCommitLayerTree:WebKit::]): 4421 * UIProcess/API/ios/WKContentViewInternal.h: 4422 * UIProcess/API/ios/WKViewIOS.mm: 4423 (-[WKView contentViewDidCommitLoadForMainFrame:]): 4424 (-[WKView contentView:didCommitLayerTree:WebKit::]): 4425 (-[WKView scrollViewWillBeginZooming:withView:]): 4426 (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 4427 (-[WKView _frameOrBoundsChanged]): 4428 (-[WKView minimumLayoutSizeOverride]): 4429 (-[WKView setMinimumLayoutSizeOverride:]): 4430 * UIProcess/PageClient.h: 4431 * UIProcess/WebPageProxy.cpp: 4432 * UIProcess/WebPageProxy.h: 4433 * UIProcess/WebPageProxy.messages.in: 4434 * UIProcess/ios/WebPageProxyIOS.mm: 4435 (WebKit::WebPageProxy::setVirtualViewportMinimumLayoutSize): 4436 (WebKit::WebPageProxy::didCommitLayerTree): 4437 (WebKit::WebPageProxy::willStartUserTriggeredZooming): 4438 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 4439 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): 4440 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 4441 (WebKit::WebChromeClient::contentsSizeChanged): 4442 (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): 4443 * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: 4444 (WebKit::WebChromeClient::didReceiveMobileDocType): 4445 * WebProcess/WebPage/WebPage.cpp: 4446 (WebKit::WebPage::WebPage): 4447 (WebKit::WebPage::mainFrameDidLayout): 4448 (WebKit::WebPage::didCommitLoad): 4449 * WebProcess/WebPage/WebPage.h: 4450 * WebProcess/WebPage/WebPage.messages.in: 4451 * WebProcess/WebPage/ios/WebPageIOS.mm: 4452 (WebKit::WebPage::viewportPropertiesDidChange): 4453 (WebKit::WebPage::minimumPageScaleFactor): 4454 (WebKit::WebPage::maximumPageScaleFactor): 4455 (WebKit::WebPage::allowsUserScaling): 4456 (WebKit::WebPage::setVirtualViewportMinimumLayoutSize): 4457 (WebKit::WebPage::virtualViewportChanged): 4458 (WebKit::WebPage::willStartUserTriggeredZooming): 4459 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 4460 (WebKit::RemoteLayerTreeDrawingArea::flushLayers): 4461 44622014-02-05 Benjamin Poulain <bpoulain@apple.com> 4463 4464 [WK2] Add the minimumLayoutSizeOverride SPI to WKWebView 4465 https://bugs.webkit.org/show_bug.cgi?id=128295 4466 4467 Reviewed by Anders Carlsson. 4468 4469 * UIProcess/API/Cocoa/WKWebView.mm: 4470 (-[WKWebView minimumLayoutSizeOverride]): 4471 (-[WKWebView setMinimumLayoutSizeOverride:]): 4472 * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added. 4473 * WebKit2.xcodeproj/project.pbxproj: 4474 44752014-02-05 Simon Fraser <simon.fraser@apple.com> 4476 4477 Support encoding and decoding of Regions 4478 https://bugs.webkit.org/show_bug.cgi?id=128284 4479 4480 Reviewed by Anders Carlsson. 4481 4482 Support encoding and decoding of Region, and its internal 4483 struct Region::Span. 4484 4485 ArgumentCoders had to be taught about how to encode 4486 Vectors with inline capacity. 4487 4488 * Platform/IPC/ArgumentCoders.h: 4489 * Shared/WebCoreArgumentCoders.cpp: 4490 (IPC::ArgumentCoder<Region::Span>::encode): 4491 (IPC::ArgumentCoder<Region::Span>::decode): 4492 (IPC::ArgumentCoder<Region>::encode): 4493 (IPC::ArgumentCoder<Region>::decode): 4494 * Shared/WebCoreArgumentCoders.h: 4495 44962014-02-05 Anders Carlsson <andersca@apple.com> 4497 4498 Add -[WKNavigationAction request] 4499 https://bugs.webkit.org/show_bug.cgi?id=128288 4500 4501 Reviewed by Andreas Kling. 4502 4503 * UIProcess/API/Cocoa/WKNavigationAction.h: 4504 * UIProcess/API/Cocoa/WKNavigationAction.mm: 4505 (-[WKNavigationAction request]): 4506 (-[WKNavigationAction setRequest:]): 4507 * UIProcess/API/Cocoa/WKNavigationActionInternal.h: 4508 * UIProcess/Cocoa/NavigationState.mm: 4509 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 4510 45112014-02-05 Sam Weinig <sam@webkit.org> 4512 4513 [WebKit2, FTL] Add user default to enable the FTL 4514 https://bugs.webkit.org/show_bug.cgi?id=128281 4515 4516 Reviewed by Geoffrey Garen. 4517 4518 * Shared/WebProcessCreationParameters.cpp: 4519 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 4520 (WebKit::WebProcessCreationParameters::encode): 4521 (WebKit::WebProcessCreationParameters::decode): 4522 * Shared/WebProcessCreationParameters.h: 4523 * UIProcess/mac/WebContextMac.mm: 4524 (WebKit::registerUserDefaultsIfNeeded): 4525 (WebKit::WebContext::platformInitializeWebProcess): 4526 * WebProcess/mac/WebProcessMac.mm: 4527 (WebKit::WebProcess::platformInitializeWebProcess): 4528 Pipe through the default. 4529 45302014-02-05 Anders Carlsson <andersca@apple.com> 4531 4532 Add sourceFrame to WKNavigationAction 4533 https://bugs.webkit.org/show_bug.cgi?id=128280 4534 4535 Reviewed by Dan Bernstein. 4536 4537 * UIProcess/API/Cocoa/WKFrameInfo.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h. 4538 * UIProcess/API/Cocoa/WKFrameInfo.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h. 4539 (-[WKFrameInfo request]): 4540 (-[WKFrameInfo setRequest:]): 4541 * UIProcess/API/Cocoa/WKFrameInfoInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h. 4542 * UIProcess/API/Cocoa/WKNavigationAction.h: 4543 * UIProcess/API/Cocoa/WKNavigationAction.mm: 4544 (-[WKNavigationAction sourceFrame]): 4545 (-[WKNavigationAction setSourceFrame:]): 4546 * UIProcess/API/Cocoa/WKNavigationActionInternal.h: 4547 * UIProcess/Cocoa/NavigationState.mm: 4548 (WebKit::frameInfoFromWebFrameProxy): 4549 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 4550 * WebKit2.xcodeproj/project.pbxproj: 4551 45522014-02-05 Enrica Casucci <enrica@apple.com> 4553 4554 WK2: Tap highlight is positioned incorrectly in iframes. 4555 https://bugs.webkit.org/show_bug.cgi?id=128277 4556 <rdar://problem/15975993> 4557 4558 Reviewed by Benjamin Poulain. 4559 4560 We need to convert the quad to root view coordinates 4561 before returning it to the UIProcess for drawing the highlight. 4562 4563 * WebProcess/WebPage/ios/WebPageIOS.mm: 4564 (WebKit::WebPage::tapHighlightAtPosition): 4565 45662014-02-05 Ryuan Choi <ryuan.choi@samsung.com> 4567 4568 Unreviewed build fix attempt on EFL build after r163480 4569 4570 * CMakeLists.txt: Removed WebUIClient.cpp from source lists. 4571 45722014-02-05 Oliver Hunt <oliver@apple.com> 4573 4574 Change custom getter signature to make the base reference an object pointer 4575 https://bugs.webkit.org/show_bug.cgi?id=128279 4576 4577 Reviewed by Geoffrey Garen. 4578 4579 Update everything to the new calling convention. 4580 4581 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 4582 (WebKit::JSNPObject::propertyGetter): 4583 (WebKit::JSNPObject::methodGetter): 4584 * WebProcess/Plugins/Netscape/JSNPObject.h: 4585 45862014-02-05 Andreas Kling <akling@apple.com> 4587 4588 Remove ENABLE(DIRECTORY_UPLOAD). 4589 <https://webkit.org/b/128275> 4590 4591 Rubber-stamped by Ryosuke Niwa. 4592 4593 * Configurations/FeatureDefines.xcconfig: 4594 * Shared/WebCoreArgumentCoders.cpp: 4595 (IPC::ArgumentCoder<FileChooserSettings>::encode): 4596 (IPC::ArgumentCoder<FileChooserSettings>::decode): 4597 45982014-02-05 Brady Eidson <beidson@apple.com> 4599 4600 IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails 4601 https://bugs.webkit.org/show_bug.cgi?id=128257 4602 4603 Reviewed by Sam Weinig. 4604 4605 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 4606 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Write the correct key to the index if it was auto generated. 4607 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If this is an auto increment object store with 4608 a non-empty key path, save the key path to the get result. 4609 4610 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 4611 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 4612 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): The IndexRecord schema shouldn’t 4613 have key uniqueness. 4614 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): Take IDBKeyData instead of IDBKey. 4615 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Fill in the primary key from the fetch. 4616 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 4617 46182014-02-05 Anders Carlsson <andersca@apple.com> 4619 4620 Get rid of WebUIClient 4621 https://bugs.webkit.org/show_bug.cgi?id=128274 4622 4623 Reviewed by Andreas Kling. 4624 4625 * UIProcess/API/APIUIClient.h: Added. 4626 (API::UIClient::~UIClient): 4627 (API::UIClient::createNewPage): 4628 (API::UIClient::showPage): 4629 (API::UIClient::close): 4630 (API::UIClient::takeFocus): 4631 (API::UIClient::focus): 4632 (API::UIClient::unfocus): 4633 (API::UIClient::runJavaScriptAlert): 4634 (API::UIClient::runJavaScriptConfirm): 4635 (API::UIClient::runJavaScriptPrompt): 4636 (API::UIClient::setStatusText): 4637 (API::UIClient::mouseDidMoveOverElement): 4638 (API::UIClient::unavailablePluginButtonClicked): 4639 (API::UIClient::implementsDidNotHandleKeyEvent): 4640 (API::UIClient::didNotHandleKeyEvent): 4641 (API::UIClient::implementsDidNotHandleWheelEvent): 4642 (API::UIClient::didNotHandleWheelEvent): 4643 (API::UIClient::toolbarsAreVisible): 4644 (API::UIClient::setToolbarsAreVisible): 4645 (API::UIClient::menuBarIsVisible): 4646 (API::UIClient::setMenuBarIsVisible): 4647 (API::UIClient::statusBarIsVisible): 4648 (API::UIClient::setStatusBarIsVisible): 4649 (API::UIClient::isResizable): 4650 (API::UIClient::setIsResizable): 4651 (API::UIClient::setWindowFrame): 4652 (API::UIClient::windowFrame): 4653 (API::UIClient::canRunBeforeUnloadConfirmPanel): 4654 (API::UIClient::runBeforeUnloadConfirmPanel): 4655 (API::UIClient::didDraw): 4656 (API::UIClient::pageDidScroll): 4657 (API::UIClient::exceededDatabaseQuota): 4658 (API::UIClient::runOpenPanel): 4659 (API::UIClient::decidePolicyForGeolocationPermissionRequest): 4660 (API::UIClient::decidePolicyForNotificationPermissionRequest): 4661 (API::UIClient::headerHeight): 4662 (API::UIClient::footerHeight): 4663 (API::UIClient::drawHeader): 4664 (API::UIClient::drawFooter): 4665 (API::UIClient::printFrame): 4666 (API::UIClient::canRunModal): 4667 (API::UIClient::runModal): 4668 (API::UIClient::saveDataToFileInDownloadsFolder): 4669 (API::UIClient::shouldInterruptJavaScript): 4670 (API::UIClient::showColorPicker): 4671 (API::UIClient::hideColorPicker): 4672 * UIProcess/API/C/WKPage.cpp: 4673 (WKPageSetPageUIClient): 4674 * UIProcess/WebPageProxy.cpp: 4675 (WebKit::WebPageProxy::WebPageProxy): 4676 (WebKit::WebPageProxy::setUIClient): 4677 (WebKit::WebPageProxy::close): 4678 (WebKit::WebPageProxy::createNewPage): 4679 (WebKit::WebPageProxy::showPage): 4680 (WebKit::WebPageProxy::closePage): 4681 (WebKit::WebPageProxy::runJavaScriptAlert): 4682 (WebKit::WebPageProxy::runJavaScriptConfirm): 4683 (WebKit::WebPageProxy::runJavaScriptPrompt): 4684 (WebKit::WebPageProxy::shouldInterruptJavaScript): 4685 (WebKit::WebPageProxy::setStatusText): 4686 (WebKit::WebPageProxy::mouseDidMoveOverElement): 4687 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 4688 (WebKit::WebPageProxy::setToolbarsAreVisible): 4689 (WebKit::WebPageProxy::getToolbarsAreVisible): 4690 (WebKit::WebPageProxy::setMenuBarIsVisible): 4691 (WebKit::WebPageProxy::getMenuBarIsVisible): 4692 (WebKit::WebPageProxy::setStatusBarIsVisible): 4693 (WebKit::WebPageProxy::getStatusBarIsVisible): 4694 (WebKit::WebPageProxy::setIsResizable): 4695 (WebKit::WebPageProxy::getIsResizable): 4696 (WebKit::WebPageProxy::setWindowFrame): 4697 (WebKit::WebPageProxy::getWindowFrame): 4698 (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel): 4699 (WebKit::WebPageProxy::pageDidScroll): 4700 (WebKit::WebPageProxy::runOpenPanel): 4701 (WebKit::WebPageProxy::printFrame): 4702 (WebKit::WebPageProxy::didDraw): 4703 (WebKit::WebPageProxy::setFocus): 4704 (WebKit::WebPageProxy::takeFocus): 4705 (WebKit::WebPageProxy::didReceiveEvent): 4706 (WebKit::WebPageProxy::creationParameters): 4707 (WebKit::WebPageProxy::exceededDatabaseQuota): 4708 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 4709 (WebKit::WebPageProxy::requestNotificationPermission): 4710 (WebKit::WebPageProxy::headerHeight): 4711 (WebKit::WebPageProxy::footerHeight): 4712 (WebKit::WebPageProxy::drawHeader): 4713 (WebKit::WebPageProxy::drawFooter): 4714 (WebKit::WebPageProxy::runModal): 4715 (WebKit::WebPageProxy::setCanRunModal): 4716 (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder): 4717 * UIProcess/WebPageProxy.h: 4718 * UIProcess/WebUIClient.cpp: Removed. 4719 * UIProcess/WebUIClient.h: Removed. 4720 * UIProcess/mac/WebInspectorProxyMac.mm: 4721 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 4722 * UIProcess/mac/WebPageProxyMac.mm: 4723 (WebKit::WebPageProxy::windowAndViewFramesChanged): 4724 * WebKit2.xcodeproj/project.pbxproj: 4725 47262014-02-05 Enrica Casucci <enrica@apple.com> 4727 4728 WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe. 4729 https://bugs.webkit.org/show_bug.cgi?id=128264 4730 <rdar://problem/15986954> 4731 4732 Reviewed by Simon Fraser. 4733 4734 Everywhere we return rectangles to the UIProcess, we need to convert them 4735 to root view coordinates. Also, we should allow hit testing to go into child 4736 frames. 4737 4738 * WebProcess/WebPage/WebPage.cpp: 4739 (WebKit::WebPage::editorState): 4740 * WebProcess/WebPage/WebPage.h: 4741 * WebProcess/WebPage/ios/WebPageIOS.mm: 4742 (WebKit::WebPage::selectWithGesture): 4743 (WebKit::WebPage::updateSelectionWithTouches): 4744 (WebKit::WebPage::convertSelectionRectsToRootView): 4745 (WebKit::WebPage::requestAutocorrectionData): 4746 (WebKit::WebPage::getPositionInformation): 4747 47482014-02-05 Dan Bernstein <mitz@apple.com> 4749 4750 [Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings 4751 https://bugs.webkit.org/show_bug.cgi?id=128268 4752 4753 Reviewed by Anders Carlsson. 4754 4755 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 4756 (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also 4757 set the length out parameter to 0. 4758 4759 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 4760 (propertyListClasses): Added NSNull. 4761 4762 * Shared/UserData.cpp: 4763 (WebKit::UserData::encode): Encode the Double type. 4764 47652014-02-05 Jer Noble <jer.noble@apple.com> 4766 4767 [WK2] [iOS] No video on embedded YouTube 4768 https://bugs.webkit.org/show_bug.cgi?id=128237 4769 4770 Reviewed by Sam Weinig. 4771 4772 We were using the wrong #if directive; PLUGIN_PROXY_FOR_VIDEO is an ENABLE not a USE. 4773 4774 * WebProcess/WebPage/WebPage.cpp: 4775 (WebKit::WebPage::updatePreferences): 4776 47772014-02-05 Dan Bernstein <mitz@apple.com> 4778 4779 [Cocoa] Expose more WKWebProcessPlugInFrame properties 4780 https://bugs.webkit.org/show_bug.cgi?id=128240 4781 4782 Reviewed by Anders Carlsson. 4783 4784 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared new properties. 4785 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: 4786 (-[WKWebProcessPlugInFrame URL]): Added. 4787 (-[WKWebProcessPlugInFrame childFrames]): Added. 4788 (-[WKWebProcessPlugInFrame containsAnyFormElements]): Added. 4789 47902014-02-05 Dan Bernstein <mitz@apple.com> 4791 4792 [Cocoa] Notify WKWebProcessPlugInLoadDelegate when a frame is removed from the frame hierarchy 4793 https://bugs.webkit.org/show_bug.cgi?id=128239 4794 4795 Reviewed by Anders Carlsson. 4796 4797 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new 4798 delegate method. 4799 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 4800 (didRemoveFrameFromHierarchy): Implemented this page loader client callback by calling the 4801 load delegate. 4802 (setUpPageLoaderClient): Set the above callback in the client structure. 4803 48042014-02-05 Csaba Osztrogonác <ossy@webkit.org> 4805 4806 Remove ENABLE(SVG) guards 4807 https://bugs.webkit.org/show_bug.cgi?id=127991 4808 4809 Reviewed by Sam Weinig. 4810 4811 * Configurations/FeatureDefines.xcconfig: 4812 * GNUmakefile.am: 4813 48142014-02-05 Zan Dobersek <zdobersek@igalia.com> 4815 4816 [GTK] Replace DEFINE_STATIC_LOCAL with NeverDestroyed<T> in GTK WK1 and WK2 code 4817 https://bugs.webkit.org/show_bug.cgi?id=128195 4818 4819 Reviewed by Martin Robinson. 4820 4821 Use static NeverDestroyed<T> variables instead of the DEFINE_STATIC_LOCAL macro. 4822 4823 * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: 4824 (historyItemsMap): 4825 * UIProcess/API/gtk/WebKitWebContext.cpp: 4826 (downloadsMap): 4827 * UIProcess/gtk/WebPageProxyGtk.cpp: 4828 (WebKit::pluginWindowMap): 4829 * WebProcess/gtk/WebGtkExtensionManager.cpp: 4830 (WebKit::WebGtkExtensionManager::shared): 4831 * WebProcess/gtk/WebGtkExtensionManager.h: 4832 48332014-02-04 Andreas Kling <akling@apple.com> 4834 4835 Remove <iframe seamless> support. 4836 <https://webkit.org/b/128213> 4837 4838 Rubber-stamped by Antti Koivisto. 4839 4840 * Configurations/FeatureDefines.xcconfig: 4841 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 4842 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: 4843 * WebProcess/InjectedBundle/InjectedBundle.cpp: 4844 * WebProcess/InjectedBundle/InjectedBundle.h: 4845 48462014-02-04 Tim Horton <timothy_horton@apple.com> 4847 4848 [iOS][wk2] Make development builds of WebKit work on device 4849 https://bugs.webkit.org/show_bug.cgi?id=128230 4850 4851 Reviewed by Anders Carlsson. 4852 4853 * Configurations/NetworkService.Development.xcconfig: 4854 * Configurations/WebContentService.Development.xcconfig: 4855 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist. 4856 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist. 4857 * WebKit2.xcodeproj/project.pbxproj: 4858 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Renamed from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist. 4859 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist. 4860 The Development services should match the non-Development version's behavior 4861 of having separate plists for OS X and iOS. 4862 48632014-02-04 Brady Eidson <beidson@apple.com> 4864 4865 IDB: indexeddb/mozilla/add-twice-failure.html fails 4866 <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208 4867 4868 Reviewed by Tim Horton. 4869 4870 Note that besides making indexeddb/mozilla/add-twice-failure.html pass this also makes some other tests 4871 pass and also improves the failure modes of others. 4872 4873 A full accounting of which tests pass is coming soon. 4874 4875 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 4876 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): After checking for existence of the key and before 4877 adding the record, remove any previous record. (Defined by the spec, found exploring this test). 4878 4879 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 4880 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 4881 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): Implement this. 4882 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Add a form to be used as mentioned above in 4883 UniqueIDBDatabase::putRecordInBackingStore. 4884 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): CAST the key argument properly. 4885 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): Ditto. 4886 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 4887 48882014-02-04 Dan Bernstein <mitz@apple.com> 4889 4890 [Cocoa] Expose more WKWebProcessPlugInNodeHandle properties 4891 https://bugs.webkit.org/show_bug.cgi?id=128219 4892 4893 Reviewed by Anders Carlsson. 4894 4895 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new 4896 properties. 4897 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: 4898 (-[WKWebProcessPlugInNodeHandle elementBounds]): Added. 4899 (-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]): Added. 4900 (-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]): Added. 4901 (-[WKWebProcessPlugInNodeHandle HTMLInputELementIsUserEdited]): Added. 4902 (-[WKWebProcessPlugInNodeHandle HTMLTextAreaELementIsUserEdited]): Added. 4903 (-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Added. 4904 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Rolled 4905 Internal category into the class extension. 4906 4907 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Declared 4908 -clearWrappers. 4909 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: 4910 (-[WKWebProcessPlugInScriptWorld clearWrappers]): Added. Calls through to clearWrappers(). 4911 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Rolled 4912 Internal category into the class extension. 4913 49142014-02-04 Alexey Proskuryakov <ap@apple.com> 4915 4916 webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies 4917 https://bugs.webkit.org/show_bug.cgi?id=128201 4918 4919 Reviewed by Sam Weinig. 4920 4921 * Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): 4922 Return null when NetworkProcess provided a null string, don't build a header dictionary 4923 with an empty Cookie value. 4924 49252014-02-04 Anders Carlsson <andersca@apple.com> 4926 4927 Add a WKNavigationAction object 4928 https://bugs.webkit.org/show_bug.cgi?id=128212 4929 4930 Reviewed by Dan Bernstein. 4931 4932 * UIProcess/API/Cocoa/WKNavigationAction.h: Added. 4933 (NS_ENUM): 4934 * UIProcess/API/Cocoa/WKNavigationAction.mm: Added. 4935 * UIProcess/API/Cocoa/WKNavigationActionInternal.h: Added. 4936 * UIProcess/Cocoa/NavigationState.mm: 4937 (WebKit::toWKNavigationType): 4938 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 4939 * WebKit2.xcodeproj/project.pbxproj: 4940 49412014-02-04 Anders Carlsson <andersca@apple.com> 4942 4943 Add back/forward related methods to WKWebView 4944 https://bugs.webkit.org/show_bug.cgi?id=128209 4945 4946 Reviewed by Dan Bernstein. 4947 4948 * UIProcess/API/Cocoa/WKWebView.h: 4949 * UIProcess/API/Cocoa/WKWebView.mm: 4950 (-[WKWebView canGoBack]): 4951 (-[WKWebView canGoForward]): 4952 (-[WKWebView goBack]): 4953 (-[WKWebView goForward]): 4954 49552014-02-04 Enrica Casucci <enrica@apple.com> 4956 4957 WK: Cannot select text inside clickable containers. 4958 https://bugs.webkit.org/show_bug.cgi?id=128197 4959 <rdar://problem/15970890> 4960 4961 Reviewed by Simon Fraser. 4962 4963 When retrieving position information, we first try to 4964 find the node responding to click events because we want 4965 to know whether we are on a link or an image to show 4966 the appropriate action sheet. 4967 We could still have a node responding to click events if 4968 for example we have a DIV with a click handler but that 4969 doesn't require any special handling and we still need to 4970 perform regular hit testing. 4971 4972 * WebProcess/WebPage/ios/WebPageIOS.mm: 4973 (WebKit::WebPage::getPositionInformation): 4974 49752014-02-04 Enrica Casucci <enrica@apple.com> 4976 4977 WK2: Selection callout bar does not scroll with the selection. 4978 https://bugs.webkit.org/show_bug.cgi?id=128142 4979 <rdar://problem/15970812> 4980 4981 Reviewed by Benjamin Poulain. 4982 4983 Adding notifications to WKContentView to all the delegates 4984 for scrolling and zooming to let WKInteractionView about it. 4985 This allows the interaction assistants to hide the callout 4986 while scrolling or zooming and to fade it in again at the end. 4987 4988 * UIProcess/API/Cocoa/WKWebView.mm: 4989 (-[WKWebView scrollViewWillBeginZooming:withView:]): 4990 (-[WKWebView scrollViewWillBeginDragging:]): 4991 * UIProcess/API/ios/WKContentView.h: 4992 * UIProcess/API/ios/WKContentView.mm: 4993 (-[WKContentView didFinishScrollTo:]): 4994 (-[WKContentView willStartZoomOrScroll]): 4995 (-[WKContentView didZoomToScale:]): 4996 * UIProcess/API/ios/WKInteractionView.h: 4997 * UIProcess/API/ios/WKInteractionView.mm: 4998 (-[WKInteractionView _willStartScrollingOrZooming]): 4999 (-[WKInteractionView _didEndScrollingOrZooming]): 5000 * UIProcess/API/ios/WKViewIOS.mm: 5001 (-[WKView scrollViewWillBeginZooming:withView:]): 5002 (-[WKView scrollViewWillBeginDragging:]): 5003 50042014-02-04 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 5005 5006 Code cleanup: remove leftover occurrence of ENABLE(GESTURE_EVENTS) 5007 https://bugs.webkit.org/show_bug.cgi?id=128180 5008 5009 Reviewed by Csaba Osztrogonác. 5010 5011 Removed last occurrence of ENABLE(GESTURE_EVENTS). 5012 5013 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 5014 (WebKit::NetscapePlugin::platformHandleMouseEvent): 5015 50162014-02-04 Eunmi Lee <eunmi15.lee@samsung.com> 5017 5018 [EFL][WK2] ewk_context needs to route InjectedBundle messages correctly. 5019 https://bugs.webkit.org/show_bug.cgi?id=90772 5020 5021 Reviewed by Gyuyoung Kim. 5022 5023 Add APIs to post message to injected bundle and register callback to 5024 get message from injected bundle. When callback is registered, 5025 WKContextInjectedBundleClient is set to get messages from injected bundle. 5026 5027 * UIProcess/API/efl/ewk_context.cpp: 5028 (EwkContext::EwkContext): 5029 (toEwkContext): 5030 (EwkContext::didReceiveMessageFromInjectedBundle): 5031 (EwkContext::didReceiveSynchronousMessageFromInjectedBundle): 5032 (EwkContext::setMessageFromInjectedBundleCallback): register callback to get message from injected bundle. 5033 (EwkContext::processReceivedMessageFromInjectedBundle): process message from injected bundle. 5034 (ewk_context_message_post_to_injected_bundle): 5035 (ewk_context_message_from_injected_bundle_callback_set): 5036 * UIProcess/API/efl/ewk_context.h: 5037 * UIProcess/API/efl/ewk_context_private.h: 5038 50392014-02-04 Jinwoo Song <jinwoo7.song@samsung.com> 5040 5041 [EFL][WK2] Stop using COMPILE_ASSERT_MATCHING_ENUM macros in EFL WebKit2 5042 https://bugs.webkit.org/show_bug.cgi?id=128156 5043 5044 Reviewed by Anders Carlsson. 5045 5046 * UIProcess/API/efl/EwkView.cpp: 5047 (EwkView::requestPopupMenu): 5048 * UIProcess/API/efl/ewk_context.cpp: 5049 (toWKCacheModel): 5050 (EwkContext::setCacheModel): 5051 * UIProcess/API/efl/ewk_cookie_manager.cpp: 5052 (ewk_cookie_manager_persistent_storage_set): 5053 (ewk_cookie_manager_accept_policy_set): 5054 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 5055 (toEwkNavigationType): 5056 (toEventMouseButton): 5057 (toEventModifierKeys): 5058 (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision): 5059 (EwkNavigationPolicyDecision::navigationType): 5060 (EwkNavigationPolicyDecision::mouseButton): 5061 (EwkNavigationPolicyDecision::modifiers): 5062 (ewk_navigation_policy_decision_download): 5063 * UIProcess/API/efl/ewk_navigation_policy_decision_private.h: 5064 (EwkNavigationPolicyDecision::create): 5065 * UIProcess/API/efl/ewk_popup_menu_item.cpp: 5066 (EwkPopupMenuItem::type): 5067 (EwkPopupMenuItem::textDirection): 5068 * UIProcess/API/efl/ewk_private.h: 5069 * UIProcess/API/efl/ewk_view.cpp: 5070 (toWKFindOptions): 5071 (ewk_view_text_find): 5072 (toWKPaginationMode): 5073 (toEwkPaginationMode): 5074 (ewk_view_pagination_mode_set): 5075 (ewk_view_pagination_mode_get): 5076 50772014-02-03 Brady Eidson <beidson@apple.com> 5078 5079 Unreviewed build fix after http://trac.webkit.org/changeset/163364 5080 5081 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5082 (WebKit::getObjectStoreStatement): Args need the new names, and I need to save the file before committing. :( 5083 50842014-02-03 Brady Eidson <beidson@apple.com> 5085 5086 IDB: HTML5 Rocks Indexed Database demo fails 5087 https://bugs.webkit.org/show_bug.cgi?id=128157 5088 5089 Reviewed by Anders Carlsson (Provisional review by Jon Lee) 5090 5091 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5092 (WebKit::getIndexStatement): Only increment the open/closed counters if those keys exist. 5093 Fix order of statements for no lower key. 5094 (WebKit::getObjectStoreStatement): Only increment the open/closed counters if those keys exist. 5095 50962014-02-03 Jae Hyun Park <jae.park@company100.net> 5097 5098 Use nullptr in ShareableBitmap 5099 https://bugs.webkit.org/show_bug.cgi?id=128153 5100 5101 Reviewed by Gyuyoung Kim. 5102 5103 * Shared/ShareableBitmap.cpp: 5104 (WebKit::ShareableBitmap::create): 5105 (WebKit::ShareableBitmap::createShareable): 5106 51072014-02-03 Anders Carlsson <andersca@apple.com> 5108 5109 Add title and hasOnlySecureContent properties to WKWebView 5110 https://bugs.webkit.org/show_bug.cgi?id=128152 5111 5112 Reviewed by Dan Bernstein. 5113 5114 * UIProcess/API/Cocoa/WKWebView.h: 5115 * UIProcess/API/Cocoa/WKWebView.mm: 5116 (-[WKWebView title]): 5117 (-[WKWebView hasOnlySecureContent]): 5118 * UIProcess/Cocoa/NavigationState.mm: 5119 (WebKit::NavigationState::didChangeIsLoading): 5120 (WebKit::NavigationState::willChangeTitle): 5121 (WebKit::NavigationState::didChangeTitle): 5122 (WebKit::NavigationState::willChangeHasOnlySecureContent): 5123 (WebKit::NavigationState::didChangeHasOnlySecureContent): 5124 51252014-02-03 Sam Weinig <sam@webkit.org> 5126 5127 Fix spelling. 5128 5129 * Shared/WebPreferencesStore.h: 5130 51312014-02-03 Sam Weinig <sam@webkit.org> 5132 5133 [WebKit2, iOS] Enable frame flattening by default on iOS 5134 <rdar://problem/15975983> 5135 https://bugs.webkit.org/show_bug.cgi?id=128151 5136 5137 Reviewed by Tim Horton. 5138 5139 * Shared/WebPreferencesStore.h: 5140 51412014-02-03 Tim Horton <timothy_horton@apple.com> 5142 5143 [iOS][wk2] Temporarily disable accelerated drawing for canvas 5144 https://bugs.webkit.org/show_bug.cgi?id=128147 5145 5146 Reviewed by Simon Fraser. 5147 5148 * Shared/WebPreferencesStore.h: 5149 Temporarily disable accelerated canvas for WebKit2 on iOS. 5150 51512014-02-03 Anders Carlsson <andersca@apple.com> 5152 5153 Add loading property to WKWebView 5154 https://bugs.webkit.org/show_bug.cgi?id=128144 5155 5156 Reviewed by Dan Bernstein. 5157 5158 * UIProcess/API/Cocoa/WKWebView.h: 5159 * UIProcess/API/Cocoa/WKWebView.mm: 5160 (-[WKWebView isLoading]): 5161 * UIProcess/Cocoa/NavigationState.mm: 5162 (WebKit::NavigationState::willChangeIsLoading): 5163 (WebKit::NavigationState::didChangeIsLoading): 5164 51652014-02-03 Simon Fraser <simon.fraser@apple.com> 5166 5167 Allow WK2 to read from NSUserDefaults when it has no prefs identifier 5168 https://bugs.webkit.org/show_bug.cgi?id=128124 5169 5170 Reviewed by Sam Weinig. 5171 5172 WebPreferences would never read from NSUserDefaults if no identifier 5173 had been set, but this prevents us from reading useful debugging prefs. 5174 5175 Fix to read pref names using a "WebKit2" prefix when no identifier 5176 is set. 5177 5178 * UIProcess/mac/WebPreferencesMac.mm: 5179 (WebKit::makeKey): 5180 (WebKit::WebPreferences::platformInitializeStore): 5181 51822014-02-03 Jer Noble <jer.noble@apple.com> 5183 5184 [WK2] Remove the VideoPluginProxyEnabled preference in WK2 5185 https://bugs.webkit.org/show_bug.cgi?id=128128 5186 5187 Reviewed by Brady Eidson. 5188 5189 The plugin proxy is iOS WK1 only, and has no meaning in WebKit2. Just set the preference to false. 5190 5191 * Shared/WebPreferencesStore.h: 5192 * UIProcess/API/C/WKPreferences.cpp: 5193 * UIProcess/API/C/WKPreferencesRef.h: 5194 * WebProcess/WebPage/WebPage.cpp: 5195 (WebKit::WebPage::updatePreferences): 5196 51972014-02-03 Dean Jackson <dino@apple.com> 5198 5199 Feature flag for shape-inside 5200 https://bugs.webkit.org/show_bug.cgi?id=128001 5201 5202 Reviewed by Simon Fraser. 5203 5204 Add CSS_SHAPE_INSIDE flag. 5205 5206 * Configurations/FeatureDefines.xcconfig: 5207 52082014-02-03 Anders Carlsson <andersca@apple.com> 5209 5210 NavigationState should be a PageLoadState::Observer 5211 https://bugs.webkit.org/show_bug.cgi?id=128130 5212 5213 Reviewed by Darin Adler. 5214 5215 This will make it easier to provide load related KVO properties on WKWebView. 5216 5217 * UIProcess/API/Cocoa/WKWebView.mm: 5218 (-[WKWebView initWithFrame:configuration:]): 5219 * UIProcess/API/Cocoa/WKWebViewInternal.h: Added. 5220 * UIProcess/Cocoa/NavigationState.h: 5221 * UIProcess/Cocoa/NavigationState.mm: 5222 (WebKit::NavigationState::NavigationState): 5223 (WebKit::NavigationState::~NavigationState): 5224 (WebKit::NavigationState::willChangeIsLoading): 5225 (WebKit::NavigationState::didChangeIsLoading): 5226 (WebKit::NavigationState::willChangeTitle): 5227 (WebKit::NavigationState::didChangeTitle): 5228 (WebKit::NavigationState::willChangeActiveURL): 5229 (WebKit::NavigationState::didChangeActiveURL): 5230 (WebKit::NavigationState::willChangeHasOnlySecureContent): 5231 (WebKit::NavigationState::didChangeHasOnlySecureContent): 5232 (WebKit::NavigationState::willChangeEstimatedProgress): 5233 (WebKit::NavigationState::didChangeEstimatedProgress): 5234 * WebKit2.xcodeproj/project.pbxproj: 5235 52362014-02-03 Tim Horton <timothy_horton@apple.com> 5237 5238 WebKit2 View Gestures: Two smart magnifications in a row without moving the mouse should zoom out 5239 https://bugs.webkit.org/show_bug.cgi?id=128108 5240 <rdar://problem/15914539> 5241 5242 Reviewed by Darin Adler. 5243 5244 * UIProcess/mac/ViewGestureController.h: 5245 * UIProcess/mac/ViewGestureController.mm: 5246 (WebKit::ViewGestureController::ViewGestureController): 5247 (WebKit::ViewGestureController::handleMagnificationGesture): 5248 Clear the bit that tells us that we should do "smart" things (because the 5249 last gesture was also a smart magnification gesture) when the user manually pinch-magnifies. 5250 5251 (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture): 5252 Zoom out if the mouse hasn't moved since the last pinch-magnification gesture. 5253 5254 52552014-02-03 Darin Adler <darin@apple.com> 5256 5257 Try to fix 32-bit Mac build. 5258 5259 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 5260 (WebKit::convertStringToKeyCodes): Use deprecatedCharacters. 5261 52622014-02-03 Krzysztof Czech <k.czech@samsung.com> 5263 5264 Build fix after r163289. 5265 5266 Unreviewed EFL build fix. 5267 5268 Use deprecatedCharacters. 5269 5270 * UIProcess/efl/TextCheckerEfl.cpp: 5271 (WebKit::TextChecker::requestCheckingOfString): 5272 52732014-02-03 Dan Bernstein <mitz@apple.com> 5274 5275 Build fix. 5276 5277 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 5278 (WebKit::convertStringToKeyCodes): 5279 52802014-02-03 Alberto Garcia <berto@igalia.com> 5281 5282 Fix wrong mix of fcntl commands and flags 5283 https://bugs.webkit.org/show_bug.cgi?id=127842 5284 5285 Reviewed by Darin Adler. 5286 5287 We are mixing the commands to set file descriptor and file status 5288 flags in a couple of fcntl() calls. FD_CLOEXEC must be set using 5289 F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR) 5290 with F_SETFL. 5291 5292 This combines patches by Guillem Jover and Sergio Correia. 5293 5294 * Platform/IPC/unix/ConnectionUnix.cpp: 5295 (IPC::readBytesFromSocket): 5296 * Platform/unix/SharedMemoryUnix.cpp: 5297 (WebKit::SharedMemory::createHandle): 5298 52992014-02-02 Brady Eidson <beidson@apple.com> 5300 5301 IDB: Cannot open new databases with the default version 5302 https://bugs.webkit.org/show_bug.cgi?id=128096 5303 5304 Reviewed by Tim Horton. 5305 5306 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 5307 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): New databases should 5308 have the magic "no version set" version. 5309 53102014-02-02 Sanghyup Lee <sh53.lee@samsung.com> 5311 5312 [EFL][WK2] Add a logic for checking multi touch in GestureRecognizer::noGesture 5313 https://bugs.webkit.org/show_bug.cgi?id=127675 5314 5315 Reviewed by Gyuyoung Kim. 5316 5317 When processing TouchStart event in GestureRecognizer::noGesture(), we should 5318 check the number of touch points to distinguish if the gesture is single tap 5319 or pinch zoom. Current logic only considers the event as single tap. 5320 5321 * UIProcess/API/efl/GestureRecognizer.cpp: 5322 (WebKit::GestureRecognizer::noGesture): 5323 53242014-02-02 Enrica Casucci <enrica@apple.com> 5325 5326 WK2: Selection is non editable content is not cleared when navigating to a different page. 5327 https://bugs.webkit.org/show_bug.cgi?id=128084 5328 <rdar://problem/15966166> 5329 5330 Reviewed by Dan Bernstein. 5331 5332 When resigning first responder, we need to cleanup the selection. 5333 5334 * UIProcess/API/ios/WKInteractionView.mm: 5335 (-[WKInteractionView resignFirstResponder]): 5336 53372014-02-02 Enrica Casucci <enrica@apple.com> 5338 5339 WK2: Cannot focus a second field in a page after the first has been focused. 5340 https://bugs.webkit.org/show_bug.cgi?id=128055 5341 <rdar://problem/15943652> 5342 5343 Reviewed by Simon Fraser. 5344 5345 When handling singleTap, we always need to send 5346 a click to WebKit when we are already interacting with text. 5347 Also, when we stop assisting the node, we should not call 5348 resign responder, since that will trigger another unwanted blur. 5349 5350 * UIProcess/API/ios/WKInteractionView.mm: 5351 (-[WKInteractionView _singleTapRecognized:]): 5352 (-[WKInteractionView _stopAssistingNode]): 5353 53542014-02-02 Brady Eidson <beidson@apple.com> 5355 5356 IDB: Support IDBFactory.deleteDatabase() 5357 https://bugs.webkit.org/show_bug.cgi?id=128060 5358 5359 Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser) 5360 5361 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 5362 (WebKit::DatabaseProcessIDBConnection::deleteDatabase): 5363 5364 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 5365 (WebKit::UniqueIDBDatabase::calculateAbsoluteDatabaseFilename): Central place to 5366 calculate the database filename. 5367 (WebKit::UniqueIDBDatabase::unregisterConnection): 5368 (WebKit::UniqueIDBDatabase::shutdown): Pass shutdown type along. 5369 (WebKit::UniqueIDBDatabase::shutdownBackingStore): If this is a delete shutdown, delete the DB. 5370 (WebKit::UniqueIDBDatabase::didShutdownBackingStore): 5371 (WebKit::UniqueIDBDatabase::deleteDatabase): 5372 (WebKit::UniqueIDBDatabase::postMainThreadTask): All some tasks to bypass the no-more-request restriction. 5373 (WebKit::UniqueIDBDatabase::postDatabaseTask): Ditto. 5374 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 5375 5376 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 5377 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 5378 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Use 5379 calculateAbsoluteDatabaseFilename from UniqueIDBDatabase. 5380 5381 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 5382 (WebKit::WebIDBFactoryBackend::open): Update logging channel. 5383 (WebKit::WebIDBFactoryBackend::deleteDatabase): Implement. 5384 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 5385 5386 * Shared/WebCrossThreadCopier.h: 5387 53882014-02-01 Darin Adler <darin@apple.com> 5389 5390 More characters -> deprecatedCharacters (based on more EWS complaints) 5391 https://bugs.webkit.org/show_bug.cgi?id=128063 5392 5393 Reviewed by Anders Carlsson. 5394 5395 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: 5396 (WebKit::truncateToSingleLine): Use deprecatedCharacters. 5397 53982014-02-01 Enrica Casucci <enrica@apple.com> 5399 5400 Speculative OSX build fix. 5401 5402 Excluding WKActionSheet.mm and WKActionSheetAssistant.mm. 5403 5404 * Configurations/WebKit2.xcconfig: 5405 54062014-02-01 Enrica Casucci <enrica@apple.com> 5407 5408 Add support for ActionSheets in WK2 for iOS. 5409 https://bugs.webkit.org/show_bug.cgi?id=127586 5410 <rdar://problem/15283667> 5411 5412 Reviewed by Benjamin Poulain. 5413 5414 This patch adds the default support for Action Sheets 5415 in WK2 for iOS. WKActionSheet is the implementation of the 5416 sheet itself that inherits from UIActionSheet and handles 5417 the repositioning of the sheet after rotation for iPad. 5418 WKActionSheetAssistant is the controller class that implements 5419 the delegate methods, controls the lifetime of the action sheet 5420 object and performs the actions. 5421 We have 3 different types of sheets: 5422 - link sheet, displayed when the target element is a link 5423 - image sheet, when the target element is an image 5424 - data detector sheet when the target is an element 5425 recognized by the data detectors library. 5426 Both link and image sheet have a set of default buttons, whereas 5427 datadetector sheet in only populated by custom actions provided 5428 by data detectors. 5429 The link sheet provides the following default actions: 5430 - open, navigates to the URL 5431 - copy, copies the URL to the pasteboard 5432 - add to reading list 5433 The image sheet provides the following actions depending on whether 5434 the image is contained inside an anchor element or not. 5435 If the image is NOT inside a link the following actions are provided: 5436 - copy, copies the image to the pasteboard 5437 - save image, saves the image in the photo library 5438 Instead, if the image is inside an link: 5439 - open, navigates to the URL spcified by the link 5440 - copy, copies the link URL to the pasteboard 5441 - save image, saves the image in the photo library 5442 - add to reading list, adds the link URL to reading list. 5443 5444 * Shared/InteractionInformationAtPosition.cpp: 5445 (WebKit::InteractionInformationAtPosition::encode): 5446 (WebKit::InteractionInformationAtPosition::decode): 5447 * Shared/InteractionInformationAtPosition.h: 5448 * Shared/ios/WKGestureTypes.h: 5449 * UIProcess/API/ios/PageClientImplIOS.h: 5450 * UIProcess/API/ios/PageClientImplIOS.mm: 5451 (WebKit::PageClientImpl::saveImageToLibrary): 5452 * UIProcess/API/ios/WKActionSheet.h: Added. 5453 * UIProcess/API/ios/WKActionSheet.mm: Added. 5454 (-[WKActionSheet initWithView:]): 5455 (-[WKActionSheet dealloc]): 5456 (-[WKActionSheet presentSheet]): 5457 (-[WKActionSheet presentSheetFromRect:]): 5458 (-[WKActionSheet doneWithSheet]): 5459 (-[WKActionSheet willRotate]): 5460 (-[WKActionSheet updateSheetPosition]): 5461 (-[WKActionSheet didRotate]): 5462 (-[WKElementActionInfo initWithInfo:location:title:rect:]): 5463 (-[WKElementActionInfo dealloc]): 5464 (-[WKElementAction initWithTitle:actionHandler:type:]): 5465 (-[WKElementAction dealloc]): 5466 (+[WKElementAction customElementActionWithTitle:actionHandler:]): 5467 (copyElement): 5468 (saveImage): 5469 (addToReadingList): 5470 (+[WKElementAction standardElementActionWithType:customTitle:]): 5471 (+[WKElementAction standardElementActionWithType:]): 5472 (-[WKElementAction runActionWithElementInfo:view:]): 5473 * UIProcess/API/ios/WKActionSheetAssistant.h: Added. 5474 * UIProcess/API/ios/WKActionSheetAssistant.mm: Added. 5475 (-[WKActionSheetAssistant initWithView:]): 5476 (-[WKActionSheetAssistant dealloc]): 5477 (-[WKActionSheetAssistant setPage:WebKit::]): 5478 (-[WKActionSheetAssistant superviewForSheet]): 5479 (-[WKActionSheetAssistant _presentationRectForSheetGivenPoint:inHostView:]): 5480 (-[WKActionSheetAssistant hostViewForSheet]): 5481 (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]): 5482 (-[WKActionSheetAssistant presentationRectInHostViewForSheet]): 5483 (-[WKActionSheetAssistant presentSheet]): 5484 (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]): 5485 (-[WKActionSheetAssistant updateSheetPosition]): 5486 (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): 5487 (-[WKActionSheetAssistant showImageSheet]): 5488 (-[WKActionSheetAssistant showLinkSheet]): 5489 (-[WKActionSheetAssistant showDataDetectorsSheet]): 5490 (-[WKActionSheetAssistant cleanupSheet]): 5491 * UIProcess/API/ios/WKInteractionView.h: 5492 * UIProcess/API/ios/WKInteractionView.mm: 5493 (-[WKInteractionView initWithFrame:]): 5494 (-[WKInteractionView dealloc]): 5495 (-[WKInteractionView setPage:WebKit::]): 5496 (-[WKInteractionView _showImageSheet]): 5497 (-[WKInteractionView _showLinkSheet]): 5498 (-[WKInteractionView _showDataDetectorsSheet]): 5499 (-[WKInteractionView _actionForLongPress]): 5500 (-[WKInteractionView _updatePositionInformation]): 5501 (-[WKInteractionView _longPressRecognized:]): 5502 (-[WKInteractionView _positionInformationDidChange:]): 5503 (-[WKInteractionView _performAction:]): 5504 (-[WKInteractionView _updateAccessory]): 5505 * UIProcess/PageClient.h: 5506 * UIProcess/WebPageProxy.h: 5507 * UIProcess/WebPageProxy.messages.in: 5508 * UIProcess/ios/WebPageProxyIOS.mm: 5509 (WebKit::WebPageProxy::startInteractionWithElementAtPosition): 5510 (WebKit::WebPageProxy::stopInteraction): 5511 (WebKit::WebPageProxy::performActionOnElement): 5512 (WebKit::WebPageProxy::saveImageToLibrary): 5513 * WebKit2.xcodeproj/project.pbxproj: 5514 * WebProcess/WebPage/WebPage.h: 5515 * WebProcess/WebPage/WebPage.messages.in: 5516 * WebProcess/WebPage/ios/WebPageIOS.mm: 5517 (WebKit::containingLinkElement): 5518 (WebKit::WebPage::getPositionInformation): 5519 (WebKit::WebPage::startInteractionWithElementAtPosition): 5520 (WebKit::WebPage::stopInteraction): 5521 (WebKit::WebPage::performActionOnElement): 5522 55232014-02-01 Brady Eidson <beidson@apple.com> 5524 5525 IDB: Implement IDBCursor.delete() 5526 <rdar://problem/15944203> and https://bugs.webkit.org/show_bug.cgi?id=127882 5527 5528 Reviewed by Sam Weinig. 5529 5530 IDBCursor.delete() actually relies on deleteRange(), which was implemented earlier. 5531 So the only thing keeping it from working was a "Cursors iterate past their end" bug, 5532 causing the delete transaction to be aborted. 5533 5534 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5535 (WebKit::SQLiteIDBCursor::advanceOnce): When the cursor does the final iteration, 5536 clear the previous values to indicate completion. 5537 5538 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 5539 (WebKit::SQLiteIDBTransaction::clearCursors): Noticed this opportunistic cleanup to 5540 iterate over unique_ptr<>s with an auto& instead of an auto. 5541 55422014-01-31 Enrica Casucci <enrica@apple.com> 5543 5544 Text interaction assistant is not deleted when dismissing the keyboard on iPad. 5545 https://bugs.webkit.org/show_bug.cgi?id=128034 5546 <rdar://problem/15915695> 5547 5548 Reviewed by Dan Bernstein. 5549 5550 In iPhone mode, tapping on 'Done' in the accessory view 5551 calls the delegate accessoryDone where we correctly blur 5552 the assisted node and tear down the text interaction assistant. 5553 The code path for the keyboard in iPad mode is different, 5554 all we get is resignFirstResponder. 5555 The fix is just to move the blurring in resignFirstResponder 5556 and it works for both iPhone and iPad. 5557 5558 * UIProcess/API/ios/WKInteractionView.mm: 5559 (-[WKInteractionView resignFirstResponder]): 5560 (-[WKInteractionView accessoryDone]): 5561 55622014-02-01 Brady Eidson <beidson@apple.com> 5563 5564 IDB: Implement IDBObjectStore.delete() 5565 https://bugs.webkit.org/show_bug.cgi?id=127880 5566 5567 Reviewed by Sam Weinig. 5568 5569 Implementing IDBObjectStore.delete() involves filling in the already-stubbed deleteRange() method. 5570 5571 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 5572 (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Call through to the backing store. 5573 5574 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 5575 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 5576 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange): Call deleteRecord on each key represented 5577 by the passed-in keyRange. This involves collecting each key using a cursor. 5578 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Delete an individual record from the 5579 object store and all associated indexes. 5580 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 5581 5582 Teach the SQLiteIDBCursor to remember if it ended in an error condition: 5583 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5584 (WebKit::SQLiteIDBCursor::SQLiteIDBCursor): 5585 (WebKit::SQLiteIDBCursor::advanceOnce): 5586 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 5587 (WebKit::SQLiteIDBCursor::didError): 5588 55892014-02-01 Brady Eidson <beidson@apple.com> 5590 5591 IDB: Index reading 5592 <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868 5593 5594 Reviewed by Jer Noble. 5595 5596 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 5597 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): 5598 5599 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 5600 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 5601 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Using an index cursor, read a value. 5602 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 5603 56042014-02-01 Brady Eidson <beidson@apple.com> 5605 5606 IDB: Index cursor complete advance() and iterate() support 5607 <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870 5608 5609 Reviewed by Dan Bernstein. 5610 5611 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5612 (WebKit::SQLiteIDBCursor::advanceOnce): Look up the found record value from the 5613 object store records based on the key we found from the index. 5614 56152014-01-31 Anders Carlsson <andersca@apple.com> 5616 5617 Add webView:didFailNavigation:withError: delegate method 5618 https://bugs.webkit.org/show_bug.cgi?id=128022 5619 5620 Reviewed by Darin Adler. 5621 5622 * UIProcess/API/APILoaderClient.h: 5623 (API::LoaderClient::didFailLoadWithErrorForFrame): 5624 * UIProcess/API/C/WKPage.cpp: 5625 (WKPageSetPageLoaderClient): 5626 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 5627 * UIProcess/Cocoa/NavigationState.h: 5628 * UIProcess/Cocoa/NavigationState.mm: 5629 (WebKit::NavigationState::setNavigationDelegate): 5630 (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame): 5631 * UIProcess/WebPageProxy.cpp: 5632 (WebKit::WebPageProxy::didFailLoadForFrame): 5633 * UIProcess/WebPageProxy.h: 5634 * UIProcess/WebPageProxy.messages.in: 5635 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5636 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 5637 56382014-01-31 Brady Eidson <beidson@apple.com> 5639 5640 IDB: Handle "nextunique" and "prevunique" cursors, and handle "advance()" correctly 5641 https://bugs.webkit.org/show_bug.cgi?id=128040 5642 5643 Reviewed by Jer Noble. 5644 5645 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5646 (WebKit::SQLiteIDBCursor::advance): Entry point for advancing by a number of steps, 5647 calls either advanceUnique or advanceOnce the appropriate number of times. 5648 (WebKit::SQLiteIDBCursor::advanceUnique): Call advanceOnce until the key has changed. 5649 (WebKit::SQLiteIDBCursor::advanceOnce): 5650 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 5651 56522014-01-31 Brady Eidson <beidson@apple.com> 5653 5654 IDB: Index cursors use wrong deserialization for the retrieved value 5655 https://bugs.webkit.org/show_bug.cgi?id=128035 5656 5657 Reviewed by Dan Bernstein. 5658 5659 Most of this is updating everything related to the cursor operation callbacks 5660 to support returning an IDBKey value in addition to a SharedBuffer value. 5661 5662 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 5663 (WebKit::DatabaseProcessIDBConnection::openCursor): 5664 (WebKit::DatabaseProcessIDBConnection::cursorAdvance): 5665 (WebKit::DatabaseProcessIDBConnection::cursorIterate): 5666 5667 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 5668 (WebKit::UniqueIDBDatabase::openCursor): 5669 (WebKit::UniqueIDBDatabase::cursorAdvance): 5670 (WebKit::UniqueIDBDatabase::cursorIterate): 5671 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 5672 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): 5673 (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore): 5674 (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): 5675 (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore): 5676 (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): 5677 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 5678 5679 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 5680 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 5681 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): 5682 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): 5683 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): 5684 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 5685 5686 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5687 (WebKit::SQLiteIDBCursor::advance): 5688 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 5689 (WebKit::SQLiteIDBCursor::currentValueBuffer): 5690 (WebKit::SQLiteIDBCursor::currentValueKey): 5691 5692 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 5693 (WebKit::WebIDBServerConnection::didOpenCursor): 5694 (WebKit::WebIDBServerConnection::didAdvanceCursor): 5695 (WebKit::WebIDBServerConnection::didIterateCursor): 5696 (WebKit::WebIDBServerConnection::openCursor): 5697 (WebKit::WebIDBServerConnection::cursorAdvance): 5698 (WebKit::WebIDBServerConnection::cursorIterate): 5699 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 5700 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 5701 57022014-01-31 Ryosuke Niwa <rniwa@webkit.org> 5703 5704 Remove inline member functions of FrameSelection that access m_selection 5705 https://bugs.webkit.org/show_bug.cgi?id=127986 5706 5707 Reviewed by Enrica Casucci. 5708 5709 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 5710 (WebKit::collapseSelection): 5711 * WebProcess/WebPage/WebPage.cpp: 5712 (WebKit::WebPage::editorState): 5713 (WebKit::WebPage::confirmComposition): 5714 (WebKit::WebPage::setComposition): 5715 * WebProcess/WebPage/ios/WebPageIOS.mm: 5716 (WebKit::WebPage::setComposition): 5717 (WebKit::WebPage::updateSelectionWithTouches): 5718 * WebProcess/WebPage/mac/WebPageMac.mm: 5719 (WebKit::WebPage::setComposition): 5720 (WebKit::WebPage::getAttributedSubstringFromRange): 5721 57222014-01-31 Simon Fraser <simon.fraser@apple.com> 5723 5724 Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats 5725 https://bugs.webkit.org/show_bug.cgi?id=128032 5726 5727 Reviewed by Tim Horton. 5728 5729 Pass the viewport rect and scroll offset independently into the ScrollingTree 5730 via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't 5731 always correspond to the viewport rect. 5732 5733 Make the viewport rect and the scroll origin be float-based, since on 5734 Retina screens and with zooming these can both be non-integral. 5735 5736 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: 5737 (ArgumentCoder<ScrollingStateScrollingNode>::encode): 5738 (ArgumentCoder<ScrollingStateScrollingNode>::decode): 5739 * UIProcess/Scrolling/RemoteScrollingTree.cpp: 5740 (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll): 5741 * UIProcess/Scrolling/RemoteScrollingTree.h: 5742 57432014-01-31 Tim Horton <timothy_horton@apple.com> 5744 5745 WebKit2 View Gestures: Crash when pinch-zooming on a page that is just a frameset 5746 https://bugs.webkit.org/show_bug.cgi?id=127591 5747 <rdar://problem/15898349> 5748 5749 Reviewed by Simon Fraser. 5750 5751 When we have no shadow layer, we crash in TiledCoreAnimationDrawingArea::adjustTransientZoom. 5752 Fix this null deref; also, we always want a shadow layer, even if the page cannot be scrolled, 5753 because it can be revealed by pinching out. 5754 5755 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 5756 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): 5757 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 5758 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): 5759 57602014-01-31 Oliver Hunt <oliver@apple.com> 5761 5762 Rollout r163195 and related patches 5763 5764 * CMakeLists.txt: 5765 57662014-01-31 Tim Horton <timothy_horton@apple.com> 5767 5768 [wk2] PlatformCALayerRemoteCustom doesn't work on iOS 5769 https://bugs.webkit.org/show_bug.cgi?id=128025 5770 <rdar://problem/15950271> 5771 5772 Reviewed by Simon Fraser. 5773 5774 * Platform/mac/LayerHostingContext.h: 5775 * Platform/mac/LayerHostingContext.mm: 5776 (WebKit::LayerHostingContext::createForPort): 5777 (WebKit::LayerHostingContext::createForExternalHostingProcess): 5778 Use the new macro name (in a lot of places). 5779 Rename LayerHostingContext::createForWindowServer() to createForExternalHostingProcess(). 5780 Don't use WKCAContextMakeRemoteForWindowServer on iOS, just use the CAContext 5781 SPI directly. We don't want our CAContext to be hit tested because it's purely 5782 presentational. 5783 5784 * UIProcess/API/ios/PageClientImplIOS.h: 5785 iOS always hosts layers in an external process. 5786 5787 * PluginProcess/mac/PluginControllerProxyMac.mm: 5788 (WebKit::PluginControllerProxy::updateLayerHostingContext): 5789 * Shared/LayerTreeContext.h: 5790 * UIProcess/API/mac/PageClientImpl.mm: 5791 (WebKit::PageClientImpl::viewLayerHostingMode): 5792 * UIProcess/PageClient.h: 5793 (WebKit::PageClient::viewLayerHostingMode): 5794 * UIProcess/WebPageProxy.cpp: 5795 (WebKit::WebPageProxy::WebPageProxy): 5796 (WebKit::WebPageProxy::viewStateDidChange): 5797 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 5798 (WebKit::NetscapePlugin::NetscapePlugin): 5799 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 5800 (WebKit::NetscapePlugin::compositingRenderServerPort): 5801 * WebProcess/Plugins/PluginView.cpp: 5802 (WebKit::PluginView::setLayerHostingMode): 5803 * WebProcess/WebPage/WebPage.cpp: 5804 (WebKit::WebPage::reinitializeWebPage): 5805 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: 5806 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): 5807 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 5808 (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext): 5809 Use enum class for LayerHostingMode and rename the members to InProcess and OutOfProcess. 5810 58112014-01-31 Martin Hock <mhock@apple.com> 5812 5813 Add session support to WebPlatformStrategies 5814 https://bugs.webkit.org/show_bug.cgi?id=127926 5815 5816 Reviewed by Alexey Proskuryakov. 5817 5818 * NetworkProcess/mac/RemoteNetworkingContext.mm: 5819 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 5820 * Shared/SessionTracker.cpp: 5821 (WebKit::storageSessionToID): 5822 (WebKit::SessionTracker::session): 5823 (WebKit::SessionTracker::sessionID): 5824 (WebKit::SessionTracker::setSession): 5825 (WebKit::SessionTracker::destroySession): 5826 * Shared/SessionTracker.h: 5827 * UIProcess/WebPageProxy.cpp: 5828 (WebKit::WebPageProxy::setSession): 5829 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 5830 (WebKit::WebPlatformStrategies::cookiesForDOM): 5831 (WebKit::WebPlatformStrategies::setCookiesFromDOM): 5832 (WebKit::WebPlatformStrategies::cookiesEnabled): 5833 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): 5834 (WebKit::WebPlatformStrategies::getRawCookies): 5835 (WebKit::WebPlatformStrategies::deleteCookie): 5836 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 5837 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 5838 * WebProcess/WebPage/WebPage.cpp: 5839 (WebKit::WebPage::setSessionID): Ensure the storage session exists. 5840 * WebProcess/WebPage/WebPage.h: 5841 58422014-01-31 Alexey Proskuryakov <ap@apple.com> 5843 5844 Expose creation and modification times for LocalStorage 5845 https://bugs.webkit.org/show_bug.cgi?id=128018 5846 5847 Reviewed by Anders Carlsson. 5848 5849 * UIProcess/API/C/WKKeyValueStorageManager.cpp: 5850 (WKKeyValueStorageManagerGetOriginKey): 5851 (WKKeyValueStorageManagerGetCreationTimeKey): 5852 (WKKeyValueStorageManagerGetModificationTimeKey): 5853 (WKKeyValueStorageManagerGetStorageDetailsByOrigin): 5854 * UIProcess/API/C/WKKeyValueStorageManager.h: 5855 * UIProcess/Storage/LocalStorageDatabaseTracker.cpp: 5856 (WebKit::LocalStorageDatabaseTracker::origins): 5857 (WebKit::LocalStorageDatabaseTracker::details): 5858 * UIProcess/Storage/LocalStorageDatabaseTracker.h: 5859 * UIProcess/Storage/StorageManager.cpp: 5860 (WebKit::StorageManager::getStorageDetailsByOrigin): 5861 (WebKit::StorageManager::getStorageDetailsByOriginInternal): 5862 * UIProcess/Storage/StorageManager.h: 5863 * UIProcess/WebKeyValueStorageManager.cpp: 5864 (WebKit::WebKeyValueStorageManager::originKey): 5865 (WebKit::WebKeyValueStorageManager::creationTimeKey): 5866 (WebKit::WebKeyValueStorageManager::modificationTimeKey): 5867 (WebKit::didGetKeyValueStorageOrigins): 5868 (WebKit::didGetStorageDetailsByOrigin): 5869 (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): 5870 * UIProcess/WebKeyValueStorageManager.h: 5871 * WebKit2.xcodeproj/project.pbxproj: 5872 58732014-01-31 Anders Carlsson <andersca@apple.com> 5874 5875 Add webView:didReceiveServerRedirectForProvisionalNavigation: 5876 https://bugs.webkit.org/show_bug.cgi?id=128016 5877 5878 Reviewed by Dan Bernstein. 5879 5880 * UIProcess/API/APILoaderClient.h: 5881 (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 5882 * UIProcess/API/C/WKPage.cpp: 5883 (WKPageSetPageLoaderClient): 5884 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 5885 * UIProcess/Cocoa/NavigationState.h: 5886 * UIProcess/Cocoa/NavigationState.mm: 5887 (WebKit::NavigationState::setNavigationDelegate): 5888 (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 5889 * UIProcess/WebPageProxy.cpp: 5890 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 5891 * UIProcess/WebPageProxy.h: 5892 * UIProcess/WebPageProxy.messages.in: 5893 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 5894 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 5895 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 5896 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 5897 58982014-01-31 Brady Eidson <beidson@apple.com> 5899 5900 IDB: Index cursor preliminary support 5901 https://bugs.webkit.org/show_bug.cgi?id=127869 5902 5903 Reviewed by Sam Weinig. 5904 5905 This gets index cursors running and - for some situations - returning results. 5906 5907 Bug 127870 will make them fully functional. 5908 5909 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5910 (WebKit::getIndexStatement): Using the key and sorting parameters, find the appropriate SQL 5911 statement to run an index cursor. 5912 (WebKit::getObjectStoreStatement): Same, but for object store cursors. 5913 (WebKit::SQLiteIDBCursor::establishStatement): Depending on the type of cursor, choose the 5914 correct SQL query and id to use. 5915 (WebKit::SQLiteIDBCursor::createSQLiteStatement): With the passed in SQL and id, handle both 5916 index and object store cursors. 5917 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: 5918 59192014-01-29 Oliver Hunt <oliver@apple.com> 5920 5921 Make it possible to implement JS builtins in JS 5922 https://bugs.webkit.org/show_bug.cgi?id=127887 5923 5924 Reviewed by Michael Saboff. 5925 5926 CMake updates 5927 5928 * CMakeLists.txt: 5929 59302014-01-31 Tim Horton <timothy_horton@apple.com> 5931 5932 WebKit2 View Gestures (Swipe): Crashes swiping around a Google Docs spreadsheet 5933 https://bugs.webkit.org/show_bug.cgi?id=128013 5934 <rdar://problem/15959481> 5935 5936 Reviewed by Anders Carlsson. 5937 5938 * UIProcess/mac/ViewGestureController.mm: 5939 (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore): 5940 We should never (currently) start a swipe from a non-begin-phase wheel event. 5941 We already check this in handleScrollWheelEvent, but can still get 5942 non-begin-phase events in wheelEventWasNotHandled. 5943 5944 We only start "pending" swipes with Begin events, so we should never make them 5945 non-pending with anything but a Begin event (we'll get it when it bubbles back up, 5946 unhandled, from WebCore). In addition, AppKit throws an exception when we try 5947 to start a swipe from end-phase events. 5948 59492014-01-31 Brady Eidson <beidson@apple.com> 5950 5951 IDB: openCursor() needs to prime the cursor with first position values 5952 https://bugs.webkit.org/show_bug.cgi?id=128008 5953 5954 Reviewed by Alexey Proskuryakov. 5955 5956 Change openCursor() messaging to pass back the initial keys/values 5957 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 5958 (WebKit::WebIDBServerConnection::didOpenCursor): 5959 (WebKit::WebIDBServerConnection::openCursor): 5960 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 5961 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 5962 5963 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 5964 (WebKit::DatabaseProcessIDBConnection::openCursor): 5965 5966 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 5967 (WebKit::UniqueIDBDatabase::openCursor): 5968 (WebKit::UniqueIDBDatabase::cursorAdvance): Const and reference updates. 5969 (WebKit::UniqueIDBDatabase::cursorIterate): Ditto. 5970 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 5971 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): 5972 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 5973 5974 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 5975 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 5976 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): 5977 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 5978 5979 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 5980 (WebKit::SQLiteIDBCursor::maybeCreate): After creating the cursor, advance(1) it. 5981 5982 * Shared/AsyncTask.h: 5983 (WebKit::createAsyncTask): 5984 59852014-01-31 Beth Dakin <bdakin@apple.com> 5986 5987 Sideways 'wobble' when scrolling with trackpad on Mavericks 5988 https://bugs.webkit.org/show_bug.cgi?id=127521 5989 -and corresponding- 5990 <rdar://problem/14137306> 5991 5992 Reviewed by Simon Fraser. 5993 5994 Start using WebCore::WheelEventDeltaTracker to filter events. 5995 * WebProcess/WebPage/EventDispatcher.cpp: 5996 (WebKit::EventDispatcher::EventDispatcher): 5997 (WebKit::EventDispatcher::wheelEvent): 5998 * WebProcess/WebPage/EventDispatcher.h: 5999 60002014-01-31 Zan Dobersek <zdobersek@igalia.com> 6001 6002 Fix the forward declaration of RawPluginMetaData in NetscapePluginModule.h 6003 https://bugs.webkit.org/show_bug.cgi?id=127992 6004 6005 Reviewed by Martin Robinson. 6006 6007 * Shared/Plugins/Netscape/NetscapePluginModule.h: RawPluginMetaData is a struct, so it should 6008 be declared as such. The current forward declaration is throwing a warning when using Clang. 6009 60102014-01-31 Anders Carlsson <andersca@apple.com> 6011 6012 REGRESSION: WebKit2.PageLoadBasic API test is failing 6013 https://bugs.webkit.org/show_bug.cgi?id=127892 6014 6015 Reviewed by Dan Bernstein. 6016 6017 On Mountain Lion, URLs returned by -[NSBundle URLForResource:withExtension:subdirectory] include 6018 localhost as the hostname, but WebCore::URL normalizes those URLs and removes the host name. 6019 6020 Because of this, URLs created by WKURLCreateWithCFURL won't be equal to urls passed through 6021 the WebCore::URL constructor. Change WKURLIsEqual to compare the normalized URLs. 6022 6023 * Shared/API/c/WKURL.cpp: 6024 (WKURLIsEqual): 6025 * Shared/APIURL.h: 6026 (API::URL::equals): 6027 (API::URL::url): 6028 60292014-01-31 Brady Eidson <beidson@apple.com> 6030 6031 IDB: When deleting object stores/indexes, also delete associated records 6032 https://bugs.webkit.org/show_bug.cgi?id=127872 6033 6034 Reviewed by Anders Carlsson. 6035 6036 This was mostly done via other patches, but clearObjectStore was the last remaining case: 6037 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 6038 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): Also delete Index records. 6039 60402014-01-31 Brady Eidson <beidson@apple.com> 6041 6042 IDB: Index writing 6043 <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868 6044 6045 Reviewed by Anders Carlsson. 6046 6047 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 6048 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Handle writing index records, as well. 6049 6050 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 6051 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 6052 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a table 6053 for index records 6054 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Extract IDBIndexMetadata 6055 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): 6056 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex): 6057 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Store in the IndexRecords table. 6058 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 6059 60602014-01-30 Jinwoo Song <jinwoo7.song@samsung.com> 6061 6062 [EFL][WK2] Unreviewed EFL WebKit2 build fix after r163116. 6063 https://bugs.webkit.org/show_bug.cgi?id=127985 6064 6065 Unreviewed EFL WebKit2 build fix. 6066 6067 * UIProcess/CoordinatedGraphics/WebView.cpp: 6068 (WebKit::WebView::processDidExit): 6069 * UIProcess/CoordinatedGraphics/WebView.h: 6070 60712014-01-30 Simon Fraser <simon.fraser@apple.com> 6072 6073 Fix iOS WK2 build after r163156. 6074 6075 Need to convert to IntSizes. 6076 6077 * WebProcess/WebPage/ios/WebPageIOS.mm: 6078 (WebKit::WebPage::tapHighlightAtPosition): 6079 60802014-01-30 Martin Robinson <mrobinson@igalia.com> 6081 6082 [GTK] [CMake] Add support for building against GTK+ 2 6083 https://bugs.webkit.org/show_bug.cgi?id=127959 6084 6085 Reviewed by Anders Carlsson. 6086 6087 * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly. 6088 60892014-01-30 Commit Queue <commit-queue@webkit.org> 6090 6091 Unreviewed, rolling out r163125. 6092 http://trac.webkit.org/changeset/163125 6093 https://bugs.webkit.org/show_bug.cgi?id=127980 6094 6095 caused 9 layout tests to assert and crash (Requested by estes 6096 on #webkit). 6097 6098 * NetworkProcess/mac/RemoteNetworkingContext.mm: 6099 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 6100 * Shared/SessionTracker.cpp: 6101 (WebKit::SessionTracker::session): 6102 (WebKit::SessionTracker::setSession): 6103 (WebKit::SessionTracker::destroySession): 6104 * Shared/SessionTracker.h: 6105 * UIProcess/WebPageProxy.cpp: 6106 (WebKit::WebPageProxy::setSession): 6107 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 6108 (WebKit::legacySessionID): 6109 (WebKit::WebPlatformStrategies::cookiesForDOM): 6110 (WebKit::WebPlatformStrategies::setCookiesFromDOM): 6111 (WebKit::WebPlatformStrategies::cookiesEnabled): 6112 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): 6113 (WebKit::WebPlatformStrategies::getRawCookies): 6114 (WebKit::WebPlatformStrategies::deleteCookie): 6115 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 6116 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 6117 * WebProcess/WebPage/WebPage.cpp: 6118 * WebProcess/WebPage/WebPage.h: 6119 (WebKit::WebPage::setSessionID): 6120 61212014-01-30 Anders Carlsson <andersca@apple.com> 6122 6123 Add webView:didFinishLoadingNavigation: delegate method 6124 https://bugs.webkit.org/show_bug.cgi?id=127976 6125 6126 Reviewed by Dan Bernstein. 6127 6128 * UIProcess/API/APILoaderClient.h: 6129 (API::LoaderClient::didFinishLoadForFrame): 6130 * UIProcess/API/C/WKPage.cpp: 6131 (WKPageSetPageLoaderClient): 6132 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 6133 * UIProcess/Cocoa/NavigationState.h: 6134 * UIProcess/Cocoa/NavigationState.mm: 6135 (WebKit::NavigationState::setNavigationDelegate): 6136 (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): 6137 (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): 6138 (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): 6139 (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame): 6140 * UIProcess/WebPageProxy.cpp: 6141 (WebKit::WebPageProxy::didFinishLoadForFrame): 6142 * UIProcess/WebPageProxy.h: 6143 * UIProcess/WebPageProxy.messages.in: 6144 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6145 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 6146 61472014-01-30 Tim Horton <timothy_horton@apple.com> 6148 6149 Crashes after 163116 in [WKView takeViewSnapshot] 6150 https://bugs.webkit.org/show_bug.cgi?id=127973 6151 6152 Reviewed by Alexey Proskuryakov. 6153 6154 * UIProcess/API/mac/WKView.mm: 6155 (-[WKView _takeViewSnapshot]): 6156 Make the ViewGestureController before using it, if we need one. 6157 61582014-01-30 Anders Carlsson <andersca@apple.com> 6159 6160 Add a webView:didCommitNavigation: delegate method 6161 https://bugs.webkit.org/show_bug.cgi?id=127972 6162 6163 Reviewed by Dan Bernstein. 6164 6165 * UIProcess/API/APILoaderClient.h: 6166 (API::LoaderClient::didCommitLoadForFrame): 6167 * UIProcess/API/C/WKPage.cpp: 6168 (WKPageSetPageLoaderClient): 6169 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 6170 * UIProcess/Cocoa/NavigationState.h: 6171 * UIProcess/Cocoa/NavigationState.mm: 6172 (WebKit::NavigationState::setNavigationDelegate): 6173 (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame): 6174 * UIProcess/WebPageProxy.cpp: 6175 (WebKit::WebPageProxy::didCommitLoadForFrame): 6176 * UIProcess/WebPageProxy.h: 6177 * UIProcess/WebPageProxy.messages.in: 6178 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6179 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 6180 61812014-01-30 Anders Carlsson <andersca@apple.com> 6182 6183 Add a webView:didFailProvisionalNavigation:withError: delegate method 6184 https://bugs.webkit.org/show_bug.cgi?id=127968 6185 6186 Reviewed by Dan Bernstein. 6187 6188 * UIProcess/API/APILoaderClient.h: 6189 (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame): 6190 * UIProcess/API/C/WKPage.cpp: 6191 (WKPageSetPageLoaderClient): 6192 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 6193 * UIProcess/Cocoa/NavigationState.h: 6194 * UIProcess/Cocoa/NavigationState.mm: 6195 (WebKit::NavigationState::setNavigationDelegate): 6196 (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame): 6197 * UIProcess/WebPageProxy.cpp: 6198 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 6199 * UIProcess/WebPageProxy.h: 6200 * UIProcess/WebPageProxy.messages.in: 6201 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6202 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 6203 62042014-01-30 Anders Carlsson <andersca@apple.com> 6205 6206 Add a webView:didStartProvisionalNavigation: delegate method 6207 https://bugs.webkit.org/show_bug.cgi?id=127965 6208 6209 Reviewed by Dan Bernstein. 6210 6211 * UIProcess/API/APILoaderClient.h: 6212 (API::LoaderClient::didStartProvisionalLoadForFrame): 6213 * UIProcess/API/C/WKPage.cpp: 6214 (WKPageSetPageLoaderClient): 6215 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 6216 * UIProcess/API/Cocoa/WKWebView.mm: 6217 (-[WKWebView initWithFrame:configuration:]): 6218 * UIProcess/Cocoa/NavigationState.h: 6219 * UIProcess/Cocoa/NavigationState.mm: 6220 (WebKit::NavigationState::createLoaderClient): 6221 (WebKit::NavigationState::createPolicyClient): 6222 (WebKit::NavigationState::setNavigationDelegate): 6223 (WebKit::NavigationState::LoaderClient::LoaderClient): 6224 (WebKit::NavigationState::LoaderClient::~LoaderClient): 6225 (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame): 6226 * UIProcess/WebPageProxy.cpp: 6227 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 6228 * UIProcess/WebPageProxy.h: 6229 * UIProcess/WebPageProxy.messages.in: 6230 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 6231 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 6232 62332014-01-30 Brady Eidson <beidson@apple.com> 6234 6235 IDB: Implement IDBObjectStore.count() 6236 https://bugs.webkit.org/show_bug.cgi?id=127888 6237 6238 Reviewed by Tim Horton. 6239 6240 Now count() actually works. 6241 6242 Forward the count() request to the backing store” 6243 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 6244 (WebKit::UniqueIDBDatabase::countInBackingStore): 6245 6246 Using a cursor, get a count: 6247 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 6248 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 6249 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count): 6250 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 6251 6252 Give a direct accessor to allow the backing store to close a cursor it opened 6253 for its own use: 6254 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 6255 (WebKit::SQLiteIDBTransaction::closeCursor): 6256 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 6257 6258 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 6259 (WebKit::WebIDBServerConnection::didCount): Update the logging to show the count. 6260 62612014-01-30 Anders Carlsson <andersca@apple.com> 6262 6263 Implement NavigationState::PolicyClient::decidePolicyForNewWindowAction 6264 https://bugs.webkit.org/show_bug.cgi?id=127962 6265 6266 Reviewed by Andreas Kling. 6267 6268 Have decidePolicyForNewWindowAction call decidePolicyForNavigationAction with a null destination frame. 6269 6270 * UIProcess/Cocoa/NavigationState.h: 6271 * UIProcess/Cocoa/NavigationState.mm: 6272 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 6273 (WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction): 6274 62752014-01-30 Martin Hock <mhock@apple.com> 6276 6277 Add session support to WebPlatformStrategies 6278 https://bugs.webkit.org/show_bug.cgi?id=127926 6279 6280 Reviewed by Alexey Proskuryakov. 6281 6282 * NetworkProcess/mac/RemoteNetworkingContext.mm: 6283 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 6284 * Shared/SessionTracker.cpp: 6285 (WebKit::storageSessionToID): 6286 (WebKit::SessionTracker::session): 6287 (WebKit::SessionTracker::sessionID): 6288 (WebKit::SessionTracker::setSession): 6289 (WebKit::SessionTracker::destroySession): 6290 * Shared/SessionTracker.h: 6291 * UIProcess/WebPageProxy.cpp: 6292 (WebKit::WebPageProxy::setSession): 6293 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 6294 (WebKit::WebPlatformStrategies::cookiesForDOM): 6295 (WebKit::WebPlatformStrategies::setCookiesFromDOM): 6296 (WebKit::WebPlatformStrategies::cookiesEnabled): 6297 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): 6298 (WebKit::WebPlatformStrategies::getRawCookies): 6299 (WebKit::WebPlatformStrategies::deleteCookie): 6300 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 6301 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 6302 * WebProcess/WebPage/WebPage.cpp: 6303 (WebKit::WebPage::setSessionID): Ensure the storage session exists. 6304 * WebProcess/WebPage/WebPage.h: 6305 63062014-01-30 Brady Eidson <beidson@apple.com> 6307 6308 IDB: ObjectStore cursor iterate() support 6309 <rdar://problem/15941914> and https://bugs.webkit.org/show_bug.cgi?id=127867 6310 6311 Reviewed by Tim Horton. 6312 6313 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: 6314 (WebKit::SQLiteIDBCursor::iterate): Implement iterate() using advance() 6315 63162014-01-30 Anders Carlsson <andersca@apple.com> 6317 6318 decidePolicyForNewWindowAction should take a NavigationActionData object 6319 https://bugs.webkit.org/show_bug.cgi?id=127952 6320 6321 Reviewed by Dan Bernstein. 6322 6323 * UIProcess/API/APIPolicyClient.h: 6324 (API::PolicyClient::decidePolicyForNewWindowAction): 6325 * UIProcess/API/C/WKPage.cpp: 6326 (WKPageSetPagePolicyClient): 6327 * UIProcess/WebPageProxy.cpp: 6328 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 6329 63302014-01-27 Jeffrey Pfau <jpfau@apple.com> 6331 6332 Add a method for schemes to be registered as supporting cache partitioning 6333 https://bugs.webkit.org/show_bug.cgi?id=127739 6334 6335 Reviewed by Darin Adler. 6336 6337 Pipe information about cache partitioned scheme through WebKit2. 6338 6339 * Shared/WebProcessCreationParameters.cpp: 6340 (WebKit::WebProcessCreationParameters::encode): 6341 (WebKit::WebProcessCreationParameters::decode): 6342 * Shared/WebProcessCreationParameters.h: 6343 * UIProcess/API/C/WKContext.cpp: 6344 (WKContextRegisterURLSchemeAsCachePartitioned): 6345 * UIProcess/API/C/WKContextPrivate.h: 6346 * UIProcess/WebContext.cpp: 6347 (WebKit::WebContext::createNewWebProcess): 6348 (WebKit::WebContext::registerURLSchemeAsCachePartitioned): 6349 * UIProcess/WebContext.h: 6350 * WebProcess/WebProcess.cpp: 6351 (WebKit::WebProcess::initializeWebProcess): 6352 (WebKit::WebProcess::registerURLSchemeAsCachePartitioned): 6353 * WebProcess/WebProcess.h: 6354 * WebProcess/WebProcess.messages.in: 6355 63562014-01-30 Tim Horton <timothy_horton@apple.com> 6357 6358 Lots of API test assertion failures after r163093 6359 https://bugs.webkit.org/show_bug.cgi?id=127948 6360 6361 Reviewed by Alexey Proskuryakov. 6362 6363 * UIProcess/API/ios/PageClientImplIOS.mm: 6364 (WebKit::PageClientImpl::processDidExit): 6365 * UIProcess/API/ios/WKContentView.mm: 6366 (-[WKContentView _processDidExit]): 6367 * UIProcess/API/ios/WKContentViewInternal.h: 6368 * UIProcess/API/mac/PageClientImpl.h: 6369 * UIProcess/API/mac/PageClientImpl.mm: 6370 (WebKit::PageClientImpl::processDidExit): 6371 * UIProcess/API/mac/WKView.mm: 6372 (-[WKView _processDidExit]): 6373 * UIProcess/PageClient.h: 6374 * UIProcess/WebPageProxy.cpp: 6375 (WebKit::WebPageProxy::processDidCrash): 6376 (WebKit::WebPageProxy::resetStateAfterProcessExited): 6377 * UIProcess/API/mac/WKViewInternal.h: 6378 Rename _processDidCrash to _processDidExit, since it containes cleanup we 6379 should do in both cases. Also, call it whenever a process terminates instead 6380 of just upon a crash. Also clear the ViewGestureController, because its 6381 state doesn't make sense between WebProcesses. 6382 6383 (-[WKView _setCustomSwipeViews:]): 6384 Don't make a ViewGestureController if we don't have one and would be 6385 only creating one to set an empty list of custom swipe views. 6386 63872014-01-30 Brady Eidson <beidson@apple.com> 6388 6389 IDB: ObjectStore cursor advance() support 6390 <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866 6391 6392 Reviewed by Sam Weinig. 6393 6394 Plumb calls through to the backing store: 6395 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 6396 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 6397 (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore): 6398 (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore): 6399 6400 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 6401 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 6402 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update schema 6403 for Records table. 6404 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): 6405 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): 6406 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction): 6407 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): 6408 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Create a SQLiteIDBCursor object. 6409 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Call through to that object. 6410 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto. 6411 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::idbKeyCollate): Renamed for clarity. 6412 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::unregisterCursor): Cleanup open cursors. 6413 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 6414 6415 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Added. 6416 (WebKit::SQLiteIDBCursor::maybeCreate): 6417 (WebKit::SQLiteIDBCursor::SQLiteIDBCursor): 6418 (WebKit::SQLiteIDBCursor::establishStatement): 6419 (WebKit::SQLiteIDBCursor::createIndexCursorStatement): Stubbed for now. 6420 (WebKit::SQLiteIDBCursor::createObjectStoreCursorStatement): Create the appropriate query for 6421 the passed in IDBKeyRange. 6422 (WebKit::SQLiteIDBCursor::advance): Step through that query. 6423 (WebKit::SQLiteIDBCursor::iterate): Stubbed for now. 6424 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Added. 6425 (WebKit::SQLiteIDBCursor::identifier): 6426 (WebKit::SQLiteIDBCursor::transaction): 6427 (WebKit::SQLiteIDBCursor::currentKey): 6428 (WebKit::SQLiteIDBCursor::currentPrimaryKey): 6429 (WebKit::SQLiteIDBCursor::currentValue): 6430 6431 Add infrastructure for a SQLiteIDBTransaction to keep track of (and clean up) its open cursors: 6432 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 6433 (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction): 6434 (WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction): 6435 (WebKit::SQLiteIDBTransaction::reset): 6436 (WebKit::SQLiteIDBTransaction::openCursor): 6437 (WebKit::SQLiteIDBTransaction::clearCursors): 6438 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 6439 (WebKit::SQLiteIDBTransaction::create): 6440 (WebKit::SQLiteIDBTransaction::sqliteTransaction): 6441 6442 Add accessors for the two fields: 6443 * DatabaseProcess/IndexedDB/IDBIdentifier.h: 6444 (WebKit::IDBIdentifier::connection): 6445 (WebKit::IDBIdentifier::id): 6446 6447 * WebKit2.xcodeproj/project.pbxproj: 6448 64492014-01-30 Anders Carlsson <andersca@apple.com> 6450 6451 Implement policy response delegate handling 6452 https://bugs.webkit.org/show_bug.cgi?id=127945 6453 6454 Reviewed by Dan Bernstein. 6455 6456 * UIProcess/API/APIPolicyClient.h: 6457 (API::PolicyClient::decidePolicyForResponse): 6458 * UIProcess/API/C/WKPage.cpp: 6459 (WKPageSetPagePolicyClient): 6460 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 6461 (NS_ENUM): 6462 * UIProcess/Cocoa/NavigationState.h: 6463 * UIProcess/Cocoa/NavigationState.mm: 6464 (WebKit::NavigationState::setNavigationDelegate): 6465 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 6466 (WebKit::NavigationState::PolicyClient::decidePolicyForResponse): 6467 * UIProcess/WebPageProxy.cpp: 6468 (WebKit::WebPageProxy::decidePolicyForResponse): 6469 64702014-01-29 Dean Jackson <dino@apple.com> 6471 6472 Allow the OpenGL Profiler to get through the sandbox 6473 https://bugs.webkit.org/show_bug.cgi?id=127877 6474 <rdar://problem/14817250> 6475 <rdar://problem/14271180> 6476 6477 Reviewed by Alexey Proskuryakov. 6478 6479 Open up the sandbox for WebProcess and PluginProcess so 6480 that OpenGL.framework can create a mach port for communication 6481 with the OpenGL Profiler. 6482 6483 * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: 6484 * WebProcess/com.apple.WebProcess.sb.in: 6485 64862014-01-30 Anders Carlsson <andersca@apple.com> 6487 6488 Begin fleshing out the navigation delegate 6489 https://bugs.webkit.org/show_bug.cgi?id=127939 6490 6491 Reviewed by Dan Bernstein. 6492 6493 * UIProcess/API/APIPolicyClient.h: 6494 (API::PolicyClient::decidePolicyForNavigationAction): 6495 Pass the listener as a RefPtr. 6496 6497 * UIProcess/API/C/WKPage.cpp: 6498 (WKPageSetPagePolicyClient): 6499 Update for API::PolicyClient changes. 6500 6501 * UIProcess/API/Cocoa/WKNavigationDelegate.h: 6502 Add new delegate. 6503 6504 * UIProcess/API/Cocoa/WKWebView.mm: 6505 (-[WKWebView initWithFrame:configuration:]): 6506 Set a policy client on the page. 6507 6508 * UIProcess/Cocoa/NavigationState.h: 6509 Add a new PolicyClient class. 6510 6511 * UIProcess/Cocoa/NavigationState.mm: 6512 (WebKit::NavigationState::NavigationState): 6513 Initialize m_navigationDelegateMethods. 6514 6515 (WebKit::NavigationState::navigationDelegate): 6516 m_delegate was renamed to m_navigationDelegate. 6517 6518 (WebKit::NavigationState::setNavigationDelegate): 6519 Update m_navigationDelegateMethods.webViewDecidePolicyForNavigationActionDecisionHandler. 6520 6521 (WebKit::NavigationState::createPolicyClient): 6522 New helper function for creating a new policy client. 6523 6524 (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction): 6525 Call the navigation delegate method. 6526 6527 * UIProcess/WebPageProxy.cpp: 6528 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 6529 Use std::move to hand off the listener to the client. 6530 65312014-01-30 Jeremy Jones <jeremyj@apple.com> 6532 6533 Crash in RemoteLayerBackingStore::encode when m_frontBuffer is nullptr. 6534 https://bugs.webkit.org/show_bug.cgi?id=127756 6535 6536 Reviewed by Jer Noble. 6537 6538 Don't encode RemoteLayerBackingStore when it has no front buffer. 6539 6540 * Shared/mac/RemoteLayerBackingStore.h: 6541 (WebKit::RemoteLayerBackingStore::hasFrontBuffer): 6542 * Shared/mac/RemoteLayerTreeTransaction.mm: 6543 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 6544 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 6545 65462014-01-30 Mark Rowe <mrowe@apple.com> 6547 6548 Host plug-ins in XPC services 6549 <https://webkit.org/b/127897> / <rdar://problem/13675955> 6550 6551 We disabled use of XPC services for plug-ins back in r143829 as the per-architecture services 6552 were not being built for the appropriate architectures. Fixing that allows us to reenable them. 6553 6554 Reviewed by Anders Carlsson. 6555 6556 * Configurations/PluginService.32.xcconfig: Use VALID_ARCHS to restrict the service 6557 to building for i386-only in production builds. Non-production builds allow building 6558 for all standard architectures to ensure that Xcode will be able to build this target. 6559 The exact architecture used isn't a concern for non-production builds since we'll use 6560 the development version of the service anyway. 6561 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 6562 (WebKit::shouldUseXPC): Remove the workaround that disables use of the XPC services. 6563 65642014-01-30 Anders Carlsson <andersca@apple.com> 6565 6566 Add WKNavigationDelegate class 6567 https://bugs.webkit.org/show_bug.cgi?id=127927 6568 6569 Reviewed by Dan Bernstein. 6570 6571 * UIProcess/API/Cocoa/WKNavigationDelegate.h: Copied from Source/WebKit2/UIProcess/Cocoa/NavigationState.h. 6572 * UIProcess/API/Cocoa/WKWebView.h: 6573 * UIProcess/API/Cocoa/WKWebView.mm: 6574 (-[WKWebView navigationDelegate]): 6575 (-[WKWebView setNavigationDelegate:]): 6576 * UIProcess/Cocoa/NavigationState.h: 6577 * UIProcess/Cocoa/NavigationState.mm: 6578 (WebKit::NavigationState::navigationDelegate): 6579 (WebKit::NavigationState::setNavigationDelegate): 6580 * WebKit2.xcodeproj/project.pbxproj: 6581 65822014-01-30 Tim Horton <timothy_horton@apple.com> 6583 6584 WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe 6585 https://bugs.webkit.org/show_bug.cgi?id=127891 6586 <rdar://problem/15931413> 6587 6588 Reviewed by Anders Carlsson. 6589 6590 * UIProcess/API/Cocoa/WKViewPrivate.h: Add the SPI. 6591 6592 * UIProcess/API/ios/PageClientImplIOS.h: 6593 * UIProcess/API/ios/PageClientImplIOS.mm: 6594 (WebKit::PageClientImpl::clearCustomSwipeViews): 6595 * UIProcess/API/mac/PageClientImpl.h: 6596 * UIProcess/API/mac/PageClientImpl.mm: 6597 (WebKit::PageClientImpl::clearCustomSwipeViews): 6598 * UIProcess/PageClient.h: 6599 Plumb clearCustomSwipeViews() so that WebPageProxy can clear 6600 ViewGestureController's list of custom views when the current 6601 back-forward item changes. 6602 6603 * UIProcess/API/mac/WKView.mm: 6604 (-[WKView _takeViewSnapshot]): 6605 If we have custom swipe views, use the union of their bounds as the snapshot region. 6606 6607 (-[WKView _setCustomSwipeViews:]): 6608 Forward along to ViewGestureController. 6609 6610 * UIProcess/WebPageProxy.cpp: 6611 (WebKit::WebPageProxy::didChangeBackForwardList): 6612 When the current back forward list item changes, clear the custom swipe views. 6613 6614 * UIProcess/mac/ViewGestureController.h: 6615 (WebKit::ViewGestureController::setCustomSwipeViews): 6616 (WebKit::ViewGestureController::customSwipeViews): 6617 * UIProcess/mac/ViewGestureController.mm: 6618 (WebKit::ViewGestureController::windowRelativeBoundsForCustomSwipeViews): 6619 Compute the union of the custom swipe view bounds in the window's coordinate space. 6620 6621 (WebKit::ViewGestureController::beginSwipeGesture): 6622 Store the layers we'll be swiping as the "live" layers in m_currentSwipeLiveLayers. 6623 Don't set a shadow (yet) if we have custom swipe views, because it's not clear where to put it. 6624 6625 (WebKit::ViewGestureController::handleSwipeGesture): 6626 Compute the swipe distance ('width') based on the union of the custom views bounds if needed. 6627 Update the transform of all of the live layers. We use transform instead of position now 6628 so that clients can set the position (having an identity transform is one of the SPI caveats). 6629 6630 (WebKit::ViewGestureController::removeSwipeSnapshot): 6631 Reset the transform on all of the live layers. 6632 Clear the list of live layers. 6633 66342014-01-30 Brady Eidson <beidson@apple.com> 6635 6636 IDB: Add no-op plumbing for deleteDatabase and deleteRange 6637 https://bugs.webkit.org/show_bug.cgi?id=127912 6638 6639 Reviewed by Alexey Proskuryakov. 6640 6641 Forward the calls to the DatabaseProcess, and handle completion from the DatabaseProcess: 6642 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 6643 (WebKit::WebIDBServerConnection::deleteDatabase): 6644 (WebKit::WebIDBServerConnection::didDeleteDatabase): 6645 (WebKit::WebIDBServerConnection::deleteRange): 6646 (WebKit::WebIDBServerConnection::didDeleteRange): 6647 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 6648 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 6649 6650 Stub out deleteDatabase, and forward deleteRange to the appropriate UniqueIDBDatabase: 6651 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 6652 (WebKit::DatabaseProcessIDBConnection::deleteDatabase): 6653 (WebKit::DatabaseProcessIDBConnection::deleteRange): 6654 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 6655 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 6656 6657 Forward the request to the backing store thread, and handle the response from that thread: 6658 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 6659 (WebKit::UniqueIDBDatabase::deleteRange): 6660 (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): 6661 (WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore): 6662 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 6663 66642014-01-30 Antti Koivisto <antti@apple.com> 6665 6666 WebPage::determinePrimarySnapshottedPlugIn is slow 6667 https://bugs.webkit.org/show_bug.cgi?id=127905 6668 6669 Reviewed by Anders Carlsson. 6670 6671 PLT before: 6672 132.0ms 0.8% 0,0 WebKit::WebPage::determinePrimarySnapshottedPlugIn() 6673 130.0ms 0.8% 0,0 WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&) 6674 6675 After: 6676 7.0ms 0.0% 0,0 WebKit::WebPage::determinePrimarySnapshottedPlugIn() 6677 3.0ms 0.0% 0,0 WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&) 6678 6679 * WebProcess/WebPage/WebPage.cpp: 6680 (WebKit::WebPage::determinePrimarySnapshottedPlugIn): 6681 6682 Instead of shotgunning the page with hit tests, do a DOM crawl for plugins 6683 and hit test the centers. 6684 66852014-01-30 Andrei Bucur <abucur@adobe.com> 6686 6687 Remove the ACCELERATED_COMPOSITING flag 6688 https://bugs.webkit.org/show_bug.cgi?id=127833 6689 6690 Reviewed by Antti Koivisto. 6691 6692 Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC 6693 mandatory. 6694 6695 * PluginProcess/PluginControllerProxy.cpp: 6696 (WebKit::PluginControllerProxy::PluginControllerProxy): 6697 * PluginProcess/PluginCreationParameters.cpp: 6698 (WebKit::PluginCreationParameters::PluginCreationParameters): 6699 (WebKit::PluginCreationParameters::encode): 6700 (WebKit::PluginCreationParameters::decode): 6701 * PluginProcess/PluginCreationParameters.h: 6702 * PluginProcess/PluginProcess.h: 6703 * Shared/WebRenderLayer.cpp: 6704 (WebKit::WebRenderLayer::WebRenderLayer): 6705 * Shared/mac/RemoteLayerBackingStore.h: 6706 * Shared/mac/RemoteLayerBackingStore.mm: 6707 (RemoteLayerBackingStore::enumerateRectsBeingDrawn): 6708 * UIProcess/API/efl/EvasGLContext.cpp: 6709 * UIProcess/API/efl/EvasGLContext.h: 6710 * UIProcess/API/efl/EvasGLSurface.cpp: 6711 * UIProcess/API/efl/EvasGLSurface.h: 6712 * UIProcess/API/efl/EwkView.cpp: 6713 (EwkView::EwkView): 6714 (EwkView::displayTimerFired): 6715 (EwkView::createGLSurface): 6716 (EwkView::handleEvasObjectCalculate): 6717 (EwkView::handleEvasObjectShow): 6718 (EwkView::takeSnapshot): 6719 * UIProcess/API/efl/EwkView.h: 6720 * UIProcess/API/efl/SnapshotImageGL.cpp: 6721 (getImageSurfaceFromFrameBuffer): 6722 * UIProcess/API/efl/SnapshotImageGL.h: 6723 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: 6724 (EWK2UnitTest::EWK2UnitTestBase::SetUp): 6725 * UIProcess/API/gtk/PageClientImpl.cpp: 6726 (WebKit::PageClientImpl::updateAcceleratedCompositingMode): 6727 * UIProcess/API/gtk/PageClientImpl.h: 6728 * UIProcess/API/ios/PageClientImplIOS.h: 6729 * UIProcess/API/ios/PageClientImplIOS.mm: 6730 (WebKit::PageClientImpl::acceleratedCompositingRootLayer): 6731 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 6732 (WebKit::CoordinatedDrawingAreaProxy::~CoordinatedDrawingAreaProxy): 6733 (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange): 6734 (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState): 6735 (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode): 6736 (WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode): 6737 (WebKit::CoordinatedDrawingAreaProxy::updateAcceleratedCompositingMode): 6738 (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState): 6739 (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): 6740 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: 6741 * UIProcess/CoordinatedGraphics/PageViewportController.cpp: 6742 * UIProcess/CoordinatedGraphics/PageViewportController.h: 6743 * UIProcess/CoordinatedGraphics/WebView.cpp: 6744 (WebKit::WebView::setVisible): 6745 * UIProcess/DrawingAreaProxy.h: 6746 * UIProcess/DrawingAreaProxy.messages.in: 6747 * UIProcess/DrawingAreaProxyImpl.cpp: 6748 (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl): 6749 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): 6750 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode): 6751 (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): 6752 (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode): 6753 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): 6754 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState): 6755 * UIProcess/DrawingAreaProxyImpl.h: 6756 * UIProcess/PageClient.h: 6757 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 6758 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 6759 * UIProcess/WebPageProxy.cpp: 6760 (WebKit::WebPageProxy::updateAcceleratedCompositingMode): 6761 * UIProcess/WebPageProxy.h: 6762 * UIProcess/efl/PageLoadClientEfl.cpp: 6763 (WebKit::PageLoadClientEfl::didCommitLoadForFrame): 6764 * UIProcess/efl/PageViewportControllerClientEfl.cpp: 6765 * UIProcess/efl/ViewClientEfl.cpp: 6766 (WebKit::ViewClientEfl::didChangeContentsSize): 6767 (WebKit::ViewClientEfl::didChangeContentsPosition): 6768 (WebKit::ViewClientEfl::didRenderFrame): 6769 (WebKit::ViewClientEfl::didCompletePageTransition): 6770 (WebKit::ViewClientEfl::didChangeViewportAttributes): 6771 * UIProcess/mac/WebContextMac.mm: 6772 (WebKit::WebContext::platformInitializeWebProcess): 6773 * WebProcess/FullScreen/WebFullScreenManager.cpp: 6774 (WebKit::screenRectOfContents): 6775 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: 6776 (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled): 6777 * WebProcess/Plugins/PluginController.h: 6778 * WebProcess/Plugins/PluginProxy.cpp: 6779 (WebKit::PluginProxy::initialize): 6780 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 6781 (WebKit::WebChromeClient::layerTreeStateIsFrozen): 6782 * WebProcess/WebCoreSupport/WebChromeClient.h: 6783 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: 6784 (WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers): 6785 (WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush): 6786 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: 6787 * WebProcess/WebPage/DrawingArea.h: 6788 * WebProcess/WebPage/DrawingAreaImpl.cpp: 6789 (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): 6790 (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush): 6791 (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): 6792 * WebProcess/WebPage/DrawingAreaImpl.h: 6793 * WebProcess/WebPage/WebPage.cpp: 6794 (WebKit::WebPage::exitAcceleratedCompositingMode): 6795 (WebKit::WebPage::mainFrameDidLayout): 6796 (WebKit::WebPage::didReceiveMessage): 6797 * WebProcess/WebPage/WebPage.h: 6798 * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: 6799 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 6800 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 6801 (PlatformCALayerRemote::hostingContextID): 6802 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 6803 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: 6804 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: 6805 (PlatformCALayerRemoteCustom::hostingContextID): 6806 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: 6807 (PlatformCALayerRemoteTiledBacking::setBorderColor): 6808 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: 6809 * WebProcess/WebProcess.cpp: 6810 (WebKit::WebProcess::WebProcess): 6811 * WebProcess/WebProcess.h: 6812 68132014-01-30 Brady Eidson <beidson@apple.com> 6814 6815 IDB: Key generator support 6816 https://bugs.webkit.org/show_bug.cgi?id=127871 6817 6818 Reviewed by Tim Horton. 6819 6820 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 6821 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Update for storing/retrieving integers instead of IDBKeys. 6822 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 6823 6824 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 6825 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a keygen table. 6826 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): Put a record in the keygen table for 6827 this object store if necessary. 6828 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Delete the entry in the keygen table. 6829 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber): Pull the current number from the table. 6830 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber): Update the number in the table. 6831 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 6832 6833 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 6834 (WebKit::WebIDBServerConnection::put): Null keys are acceptable for autoIncrement object stores. 6835 68362014-01-30 Brady Eidson <beidson@apple.com> 6837 6838 IDB: Implement IDBObjectStore.count() 6839 https://bugs.webkit.org/show_bug.cgi?id=127888 6840 6841 Reviewed by Tim Horton. 6842 6843 Forward request to the DatabaseProcess, and handle its completion: 6844 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 6845 (WebKit::WebIDBServerConnection::count): 6846 (WebKit::WebIDBServerConnection::didCount): 6847 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 6848 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 6849 6850 Pass request along to the appropriate UniqueIDBDatabase: 6851 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 6852 (WebKit::DatabaseProcessIDBConnection::count): 6853 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 6854 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 6855 6856 Pass request to backing store thread, then pass it back to the WebProcess: 6857 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 6858 (WebKit::UniqueIDBDatabase::count): 6859 (WebKit::UniqueIDBDatabase::countInBackingStore): 6860 (WebKit::UniqueIDBDatabase::didCountInBackingStore): 6861 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 6862 6863 * Shared/AsyncTask.h: 6864 (WebKit::createAsyncTask): 6865 68662014-01-29 Carlos Garcia Campos <cgarcia@igalia.com> 6867 6868 Unreviewed. Fix the GTK+ build after r163037. 6869 6870 * UIProcess/API/gtk/WebKitWebView.cpp: 6871 (webkit_web_view_load_uri): 6872 (webkit_web_view_load_request): 6873 68742014-01-29 Csaba Osztrogonác <ossy@webkit.org> 6875 6876 Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers 6877 https://bugs.webkit.org/show_bug.cgi?id=127845 6878 6879 Reviewed by Joseph Pecoraro. 6880 6881 * Configurations/FeatureDefines.xcconfig: 6882 68832014-01-29 Dan Bernstein <mitz@apple.com> 6884 6885 Moved linking against common frameworks and a library from the .xcconfig file into the target. 6886 6887 Reviewed by Tim Horton. 6888 6889 * Configurations/WebKit2.xcconfig: 6890 * WebKit2.xcodeproj/project.pbxproj: 6891 68922014-01-29 Anders Carlsson <andersca@apple.com> 6893 6894 Fix 32-bit build. 6895 6896 * UIProcess/Cocoa/NavigationState.h: 6897 * UIProcess/Cocoa/NavigationState.mm: 6898 68992014-01-29 Anders Carlsson <andersca@apple.com> 6900 6901 Add a NavigationState object to keep track of the navigations for a given page 6902 https://bugs.webkit.org/show_bug.cgi?id=127884 6903 6904 Reviewed by Sam Weinig. 6905 6906 * UIProcess/API/Cocoa/WKNavigation.mm: 6907 (-[WKNavigation request]): 6908 (-[WKNavigation setRequest:]): 6909 * UIProcess/API/Cocoa/WKNavigationInternal.h: 6910 * UIProcess/API/Cocoa/WKWebView.mm: 6911 (-[WKWebView initWithFrame:configuration:]): 6912 (-[WKWebView loadRequest:]): 6913 * UIProcess/Cocoa/NavigationState.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm. 6914 * UIProcess/Cocoa/NavigationState.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm. 6915 (WebKit::NavigationState::NavigationState): 6916 (WebKit::NavigationState::~NavigationState): 6917 (WebKit::NavigationState::createLoadRequestNavigation): 6918 * UIProcess/WebPageProxy.cpp: 6919 (WebKit::WebPageProxy::loadRequest): 6920 * UIProcess/WebPageProxy.h: 6921 * WebKit2.xcodeproj/project.pbxproj: 6922 69232014-01-29 Gavin Barraclough <barraclough@apple.com> 6924 6925 Add IsVisibleOrOccluded to ViewState 6926 https://bugs.webkit.org/show_bug.cgi?id=127875 6927 6928 Reviewed by Anders Carlsson. 6929 6930 When the WKView associated with a plugin becomes occluded 6931 we tell the plugin it is no longer visible. This is a problem 6932 if the plugin is being occluded by its own fullscreen window. 6933 6934 Instead, consider plugins to be visible any time they are in 6935 a visible window – i.e. when they are visible or occluded. 6936 6937 * UIProcess/API/mac/PageClientImpl.h: 6938 * UIProcess/API/mac/PageClientImpl.mm: 6939 (WebKit::PageClientImpl::isViewVisibleOrOccluded): 6940 * UIProcess/PageClient.h: 6941 (WebKit::PageClient::isViewVisibleOrOccluded): 6942 - added isViewVisibleOrOccluded. 6943 * UIProcess/WebPageProxy.cpp: 6944 (WebKit::WebPageProxy::updateViewState): 6945 - update IsVisibleOrOccluded. 6946 (WebKit::WebPageProxy::viewStateDidChange): 6947 - when updating IsVisible also update IsVisibleOrOccluded. 6948 * WebProcess/Plugins/PluginView.cpp: 6949 (WebKit::PluginView::platformViewStateDidChange): 6950 - use isVisibleOrOccluded to determine plugin visibility. 6951 * WebProcess/WebPage/WebPage.h: 6952 (WebKit::WebPage::isVisibleOrOccluded): 6953 - accessor. 6954 69552014-01-29 Anders Carlsson <andersca@apple.com> 6956 6957 Pass navigation IDs along to LoadRequest and Reload 6958 https://bugs.webkit.org/show_bug.cgi?id=127883 6959 6960 Reviewed by Sam Weinig. 6961 6962 * UIProcess/WebPageProxy.cpp: 6963 (WebKit::WebPageProxy::WebPageProxy): 6964 (WebKit::WebPageProxy::loadRequest): 6965 (WebKit::WebPageProxy::loadFile): 6966 (WebKit::WebPageProxy::reload): 6967 (WebKit::WebPageProxy::generateNavigationID): 6968 * UIProcess/WebPageProxy.h: 6969 * WebProcess/WebPage/WebDocumentLoader.cpp: 6970 (WebKit::WebDocumentLoader::setNavigationID): 6971 * WebProcess/WebPage/WebPage.cpp: 6972 (WebKit::WebPage::WebPage): 6973 (WebKit::WebPage::loadRequest): 6974 (WebKit::WebPage::reload): 6975 (WebKit::WebPage::createDocumentLoader): 6976 * WebProcess/WebPage/WebPage.h: 6977 * WebProcess/WebPage/WebPage.messages.in: 6978 69792014-01-29 Anders Carlsson <andersca@apple.com> 6980 6981 -[WKWebView loadRequest:] should return a WKNavigation 6982 https://bugs.webkit.org/show_bug.cgi?id=127873 6983 6984 Reviewed by Dan Bernstein. 6985 6986 For now this just returns a dummy navigation. 6987 6988 * UIProcess/API/Cocoa/WKNavigation.h: 6989 * UIProcess/API/Cocoa/WKNavigation.mm: 6990 (-[WKNavigation initWithRequest:]): 6991 (-[WKNavigation request]): 6992 * UIProcess/API/Cocoa/WKNavigationInternal.h: Added. 6993 * UIProcess/API/Cocoa/WKWebView.h: 6994 * UIProcess/API/Cocoa/WKWebView.mm: 6995 (-[WKWebView loadRequest:]): 6996 * WebKit2.xcodeproj/project.pbxproj: 6997 69982014-01-29 Anders Carlsson <andersca@apple.com> 6999 7000 7001 7002 * UIProcess/API/C/WKPage.cpp: 7003 (WKPageLoadURL): 7004 Don't use the resource request constructor that takes a String. 7005 70062014-01-29 Brady Eidson <beidson@apple.com> 7007 7008 IDB: Fully implement IDBKeyData encoding/decoding 7009 https://bugs.webkit.org/show_bug.cgi?id=127863 7010 7011 Rubberstamped by Alexey Proskuryakov. 7012 7013 Handle invalid buffers, and pass IDBKeyData decoding along: 7014 * DatabaseProcess/IndexedDB/IDBSerialization.cpp: 7015 (WebKit::deserializeIDBKeyPath): 7016 (WebKit::serializeIDBKeyData): 7017 (WebKit::deserializeIDBKeyData): 7018 * DatabaseProcess/IndexedDB/IDBSerialization.h: 7019 7020 Implement decodeBool and decodeDouble: 7021 * Shared/cf/KeyedDecoder.cpp: 7022 (WebKit::KeyedDecoder::decodeBool): 7023 (WebKit::KeyedDecoder::decodeDouble): 7024 * Shared/cf/KeyedDecoder.h: 7025 70262014-01-29 Tim Horton <timothy_horton@apple.com> 7027 7028 WebKit2 View Gestures (Swipe): Update rubberBandsAt{Left,Right} when WebKit swipe is enabled 7029 https://bugs.webkit.org/show_bug.cgi?id=127855 7030 <rdar://problem/15933878> 7031 7032 Reviewed by Anders Carlsson. 7033 7034 * UIProcess/API/mac/WKView.mm: 7035 (-[WKView setAllowsBackForwardNavigationGestures:]): 7036 Enable implicit control of rubberbanding when using WebKit2's swipe implementation. 7037 7038 * UIProcess/WebPageProxy.cpp: 7039 (WebKit::WebPageProxy::WebPageProxy): 7040 (WebKit::WebPageProxy::sendWheelEvent): 7041 * UIProcess/WebPageProxy.h: 7042 (WebKit::WebPageProxy::setShouldUseImplicitRubberBandControl): 7043 (WebKit::WebPageProxy::shouldUseImplicitRubberBandControl): 7044 Rename away from "legacy" name, since we're using it on purpose now. 7045 7046 * UIProcess/mac/WebPageProxyMac.mm: 7047 (WebKit::expectsLegacyImplicitRubberBandControl): 7048 (WebKit::WebPageProxy::platformInitialize): 7049 Since NSVersionOfLinkTimeLibrary doesn't work for applications that 7050 don't link directly against the library (like Safari), let's explicitly 7051 check if Safari is expecting the legacy behavior, otherwise using 7052 the linked version of WebKit2, but using the new behavior if we can't 7053 determine the linked version of WebKit2 and are not Safari. 7054 70552014-01-29 Anders Carlsson <andersca@apple.com> 7056 7057 Make WKWebView limp along on OS X 7058 https://bugs.webkit.org/show_bug.cgi?id=127857 7059 7060 Reviewed by Tim Horton. 7061 7062 On Mac, create a WKView and add it as a subview of the WKWebVew so we'll actually get something 7063 on screen when creating a WKWebView. 7064 7065 * UIProcess/API/Cocoa/WKWebView.mm: 7066 (-[WKWebView initWithFrame:configuration:]): 7067 Create a WKView. 7068 7069 (-[WKWebView resizeSubviewsWithOldSize:]): 7070 Resize the WKView. 7071 7072 * UIProcess/API/mac/WKView.mm: 7073 (-[WKView initWithFrame:configuration:]): 7074 Add new initializer. 7075 7076 * UIProcess/API/mac/WKViewInternal.h: 7077 Use a class extension for internal methods and add the new initializer. 7078 70792014-01-29 Brady Eidson <beidson@apple.com> 7080 7081 IDB: Opening an existing database is broken 7082 https://bugs.webkit.org/show_bug.cgi?id=127851 7083 7084 Reviewed by Tim Hatcher. 7085 7086 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 7087 (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Save the request to get metadata 7088 to the set before posting the task to the thread. 7089 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 7090 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Actually save the retrieved 7091 object store metadata to the database metadata. 7092 70932014-01-29 Anders Carlsson <andersca@apple.com> 7094 7095 Consolidate page loading functions 7096 https://bugs.webkit.org/show_bug.cgi?id=127847 7097 7098 Reviewed by Tim Horton. 7099 7100 Get rid of the loadURL functions (and the LoadURL message), rename 7101 loadURLRequest to loadRequest and change it to take a ResourceRequest instead 7102 of an API::URLRequest. 7103 7104 * UIProcess/API/C/WKPage.cpp: 7105 (WKPageLoadURL): 7106 (WKPageLoadURLWithUserData): 7107 (WKPageLoadURLRequest): 7108 (WKPageLoadURLRequestWithUserData): 7109 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 7110 (-[WKBrowsingContextController loadRequest:userData:]): 7111 * UIProcess/API/Cocoa/WKWebView.mm: 7112 (-[WKWebView loadRequest:]): 7113 * UIProcess/WebInspectorProxy.cpp: 7114 (WebKit::decidePolicyForNavigationAction): 7115 (WebKit::WebInspectorProxy::createInspectorPage): 7116 * UIProcess/WebPageProxy.cpp: 7117 (WebKit::WebPageProxy::loadRequest): 7118 (WebKit::WebPageProxy::loadFile): 7119 * UIProcess/WebPageProxy.h: 7120 * UIProcess/cf/WebPageProxyCF.cpp: 7121 (WebKit::WebPageProxy::restoreFromSessionStateData): 7122 * WebProcess/WebPage/WebPage.cpp: 7123 (WebKit::WebPage::loadRequest): 7124 * WebProcess/WebPage/WebPage.h: 7125 * WebProcess/WebPage/WebPage.messages.in: 7126 71272014-01-29 Martin Robinson <mrobinson@igalia.com> 7128 7129 [GTK] [CMake] Fix the build after r162835 7130 https://bugs.webkit.org/show_bug.cgi?id=127753 7131 7132 Reviewed by Gustavo Noronha Silva. 7133 7134 * CMakeLists.txt: Add support for using the prefix header (GCC / clang only for now) 7135 when WebKit2_USE_PREFIX_HEADER is set to true. 7136 * PlatformGTK.cmake: Set WebKit2_USE_PREFIX_HEADER support and no longer process some message.in files. 7137 * WebKit2Prefix.h: Add support for the CMake GTK+ build. 7138 71392014-01-29 Csaba Osztrogonác <ossy@webkit.org> 7140 7141 Remove ENABLE(JAVASCRIPT_DEBUGGER) guards 7142 https://bugs.webkit.org/show_bug.cgi?id=127840 7143 7144 Reviewed by Mark Lam. 7145 7146 * WebProcess/WebPage/WebInspector.cpp: 7147 (WebKit::WebInspector::startJavaScriptDebugging): 7148 (WebKit::WebInspector::stopJavaScriptDebugging): 7149 (WebKit::WebInspector::setJavaScriptProfilingEnabled): 7150 (WebKit::WebInspector::startJavaScriptProfiling): 7151 (WebKit::WebInspector::stopJavaScriptProfiling): 7152 71532014-01-29 Brady Eidson <beidson@apple.com> 7154 7155 IDB: Serialize IDBKeyDatas to disk, not IDBKeys 7156 https://bugs.webkit.org/show_bug.cgi?id=127829 7157 7158 Reviewed by Tim Horton. 7159 7160 Serialize IDBKeyDatas, not IDBKeys. 7161 7162 * DatabaseProcess/IndexedDB/IDBSerialization.cpp: 7163 (WebKit::deserializeIDBKeyPath): 7164 (WebKit::serializeIDBKeyData): 7165 * DatabaseProcess/IndexedDB/IDBSerialization.h: 7166 7167 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 7168 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): 7169 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): 7170 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): 7171 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): 7172 71732014-01-29 Carlos Garcia Campos <cgarcia@igalia.com> 7174 7175 Unreviewed. Fix GTK+ build after r162981. 7176 7177 * GNUmakefile.list.am: Add WebProcess/WebPage/WebDocumentLoader to 7178 the compilation. 7179 71802014-01-29 Carlos Garcia Campos <cgarcia@igalia.com> 7181 7182 Unreviewed. Actually fix the GTK+ build after r162967. 7183 7184 * UIProcess/API/gtk/WebKitWebView.cpp: 7185 (webkit_web_view_can_go_back): 7186 (webkit_web_view_can_go_forward): 7187 71882014-01-28 Zan Dobersek <zdobersek@igalia.com> 7189 7190 Unreviewed followup to r163006. That change incorrectly modified 7191 webkit_web_view_go_forward when webkit_web_view_can_go_forward needed fixing. 7192 7193 * UIProcess/API/gtk/WebKitWebView.cpp: 7194 (webkit_web_view_go_forward): 7195 (webkit_web_view_can_go_forward): 7196 71972014-01-28 Zan Dobersek <zdobersek@igalia.com> 7198 7199 Unreviewed GTK build fix after r162967. 7200 7201 * UIProcess/API/gtk/WebKitWebView.cpp: 7202 (webkit_web_view_can_go_back): 7203 (webkit_web_view_go_forward): 7204 72052014-01-28 Tim Horton <timothy_horton@apple.com> 7206 7207 Crashes in ViewGestureController::wheelEventWasNotHandledByWebCore 7208 https://bugs.webkit.org/show_bug.cgi?id=127828 7209 <rdar://problem/15932902> 7210 7211 Reviewed by Dan Bernstein. 7212 7213 * UIProcess/API/mac/WKView.mm: 7214 (-[WKView _wheelEventWasNotHandledByWebCore:]): 7215 Null check. ViewGestureController only needs unhandled wheel events after it has been created. 7216 72172014-01-28 Tim Horton <timothy_horton@apple.com> 7218 7219 Fix the Mountain Lion build if you have private headers. 7220 7221 * UIProcess/mac/ViewGestureController.mm: 7222 (WebKit::ViewGestureController::beginSwipeGesture): 7223 72242014-01-28 Ian Henderson <ianh@apple.com> 7225 7226 [iOS] UI process crashes whenever web process crashes 7227 https://bugs.webkit.org/show_bug.cgi?id=127826 7228 7229 Reviewed by Tim Horton. 7230 7231 * UIProcess/API/ios/WKContentView.mm: 7232 (-[WKContentView _updateFixedPositionRect]): Null-check the drawing 7233 area before calling size() on it. 7234 72352014-01-28 Ian Henderson <ianh@apple.com> 7236 7237 WKRemoteObjectCoder should support more argument types 7238 https://bugs.webkit.org/show_bug.cgi?id=127824 7239 7240 Reviewed by Anders Carlsson. 7241 7242 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 7243 (encodeInvocation): Support encoding char values. 7244 (decodeInvocationArguments): Support decoding char values. 7245 72462014-01-28 Ryuan Choi <ryuan.choi@samsung.com> 7247 7248 Unreviewed build fix on the cmake based port after r162981 7249 7250 One more build fix. 7251 7252 * CMakeLists.txt: Added WebDocumentLoader.cpp 7253 72542014-01-28 Ryuan Choi <ryuan.choi@samsung.com> 7255 7256 Unreviewed build fix on the EFL build after r162984 7257 7258 r162984 added wheelEventWasNotHandledByWebCore which is guarded to PLATFORM(MAC). 7259 7260 * UIProcess/WebPageProxy.cpp: 7261 (WebKit::WebPageProxy::didReceiveEvent): 7262 72632014-01-28 Anders Carlsson <andersca@apple.com> 7264 7265 Fix a thinko. 7266 7267 * UIProcess/WebPageProxy.cpp: 7268 (WebKit::WebPageProxy::goBack): 7269 Remove early return if isValid() is true. 7270 72712014-01-28 Anders Carlsson <andersca@apple.com> 7272 7273 WebPage should be in charge of creating document loaders 7274 https://bugs.webkit.org/show_bug.cgi?id=127818 7275 7276 Reviewed by Dan Bernstein. 7277 7278 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7279 (WebKit::WebFrameLoaderClient::createDocumentLoader): 7280 * WebProcess/WebPage/WebPage.cpp: 7281 (WebKit::WebPage::createDocumentLoader): 7282 * WebProcess/WebPage/WebPage.h: 7283 72842014-01-28 Carlos Alberto Lopez Perez <clopez@igalia.com> 7285 7286 Unreviewed GTK build fix after r162951. 7287 https://bugs.webkit.org/show_bug.cgi?id=127815 7288 7289 * GNUmakefile.list.am: Adding missing build targets. 7290 72912014-01-28 Tim Horton <timothy_horton@apple.com> 7292 7293 WebKit2 View Gestures (Swipe): Give WebCore the first crack at scroll events if it needs it 7294 https://bugs.webkit.org/show_bug.cgi?id=127396 7295 7296 Reviewed by Anders Carlsson. 7297 7298 * UIProcess/API/ios/PageClientImplIOS.h: 7299 * UIProcess/API/ios/PageClientImplIOS.mm: 7300 (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): 7301 * UIProcess/API/mac/PageClientImpl.h: 7302 * UIProcess/API/mac/PageClientImpl.mm: 7303 (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore): 7304 * UIProcess/API/mac/WKView.mm: 7305 (-[WKView _wheelEventWasNotHandledByWebCore:]): 7306 * UIProcess/API/mac/WKViewInternal.h: 7307 * UIProcess/PageClient.h: 7308 * UIProcess/WebPageProxy.cpp: 7309 (WebKit::WebPageProxy::didReceiveEvent): 7310 In addition to informing the page client about un-handled wheel events, 7311 inform the ViewGestureController, in a roundabout way. 7312 7313 * UIProcess/mac/ViewGestureController.h: 7314 Add and use SwipeDirection enum instead of 'bool willSwipeLeft'. 7315 7316 * UIProcess/mac/ViewGestureController.mm: 7317 (WebKit::ViewGestureController::ViewGestureController): 7318 (WebKit::ViewGestureController::handleScrollWheelEvent): 7319 If we get a Begin scroll wheel event, any previously deferred 7320 swipes are invalid. 7321 7322 If the page has subframes or wheel handlers, defer starting the 7323 swipe until we get a wheelEventWasNotHandledByWebCore back from the WebProcess. 7324 7325 (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore): 7326 Start the swipe if the WebProcess didn't eat the event. 7327 7328 (WebKit::ViewGestureController::trackSwipeGesture): 7329 (WebKit::ViewGestureController::beginSwipeGesture): 7330 (WebKit::ViewGestureController::handleSwipeGesture): 7331 Use SwipeDirection. 7332 73332014-01-28 Anders Carlsson <andersca@apple.com> 7334 7335 Fix build. 7336 7337 * WebProcess/WebPage/WebFrame.cpp: 7338 73392014-01-28 Anders Carlsson <andersca@apple.com> 7340 7341 Add WebDocumentLoader, a WebCore::DocumentLoader subclass 7342 https://bugs.webkit.org/show_bug.cgi?id=127817 7343 7344 Reviewed by Tim Horton. 7345 7346 We need a place to store navigation IDs, and since they are per document loader, putting them 7347 in a DocumentLoader subclass seems like a good idea. 7348 7349 * WebKit2.xcodeproj/project.pbxproj: 7350 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7351 (WebKit::WebFrameLoaderClient::createDocumentLoader): 7352 * WebProcess/WebPage/WebDocumentLoader.cpp: Added. 7353 (WebKit::WebDocumentLoader::WebDocumentLoader): 7354 (WebKit::WebDocumentLoader::setNavigationID): 7355 * WebProcess/WebPage/WebDocumentLoader.h: Added. 7356 (WebKit::WebDocumentLoader::create): 7357 (WebKit::WebDocumentLoader::navigationID): 7358 73592014-01-28 Anders Carlsson <andersca@apple.com> 7360 7361 Simplify WebFrame::isMainFrame 7362 https://bugs.webkit.org/show_bug.cgi?id=127812 7363 7364 Reviewed by Sam Weinig. 7365 7366 * WebProcess/WebPage/WebFrame.cpp: 7367 (WebKit::WebFrame::isMainFrame): 7368 73692014-01-28 Andy Estes <aestes@apple.com> 7370 7371 [iOS] Set INSTALL_PATH_ACTUAL when building WebKit2 for the iOS Simulator 7372 https://bugs.webkit.org/show_bug.cgi?id=127811 7373 7374 Reviewed by Dan Bernstein. 7375 7376 * Configurations/WebKit2.xcconfig: 7377 73782014-01-28 Jinwoo Song <jinwoo7.song@samsung.com> 7379 7380 Unreviewed EFL WebKit2 build fix. 7381 7382 * CMakeLists.txt: Added Shared/NavigationActionData.cpp 7383 73842014-01-28 Anders Carlsson <andersca@apple.com> 7385 7386 Remove WebPageProxy::canGoBack and WebPageProxy::canGoForward 7387 https://bugs.webkit.org/show_bug.cgi?id=127803 7388 7389 Reviewed by Andreas Kling. 7390 7391 * UIProcess/API/C/WKPage.cpp: 7392 (WKPageCanGoForward): 7393 (WKPageCanGoBack): 7394 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 7395 (-[WKBrowsingContextController canGoForward]): 7396 (-[WKBrowsingContextController canGoBack]): 7397 * UIProcess/WebPageProxy.cpp: 7398 (WebKit::WebPageProxy::goForward): 7399 (WebKit::WebPageProxy::goBack): 7400 (WebKit::WebPageProxy::sendWheelEvent): 7401 * UIProcess/WebPageProxy.h: 7402 74032014-01-28 Anders Carlsson <andersca@apple.com> 7404 7405 API::PolicyClient::decidePolicyForNavigationAction should take a NavigationActionData object 7406 https://bugs.webkit.org/show_bug.cgi?id=127798 7407 7408 Reviewed by Tim Horton. 7409 7410 * UIProcess/API/APIPolicyClient.h: 7411 (API::PolicyClient::decidePolicyForNavigationAction): 7412 * UIProcess/API/C/WKPage.cpp: 7413 (WKPageSetPagePolicyClient): 7414 * UIProcess/WebPageProxy.cpp: 7415 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 7416 74172014-01-28 Anders Carlsson <andersca@apple.com> 7418 7419 Add an empty WKNavigation class 7420 https://bugs.webkit.org/show_bug.cgi?id=127796 7421 7422 Reviewed by Tim Horton. 7423 7424 * UIProcess/API/Cocoa/WKNavigation.h: Added. 7425 * UIProcess/API/Cocoa/WKNavigation.mm: Added. 7426 * WebKit2.xcodeproj/project.pbxproj: 7427 74282014-01-28 Anders Carlsson <andersca@apple.com> 7429 7430 Add a NavigationActionData object for easy storage of navigation action data 7431 https://bugs.webkit.org/show_bug.cgi?id=127787 7432 7433 Reviewed by Tim Horton. 7434 7435 * Scripts/webkit2/messages.py: 7436 (struct_or_class): 7437 * Shared/NavigationActionData.cpp: Added. 7438 (WebKit::NavigationActionData::NavigationActionData): 7439 (WebKit::NavigationActionData::encode): 7440 (WebKit::NavigationActionData::decode): 7441 * Shared/NavigationActionData.h: Added. 7442 * UIProcess/WebPageProxy.cpp: 7443 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 7444 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 7445 * UIProcess/WebPageProxy.h: 7446 * UIProcess/WebPageProxy.messages.in: 7447 * WebKit2.xcodeproj/project.pbxproj: 7448 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 7449 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 7450 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 7451 74522014-01-28 Tim Horton <timothy_horton@apple.com> 7453 7454 Fix the Mountain Lion build. 7455 7456 * UIProcess/mac/ViewGestureController.mm: 7457 (WebKit::ViewGestureController::beginSwipeGesture): 7458 (WebKit::ViewGestureController::removeSwipeSnapshot): 7459 * UIProcess/mac/ViewSnapshotStore.mm: 7460 (WebKit::ViewSnapshotStore::recordSnapshot): 7461 74622014-01-28 Tim Horton <timothy_horton@apple.com> 7463 7464 Fix the iOS build. 7465 7466 * UIProcess/WebPageProxy.cpp: 7467 (WebKit::WebPageProxy::recordNavigationSnapshot): 7468 * UIProcess/mac/ViewSnapshotStore.h: 7469 * UIProcess/mac/ViewSnapshotStore.mm: 7470 74712014-01-28 Brady Eidson <beidson@apple.com> 7472 7473 Remove unneeded “WebCore::” prefixing in two .cpp files. 7474 7475 Rubberstamped by Alexey Proskuryakov. 7476 7477 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 7478 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 7479 74802014-01-28 Tim Horton <timothy_horton@apple.com> 7481 7482 WebKit2 View Gestures (Swipe): Snapshots should be purgeable 7483 https://bugs.webkit.org/show_bug.cgi?id=127390 7484 <rdar://problem/15876775> 7485 7486 Reviewed by Anders Carlsson. 7487 7488 Make snapshots be purgeable, and implement a straightforward 7489 (if perhaps expensive, for now) cache eviction strategy to limit the 7490 number of snapshots to 20. 7491 7492 * UIProcess/mac/ViewGestureController.mm: 7493 (WebKit::ViewGestureController::beginSwipeGesture): 7494 When beginning a gesture, attempt to make the retrieved snapshot 7495 non-volatile. If it was purged while volatile, we won't use it, but if it 7496 is still valid, we'll go ahead and use it as the swipe layer's contents. 7497 7498 (WebKit::ViewGestureController::removeSwipeSnapshot): 7499 When removing the swipe snapshot, make it volatile once again. 7500 7501 * UIProcess/mac/ViewSnapshotStore.h: 7502 Store a creation time along with the image. 7503 Store and return IOSurfaces instead of CGImages. 7504 Store snapshots and render tree sizes separately, so that we can 7505 throw away snapshots but keep the render tree sizes indefinitely. 7506 7507 * UIProcess/mac/ViewSnapshotStore.mm: 7508 (WebKit::ViewSnapshotStore::pruneSnapshots): 7509 Cap the number of snapshots we'll ever have live at 20. 7510 Enforce this cap by first trying to remove snapshots farthest 7511 from the current back-forward list's current item, falling back 7512 to removing the least recently created snapshot if there are no 7513 snapshots owned by the current back-forward list. 7514 7515 (WebKit::createIOSurfaceFromImage): 7516 Build an IOSurface from the CGImage snapshot we took, for ease of 7517 use of its purgeability API. 7518 7519 (WebKit::ViewSnapshotStore::recordSnapshot): 7520 Bail from taking the snapshot if the image is empty; this can happen 7521 if the view is out of the window when the snapshot is taken. 7522 7523 Mark snapshots as purgeable as soon as they go into the cache. 7524 7525 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): 7526 Return the target render tree size even if there is no snapshot image. 7527 Take care not to look up an empty UUID. 7528 75292014-01-27 Alexey Proskuryakov <ap@apple.com> 7530 7531 Expose SQL database creation and modification times 7532 https://bugs.webkit.org/show_bug.cgi?id=127728 7533 7534 Reviewed by Brady Eidson. 7535 7536 * Shared/WebCoreArgumentCoders.cpp: 7537 (IPC::ArgumentCoder<DatabaseDetails>::encode): 7538 (IPC::ArgumentCoder<DatabaseDetails>::decode): 7539 Encode and decode new DatabaseDetails member variables. 7540 7541 * UIProcess/API/C/WKDatabaseManager.cpp: 7542 (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey): 7543 (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey): 7544 * UIProcess/API/C/WKDatabaseManager.h: 7545 Added new keys for database details. 7546 7547 * UIProcess/WebDatabaseManagerProxy.cpp: 7548 (WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey): 7549 (WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey): 7550 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 7551 * UIProcess/WebDatabaseManagerProxy.h: 7552 Set the new keys if times are valid. 7553 75542014-01-28 Tim Horton <timothy_horton@apple.com> 7555 7556 WebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now 7557 https://bugs.webkit.org/show_bug.cgi?id=127768 7558 <rdar://problem/15923662> 7559 7560 Reviewed by Simon Fraser. 7561 7562 * UIProcess/API/mac/WKView.mm: 7563 (-[WKView _takeViewSnapshot]): 7564 Until <rdar://problem/15709646> is resolved, we'll use 7565 CGSCaptureWindowsContentsToRect instead of CGWindowListCreateImage. 7566 75672014-01-28 Mark Rowe <mrowe@apple.com> 7568 7569 <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build. 7570 7571 Reviewed by Ryosuke Niwa. 7572 7573 * UIProcess/API/mac/WKView.mm: 7574 (-[WKView _updateWindowAndViewFrames]): 7575 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 7576 75772014-01-28 Adrian Perez de Castro <aperez@igalia.com> 7578 7579 [GTK] Add API to allow setting the process model in WebKitWebContext 7580 https://bugs.webkit.org/show_bug.cgi?id=125463 7581 7582 Reviewed by Carlos Garcia Campos. 7583 7584 Implements accessors in WebKitWebContext for the process model. 7585 The default behavior is unchanged, and a single web process is 7586 used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW 7587 as the process model will make use one web process for each 7588 WebKitWebView. This also enables the network process. Setting 7589 the process model must be done as early as possible, before the 7590 very first web process is spawned. 7591 7592 * UIProcess/API/gtk/WebKitWebContext.cpp: 7593 Add accessors in the API to get/set the process model. 7594 (webkit_web_context_set_process_model): 7595 (webkit_web_context_get_process_model): 7596 * UIProcess/API/gtk/WebKitWebContext.h: 7597 Define the WebKitProcessModel enum. 7598 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 7599 Add new public API bits to the documentation. 7600 76012014-01-27 Carlos Garcia Campos <cgarcia@igalia.com> 7602 7603 [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols 7604 https://bugs.webkit.org/show_bug.cgi?id=127614 7605 7606 Reviewed by Gustavo Noronha Silva. 7607 7608 * NetworkProcess/RemoteNetworkingContext.h: Remove 7609 initiatingPageID() method. 7610 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Ditto. 7611 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: 7612 (WebKit::CustomProtocolManagerImpl::send): Create the request with 7613 the ResourceRequest constructor that receives a SoupRequest. 7614 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 7615 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode initiatingPageID. 7616 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode initiatingPageID. 7617 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 7618 (webkitURISchemeRequestCreate): Remove initiatingPageID parameter 7619 and get it from the given ResourceRequest. 7620 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: 7621 * UIProcess/API/gtk/WebKitWebContext.cpp: 7622 (webkitWebContextStartLoadingCustomProtocol): Update to 7623 webkitURISchemeRequestCreate API change. 7624 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 7625 (willSendRequestForFrame): Set the initiatingPageID to the ResourceRequest. 7626 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 7627 (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext): 7628 Remove initiatingPageID() method. 7629 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: 7630 * WebProcess/soup/WebSoupRequestManager.cpp: 7631 (WebKit::WebSoupRequestManager::send): Get the initiatingPageID 7632 from the SoupRequest using the ResourceRequest API. 7633 76342014-01-27 Roger Fong <roger_fong@apple.com> 7635 7636 WebGLLoadPolicy::WebGLAsk is an unnecessary value. 7637 https://bugs.webkit.org/show_bug.cgi?id=127755 7638 7639 Reviewed by Anders Carlsson. 7640 7641 * UIProcess/API/C/WKAPICast.h: 7642 (WebKit::toWebGLLoadPolicy): 7643 * UIProcess/API/C/WKPageLoaderClient.h: 7644 76452014-01-27 Brady Eidson <beidson@apple.com> 7646 7647 IDB: Cursor support - Messaging, IPC, Threading plumbing 7648 https://bugs.webkit.org/show_bug.cgi?id=127736 7649 7650 Reviewed by Sam Weinig. 7651 7652 Pipe three cursor-related calls to the DatabaseProcess, and handle messages 7653 from the database process when it is done handling them: 7654 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 7655 (WebKit::WebIDBServerConnection::didOpenCursor): 7656 (WebKit::WebIDBServerConnection::didAdvanceCursor): 7657 (WebKit::WebIDBServerConnection::didIterateCursor): 7658 (WebKit::WebIDBServerConnection::openCursor): 7659 (WebKit::WebIDBServerConnection::cursorAdvance): 7660 (WebKit::WebIDBServerConnection::cursorIterate): 7661 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 7662 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 7663 7664 Pipe the calls through to the appropriate UniqueIDBDatabase: 7665 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 7666 (WebKit::DatabaseProcessIDBConnection::openCursor): 7667 (WebKit::DatabaseProcessIDBConnection::cursorAdvance): 7668 (WebKit::DatabaseProcessIDBConnection::cursorIterate): 7669 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 7670 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 7671 7672 Pass the calls to the backing store thread, then message back to the WebProcess 7673 when the requests are complete. 7674 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 7675 (WebKit::UniqueIDBDatabase::openCursor): 7676 (WebKit::UniqueIDBDatabase::cursorAdvance): 7677 (WebKit::UniqueIDBDatabase::cursorIterate): 7678 (WebKit::UniqueIDBDatabase::openCursorInBackingStore): 7679 (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore): 7680 (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore): 7681 (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore): 7682 (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore): 7683 (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore): 7684 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 7685 7686 * Shared/WebCrossThreadCopier.cpp: 7687 (WebCore::Vector<char>>::copy): 7688 * Shared/WebCrossThreadCopier.h: 7689 76902014-01-27 Joseph Pecoraro <pecoraro@apple.com> 7691 7692 WebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed 7693 https://bugs.webkit.org/show_bug.cgi?id=127665 7694 7695 Reviewed by Anders Carlsson. 7696 7697 * Shared/UserData.cpp: 7698 (WebKit::UserData::encode): 7699 These look like they should not have fallen through! 7700 7701 * Configurations/Base.xcconfig: 7702 * Shared/mac/ObjCObjectGraphCoders.mm: 7703 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): 7704 77052014-01-27 Andy Estes <aestes@apple.com> 7706 7707 [WebKit2] Add SPI to disable the WebCore memory cache 7708 https://bugs.webkit.org/show_bug.cgi?id=127747 7709 7710 Reviewed by Tim Horton. 7711 7712 * Shared/WebProcessCreationParameters.cpp: 7713 (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): 7714 Initialized memoryCacheDisabled to false. 7715 (WebKit::WebProcessCreationParameters::encode): 7716 Encoded memoryCacheDisabled. 7717 (WebKit::WebProcessCreationParameters::decode): 7718 Decoded memoryCacheDisabled. 7719 * Shared/WebProcessCreationParameters.h: 7720 * UIProcess/API/C/WKContext.cpp: 7721 (WKContextSetMemoryCacheDisabled): 7722 Called WebContext::setMemoryCacheDisabled(). 7723 * UIProcess/API/C/WKContextPrivate.h: Declared new SPI. 7724 * UIProcess/WebContext.cpp: 7725 (WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false. 7726 (WebKit::WebContext::createNewWebProcess): 7727 Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled. 7728 (WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled 7729 and sent new value to all existing processes. 7730 * UIProcess/WebContext.h: 7731 * WebProcess/WebProcess.cpp: 7732 (WebKit::WebProcess::initializeWebProcess): 7733 Called WebProcess::setMemoryCacheDisabled(). 7734 (WebKit::WebProcess::setMemoryCacheDisabled): 7735 Called MemoryCache::setDisabled() if the disabled state changed. 7736 * WebProcess/WebProcess.h: 7737 * WebProcess/WebProcess.messages.in: 7738 77392014-01-27 Anders Carlsson <andersca@apple.com> 7740 7741 Add -[WKWebView loadRequest:] API 7742 https://bugs.webkit.org/show_bug.cgi?id=127727 7743 7744 Reviewed by Dan Bernstein. 7745 7746 * UIProcess/API/Cocoa/WKWebView.h: 7747 * UIProcess/API/Cocoa/WKWebView.mm: 7748 (-[WKWebView initWithFrame:configuration:]): 7749 (-[WKWebView loadRequest:]): 7750 77512014-01-27 Brady Eidson <beidson@apple.com> 7752 7753 IDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2) 7754 https://bugs.webkit.org/show_bug.cgi?id=127717 7755 7756 Reviewed by Tim Horton. 7757 7758 Update all related variable names since the type no longer contains the relevant info. 7759 7760 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 7761 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 7762 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 7763 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 7764 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 7765 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 7766 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 7767 * Shared/WebCrossThreadCopier.cpp: 7768 77692014-01-27 Anders Carlsson <andersca@apple.com> 7770 7771 Copy relevant code from the iOS version of WKView to WKWebView 7772 https://bugs.webkit.org/show_bug.cgi?id=127721 7773 7774 Reviewed by Dan Bernstein. 7775 7776 * UIProcess/API/Cocoa/WKWebView.mm: 7777 (-[WKWebView initWithFrame:configuration:]): 7778 (-[WKWebView setFrame:]): 7779 (-[WKWebView setBounds:]): 7780 (-[WKWebView scrollView]): 7781 (-[WKWebView browsingContextController]): 7782 (-[WKWebView contentView:contentsSizeDidChange:]): 7783 (-[WKWebView contentViewDidCommitLoadForMainFrame:]): 7784 (-[WKWebView contentViewDidReceiveMobileDocType:]): 7785 (-[WKWebView contentView:didChangeViewportArgumentsSize:initialScale:minimumScale:maximumScale:allowsUserScaling:]): 7786 (-[WKWebView viewportHandlerDidChangeScales:]): 7787 (-[WKWebView viewportHandler:didChangeViewportSize:]): 7788 (-[WKWebView viewForZoomingInScrollView:]): 7789 (-[WKWebView scrollViewWillBeginZooming:withView:]): 7790 (-[WKWebView _didFinishScroll]): 7791 (-[WKWebView scrollViewDidEndDragging:willDecelerate:]): 7792 (-[WKWebView scrollViewDidEndDecelerating:]): 7793 (-[WKWebView scrollViewDidScrollToTop:]): 7794 (-[WKWebView scrollViewDidScroll:]): 7795 (-[WKWebView scrollViewDidEndZooming:withView:atScale:]): 7796 (-[WKWebView _frameOrBoundsChanged]): 7797 (-[WKWebView _setDocumentScale:]): 7798 77992014-01-27 Tim Horton <timothy_horton@apple.com> 7800 7801 Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item. 7802 7803 We're leaving the parts that make us use PDFPlugin instead of showing the blocked 7804 plugin indicator intact, though. 7805 7806 * UIProcess/API/APILoaderClient.h: 7807 (API::LoaderClient::pluginLoadPolicy): 7808 * UIProcess/API/C/WKPage.cpp: 7809 (WKPageSetPageLoaderClient): 7810 * UIProcess/API/C/WKPageLoaderClient.h: 7811 * UIProcess/WebPageProxy.cpp: 7812 (WebKit::WebPageProxy::findPlugin): 7813 * UIProcess/WebPageProxy.h: 7814 * UIProcess/WebPageProxy.messages.in: 7815 * WebProcess/Plugins/PDF/PDFPlugin.h: 7816 * WebProcess/Plugins/PDF/PDFPlugin.mm: 7817 (WebKit::PDFPlugin::PDFPlugin): 7818 (WebKit::PDFPlugin::handleContextMenuEvent): 7819 * WebProcess/WebPage/WebPage.cpp: 7820 (WebKit::WebPage::createPlugin): 7821 (WebKit::WebPage::canPluginHandleResponse): 7822 78232014-01-27 Anders Carlsson <andersca@apple.com> 7824 7825 Add a WKContentView initializer that takes a WKWebViewConfiguration 7826 https://bugs.webkit.org/show_bug.cgi?id=127718 7827 7828 Reviewed by Tim Horton. 7829 7830 This initializer will be used by WKWebView. 7831 7832 * UIProcess/API/ios/WKContentView.h: 7833 * UIProcess/API/ios/WKContentView.mm: 7834 (-[WKContentView initWithFrame:configuration:]): 7835 78362014-01-27 Andy Estes <aestes@apple.com> 7837 7838 Scrub WebKit API headers of WTF macros 7839 https://bugs.webkit.org/show_bug.cgi?id=127706 7840 7841 Reviewed by David Kilzer. 7842 7843 * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR. 7844 78452014-01-27 Tim Horton <timothy_horton@apple.com> 7846 7847 Crashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID 7848 7849 Reviewed by Simon Fraser. 7850 7851 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 7852 (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID): 7853 Null-check the root scrolling node, in case something scrolls before 7854 we've made the first remote layer/scrolling tree commit. 7855 78562014-01-27 Brady Eidson <beidson@apple.com> 7857 7858 IDB: Rename "IDBTransactionIdentifier" to be more general purpose 7859 https://bugs.webkit.org/show_bug.cgi?id=127717 7860 7861 Reviewed by Tim Horton. 7862 7863 Global rename of IDBTransactionIdentifier to IDBIdentifier. 7864 7865 * DatabaseProcess/IndexedDB/IDBIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h. 7866 7867 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 7868 7869 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 7870 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 7871 7872 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 7873 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 7874 7875 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 7876 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 7877 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 7878 7879 * Shared/WebCrossThreadCopier.cpp: 7880 * Shared/WebCrossThreadCopier.h: 7881 7882 * WebKit2.xcodeproj/project.pbxproj: 7883 78842014-01-27 Anders Carlsson <andersca@apple.com> 7885 7886 Move underlying C++ objects to class extensions 7887 https://bugs.webkit.org/show_bug.cgi?id=127716 7888 7889 Reviewed by Tim Horton. 7890 7891 This allows us to get at the internals without calling any Obj-C methods. 7892 7893 * UIProcess/API/Cocoa/WKProcessClass.mm: 7894 * UIProcess/API/Cocoa/WKProcessClassInternal.h: 7895 * UIProcess/API/ios/WKContentView.mm: 7896 * UIProcess/API/ios/WKContentViewInternal.h: 7897 78982014-01-27 Anders Carlsson <andersca@apple.com> 7899 7900 Implement the _injectedBundleURL property 7901 https://bugs.webkit.org/show_bug.cgi?id=127714 7902 7903 Reviewed by Tim Horton. 7904 7905 Properties declared in class categories need to be implemented. Do this 7906 for the _injectedBundleURL property. 7907 7908 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: 7909 (-[WKProcessClassConfiguration _injectedBundleURL]): 7910 (-[WKProcessClassConfiguration _setInjectedBundleURL:]): 7911 79122014-01-27 Brady Eidson <beidson@apple.com> 7913 7914 IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks 7915 https://bugs.webkit.org/show_bug.cgi?id=127708 7916 7917 Reviewed by Tim Horton. 7918 7919 Update to new callback signatures: 7920 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 7921 (WebKit::WebIDBServerConnection::cursorAdvance): 7922 (WebKit::WebIDBServerConnection::cursorIterate): 7923 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 7924 79252014-01-27 Anders Carlsson <andersca@apple.com> 7926 7927 Tweak the WKWebView and WKWebViewConfiguration headers 7928 https://bugs.webkit.org/show_bug.cgi?id=127705 7929 7930 Reviewed by Dan Bernstein. 7931 7932 Add WK_API_CLASS to WKWebView and make WKWebView.h and WKWebViewConfiguration.h public. 7933 7934 * UIProcess/API/Cocoa/WKWebView.h: 7935 * WebKit2.xcodeproj/project.pbxproj: 7936 79372014-01-27 Brady Eidson <beidson@apple.com> 7938 7939 IDB: Remove unused concept of "cursor prefetch" 7940 https://bugs.webkit.org/show_bug.cgi?id=127700 7941 7942 Reviewed by Tim Horton. 7943 7944 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 7945 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 7946 79472014-01-27 Tim Horton <timothy_horton@apple.com> 7948 7949 Fix the build on case-sensitive filesystems 7950 7951 * WebProcess/WebPage/ViewGestureGeometryCollector.h: 7952 79532014-01-27 Brady Eidson <beidson@apple.com> 7954 7955 IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store 7956 https://bugs.webkit.org/show_bug.cgi?id=127592 7957 7958 Reviewed by Tim Horton. 7959 7960 Update the WebIDBServerConnection to the new callback signatures: 7961 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 7962 (WebKit::WebIDBServerConnection::openCursor): 7963 (WebKit::WebIDBServerConnection::count): 7964 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 7965 79662014-01-27 Tim Horton <timothy_horton@apple.com> 7967 7968 WebKit2 View Gestures: Fluid back-forward swipe 7969 https://bugs.webkit.org/show_bug.cgi?id=127363 7970 7971 Reviewed by Anders Carlsson. 7972 7973 Add support for a "back-forward swipe", which allows fluid swiping between 7974 items in the back-forward list. Currently disabled by default. 7975 7976 * Shared/WebPreferencesStore.h: 7977 * UIProcess/API/C/WKPreferences.cpp: 7978 (WKPreferencesSetViewGestureDebuggingEnabled): 7979 (WKPreferencesGetViewGestureDebuggingEnabled): 7980 * UIProcess/API/C/WKPreferencesPrivate.h: 7981 Add a ViewGestureDebuggingEnabled preference, which currently causes snapshots to be blurred. 7982 Additional view gesture debugging features could come in the future. 7983 7984 * UIProcess/API/Cocoa/WKViewPrivate.h: 7985 * UIProcess/API/mac/WKView.mm: 7986 (-[WKView _ensureGestureController]): 7987 (-[WKView scrollWheel:]): 7988 If back-forward navigation gestures are enabled, intercept scrollWheel events 7989 on the WKView and let the ViewGestureController take the first crack at them. 7990 7991 (-[WKView setAllowsBackForwardNavigationGestures:]): 7992 (-[WKView allowsBackForwardNavigationGestures]): 7993 * UIProcess/API/mac/WKViewInternal.h: 7994 Add allowsBackForwardNavigationGesture property, which enables the gesture. 7995 7996 * UIProcess/mac/ViewGestureController.h: 7997 Add swipe-related methods, which will be described below. 7998 7999 Add an enum for the swipe transition style. Currently only Overlap is accessible, 8000 but in the future one could see having API to choose the style. 8001 'Overlap' has the outgoing page swipe out to the right (when swiping right) 8002 or the incoming page swipe in from the right (when swiping left). 8003 'Push' has the pages push each other along in sync, as if all the pages in the 8004 back-forward list were oriented from left to right. 8005 8006 * UIProcess/mac/ViewGestureController.messages.in: 8007 * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp. 8008 Use some CAFilter SPI to blur the snapshot if ViewGestureDebuggingEnabled is on. 8009 8010 (WebKit::ViewGestureController::ViewGestureController): 8011 (WebKit::ViewGestureController::~ViewGestureController): 8012 (WebKit::ViewGestureController::endMagnificationGesture): 8013 Move m_activeGestureType clearing to each end* function instead of one global place, 8014 so that each gesture can handle when it ends separately. 8015 8016 (WebKit::ViewGestureController::handleScrollWheelEvent): 8017 If we receive a scroll wheel event which is appropriate for starting a 8018 fluid swipe, in a direction where the main frame is pinned to the appropriate 8019 edge of the view, start tracking a swipe. 8020 8021 This should eventually have some hysterisis to avoid stealing scrolls that 8022 venture into the wrong direction, but for now it starts tracking immediately. 8023 8024 Forward events from the tracking loop to {begin, handle, end}SwipeGesture. 8025 8026 (WebKit::ViewGestureController::beginSwipeGesture): 8027 Create a layer with the destination page's snapshot, and set it up. 8028 8029 (WebKit::ViewGestureController::handleSwipeGesture): 8030 Appropriately adjust the position of the root layer and snapshot layer, 8031 given the transition style and swipe direction. 8032 8033 (WebKit::ViewGestureController::endSwipeGesture): 8034 When the gesture ends, do the navigation, and tell the WebProcess to 8035 inform us when the render tree hits half the size it was when the 8036 snapshot was taken (when that happens, we will remove the snapshot 8037 and the gesture will be truly complete). Also, start a watchdog timer 8038 in case the render tree never hits that size, after which we will 8039 also remove the snapshot. 8040 8041 (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold): 8042 (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired): 8043 (WebKit::ViewGestureController::removeSwipeSnapshot): 8044 Tear down the swipe snapshot layer, and mark our current gesture as complete. 8045 8046 (WebKit::ViewGestureController::endActiveGesture): 8047 Simplify endActiveGesture; it only has work to do for a pinch-zoom gesture, 8048 as those are the only gestures where the user is directly in control of when they end. 8049 8050 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: 8051 (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector): 8052 (WebKit::ViewGestureGeometryCollector::mainFrameDidLayout): 8053 (WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired): 8054 * WebProcess/WebPage/ViewGestureGeometryCollector.h: 8055 (WebKit::ViewGestureGeometryCollector::setRenderTreeSizeNotificationThreshold): 8056 * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in: 8057 ViewGestureController pushes a render-tree size threshold to the WebProcess; 8058 ViewGestureGeometryCollector (whose name is now more unfortunate than before) 8059 monitors render-tree size changes and informs ViewGestureController when 8060 it reaches that threshold via the 'DidHitRenderTreeSizeThreshold' message. 8061 8062 * UIProcess/API/Cocoa/WKViewPrivate.h: 8063 * UIProcess/API/ios/PageClientImplIOS.h: 8064 * UIProcess/API/ios/PageClientImplIOS.mm: 8065 (WebKit::PageClientImpl::acceleratedCompositingRootLayer): 8066 * UIProcess/API/mac/PageClientImpl.h: 8067 * UIProcess/API/mac/PageClientImpl.mm: 8068 (WebKit::PageClientImpl::acceleratedCompositingRootLayer): 8069 * UIProcess/API/mac/WKView.mm: 8070 (-[WKView _acceleratedCompositingModeRootLayer]): 8071 * UIProcess/API/mac/WKViewInternal.h: 8072 * UIProcess/PageClient.h: 8073 * UIProcess/WebPageProxy.h: 8074 * UIProcess/mac/WebPageProxyMac.mm: 8075 (WebKit::WebPageProxy::acceleratedCompositingRootLayer): 8076 Add a getter for the accelerated compositing root layer. 8077 8078 * UIProcess/mac/ViewSnapshotStore.mm: 8079 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): 8080 Don't extract the CGImageRef from a RetainPtr just to put it back in one. 8081 80822014-01-27 Carlos Garcia Campos <cgarcia@igalia.com> 8083 8084 [GTK] Implement custom URI schemes with CustomProtocols 8085 https://bugs.webkit.org/show_bug.cgi?id=127091 8086 8087 Reviewed by Gustavo Noronha Silva. 8088 8089 The old classes are no longer built for GTK+ and should be removed once 8090 other ports using soup backend switch to custom protocols implementation. 8091 8092 * GNUmakefile.am: Remove include path. 8093 * GNUmakefile.list.am: Remove files from compilation. 8094 * PlatformGTK.cmake: Ditto. 8095 * UIProcess/API/gtk/WebKitPrivate.h: 8096 * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: 8097 (startLoading): 8098 (stopLoading): 8099 (attachRequestManagerClientToContext): 8100 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 8101 (webkitURISchemeRequestCreate): 8102 (webkit_uri_scheme_request_get_web_view): 8103 (webkitURISchemeRequestReadCallback): 8104 (webkit_uri_scheme_request_finish): 8105 (webkit_uri_scheme_request_finish_error): 8106 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: 8107 * UIProcess/API/gtk/WebKitWebContext.cpp: 8108 (createDefaultWebContext): 8109 (webkit_web_context_register_uri_scheme): 8110 (webkitWebContextGetRequestManager): 8111 (webkitWebContextStartLoadingCustomProtocol): 8112 (webkitWebContextStopLoadingCustomProtocol): 8113 (webkitWebContextDidFinishLoadingCustomProtocol): 8114 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 8115 * UIProcess/gtk/WebContextGtk.cpp: 8116 (WebKit::WebContext::platformInitializeWebProcess): 8117 * WebKit2Prefix.h: Enable CustomProtocols unconditionally for the 8118 GTK+ port. 8119 81202014-01-27 Carlos Garcia Campos <cgarcia@igalia.com> 8121 8122 [SOUP] WebProcess sometimes crashes when a download is cancelled 8123 https://bugs.webkit.org/show_bug.cgi?id=127650 8124 8125 Reviewed by Martin Robinson. 8126 8127 The problem is that when the download is cancelled, the download 8128 manager removes the download from the map and it's deleted. The 8129 Download destructor calls platformInvalidate() that cancels the 8130 resource handle if there's still one. We set to nullptr the 8131 ResourceHandle when the download is cancelled to avoid cancelling 8132 it twice, but it's done after calling Download::didCancel(). It 8133 should be done before, because at that moment, when the download 8134 is deleted, the resource handle pointer is still valid. 8135 8136 * Shared/Downloads/soup/DownloadSoup.cpp: 8137 (WebKit::Download::cancel): 8138 81392014-01-25 Sam Weinig <sam@webkit.org> 8140 8141 Remove unused support for DRAGGABLE_REGION 8142 https://bugs.webkit.org/show_bug.cgi?id=127642 8143 8144 Reviewed by Simon Fraser. 8145 8146 * Configurations/FeatureDefines.xcconfig: 8147 81482014-01-25 Anders Carlsson <andersca@apple.com> 8149 8150 Remove an unused FrameLoaderClient function 8151 https://bugs.webkit.org/show_bug.cgi?id=127628 8152 8153 Reviewed by Andreas Kling. 8154 8155 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 8156 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 8157 81582014-01-25 Anders Carlsson <andersca@apple.com> 8159 8160 Remove atomicIncrement/atomicDecrement 8161 https://bugs.webkit.org/show_bug.cgi?id=127625 8162 8163 Reviewed by Andreas Kling. 8164 8165 Replace atomicIncrement/atomicDecrement with std::atomic. 8166 8167 * Platform/IPC/Connection.cpp: 8168 (IPC::Connection::createSyncMessageEncoder): 8169 * Shared/mac/SecItemShim.cpp: 8170 (WebKit::generateSecItemRequestID): 8171 * UIProcess/StatisticsRequest.cpp: 8172 (WebKit::StatisticsRequest::addOutstandingRequest): 8173 81742014-01-25 Anders Carlsson <andersca@apple.com> 8175 8176 Modernize HashTable threading code 8177 https://bugs.webkit.org/show_bug.cgi?id=127621 8178 8179 Reviewed by Darin Adler. 8180 8181 Explicitly include headers that used to be brought in by HashTable.h 8182 8183 * Shared/BlockingResponseMap.h: 8184 81852014-01-25 Zan Dobersek <zdobersek@igalia.com> 8186 8187 [GTK] Remove null check for WebPopupMenuProxy::Client in WebPopupMenuProxyGtk::showPopupMenu 8188 https://bugs.webkit.org/show_bug.cgi?id=107036 8189 8190 Reviewed by Andreas Kling. 8191 8192 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 8193 (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Don't perform an early return 8194 if the client is not available - it always should be. The client is set to null 8195 only when the proxy is invalidated. This happens immediately after this function 8196 returns, either with the popup being forced to close or being closed by the user 8197 with possibly an item being chosen. Rather than the early return, use an ASSERT. 8198 81992014-01-24 Tim Horton <timothy_horton@apple.com> 8200 8201 WebKit2 View Gestures (Smart Zoom): Can't double-tap zoom-out on the body 8202 https://bugs.webkit.org/show_bug.cgi?id=127602 8203 8204 Reviewed by Anders Carlsson. 8205 8206 * UIProcess/mac/ViewGestureController.h: 8207 * UIProcess/mac/ViewGestureController.mm: 8208 (WebKit::ViewGestureController::ViewGestureController): 8209 (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture): 8210 Use an explicit boolean instead of the emptiness of the renderRect() to determine 8211 whether or not the user has already smart-zoomed. renderRect() can be 0x0 8212 if our hit-test hits the body element. 8213 82142014-01-24 Jinwoo Song <jinwoo7.song@samsung.com> 8215 8216 Fix EFL WebKit2 build. 8217 8218 * WebProcess/WebPage/efl/WebPageEfl.cpp: 8219 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 8220 82212014-01-24 Anders Carlsson <andersca@apple.com> 8222 8223 Fix GTK+ WebKit2 build. 8224 8225 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 8226 (WebKit::WebPage::performDefaultBehaviorForKeyEvent): 8227 82282014-01-24 Simon Fraser <simon.fraser@apple.com> 8229 8230 Start using the RemoteScrollingCoordinatorProxy on iOS 8231 https://bugs.webkit.org/show_bug.cgi?id=127598 8232 8233 Reviewed by Tim Horton. 8234 8235 Add a scrollPositionChangedViaDelegatedScrolling() function to 8236 ScrollingTree, allowing the ScrollingTree to be informed about 8237 external sources of scrolling. 8238 8239 Call it from -[WKContentView didScrollTo:] for the root node. 8240 8241 * UIProcess/API/ios/WKContentView.mm: 8242 (-[WKContentView didScrollTo:]): 8243 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 8244 (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID): 8245 (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling): 8246 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: 8247 82482014-01-24 Anders Carlsson <andersca@apple.com> 8249 8250 Try to fix the GTK+ build. 8251 8252 * GNUmakefile.list.am: 8253 82542014-01-24 Anders Carlsson <andersca@apple.com> 8255 8256 Remove back/forward list related functions from Page 8257 https://bugs.webkit.org/show_bug.cgi?id=127596 8258 8259 Reviewed by Andreas Kling. 8260 8261 * WebProcess/WebPage/mac/WebPageMac.mm: 8262 (WebKit::WebPage::performNonEditingBehaviorForSelector): 8263 82642014-01-24 Jinwoo Song <jinwoo7.song@samsung.com> 8265 8266 Unreviewed build fix attemp on the EFL after r162728. 8267 8268 * CMakeLists.txt: Removed WebLoaderClient.cpp 8269 82702014-01-24 Simon Fraser <simon.fraser@apple.com> 8271 8272 Prepare scrolling tree to handle > 1 scrolling node 8273 https://bugs.webkit.org/show_bug.cgi?id=127590 8274 8275 Reviewed by Tim Horton. 8276 8277 Clean up the code path called after the ScrollingTree has scrolled a node, 8278 to prepare for multiple scrolling nodes. 8279 8280 Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll", 8281 and pass along the ScrollingNodeID that scrolled. 8282 8283 * UIProcess/Scrolling/RemoteScrollingTree.cpp: 8284 (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll): 8285 * UIProcess/Scrolling/RemoteScrollingTree.h: 8286 * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: 8287 (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode): 8288 82892014-01-24 Simon Fraser <simon.fraser@apple.com> 8290 8291 #ifdef out handleWheelEventPhase for iOS 8292 https://bugs.webkit.org/show_bug.cgi?id=127583 8293 8294 Reviewed by Tim Horton. 8295 8296 handleWheelEventPhase() doesn't make any sense for iOS, which 8297 has no wheel events. 8298 8299 * UIProcess/Scrolling/RemoteScrollingTree.cpp: 8300 * UIProcess/Scrolling/RemoteScrollingTree.h: 8301 83022014-01-24 Simon Fraser <simon.fraser@apple.com> 8303 8304 Push a custom fixed position rect down to the WebProcess in iOS WK2 8305 https://bugs.webkit.org/show_bug.cgi?id=127573 8306 8307 Reviewed by Tim Horton. 8308 8309 Make it possible for WKContentView to specify a custom rect 8310 used to layout fixed position elements on iOS. 8311 8312 This is computed in WKContentView, and pushed down 8313 through the RemoteLayerTreeDrawingArea, and eventually 8314 pushed onto FrameView. 8315 8316 * UIProcess/API/ios/WKContentView.mm: 8317 (-[WKContentView fixedPositionRectFromExposedRect:scale:]): 8318 (-[WKContentView _updateFixedPositionRect]): 8319 (-[WKContentView didFinishScrollTo:]): 8320 (-[WKContentView didZoomToScale:]): 8321 * UIProcess/DrawingAreaProxy.cpp: 8322 (WebKit::DrawingAreaProxy::setCustomFixedPositionRect): 8323 * UIProcess/DrawingAreaProxy.h: 8324 * WebProcess/WebPage/DrawingArea.h: 8325 * WebProcess/WebPage/DrawingArea.messages.in: 8326 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 8327 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 8328 (WebKit::RemoteLayerTreeDrawingArea::setCustomFixedPositionRect): 8329 83302014-01-24 Anders Carlsson <andersca@apple.com> 8331 8332 Get rid of WebLoaderClient 8333 https://bugs.webkit.org/show_bug.cgi?id=127587 8334 8335 Reviewed by Andreas Kling. 8336 8337 Move WebLoaderClient into WKPage.cpp. 8338 8339 * UIProcess/API/C/WKPage.cpp: 8340 (WKPageSetPageLoaderClient): 8341 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 8342 (-[WKBrowsingContextController setLoadDelegate:]): 8343 * UIProcess/WebLoaderClient.cpp: Removed. 8344 * UIProcess/WebLoaderClient.h: Removed. 8345 * UIProcess/WebPageProxy.h: 8346 * WebKit2.xcodeproj/project.pbxproj: 8347 83482014-01-24 Brady Eidson <beidson@apple.com> 8349 8350 IDB: Support createIndex/deleteIndex 8351 <rdar://problem/15779642> and https://bugs.webkit.org/show_bug.cgi?id=127585 8352 8353 Reviewed by Tim Horton. 8354 8355 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 8356 (WebKit::UniqueIDBDatabase::createIndex): 8357 (WebKit::UniqueIDBDatabase::deleteIndex): 8358 (WebKit::UniqueIDBDatabase::createIndexInBackingStore): 8359 (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore): 8360 8361 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 8362 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 8363 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Also drop all associated indexes. 8364 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): 8365 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex): 8366 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 8367 83682014-01-24 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> 8369 8370 [GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again 8371 https://bugs.webkit.org/show_bug.cgi?id=127064 8372 8373 When pressing <Esc> or <f> at full screen, the WebView shall emit the 8374 event webkitfullscreenchange, but wk2gtk does not emit it. This is 8375 because the WebView manages directly the exit of the full screen. 8376 8377 With this patch the WebView calls requestExitFullScreen to the full 8378 screen manager, instead of managing directly the exit of the full 8379 screen, and the event webkitfullscreenchange will be dispatched 8380 correctly. 8381 8382 Reviewed by Martin Robinson. 8383 8384 No tests are included because there is a bug in WKTR that prevents the 8385 execution of a test for this patch. See 8386 https://bugs.webkit.org/show_bug.cgi?id=127348 8387 8388 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 8389 (webkitWebViewBaseKeyPressEvent): Call 8390 webkitWebViewBaseRequestExitFullScreen. 8391 (webkitWebViewBaseRequestExitFullScreen): Added. 8392 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto. 8393 83942014-01-24 Tim Horton <timothy_horton@apple.com> 8395 8396 iOS build fix after r162710. 8397 8398 This is why these sorts of comments are bad. 8399 8400 * UIProcess/WebPageProxy.cpp: 8401 84022014-01-24 Anders Carlsson <andersca@apple.com> 8403 8404 Use a side table to map WebPageProxy objects to WKBrowsingContextController objects 8405 https://bugs.webkit.org/show_bug.cgi?id=127577 8406 8407 Reviewed by Tim Horton. 8408 8409 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 8410 (browsingContextControllerMap): 8411 (-[WKBrowsingContextController dealloc]): 8412 (-[WKBrowsingContextController _initWithPageRef:]): 8413 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]): 8414 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: 8415 * UIProcess/WebPageProxy.h: 8416 84172014-01-24 Tim Horton <timothy_horton@apple.com> 8418 8419 iOS build fix after r162710. 8420 8421 * UIProcess/API/ios/PageClientImplIOS.h: 8422 * UIProcess/API/ios/PageClientImplIOS.mm: 8423 (WebKit::PageClientImpl::takeViewSnapshot): 8424 84252014-01-24 Enrique Ocaña González <eocanha@igalia.com> 8426 8427 [GTK] Put cache files in XDG_CACHE_HOME 8428 https://bugs.webkit.org/show_bug.cgi?id=123458 8429 8430 Reviewed by Martin Robinson. 8431 8432 * UIProcess/gtk/WebContextGtk.cpp: 8433 (WebKit::WebContext::platformDefaultIconDatabasePath): 8434 84352014-01-24 Tim Horton <timothy_horton@apple.com> 8436 8437 WebKit2 View Gestures (Swipe): Add a simple cache of view snapshots 8438 https://bugs.webkit.org/show_bug.cgi?id=127438 8439 8440 Reviewed by Sam Weinig. 8441 8442 Add a cache of bitmap snapshots of the WKView, taken via OS X's window server 8443 snapshotting mechanism. For now, we store all snapshots; refinements to the 8444 caching strategy (or really having one at all) will come in future patches. 8445 8446 Snapshots are stored in a side map, with a UUID that allows references 8447 to be stored inside WebBackForwardListItem (and serialized along with 8448 the back-forward list when it is copied). 8449 8450 * Shared/WebBackForwardListItem.h: 8451 (WebKit::WebBackForwardListItem::setSnapshotUUID): 8452 (WebKit::WebBackForwardListItem::snapshotUUID): 8453 * UIProcess/cf/WebBackForwardListCF.cpp: 8454 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 8455 (WebKit::extractBackForwardListEntriesFromArray): 8456 Store and serialize a UUID along with each back-forward list item which 8457 identifies that item's view snapshot in the ViewSnapshotStore. 8458 8459 * UIProcess/cf/WebPageProxyCF.cpp: 8460 Bump the session state data version, as we changed the WebBackForwardList format. 8461 8462 * UIProcess/API/Cocoa/WKViewPrivate.h: 8463 * UIProcess/API/mac/PageClientImpl.h: 8464 * UIProcess/API/mac/PageClientImpl.mm: 8465 (WebKit::PageClientImpl::takeViewSnapshot): 8466 8467 * UIProcess/API/mac/WKView.mm: 8468 (-[WKView _takeViewSnapshot]): 8469 Add _takeViewSnapshot IPI, which is used by ViewSnapshotStore via the PageClient 8470 to take a snapshot of the view. 8471 8472 (-[WKView saveBackForwardSnapshotForCurrentItem]): 8473 Add saveBackForwardSnapshotForCurrentItem SPI, which clients could potentially 8474 use when they know they're about to manipulate the view hierarchy in such a way 8475 that they want the current back-forward item's snapshot to be up to date. 8476 8477 * UIProcess/API/mac/WKViewInternal.h: 8478 * UIProcess/PageClient.h: 8479 * UIProcess/WebPageProxy.cpp: 8480 (WebKit::WebPageProxy::WebPageProxy): 8481 (WebKit::WebPageProxy::recordNavigationSnapshot): 8482 (WebKit::WebPageProxy::goForward): 8483 (WebKit::WebPageProxy::goBack): 8484 (WebKit::WebPageProxy::goToBackForwardItem): 8485 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 8486 Update the current back-forward item's snapshot immediately before navigating. 8487 8488 * UIProcess/WebPageProxy.h: 8489 (WebKit::WebPageProxy::shouldRecordNavigationSnapshots): 8490 (WebKit::WebPageProxy::setShouldRecordNavigationSnapshots): 8491 Expose the ability to enable taking view snapshots on every navigation. 8492 This is off by default, so we won't be taking any snapshots yet. 8493 8494 * UIProcess/mac/ViewSnapshotStore.h: Added. 8495 (WebKit::ViewSnapshotStore::disableSnapshotting): 8496 (WebKit::ViewSnapshotStore::enableSnapshotting): 8497 * UIProcess/mac/ViewSnapshotStore.mm: Added. 8498 (WebKit::ViewSnapshotStore::ViewSnapshotStore): 8499 (WebKit::ViewSnapshotStore::~ViewSnapshotStore): 8500 (WebKit::ViewSnapshotStore::shared): 8501 (WebKit::ViewSnapshotStore::recordSnapshot): 8502 (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): 8503 * UIProcess/mac/WebPageProxyMac.mm: 8504 (WebKit::WebPageProxy::takeViewSnapshot): 8505 * WebKit2.xcodeproj/project.pbxproj: 8506 85072014-01-24 Brady Eidson <beidson@apple.com> 8508 8509 IDB: support createIndex/deleteIndex messaging 8510 https://bugs.webkit.org/show_bug.cgi?id=127546 8511 8512 Reviewed by Tim Horton. 8513 8514 Message create/delete requests over to the DatabaseProcess, and listen to its replies: 8515 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 8516 (WebKit::WebIDBServerConnection::createIndex): 8517 (WebKit::WebIDBServerConnection::didCreateIndex): 8518 (WebKit::WebIDBServerConnection::deleteIndex): 8519 (WebKit::WebIDBServerConnection::didDeleteIndex): 8520 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 8521 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 8522 8523 Pass create/delete requests to the appropriate unique IDB database: 8524 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 8525 (WebKit::DatabaseProcessIDBConnection::createIndex): 8526 (WebKit::DatabaseProcessIDBConnection::deleteIndex): 8527 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 8528 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 8529 8530 Message the create/delete request to the database thread for the backing store to handle: 8531 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 8532 (WebKit::UniqueIDBDatabase::didCreateIndex): 8533 (WebKit::UniqueIDBDatabase::didDeleteIndex): 8534 (WebKit::UniqueIDBDatabase::createIndex): 8535 (WebKit::UniqueIDBDatabase::deleteIndex): 8536 (WebKit::UniqueIDBDatabase::createIndexInBackingStore): 8537 (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore): 8538 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 8539 8540 * Scripts/webkit2/messages.py: 8541 (struct_or_class): 8542 85432014-01-24 Csaba Osztrogonác <ossy@webkit.org> 8544 8545 [EFL][WK2] Debug buildfix 8546 https://bugs.webkit.org/show_bug.cgi?id=127496 8547 8548 Reviewed by Gyuyoung Kim. 8549 8550 * Shared/SessionTracker.cpp: 8551 85522014-01-23 Brady Eidson <beidson@apple.com> 8553 8554 IDB: Support IDBObjectStore.clear() 8555 https://bugs.webkit.org/show_bug.cgi?id=127541 8556 8557 Reviewed by Anders Carlsson. 8558 8559 Make the WebProcess call out to the DatabaseProcess with a clear request, and handle the 8560 response from the DatabaseProcess: 8561 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 8562 (WebKit::WebIDBServerConnection::clearObjectStore): 8563 (WebKit::WebIDBServerConnection::didClearObjectStore): 8564 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 8565 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 8566 8567 Pass the clear request to the appropriate UniqueIDBDatabase: 8568 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 8569 (WebKit::DatabaseProcessIDBConnection::clearObjectStore): 8570 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 8571 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 8572 8573 Pass the clear request to the backing store: 8574 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 8575 (WebKit::UniqueIDBDatabase::didClearObjectStore): 8576 (WebKit::UniqueIDBDatabase::clearObjectStore): 8577 (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore): 8578 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 8579 8580 Actually drop the records in the database: 8581 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 8582 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 8583 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): 8584 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 8585 85862014-01-23 Anders Carlsson <andersca@apple.com> 8587 8588 Fix crash when opening the inspector 8589 https://bugs.webkit.org/show_bug.cgi?id=127542 8590 <rdar://problem/15899544> 8591 8592 Reviewed by Joseph Pecoraro. 8593 8594 Create default clients so we won't crash if they're never set. 8595 8596 * UIProcess/WebPageProxy.cpp: 8597 (WebKit::WebPageProxy::WebPageProxy): 8598 85992014-01-23 Ryuan Choi <ryuan.choi@samsung.com> 8600 8601 Unreviewed build fix attemp on the EFL and GTK build after r162678 8602 8603 * CMakeLists.txt: Removed WebPolicyClient.cpp 8604 * GNUmakefile.list.am: Removed WebPolicyClient.cpp and WebPolicyClient.h 8605 86062014-01-23 Yongjun Zhang <yongjun_zhang@apple.com> 8607 8608 Support NSInteger argument type for encoding/decoding invocations. 8609 https://bugs.webkit.org/show_bug.cgi?id=127522 8610 8611 Reviewed by Dan Bernstein. 8612 8613 Add support for NSInteger argument type ('q') for remote invocations. 8614 8615 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 8616 (encodeInvocation): 8617 (decodeInvocationArguments): 8618 86192014-01-23 Brady Eidson <beidson@apple.com> 8620 8621 IDB: Implement SQLite backing store 'get' support 8622 https://bugs.webkit.org/show_bug.cgi?id=127502 8623 8624 Reviewed by Tim Horton. 8625 8626 This makes get of a single IDBKey work, and lays the groundwork for getting an IDBKeyRange. 8627 8628 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 8629 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): 8630 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 8631 8632 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 8633 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Add custom collation 8634 to the Records table. 8635 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Install the custom collator. 8636 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): 8637 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): 8638 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::collate): Collation function to be filled in later. 8639 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 8640 86412014-01-23 Jon Honeycutt <jhoneycutt@apple.com> 8642 8643 Assertion failure in WebCore::PseudoElement::didRecalcStyle() 8644 <https://bugs.webkit.org/show_bug.cgi?id=126761> 8645 <rdar://problem/15793540> 8646 8647 Reviewed by Andy Estes. 8648 8649 * WebProcess/WebPage/ios/WebPageIOS.mm: 8650 (WebKit::WebPage::getPositionInformation): 8651 Check isRenderImage() rather than isImage() before casting to 8652 RenderImage. 8653 86542014-01-23 Anders Carlsson <andersca@apple.com> 8655 8656 Move policy client into WKPage.cpp and get rid of WebPolicyClient files 8657 https://bugs.webkit.org/show_bug.cgi?id=127536 8658 8659 Reviewed by Tim Horton. 8660 8661 * UIProcess/API/C/WKPage.cpp: 8662 (WKPageSetPagePolicyClient): 8663 * UIProcess/WebPolicyClient.cpp: Removed. 8664 * UIProcess/WebPolicyClient.h: Removed. 8665 * WebKit2.xcodeproj/project.pbxproj: 8666 86672014-01-23 Joseph Pecoraro <pecoraro@apple.com> 8668 8669 Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer 8670 https://bugs.webkit.org/show_bug.cgi?id=127409 8671 8672 Reviewed by Geoffrey Garen. 8673 8674 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 8675 (WebKit::WebInspectorFrontendClient::closeWindow): 8676 * WebProcess/WebPage/WebInspector.cpp: 8677 (WebKit::WebInspector::remoteFrontendDisconnected): 8678 Include InspectorDisconnectReason. 8679 86802014-01-23 Anders Carlsson <andersca@apple.com> 8681 8682 Only WKPage should know about WebPolicyClient 8683 https://bugs.webkit.org/show_bug.cgi?id=127535 8684 8685 Reviewed by Andreas Kling. 8686 8687 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 8688 (setUpPagePolicyClient): 8689 (-[WKBrowsingContextController setPolicyDelegate:]): 8690 * UIProcess/WebInspectorProxy.cpp: 8691 (WebKit::WebInspectorProxy::createInspectorPage): 8692 86932014-01-23 Anders Carlsson <andersca@apple.com> 8694 8695 Simplify API::LoaderClient management 8696 https://bugs.webkit.org/show_bug.cgi?id=127531 8697 8698 Reviewed by Tim Horton. 8699 8700 Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to 8701 always create a policy client, even if the loader client set is null. That way we don't have to null 8702 check the loader client everywhere. 8703 8704 * UIProcess/API/APILoaderClient.h: 8705 (API::LoaderClient::didStartProvisionalLoadForFrame): 8706 (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 8707 (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame): 8708 (API::LoaderClient::didCommitLoadForFrame): 8709 (API::LoaderClient::didFinishDocumentLoadForFrame): 8710 (API::LoaderClient::didFinishLoadForFrame): 8711 (API::LoaderClient::didFailLoadWithErrorForFrame): 8712 (API::LoaderClient::didSameDocumentNavigationForFrame): 8713 (API::LoaderClient::didReceiveTitleForFrame): 8714 (API::LoaderClient::didFirstLayoutForFrame): 8715 (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 8716 (API::LoaderClient::didRemoveFrameFromHierarchy): 8717 (API::LoaderClient::didDisplayInsecureContentForFrame): 8718 (API::LoaderClient::didRunInsecureContentForFrame): 8719 (API::LoaderClient::didDetectXSSForFrame): 8720 (API::LoaderClient::didLayout): 8721 (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): 8722 (API::LoaderClient::didReceiveAuthenticationChallengeInFrame): 8723 (API::LoaderClient::didStartProgress): 8724 (API::LoaderClient::didChangeProgress): 8725 (API::LoaderClient::didFinishProgress): 8726 (API::LoaderClient::processDidBecomeUnresponsive): 8727 (API::LoaderClient::interactionOccurredWhileProcessUnresponsive): 8728 (API::LoaderClient::processDidBecomeResponsive): 8729 (API::LoaderClient::processDidCrash): 8730 (API::LoaderClient::didChangeBackForwardList): 8731 (API::LoaderClient::willGoToBackForwardListItem): 8732 (API::LoaderClient::pluginLoadPolicy): 8733 (API::LoaderClient::didFailToInitializePlugin): 8734 (API::LoaderClient::didBlockInsecurePluginVersion): 8735 (API::LoaderClient::webGLLoadPolicy): 8736 * UIProcess/WebPageProxy.cpp: 8737 (WebKit::WebPageProxy::setLoaderClient): 8738 (WebKit::WebPageProxy::didChangeBackForwardList): 8739 (WebKit::WebPageProxy::willGoToBackForwardListItem): 8740 (WebKit::WebPageProxy::findPlugin): 8741 (WebKit::WebPageProxy::didStartProgress): 8742 (WebKit::WebPageProxy::didChangeProgress): 8743 (WebKit::WebPageProxy::didFinishProgress): 8744 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 8745 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 8746 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 8747 (WebKit::WebPageProxy::didCommitLoadForFrame): 8748 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 8749 (WebKit::WebPageProxy::didFinishLoadForFrame): 8750 (WebKit::WebPageProxy::didFailLoadForFrame): 8751 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 8752 (WebKit::WebPageProxy::didReceiveTitleForFrame): 8753 (WebKit::WebPageProxy::didFirstLayoutForFrame): 8754 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 8755 (WebKit::WebPageProxy::didLayout): 8756 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 8757 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 8758 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 8759 (WebKit::WebPageProxy::didDetectXSSForFrame): 8760 (WebKit::WebPageProxy::webGLPolicyForURL): 8761 (WebKit::WebPageProxy::processDidBecomeUnresponsive): 8762 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): 8763 (WebKit::WebPageProxy::processDidBecomeResponsive): 8764 (WebKit::WebPageProxy::processDidCrash): 8765 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): 8766 (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy): 8767 (WebKit::WebPageProxy::didFailToInitializePlugin): 8768 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 8769 87702014-01-23 Anders Carlsson <andersca@apple.com> 8771 8772 Simplify API::PolicyClient management 8773 https://bugs.webkit.org/show_bug.cgi?id=127529 8774 8775 Reviewed by Tim Horton. 8776 8777 Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to 8778 always create a policy client, even if the policy object set is null. That way we don't have to null 8779 check the policy client everywhere. 8780 8781 * UIProcess/API/APIPolicyClient.h: 8782 (API::PolicyClient::decidePolicyForNavigationAction): 8783 (API::PolicyClient::decidePolicyForNewWindowAction): 8784 (API::PolicyClient::decidePolicyForResponse): 8785 (API::PolicyClient::unableToImplementPolicy): 8786 * UIProcess/WebPageProxy.cpp: 8787 (WebKit::WebPageProxy::setPolicyClient): 8788 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 8789 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 8790 (WebKit::WebPageProxy::decidePolicyForResponse): 8791 (WebKit::WebPageProxy::unableToImplementPolicy): 8792 87932014-01-23 Simon Fraser <simon.fraser@apple.com> 8794 8795 Fix GTK. 8796 8797 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 8798 (webkitWebPageDidReceiveMessage): 8799 88002014-01-23 Anders Carlsson <andersca@apple.com> 8801 8802 Add an APILoaderClient base class 8803 https://bugs.webkit.org/show_bug.cgi?id=127527 8804 8805 Reviewed by Tim Horton. 8806 8807 * UIProcess/API/APILoaderClient.h: Added. 8808 (API::LoaderClient::~LoaderClient): 8809 * UIProcess/API/C/WKPage.cpp: 8810 (WKPageSetPageLoaderClient): 8811 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 8812 (setUpPageLoaderClient): 8813 (-[WKBrowsingContextController setLoadDelegate:]): 8814 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]): 8815 * UIProcess/WebLoaderClient.cpp: 8816 (WebKit::WebLoaderClient::WebLoaderClient): 8817 * UIProcess/WebLoaderClient.h: 8818 * UIProcess/WebPageProxy.cpp: 8819 (WebKit::WebPageProxy::setLoaderClient): 8820 (WebKit::WebPageProxy::close): 8821 (WebKit::WebPageProxy::didChangeBackForwardList): 8822 (WebKit::WebPageProxy::willGoToBackForwardListItem): 8823 (WebKit::WebPageProxy::findPlugin): 8824 (WebKit::WebPageProxy::didStartProgress): 8825 (WebKit::WebPageProxy::didChangeProgress): 8826 (WebKit::WebPageProxy::didFinishProgress): 8827 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 8828 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 8829 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 8830 (WebKit::WebPageProxy::didCommitLoadForFrame): 8831 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 8832 (WebKit::WebPageProxy::didFinishLoadForFrame): 8833 (WebKit::WebPageProxy::didFailLoadForFrame): 8834 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 8835 (WebKit::WebPageProxy::didReceiveTitleForFrame): 8836 (WebKit::WebPageProxy::didFirstLayoutForFrame): 8837 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 8838 (WebKit::WebPageProxy::didLayout): 8839 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 8840 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 8841 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 8842 (WebKit::WebPageProxy::didDetectXSSForFrame): 8843 (WebKit::WebPageProxy::webGLPolicyForURL): 8844 (WebKit::WebPageProxy::processDidBecomeUnresponsive): 8845 (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): 8846 (WebKit::WebPageProxy::processDidBecomeResponsive): 8847 (WebKit::WebPageProxy::processDidCrash): 8848 (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): 8849 (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy): 8850 (WebKit::WebPageProxy::didFailToInitializePlugin): 8851 (WebKit::WebPageProxy::didBlockInsecurePluginVersion): 8852 * UIProcess/WebPageProxy.h: 8853 (WebKit::WebPageProxy::loaderClient): 8854 * WebKit2.xcodeproj/project.pbxproj: 8855 88562014-01-23 Ryuan Choi <ryuan.choi@samsung.com> 8857 8858 Build break after r162650 8859 https://bugs.webkit.org/show_bug.cgi?id=127525 8860 8861 Reviewed by Anders Carlsson. 8862 8863 WKPreferences.h was renamed to WKPreferencesRef. 8864 8865 * UIProcess/API/C/WKPreferences.cpp: 8866 88672014-01-23 Anders Carlsson <andersca@apple.com> 8868 8869 Fix a refactoring bug that crept in and is causing the inspector to crash. 8870 8871 * UIProcess/WebPolicyClient.cpp: 8872 (WebKit::WebPolicyClient::decidePolicyForResponse): 8873 88742014-01-23 Simon Fraser <simon.fraser@apple.com> 8875 8876 Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time 8877 https://bugs.webkit.org/show_bug.cgi?id=127456 8878 8879 Reviewed by Antti Koivisto. 8880 8881 On iOS, visibleContentRect() returns the entire document rect for historical 8882 reasons, and actualVisibleContentRect() returns what visibleContentRect() 8883 returns on other platforms. 8884 8885 In addition, actualVisibleContentRect() was returning an empty rect in WK2. 8886 8887 Reduce the confusion of #ifdefs by making visibleContentRect() behave like 8888 actualVisibleContentRect() by default on iOS. Where it needs the old behavior, 8889 an optional parameter, LegacyIOSDocumentVisibleRect, provides this. 8890 8891 Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(), 8892 which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars(). 8893 8894 Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual, 8895 with non-virtual visibleHeight() and visibleWidth(). 8896 8897 ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary. 8898 8899 Mechanically change all the call sites of actualVisibleContentRect() to 8900 use visibleContentRect(), and the call sites of visibleContentRect() 8901 to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments 8902 where this may not be appropriate. 8903 8904 Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars(). 8905 8906 Also add actualScrollPosition(), and clean up some actualScroll* call sites. 8907 8908 No behavior change. 8909 8910 * WebProcess/Plugins/PDF/PDFPlugin.h: 8911 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: 8912 (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture): 8913 (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture): 8914 * WebProcess/WebPage/WebFrame.cpp: 8915 (WebKit::WebFrame::visibleContentBounds): 8916 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 8917 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 8918 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): 8919 89202014-01-23 Tim Horton <timothy_horton@apple.com> 8921 8922 [wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store) 8923 https://bugs.webkit.org/show_bug.cgi?id=127518 8924 8925 Reviewed by Anders Carlsson. 8926 8927 Add WKBundlePageOverlayClear, to allow clients of the page overlay API to 8928 manually clear the page overlay's backing store, for memory, power, and performance gains. 8929 8930 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 8931 (WKBundlePageOverlayClear): 8932 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 8933 * WebProcess/WebPage/DrawingArea.h: 8934 (WebKit::DrawingArea::clearPageOverlay): 8935 * WebProcess/WebPage/PageOverlay.cpp: 8936 (WebKit::PageOverlay::clear): 8937 * WebProcess/WebPage/PageOverlay.h: 8938 Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea. 8939 8940 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 8941 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 8942 (WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay): 8943 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 8944 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 8945 (WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay): 8946 Set the layer to drawsContent=false and give it 0x0 size, effectively 8947 removing its backing store. 8948 89492014-01-23 Anders Carlsson <andersca@apple.com> 8950 8951 Explicitly link XPC services with AppKit 8952 https://bugs.webkit.org/show_bug.cgi?id=127520 8953 <rdar://problem/15759718> 8954 8955 Reviewed by Mark Rowe. 8956 8957 Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit. 8958 8959 * Configurations/PluginService.32.xcconfig: 8960 * Configurations/PluginService.64.xcconfig: 8961 * Configurations/PluginService.Development.xcconfig: 8962 * Configurations/WebContentService.Development.xcconfig: 8963 * Configurations/WebContentService.xcconfig: 8964 89652014-01-23 Anders Carlsson <andersca@apple.com> 8966 8967 Fix build again. 8968 8969 * UIProcess/API/mac/WKView.mm: 8970 (-[WKView _windowDidChangeBackingProperties:]): 8971 89722014-01-23 Anders Carlsson <andersca@apple.com> 8973 8974 Another 32-bit build fix. 8975 8976 * UIProcess/API/mac/WKView.mm: 8977 (-[WKView _windowDidChangeBackingProperties:]): 8978 89792014-01-23 Anders Carlsson <andersca@apple.com> 8980 8981 Clean up WKView.mm a little 8982 https://bugs.webkit.org/show_bug.cgi?id=127517 8983 8984 Reviewed by Tim Horton. 8985 8986 Remove an unused ivar and migrate to API constants that were added in Lion. 8987 8988 * UIProcess/API/mac/WKView.mm: 8989 (-[WKView setFrameSize:]): 8990 (-[WKView addWindowObserversForWindow:]): 8991 (-[WKView removeWindowObservers]): 8992 (-[WKView viewDidMoveToWindow]): 8993 (-[WKView _windowDidMiniaturize:]): 8994 (-[WKView _windowDidResize:]): 8995 (-[WKView _windowDidChangeBackingProperties:]): 8996 89972014-01-23 Anders Carlsson <andersca@apple.com> 8998 8999 Try to fix the 32-bit build. 9000 9001 * UIProcess/API/Cocoa/WKPreferences.mm: 9002 90032014-01-23 Anders Carlsson <andersca@apple.com> 9004 9005 Remove an unneeded synchronous back/forward message 9006 https://bugs.webkit.org/show_bug.cgi?id=127516 9007 9008 Reviewed by Tim Horton. 9009 9010 * UIProcess/WebLoaderClient.cpp: 9011 * UIProcess/WebLoaderClient.h: 9012 * UIProcess/WebPageProxy.cpp: 9013 (WebKit::WebPageProxy::initializeLoaderClient): 9014 * UIProcess/WebPageProxy.h: 9015 * UIProcess/WebPageProxy.messages.in: 9016 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9017 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): 9018 * WebProcess/WebPage/WebPage.cpp: 9019 (WebKit::WebPage::WebPage): 9020 * WebProcess/WebPage/WebPage.h: 9021 * WebProcess/WebPage/WebPage.messages.in: 9022 90232014-01-23 Anders Carlsson <andersca@apple.com> 9024 9025 Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class 9026 https://bugs.webkit.org/show_bug.cgi?id=127512 9027 9028 Reviewed by Dan Bernstein. 9029 9030 * UIProcess/API/C/WKAPICast.h: 9031 * UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h. 9032 * UIProcess/API/C/WebKit2_C.h: 9033 * UIProcess/API/Cocoa/WKPreferences.h: Added. 9034 * UIProcess/API/Cocoa/WKPreferences.mm: Added. 9035 * WebKit2.xcodeproj/project.pbxproj: 9036 90372014-01-23 Max Vujovic <mvujovic@adobe.com> 9038 9039 Remove CSS Custom Filters code and tests 9040 https://bugs.webkit.org/show_bug.cgi?id=127382 9041 9042 Reviewed by Simon Fraser. 9043 9044 * CMakeLists.txt: 9045 * Configurations/FeatureDefines.xcconfig: 9046 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 9047 (IPC::ArgumentCoder<WebCore::FilterOperations>::encode): 9048 (IPC::ArgumentCoder<WebCore::FilterOperations>::decode): 9049 (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode): 9050 (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode): 9051 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: 9052 * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed. 9053 * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed. 9054 * Shared/WebCoreArgumentCoders.cpp: 9055 (IPC::encodeFilterOperation): 9056 (IPC::decodeFilterOperation): 9057 * Shared/WebPreferencesStore.h: 9058 * Shared/mac/RemoteLayerTreeTransaction.mm: 9059 (WebKit::RemoteLayerTreeTextStream::operator<<): 9060 * UIProcess/API/C/WKPreferences.cpp: 9061 * UIProcess/API/C/WKPreferencesPrivate.h: 9062 * WebProcess/InjectedBundle/InjectedBundle.cpp: 9063 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 9064 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 9065 (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost): 9066 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 9067 * WebProcess/WebPage/WebPage.cpp: 9068 (WebKit::WebPage::updatePreferences): 9069 * mac/WebKit2.order: 9070 90712014-01-23 Anders Carlsson <andersca@apple.com> 9072 9073 Add API::PolicyClient base class 9074 https://bugs.webkit.org/show_bug.cgi?id=127509 9075 9076 Reviewed by Tim Horton. 9077 9078 * UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h. 9079 (API::PolicyClient::~PolicyClient): 9080 * UIProcess/API/C/WKPage.cpp: 9081 (WKPageSetPagePolicyClient): 9082 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 9083 (setUpPagePolicyClient): 9084 (-[WKBrowsingContextController setPolicyDelegate:]): 9085 * UIProcess/WebInspectorProxy.cpp: 9086 (WebKit::WebInspectorProxy::createInspectorPage): 9087 * UIProcess/WebPageProxy.cpp: 9088 (WebKit::WebPageProxy::setPolicyClient): 9089 (WebKit::WebPageProxy::close): 9090 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 9091 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 9092 (WebKit::WebPageProxy::decidePolicyForResponse): 9093 (WebKit::WebPageProxy::unableToImplementPolicy): 9094 * UIProcess/WebPageProxy.h: 9095 * UIProcess/WebPolicyClient.cpp: 9096 (WebKit::WebPolicyClient::WebPolicyClient): 9097 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 9098 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 9099 (WebKit::WebPolicyClient::decidePolicyForResponse): 9100 * UIProcess/WebPolicyClient.h: 9101 * WebKit2.xcodeproj/project.pbxproj: 9102 91032014-01-23 Anders Carlsson <andersca@apple.com> 9104 9105 Add init methods that create default configurations 9106 https://bugs.webkit.org/show_bug.cgi?id=127503 9107 9108 Reviewed by Dan Bernstein. 9109 9110 * UIProcess/API/Cocoa/WKProcessClass.mm: 9111 (-[WKProcessClass init]): 9112 * UIProcess/API/Cocoa/WKWebView.mm: 9113 (-[WKWebView initWithFrame:]): 9114 91152014-01-23 Brady Eidson <beidson@apple.com> 9116 9117 IDB: Implement cross-thread and IPC plumbing for 'get' support 9118 https://bugs.webkit.org/show_bug.cgi?id=127501 9119 9120 Reviewed by Anders Carlsson. 9121 9122 Make the WebProcess call out to the DatabaseProcess with a get request, and handle the 9123 response from the DatabaseProcess: 9124 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 9125 (WebKit::WebIDBServerConnection::get): 9126 (WebKit::WebIDBServerConnection::didGetRecord): 9127 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 9128 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 9129 9130 Get the request from the WebProcess and forward it to the appropriate unique IDB database: 9131 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 9132 (WebKit::DatabaseProcessIDBConnection::getRecord): 9133 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 9134 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 9135 9136 Forward the request to the database thread, and response to the result from that thread: 9137 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 9138 (WebKit::UniqueIDBDatabase::getRecord): 9139 (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): 9140 (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore): 9141 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 9142 9143 IPC and asynchronous request infrastructure: 9144 * Scripts/webkit2/messages.py: 9145 (struct_or_class): 9146 9147 * Shared/AsyncTask.h: 9148 (WebKit::createAsyncTask): 9149 9150 * Shared/WebCoreArgumentCoders.cpp: 9151 (IPC::ArgumentCoder<IDBGetResult>::encode): 9152 (IPC::ArgumentCoder<IDBGetResult>::decode): 9153 (IPC::ArgumentCoder<IDBKeyRangeData>::encode): 9154 (IPC::ArgumentCoder<IDBKeyRangeData>::decode): 9155 * Shared/WebCoreArgumentCoders.h: 9156 91572014-01-23 Tim Horton <timothy_horton@apple.com> 9158 9159 PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked 9160 https://bugs.webkit.org/show_bug.cgi?id=127415 9161 <rdar://problem/12482452> 9162 9163 Reviewed by Sam Weinig. 9164 9165 Allow use of PDFPlugin even if an external plugin is installed but blocked. 9166 If an external plugin is installed and not blocked, we will continue to use that. 9167 9168 Inject a context menu item into the PDFPlugin context menu that allows the client 9169 to unblock the plugin and reload the page (via the same mechanism that the 9170 unavailable plugin button uses). 9171 9172 * UIProcess/API/C/WKPageLoaderClient.h: 9173 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 9174 (setUpPageLoaderClient): 9175 * UIProcess/WebLoaderClient.cpp: 9176 (WebKit::WebLoaderClient::pluginLoadPolicy): 9177 * UIProcess/WebLoaderClient.h: 9178 * UIProcess/WebPageProxy.cpp: 9179 (WebKit::WebPageProxy::findPlugin): 9180 * UIProcess/WebPageProxy.h: 9181 * UIProcess/WebPageProxy.messages.in: 9182 Add a new PluginLoadPolicy callback for the V4 client with 9183 yet another string out-argument, to allow clients to customize the string 9184 that will appear in the PDFPlugin context menu when it is used in place 9185 of a blocked plugin. 9186 9187 * WebProcess/Plugins/PDF/PDFPlugin.h: 9188 Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not 9189 we should include an item in the PDFPlugin context menu that acts identically 9190 to the unavailable plugin button, allowing the client to potentially unblock 9191 the plugin. 9192 9193 * WebProcess/Plugins/PDF/PDFPlugin.mm: 9194 (-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]): 9195 (-[WKPDFPluginContextMenuTarget useBlockedPlugin:]): 9196 Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the 9197 aforementioned context menu item targets. 9198 9199 (WebKit::PDFPlugin::PDFPlugin): 9200 By default, we won't show the extra context menu item. 9201 9202 (WebKit::PDFPlugin::handleContextMenuEvent): 9203 If we were used in place of a blocked plugin, inject our additional context 9204 menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin, 9205 use that. Otherwise, use the generic string from WebCore's localized strings. 9206 9207 (WebKit::PDFPlugin::openWithPlugin): 9208 Pretend that the user clicked the unavailable plugin button when they click 9209 the injected context menu item. 9210 9211 (WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin): 9212 9213 * WebProcess/WebPage/WebPage.cpp: 9214 (WebKit::WebPage::createPlugin): 9215 If we end up with a blocked plugin, but could have used PDFPlugin to display 9216 the content, do so instead of showing the unavailable plugin indicator. 9217 9218 Pass PDFPlugin the custom context menu item title acquired from the client. 9219 9220 (WebKit::WebPage::canPluginHandleResponse): 9221 92222014-01-23 Tim Horton <timothy_horton@apple.com> 9223 9224 [iOS] [WK2] WKContentView has a black background 9225 https://bugs.webkit.org/show_bug.cgi?id=127471 9226 <rdar://problem/12287363> 9227 9228 Reviewed by Sam Weinig. 9229 9230 * UIProcess/API/ios/WKContentView.mm: 9231 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 9232 Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI 9233 to tell CA that the whole layer should be treated as opaque when it comes to hit-testing. 9234 92352014-01-22 Carlos Garcia Campos <cgarcia@igalia.com> 9236 9237 [GLIB] Use GUniquePtr instead of GOwnPtr 9238 https://bugs.webkit.org/show_bug.cgi?id=127431 9239 9240 Reviewed by Martin Robinson. 9241 9242 GUniquePtr is a template alias of std::unique_ptr with a custom 9243 deleter that replaces GOwnPtr. GOwnPtr is still used for the cases 9244 where the output pointer is needed, but it will also be replaced soon. 9245 9246 * Shared/Downloads/soup/DownloadSoup.cpp: 9247 (WebKit::DownloadClient::didReceiveResponse): 9248 * Shared/NativeWebKeyboardEvent.h: 9249 * Shared/NativeWebMouseEvent.h: 9250 * Shared/NativeWebWheelEvent.h: 9251 * Shared/gtk/ArgumentCodersGtk.cpp: 9252 (IPC::encodeGKeyFile): 9253 (IPC::decodeGKeyFile): 9254 (IPC::encode): 9255 (IPC::decode): 9256 * UIProcess/API/gtk/WebKitContextMenuItem.cpp: 9257 (webkitContextMenuItemSetSubMenuFromGtkMenu): 9258 * UIProcess/API/gtk/WebKitDownload.cpp: 9259 (webkitDownloadDecideDestination): 9260 (webkitDownloadNotifyProgress): 9261 (webkitDownloadFailed): 9262 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: 9263 (webkit_file_chooser_request_select_files): 9264 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 9265 (didReceiveWebViewMessageFromInjectedBundle): 9266 (getInjectedBundleInitializationUserData): 9267 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 9268 (didFailProvisionalLoadWithErrorForFrame): 9269 (didFailLoadWithErrorForFrame): 9270 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 9271 (drawPagesForPrintingCompleted): 9272 * UIProcess/API/gtk/WebKitURIRequest.cpp: 9273 (webkit_uri_request_get_http_headers): 9274 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 9275 (webkit_uri_scheme_request_get_scheme): 9276 (webkit_uri_scheme_request_get_path): 9277 * UIProcess/API/gtk/WebKitWebContext.cpp: 9278 (injectedBundleFilename): 9279 (webkit_web_context_set_favicon_database_directory): 9280 * UIProcess/API/gtk/WebKitWebView.cpp: 9281 (webkitWebViewLoadFail): 9282 (webkitWebViewCreateJavaScriptDialog): 9283 (fileChooserDialogResponseCallback): 9284 (webkitWebViewLoadChanged): 9285 (webkitWebViewLoadFailedWithTLSErrors): 9286 (webkitWebViewPopulateContextMenu): 9287 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 9288 (webkitWebViewBaseButtonPressEvent): 9289 (webkitWebViewBaseStartDrag): 9290 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 9291 (WebKit::WebInspectorServer::platformResourceForPath): 9292 * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp: 9293 (WebKit::connectionCallback): 9294 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 9295 (WebKit::ProcessLauncher::launchProcess): 9296 * UIProcess/gtk/WebContextGtk.cpp: 9297 (WebKit::WebContext::platformDefaultApplicationCacheDirectory): 9298 (WebKit::WebContext::platformDefaultDatabaseDirectory): 9299 (WebKit::WebContext::platformDefaultIconDatabasePath): 9300 (WebKit::WebContext::platformDefaultLocalStorageDirectory): 9301 (WebKit::WebContext::platformDefaultDiskCacheDirectory): 9302 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: 9303 (WebKit::contextMenuItemVisibilityChanged): 9304 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 9305 (WebKit::WebInspectorProxy::platformInspectedURLChanged): 9306 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: 9307 (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem): 9308 * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: 9309 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 9310 (WebKit::WebPage::platformInitialize): 9311 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 9312 * WebProcess/gtk/WebProcessMainGtk.cpp: 9313 * WebProcess/soup/WebSoupRequestManager.cpp: 9314 (WebKit::WebSoupRequestManager::send): 9315 93162014-01-22 Simon Fraser <simon.fraser@apple.com> 9317 9318 Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE) 9319 https://bugs.webkit.org/show_bug.cgi?id=127461 9320 9321 Reviewed by Andreas Kling. 9322 9323 The "fixedVisibleContentRect" code path is only used by platforms 9324 which enabled TILED_BACKING_STORE, so to reduce confusion, surround 9325 this code with #if USE(TILED_BACKING_STORE). 9326 9327 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9328 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 9329 93302014-01-22 Benjamin Poulain <bpoulain@apple.com> 9331 9332 Add a minimalistic SPI to control the layout size outside of WKView 9333 https://bugs.webkit.org/show_bug.cgi?id=127403 9334 9335 Reviewed by Sam Weinig. 9336 9337 The API lets a client of WKView force the layout size. Once the size 9338 is set this way, default update is disabled and the client needs to 9339 update the size systematically as needed. This is done to avoid double 9340 layout or flickering. 9341 9342 * UIProcess/API/Cocoa/WKViewPrivate.h: 9343 * UIProcess/API/ios/WKViewIOS.mm: 9344 (-[WKView _frameOrBoundsChanged]): 9345 (-[WKView overrideMinimumLayoutSize:]): 9346 93472014-01-22 Jinwoo Song <jinwoo7.song@samsung.com> 9348 9349 [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings 9350 https://bugs.webkit.org/show_bug.cgi?id=127420 9351 9352 Reviewed by Gyuyoung Kim. 9353 9354 As the defaultTextEncodingName is returned as a local WKEinaSharedString variable, 9355 the stringshared data is de-refed by eina_stringshare_del(). 9356 To maintain the reference counter, the defaultTextEncodingName should be stored 9357 as a member variable of EwkSettings class. 9358 9359 * UIProcess/API/efl/ewk_settings.cpp: 9360 (ewk_settings_encoding_detector_enabled_get): Reordering. 9361 (ewk_settings_default_text_encoding_name_set): 9362 (ewk_settings_default_text_encoding_name_get): 9363 (EwkSettings::setDefaultTextEncodingName): 9364 (EwkSettings::defaultTextEncodingName): 9365 * UIProcess/API/efl/ewk_settings_private.h: 9366 (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods. 9367 93682014-01-22 Enrica Casucci <enrica@apple.com> 9369 9370 Support WebSelections in WK2 on iOS. 9371 https://bugs.webkit.org/show_bug.cgi?id=127015 9372 <rdar://problem/15211964> 9373 9374 Reviewed by Benjamin Poulain. 9375 9376 This change adds support for text only (non block mode) 9377 selections in non editable content. 9378 The main changes consist in hooking up the new gesture type 9379 and touches to handle selection creation and interaction. 9380 It also includes changes to the way first responder is handled 9381 which includes the implementation of the isEditable method 9382 to allow iOS to know when to show the keyboard. 9383 9384 * Shared/ios/WKGestureTypes.h: 9385 * UIProcess/API/ios/WKInteractionView.mm: 9386 (-[WKInteractionView isEditable]): 9387 (-[WKInteractionView canBecomeFirstResponder]): 9388 (-[WKInteractionView webSelectionRects]): 9389 (-[WKInteractionView _highlightLongPressRecognized:]): 9390 (-[WKInteractionView _singleTapRecognized:]): 9391 (-[WKInteractionView inputAccessoryView]): 9392 (-[WKInteractionView canPerformAction:withSender:]): 9393 (-[WKInteractionView _showDictionary:]): 9394 (toWKGestureType): 9395 (toUIWKGestureType): 9396 (selectionChangedWithGesture): 9397 (selectionChangedWithTouch): 9398 (-[WKInteractionView selectedTextRange]): 9399 (-[WKInteractionView webSelectionAssistant]): 9400 (-[WKInteractionView _startAssistingNode]): 9401 (-[WKInteractionView _stopAssistingNode]): 9402 (-[WKInteractionView _selectionChanged]): 9403 * WebProcess/WebPage/ios/WebPageIOS.mm: 9404 (WebKit::WebPage::selectWithGesture): 9405 (WebKit::WebPage::updateSelectionWithTouches): 9406 94072014-01-22 Anders Carlsson <andersca@apple.com> 9408 9409 WKBrowsingContextController should not be an API wrapper around WebPageProxy 9410 https://bugs.webkit.org/show_bug.cgi?id=127454 9411 9412 Reviewed by Dan Bernstein. 9413 9414 * Shared/Cocoa/APIObject.mm: 9415 (API::Object::newObject): 9416 * Shared/mac/ObjCObjectGraphCoders.mm: 9417 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): 9418 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 9419 (-[WKBrowsingContextController _initWithPageRef:]): 9420 (+[WKBrowsingContextController _browsingContextControllerForPageRef:]): 9421 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: 9422 * UIProcess/API/Cocoa/WKProcessGroup.mm: 9423 (didNavigateWithNavigationData): 9424 (didPerformClientRedirect): 9425 (didPerformServerRedirect): 9426 (didUpdateHistoryTitle): 9427 * UIProcess/API/ios/WKContentView.mm: 9428 (-[WKContentView browsingContextController]): 9429 * UIProcess/API/mac/WKView.mm: 9430 (-[WKView browsingContextController]): 9431 * UIProcess/ios/WebPageProxyIOS.mm: 9432 (WebKit::WebPageProxy::platformInitialize): 9433 * UIProcess/mac/WebPageProxyMac.mm: 9434 (WebKit::WebPageProxy::platformInitialize): 9435 94362014-01-22 Myles C. Maxfield <mmaxfield@apple.com> 9437 9438 Remove CSS3_TEXT_DECORATION define 9439 https://bugs.webkit.org/show_bug.cgi?id=127333 9440 9441 Reviewed by Simon Fraser. 9442 9443 This is required for unprefixing the text-decoration-* CSS properties. 9444 9445 * Configurations/FeatureDefines.xcconfig: 9446 94472014-01-22 Gavin Barraclough <barraclough@apple.com> 9448 9449 Debug mechanism to override process QoS on Mac 9450 https://bugs.webkit.org/show_bug.cgi?id=127455 9451 9452 Reviewed by Anders Carlsson. 9453 9454 * NetworkProcess/NetworkProcess.messages.in: 9455 - added message. 9456 * PluginProcess/PluginProcess.messages.in: 9457 - added message. 9458 * Shared/ChildProcess.h: 9459 * Shared/mac/ChildProcessMac.mm: 9460 (WebKit::ChildProcess::setQOS): 9461 - Added implementation of new message. 9462 * UIProcess/Plugins/PluginProcessProxy.cpp: 9463 (WebKit::PluginProcessProxy::didFinishLaunching): 9464 - SetQOS for the PluginProcess. 9465 * UIProcess/Plugins/PluginProcessProxy.h: 9466 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 9467 (WebKit::pluginProcessLatencyQOS): 9468 (WebKit::pluginProcessThroughputQOS): 9469 - read NSUserDefaults. 9470 * UIProcess/WebContext.cpp: 9471 (WebKit::WebContext::ensureNetworkProcess): 9472 - SetQOS for the NetworkProcess. 9473 (WebKit::WebContext::createNewWebProcess): 9474 - SetQOS for the WebProcess. 9475 * UIProcess/WebContext.h: 9476 * UIProcess/mac/WebContextMac.mm: 9477 (WebKit::networkProcessLatencyQOS): 9478 (WebKit::networkProcessThroughputQOS): 9479 (WebKit::webProcessLatencyQOS): 9480 (WebKit::webProcessThroughputQOS): 9481 - read NSUserDefaults. 9482 * WebProcess/WebProcess.messages.in: 9483 - added message. 9484 94852014-01-22 David Farler <dfarler@apple.com> 9486 9487 ASAN builds are broken - missing flags 9488 https://bugs.webkit.org/show_bug.cgi?id=127231 9489 9490 Reviewed by Andy Estes. 9491 9492 Add missing $(ASAN_OTHER_LDFLAGS). 9493 * Configurations/PluginProcessShim.xcconfig: 9494 * Configurations/SecItemShim.xcconfig: 9495 * Configurations/WebKit2.xcconfig: 9496 * Configurations/WebProcessShim.xcconfig: 9497 94982014-01-22 Brady Eidson <beidson@apple.com> 9499 9500 The IDB backing store get() method shouldn't call IDB callbacks directly 9501 https://bugs.webkit.org/show_bug.cgi?id=127453 9502 9503 Reviewed by Beth Dakin. 9504 9505 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 9506 (WebKit::WebIDBServerConnection::get): 9507 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 9508 95092014-01-22 Martin Hock <mhock@apple.com> 9510 9511 Enable Session API. 9512 https://bugs.webkit.org/show_bug.cgi?id=127255 9513 9514 Reviewed by Alexey Proskuryakov. 9515 9516 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 9517 (WebKit::storageSession): 9518 * NetworkProcess/NetworkResourceLoader.cpp: 9519 (WebKit::NetworkResourceLoader::NetworkResourceLoader): 9520 (WebKit::NetworkResourceLoader::start): 9521 * NetworkProcess/NetworkResourceLoader.h: 9522 * NetworkProcess/RemoteNetworkingContext.h: 9523 * NetworkProcess/mac/RemoteNetworkingContext.mm: 9524 (WebKit::RemoteNetworkingContext::storageSession): 9525 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 9526 * Shared/Network/NetworkResourceLoadParameters.cpp: 9527 (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters): 9528 (WebKit::NetworkResourceLoadParameters::encode): 9529 (WebKit::NetworkResourceLoadParameters::decode): 9530 * Shared/Network/NetworkResourceLoadParameters.h: 9531 * Shared/SessionTracker.cpp: 9532 (WebKit::staticSessionMap): 9533 (WebKit::SessionTracker::sessionMap): 9534 (WebKit::SessionTracker::session): 9535 (WebKit::SessionTracker::setSession): 9536 (WebKit::SessionTracker::destroySession): 9537 * Shared/SessionTracker.h: 9538 * UIProcess/API/C/WKPage.cpp: 9539 (WKPageSetSession): 9540 * UIProcess/API/C/WKPage.h: 9541 * UIProcess/API/C/WKSessionRef.cpp: 9542 (WKSessionCreate): 9543 * UIProcess/API/C/WKSessionRef.h: 9544 * UIProcess/WebPageProxy.cpp: 9545 (WebKit::WebPageProxy::WebPageProxy): 9546 (WebKit::WebPageProxy::setSession): 9547 * UIProcess/WebPageProxy.h: 9548 * WebProcess/Network/WebResourceLoadScheduler.cpp: 9549 (WebKit::WebResourceLoadScheduler::scheduleLoad): 9550 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 9551 (WebKit::WebPlatformStrategies::loadResourceSynchronously): 9552 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 9553 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 9554 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): 9555 (WebKit::WebFrameNetworkingContext::storageSession): 9556 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 9557 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 9558 * WebProcess/WebPage/WebFrame.cpp: 9559 (WebKit::WebFrame::startDownload): 9560 * WebProcess/WebPage/WebPage.cpp: 9561 (WebKit::WebPage::WebPage): 9562 (WebKit::WebPage::sessionID): 9563 (WebKit::WebPage::updatePreferences): 9564 * WebProcess/WebPage/WebPage.h: 9565 (WebKit::WebPage::setSessionID): 9566 * WebProcess/WebPage/WebPage.messages.in: 9567 95682014-01-21 Brady Eidson <beidson@apple.com> 9569 9570 IDB: "Put" support 9571 <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401 9572 9573 Reviewed by Alexey Proskuryakov. 9574 9575 Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess: 9576 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 9577 (WebKit::WebIDBServerConnection::put): 9578 (WebKit::WebIDBServerConnection::didPutRecord): 9579 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 9580 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 9581 9582 Pass off the putRecord request to the Unique IDBDatabase: 9583 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 9584 (WebKit::DatabaseProcessIDBConnection::putRecord): 9585 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 9586 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 9587 9588 Pass off the putRecord request to the backing store: 9589 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 9590 (WebKit::UniqueIDBDatabase::putRecord): 9591 (WebKit::UniqueIDBDatabase::putRecordInBackingStore): 9592 (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore): 9593 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 9594 9595 Add backing store methods related to putRecord, though only one is critical right now: 9596 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 9597 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 9598 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): 9599 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey): 9600 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): 9601 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): 9602 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator): 9603 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 9604 9605 Add the IDBKeyData type to IPC: 9606 * Scripts/webkit2/messages.py: 9607 (struct_or_class): 9608 9609 * Shared/WebCoreArgumentCoders.cpp: 9610 (IPC::ArgumentCoder<IDBKeyData>::encode): 9611 (IPC::ArgumentCoder<IDBKeyData>::decode): 9612 * Shared/WebCoreArgumentCoders.h: 9613 9614 * DatabaseProcess/IndexedDB/IDBSerialization.cpp: 9615 (WebKit::serializeIDBKey): 9616 * DatabaseProcess/IndexedDB/IDBSerialization.h: 9617 9618 Implement more cross-thread copying: 9619 * Shared/WebCrossThreadCopier.cpp: 9620 (WebCore::Vector<uint8_t>>::copy): 9621 (WebCore::Vector<Vector<IDBKeyData>>>::copy): 9622 (WebCore::ASCIILiteral>::copy): 9623 * Shared/WebCrossThreadCopier.h: 9624 9625 Implement more numbers of generic AsyncTask templates: 9626 * Shared/AsyncTask.h: 9627 (WebKit::createAsyncTask): 9628 96292014-01-22 Anders Carlsson <andersca@apple.com> 9630 9631 WKProcessClass should create a WebContext 9632 https://bugs.webkit.org/show_bug.cgi?id=127449 9633 <rdar://problem/15885582> 9634 9635 Reviewed by Dan Bernstein. 9636 9637 * Shared/Cocoa/APIObject.mm: 9638 (API::Object::newObject): 9639 * UIProcess/API/Cocoa/WKBrowsingContextController.h: 9640 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 9641 * UIProcess/API/Cocoa/WKProcessClass.mm: 9642 (-[WKProcessClass initWithConfiguration:]): 9643 (-[WKProcessClass dealloc]): 9644 (-[WKProcessClass API::]): 9645 * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h. 9646 (WebKit::wrapper): 9647 * UIProcess/API/Cocoa/WKProcessGroup.mm: 9648 (-[WKProcessGroup initWithInjectedBundleURL:]): 9649 * UIProcess/API/ios/WKContentView.mm: 9650 (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): 9651 * WebKit2.xcodeproj/project.pbxproj: 9652 96532014-01-22 Tim Horton <timothy_horton@apple.com> 9654 9655 Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy) 9656 https://bugs.webkit.org/show_bug.cgi?id=127445 9657 9658 Reviewed by Anders Carlsson. 9659 9660 * UIProcess/API/ios/WKContentView.mm: 9661 (-[WKContentView _updateViewExposedRect]): 9662 * UIProcess/API/mac/WKView.mm: 9663 (-[WKView _updateViewExposedRect]): 9664 Null-check. 9665 96662014-01-22 Anders Carlsson <andersca@apple.com> 9667 9668 Add WKWebView class 9669 https://bugs.webkit.org/show_bug.cgi?id=127444 9670 <rdar://problem/15884418> 9671 9672 Reviewed by Dan Bernstein. 9673 9674 * UIProcess/API/Cocoa/WKWebView.h: Added. 9675 * UIProcess/API/Cocoa/WKWebView.mm: Added. 9676 (-[WKWebView initWithFrame:configuration:]): 9677 (-[WKWebView configuration]): 9678 * WebKit2.xcodeproj/project.pbxproj: 9679 96802014-01-22 Anders Carlsson <andersca@apple.com> 9681 9682 Fix 32-bit build. 9683 9684 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: 9685 96862014-01-22 Tim Horton <timothy_horton@apple.com> 9687 9688 [wk2] Scroll pinning state is wrong until the first scroll event 9689 https://bugs.webkit.org/show_bug.cgi?id=127437 9690 9691 Reviewed by Simon Fraser. 9692 9693 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 9694 (WebKit::WebFrameLoaderClient::didChangeScrollOffset): 9695 * WebProcess/WebPage/WebPage.cpp: 9696 (WebKit::WebPage::updateMainFrameScrollOffsetPinning): 9697 (WebKit::WebPage::didCommitLoad): 9698 * WebProcess/WebPage/WebPage.h: 9699 Rename WebPage::didChangeScrollOffsetForMainFrame to 9700 updateMainFrameScrollOffsetPinning, which better describes what it 9701 actually does. Call it when a load is committed, so that we have valid 9702 pinning state before the first scroll event comes in. 9703 97042014-01-22 Anders Carlsson <andersca@apple.com> 9705 9706 Add WKWebViewConfiguration class 9707 https://bugs.webkit.org/show_bug.cgi?id=127436 9708 <rdar://problem/15882923> 9709 9710 Reviewed by Tim Horton. 9711 9712 * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added. 9713 * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added. 9714 (-[WKWebViewConfiguration copyWithZone:]): 9715 * WebKit2.xcodeproj/project.pbxproj: 9716 97172014-01-22 Alice Barraclough <alice.liu@apple.com> 9718 9719 [WK2] add cocoa API for private browsing setting 9720 https://bugs.webkit.org/show_bug.cgi?id=127391 9721 9722 Reviewed by Sam Weinig. 9723 9724 * UIProcess/API/Cocoa/WKBrowsingContextGroup.h: 9725 * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: 9726 (-[WKBrowsingContextGroup privateBrowsingEnabled]): 9727 (-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]): 9728 Adding some API for the private Browsing setting. Reaches through 9729 to the WKPageGroup's preferences. 9730 97312014-01-22 Anders Carlsson <andersca@apple.com> 9732 9733 Add WKProcessClass class 9734 https://bugs.webkit.org/show_bug.cgi?id=127433 9735 <rdar://problem/15882582> 9736 9737 Reviewed by Dan Bernstein. 9738 9739 Add a stubbed out WKProcessClass class. 9740 9741 * Shared/API/Cocoa/WKFoundation.h: 9742 * UIProcess/API/Cocoa/WKProcessClass.h: Added. 9743 * UIProcess/API/Cocoa/WKProcessClass.mm: Added. 9744 (-[WKProcessClass initWithConfiguration:]): 9745 (-[WKProcessClass configuration]): 9746 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: 9747 * WebKit2.xcodeproj/project.pbxproj: 9748 97492014-01-22 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 9750 9751 [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled 9752 https://bugs.webkit.org/show_bug.cgi?id=127119 9753 9754 Reviewed by Mario Sanchez Prada. 9755 9756 Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY). 9757 9758 * WebProcess/WebPage/WebPage.cpp: 9759 (WebKit::WebPage::WebPage): 9760 * WebProcess/WebPage/WebPage.h: 9761 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 9762 (WebKit::WebPage::platformInitialize): 9763 97642014-01-22 Martin Robinson <mrobinson@igalia.com> 9765 9766 [GTK][CMake] Add support for building the NetworkProcess 9767 https://bugs.webkit.org/show_bug.cgi?id=127195 9768 9769 Reviewed by Daniel Bates. 9770 9771 * CMakeLists.txt: Add shared network process build instructions. 9772 * PlatformEfl.cmake: Move build instructions to the platform-independent file. 9773 * PlatformGTK.cmake: Add some files to the source lists. 9774 97752014-01-22 Carlos Garcia Campos <cgarcia@igalia.com> 9776 9777 REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions 9778 https://bugs.webkit.org/show_bug.cgi?id=127422 9779 9780 Reviewed by Anders Carlsson. 9781 9782 * WebProcess/gtk/WebGtkExtensionManager.cpp: 9783 (WebKit::WebGtkExtensionManager::initialize): Always create the 9784 WebKitWebExtension object since it's used internally to implement 9785 the ResourceLoader client. 9786 97872014-01-22 Jer Noble <jer.noble@apple.com> 9788 9789 [Mac][WK2] Unable to play video protected by session cookies 9790 https://bugs.webkit.org/show_bug.cgi?id=127207 9791 9792 Reviewed by Sam Weinig. 9793 9794 Recent changes in our underlying media frameworks caused our shimmed methods 9795 in CookieStorageShim to stop being called. Insert an objective-c shim in addition 9796 to our original shim to intercept pulling cookies out of cookie storage. 9797 9798 * Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp. 9799 (WebKit::CookieStorageShim::initialize): Insert the shim. 9800 (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]): 9801 Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL(). 9802 * WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm. 9803 98042014-01-22 Yongjun Zhang <yongjun_zhang@apple.com> 9805 9806 https://bugs.webkit.org/show_bug.cgi?id=127380 9807 Add more methods to WKWebProcessPlugInNodeHandle. 9808 9809 Reviewed by Sam Weinig. 9810 9811 Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*. Also 9812 add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle. 9813 9814 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: 9815 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: 9816 (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): 9817 (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): 9818 98192014-01-22 Carlos Garcia Campos <cgarcia@igalia.com> 9820 9821 Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449. 9822 9823 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: 9824 Use override instead of OVERRIDE. 9825 98262014-01-22 Koop Mast <kwm@FreeBSD.org> 9827 9828 Build fixes for FreeBSD. 9829 https://bugs.webkit.org/show_bug.cgi?id=126779 9830 9831 Reviewed by Csaba Osztrogonác. 9832 9833 * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp: 9834 (WebKit::PluginProcessProxy::scanPlugin): 9835 98362014-01-22 Jinwoo Song <jinwoo7.song@samsung.com> 9837 9838 [EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation 9839 https://bugs.webkit.org/show_bug.cgi?id=127397 9840 9841 Reviewed by Anders Carlsson. 9842 9843 Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler 9844 and DispatchQueue::setSocketEventHandler. 9845 9846 * Platform/IPC/unix/ConnectionUnix.cpp: 9847 (IPC::Connection::open): 9848 * Platform/WorkQueue.h: 9849 * Platform/efl/DispatchQueueEfl.cpp: 9850 (DispatchQueue::setSocketEventHandler): 9851 * Platform/efl/DispatchQueueEfl.h: 9852 * Platform/efl/WorkQueueEfl.cpp: 9853 (WorkQueue::registerSocketEventHandler): 9854 98552014-01-21 Tim Horton <timothy_horton@apple.com> 9856 9857 [wk2] De-.get()ify receivers of Objective-C messages 9858 https://bugs.webkit.org/show_bug.cgi?id=127398 9859 9860 Reviewed by Sam Weinig. 9861 9862 RetainPtr does the right thing when you use it as the 9863 receiver of an Obj-C message, so we don't need .get(). 9864 9865 Long and useless file list elided. 9866 98672014-01-21 Brady Eidson <beidson@apple.com> 9868 9869 The IDB backing store put() method shouldn't call IDB callbacks directly 9870 https://bugs.webkit.org/show_bug.cgi?id=127399 9871 9872 Reviewed by Beth Dakin. 9873 9874 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 9875 (WebKit::WebIDBServerConnection::put): 9876 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 9877 98782014-01-21 Anders Carlsson <andersca@apple.com> 9879 9880 Fix 32-bit build. 9881 9882 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: 9883 98842014-01-21 Jinwoo Song <jinwoo7.song@samsung.com> 9885 9886 [EFL][WK2] Use nanoseconds in TimerWorkItem class consistently 9887 https://bugs.webkit.org/show_bug.cgi?id=127263 9888 9889 Reviewed by Gyuyoung Kim. 9890 9891 After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter. 9892 So it would be better to use nanoseconds in TimerWorkItem for consistency. 9893 9894 * Platform/efl/DispatchQueueEfl.cpp: 9895 (DispatchQueue::performTimerWork): 9896 (DispatchQueue::insertTimerWorkItem): 9897 (DispatchQueue::getNextTimeOut): 9898 * Platform/efl/DispatchQueueWorkItemEfl.h: 9899 (TimerWorkItem::create): 9900 (TimerWorkItem::expirationTimeNanoSeconds): 9901 (TimerWorkItem::hasExpired): 9902 (TimerWorkItem::TimerWorkItem): 9903 99042014-01-21 Tim Horton <timothy_horton@apple.com> 9905 9906 Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle. 9907 9908 Reviewed by Simon Fraser. 9909 9910 * WebKit2.xcodeproj/project.pbxproj: 9911 99122014-01-21 Anders Carlsson <andersca@apple.com> 9913 9914 Add a WKProcessClassConfiguration class 9915 https://bugs.webkit.org/show_bug.cgi?id=127378 9916 <rdar://problem/15875413> 9917 9918 Reviewed by Dan Bernstein. 9919 9920 * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added. 9921 * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added. 9922 (-[WKProcessClassConfiguration copyWithZone:]): 9923 * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added. 9924 * WebKit2.xcodeproj/project.pbxproj: 9925 99262014-01-21 Tim Horton <timothy_horton@apple.com> 9927 9928 Make ViewGestureController Obj-C++ 9929 https://bugs.webkit.org/show_bug.cgi?id=127385 9930 9931 Reviewed by Dean Jackson. 9932 9933 * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp. 9934 * WebKit2.xcodeproj/project.pbxproj: 9935 99362014-01-21 Anders Carlsson <andersca@apple.com> 9937 9938 Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group 9939 https://bugs.webkit.org/show_bug.cgi?id=127374 9940 9941 Reviewed by Dan Bernstein. 9942 9943 * WebKit2.xcodeproj/project.pbxproj: 9944 99452014-01-21 Commit Queue <commit-queue@webkit.org> 9946 9947 Unreviewed, rolling out r162452. 9948 http://trac.webkit.org/changeset/162452 9949 https://bugs.webkit.org/show_bug.cgi?id=127366 9950 9951 broke a few tests on all Mac WebKit1 bots (Requested by 9952 thorton on #webkit). 9953 9954 * WebProcess/WebPage/WebPage.cpp: 9955 (WebKit::WebPage::WebPage): 9956 (WebKit::WebPage::setActive): 9957 (WebKit::WebPage::setViewIsVisible): 9958 (WebKit::WebPage::setFocused): 9959 (WebKit::WebPage::setIsInWindow): 9960 (WebKit::WebPage::setViewStateInternal): 9961 (WebKit::WebPage::setIsVisuallyIdle): 9962 * WebProcess/WebPage/WebPage.h: 9963 99642014-01-21 Martin Hock <mhock@apple.com> 9965 9966 Trivial Session API cleanup. 9967 https://bugs.webkit.org/show_bug.cgi?id=127356 9968 9969 Reviewed by Alexey Proskuryakov. 9970 9971 * UIProcess/API/C/WKSessionRef.cpp: 9972 (WKSessionIsEphemeral): 9973 * UIProcess/API/C/WKSessionRef.h: 9974 99752014-01-16 Simon Fraser <simon.fraser@apple.com> 9976 9977 Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds 9978 https://bugs.webkit.org/show_bug.cgi?id=127121 9979 9980 Reviewed by Anders Carlsson. 9981 9982 A common cause of early WebProcess crashes during development is a null return 9983 from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in 9984 this case rather than passing a null C string to dlsym(). 9985 9986 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: 9987 (WebKit::BootstrapMain): 9988 99892014-01-21 Tim Horton <timothy_horton@apple.com> 9990 9991 Sort headers after the rename that happened in r162454. 9992 9993 * UIProcess/mac/RemoteLayerTreeHost.mm: 9994 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: 9995 99962014-01-21 Tim Horton <timothy_horton@apple.com> 9997 9998 Address late review naming comments after r162453. 9999 10000 * UIProcess/API/mac/WKView.mm: 10001 And, fix the build by adding an include I accidentally missed. 10002 10003 * UIProcess/mac/RemoteLayerTreeHost.mm: 10004 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: 10005 100062014-01-21 Tim Horton <timothy_horton@apple.com> 10007 10008 Keep CALayer implicit animation disabling code in a single place 10009 https://bugs.webkit.org/show_bug.cgi?id=127355 10010 10011 Reviewed by Simon Fraser. 10012 10013 * Shared/mac/RemoteLayerTreePropertyApplier.h: 10014 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 10015 Remove disableActionsForLayer. 10016 10017 * UIProcess/API/mac/WKView.mm: 10018 (-[WKView _rootLayer]): 10019 Disable actions on the root layer. It doesn't need them, and currently 10020 isn't affected by implicit animations, but future patches which animate 10021 the root layer will benefit from this. 10022 10023 * UIProcess/mac/RemoteLayerTreeHost.mm: 10024 (WebKit::RemoteLayerTreeHost::createLayer): 10025 Use web_disableAllActions instead of disableActionsForLayer. 10026 10027 * WebKit2.xcodeproj/project.pbxproj: 10028 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp. 10029 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): 10030 (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom): 10031 (PlatformCALayerRemoteCustom::hostingContextID): 10032 Use web_disableAllActions instead of disableActionsForLayer. 10033 This requires making this file Obj-C++ but that's OK since it's Mac/iOS only. 10034 100352014-01-21 Gavin Barraclough <barraclough@apple.com> 10036 10037 Change Page, FocusController to use ViewState 10038 https://bugs.webkit.org/show_bug.cgi?id=126533 10039 10040 Reviewed by Tim Horton. 10041 10042 These classes currently maintain a set of separate fields to represent the view state; 10043 combine these into a single field, and allow WebPage to send the combined update rather 10044 than individual changes. 10045 10046 Maintain existing interface for WebKit1 clients. 10047 10048 * WebProcess/WebPage/WebPage.cpp: 10049 (WebKit::WebPage::WebPage): 10050 - Combined separate calls to Page::setViewState. 10051 (WebKit::WebPage::updateIsInWindow): 10052 - Simplied from setIsInWindow. 10053 (WebKit::WebPage::setViewState): 10054 - Combined separate calls to Page::setViewState. 10055 * WebProcess/WebPage/WebPage.h: 10056 - Declare updateIsInWindow. 10057 100582014-01-21 Carlos Garcia Campos <cgarcia@igalia.com> 10059 10060 [SOUP] Implement CUSTOM PROTOCOLS 10061 https://bugs.webkit.org/show_bug.cgi?id=125583 10062 10063 Reviewed by Anders Carlsson. 10064 10065 Add new classes to implement CustomProtocols for soup. The 10066 implementation is the same, but using the CustomProtocol API and 10067 messages. The current implementation can be removed once all ports 10068 using soup switch to using CustomProtocols. 10069 10070 * GNUmakefile.am: Add new include paths. 10071 * GNUmakefile.list.am: Add new files to compilation. 10072 * PlatformGTK.cmake: Add new files to compilation. 10073 * Shared/API/c/soup/WKBaseSoup.h: 10074 * Shared/APIObject.h: 10075 * Shared/Network/CustomProtocols/CustomProtocolManager.h: 10076 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added. 10077 (WebKit::generateCustomProtocolID): 10078 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): 10079 (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData): 10080 (WebKit::WebSoupRequestAsyncData::requestFailed): 10081 (WebKit::WebSoupRequestAsyncData::releaseTask): 10082 (WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl): 10083 (WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl): 10084 (WebKit::CustomProtocolManagerImpl::registerScheme): 10085 (WebKit::CustomProtocolManagerImpl::supportsScheme): 10086 (WebKit::CustomProtocolManagerImpl::didFailWithError): 10087 (WebKit::CustomProtocolManagerImpl::didLoadData): 10088 (WebKit::CustomProtocolManagerImpl::didReceiveResponse): 10089 (WebKit::CustomProtocolManagerImpl::didFinishLoading): 10090 (WebKit::CustomProtocolManagerImpl::send): 10091 (WebKit::CustomProtocolManagerImpl::finish): 10092 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added. 10093 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: 10094 (WebKit::CustomProtocolManager::CustomProtocolManager): 10095 (WebKit::CustomProtocolManager::initialize): 10096 (WebKit::CustomProtocolManager::registerScheme): 10097 (WebKit::CustomProtocolManager::supportsScheme): 10098 (WebKit::CustomProtocolManager::didFailWithError): 10099 (WebKit::CustomProtocolManager::didLoadData): 10100 (WebKit::CustomProtocolManager::didReceiveResponse): 10101 (WebKit::CustomProtocolManager::didFinishLoading): 10102 * Shared/WebProcessCreationParameters.cpp: 10103 (WebKit::WebProcessCreationParameters::encode): 10104 (WebKit::WebProcessCreationParameters::decode): 10105 * Shared/WebProcessCreationParameters.h: 10106 * UIProcess/API/C/soup/WKAPICastSoup.h: 10107 * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp. 10108 (WKSoupCustomProtocolRequestManagerGetTypeID): 10109 (WKSoupCustomProtocolRequestManagerSetClient): 10110 * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added. 10111 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: 10112 * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: 10113 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): 10114 * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: 10115 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): 10116 (WebKit::CustomProtocolManagerProxy::startLoading): 10117 (WebKit::CustomProtocolManagerProxy::stopLoading): 10118 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added. 10119 (WebKit::WebSoupCustomProtocolRequestManager::supplementName): 10120 (WebKit::WebSoupCustomProtocolRequestManager::create): 10121 (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager): 10122 (WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager): 10123 (WebKit::WebSoupCustomProtocolRequestManager::initializeClient): 10124 (WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed): 10125 (WebKit::WebSoupCustomProtocolRequestManager::processDidClose): 10126 (WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement): 10127 (WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement): 10128 (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol): 10129 (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol): 10130 (WebKit::WebSoupCustomProtocolRequestManager::startLoading): 10131 (WebKit::WebSoupCustomProtocolRequestManager::stopLoading): 10132 (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse): 10133 (WebKit::WebSoupCustomProtocolRequestManager::didLoadData): 10134 (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError): 10135 (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading): 10136 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added. 10137 (WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols): 10138 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added. 10139 (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading): 10140 (WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading): 10141 * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added. 10142 * UIProcess/Network/NetworkProcessProxy.cpp: 10143 (WebKit::NetworkProcessProxy::NetworkProcessProxy): 10144 * UIProcess/WebContext.cpp: 10145 (WebKit::WebContext::WebContext): 10146 * UIProcess/WebPageProxy.cpp: 10147 * UIProcess/WebPageProxy.h: 10148 * UIProcess/WebPageProxy.messages.in: 10149 * UIProcess/WebProcessProxy.cpp: 10150 (WebKit::WebProcessProxy::WebProcessProxy): 10151 * UIProcess/gtk/WebContextGtk.cpp: 10152 (WebKit::WebContext::platformInitializeWebProcess): 10153 * UIProcess/soup/WebContextSoup.cpp: 10154 (WebKit::WebContext::platformInitializeNetworkProcess): 10155 * WebProcess/WebProcess.cpp: 10156 (WebKit::WebProcess::WebProcess): 10157 * WebProcess/soup/WebKitSoupRequestGeneric.cpp: 10158 (webkitSoupRequestGenericSendAsync): 10159 (webkitSoupRequestGenericSendFinish): 10160 * WebProcess/soup/WebKitSoupRequestGeneric.h: 10161 * WebProcess/soup/WebProcessSoup.cpp: 10162 (WebKit::WebProcess::platformInitializeWebProcess): 10163 101642014-01-21 Adrian Perez de Castro <aperez@igalia.com> 10165 10166 [GTK] Allow passing extra data to web extensions 10167 https://bugs.webkit.org/show_bug.cgi?id=125990 10168 10169 Reviewed by Carlos Garcia Campos. 10170 10171 Allow passing additional information to the injected bundle. On top 10172 of the string containing the path to the web extensions directory, 10173 a GVariant can be set with additional data using 10174 webkit_web_context_set_web_extensions_initialization_user_data(). 10175 Also, a new initialize-web-extensions signal is emitted before 10176 launching a new WebProcess to allow setting different user data 10177 for each process. The GVariant is serialized as a string, passed 10178 to the injected bundle, and the injected bundle deserializes back 10179 the data, which is passed to web extensions which define the 10180 webkit_web_extension_initialize_with_user_data() function (for 10181 backwards compatibility, webkit_web_extension_initialize() is 10182 used as a fallback.) 10183 10184 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 10185 (getInjectedBundleInitializationUserData): Define new callback 10186 function which causes emission of the initialize-web-extensions 10187 signal, and serializes the data to be passed to the web process. 10188 (attachInjectedBundleClientToContext): Set the 10189 getInjectedBundleInitializationUserData() callback. 10190 * UIProcess/API/gtk/WebKitWebContext.cpp: 10191 (webkit_web_context_class_init): Define the 10192 initialize-web-extensions signal. 10193 (webkit_web_context_set_web_extensions_directory): 10194 Web extensions directory as now member of WebKitWebContextPrivate, 10195 to be able to retrieve it later. 10196 (webkit_web_context_set_web_extensions_initialization_user_data): 10197 New API method to set the user data passed to the web extensions 10198 when initialized. 10199 (webkitWebContextInitializeWebExtensions): Private function used 10200 to trigger emission of the initialize-web-extensions signal. 10201 * UIProcess/API/gtk/WebKitWebContext.h: 10202 Added prototype for new API method 10203 webkit_web_context_set_web_extensions_initialization_user_data(). 10204 * UIProcess/API/gtk/WebKitWebContextPrivate.h: 10205 Prototype of the new private function. 10206 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 10207 Add new public API bits to the documentation. 10208 * WebProcess/gtk/WebGtkExtensionManager.cpp: 10209 (WebKit::WebGtkExtensionManager::initialize): 10210 Deserialize the data received from the UI process and pass it to 10211 webkit_web_extension_initialize_with_user_data() if available, 10212 keeping webkit_web_extension_initialize() as fallback. 10213 102142014-01-20 Ryuan Choi <ryuan.choi@samsung.com> 10215 10216 [EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp 10217 https://bugs.webkit.org/show_bug.cgi?id=127261 10218 10219 Reviewed by Gyuyoung Kim. 10220 10221 isEwkViewEvasObject is general check routine of EFL and mainly used in 10222 ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp 10223 10224 This patch moves it to EwkView.h as inline function with small refactoring. 10225 In addition, this patch added EINA_UNLIKELY keyword in cold paths. 10226 10227 * UIProcess/API/efl/EwkView.cpp: 10228 (defaultSmartClassInstance): 10229 (toSmartData): 10230 (toEwkView): Moved it from bottom not to expose it to header file. 10231 * UIProcess/API/efl/EwkView.h: 10232 * UIProcess/API/efl/ewk_view.cpp: 10233 (isEwkViewEvasObject): 10234 (toEwkViewChecked): 10235 102362014-01-20 Eunmi Lee <eunmi15.lee@samsung.com> 10237 10238 [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1. 10239 https://bugs.webkit.org/show_bug.cgi?id=127268 10240 10241 Reviewed by Gyuyoung Kim. 10242 10243 Amount of scrolling should be same with movement of touch even though 10244 device pixel ratio is not 1, so apply device pixel ratio to the new 10245 position of scrollBy(). 10246 10247 * UIProcess/API/efl/EwkView.cpp: 10248 (EwkView::scrollBy): 10249 102502014-01-20 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 10251 10252 [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage 10253 https://bugs.webkit.org/show_bug.cgi?id=127090 10254 10255 Reviewed by Simon Fraser. 10256 10257 When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after 10258 WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by 10259 WebPageProxy::pageScaleFactor. 10260 This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized. 10261 10262 * UIProcess/WebPageProxy.cpp: 10263 (WebKit::WebPageProxy::scalePage): 10264 102652014-01-20 Zan Dobersek <zdobersek@igalia.com> 10266 10267 [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function 10268 https://bugs.webkit.org/show_bug.cgi?id=127273 10269 10270 Reviewed by Anders Carlsson. 10271 10272 Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler 10273 and WorkQueue::SocketEventSource. 10274 10275 * Platform/IPC/unix/ConnectionUnix.cpp: 10276 (IPC::Connection::open): 10277 * Platform/WorkQueue.h: 10278 * Platform/gtk/WorkQueueGtk.cpp: 10279 (WorkQueue::SocketEventSource::SocketEventSource): 10280 (WorkQueue::registerSocketEventHandler): 10281 (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>. 10282 (WorkQueue::dispatch): Ditto. 10283 (WorkQueue::dispatchAfter): Ditto. 10284 102852014-01-20 Zan Dobersek <zdobersek@igalia.com> 10286 10287 Unreviewed. Additional build fixes after r162276 and r163304. 10288 10289 * Platform/WorkQueue.h: 10290 * Platform/gtk/WorkQueueGtk.cpp: 10291 (WorkQueue::EventSource::EventSource): 10292 (WorkQueue::dispatchOnSource): 10293 (WorkQueue::dispatch): 10294 (WorkQueue::dispatchAfter): 10295 102962014-01-19 Zan Dobersek <zdobersek@igalia.com> 10297 10298 Unreviewed GTK build fix after r162276. 10299 10300 Updating the WorkQueue implementation to use std::function and std::chrono. 10301 10302 * Platform/WorkQueue.h: 10303 * Platform/gtk/WorkQueueGtk.cpp: 10304 (WorkQueue::dispatchOnSource): 10305 (WorkQueue::dispatch): 10306 (WorkQueue::dispatchAfter): 10307 103082014-01-19 Jinwoo Song <jinwoo7.song@samsung.com> 10309 10310 Unreviewed debug build fix on EFL port after r162300. 10311 10312 * Platform/efl/DispatchQueueWorkItemEfl.h: 10313 (TimerWorkItem::create): 10314 103152014-01-19 Jinwoo Song <jinwoo7.song@samsung.com> 10316 10317 [EFL][WK2] build fix after r162276 10318 https://bugs.webkit.org/show_bug.cgi?id=127259 10319 10320 Reviewed by Anders Carlsson. 10321 10322 * Platform/efl/DispatchQueueEfl.cpp: 10323 (DispatchQueue::performTimerWork): 10324 (DispatchQueue::getNextTimeOut): 10325 * Platform/efl/DispatchQueueWorkItemEfl.h: 10326 (WorkItem::create): 10327 (WorkItem::WorkItem): 10328 (TimerWorkItem::create): 10329 (TimerWorkItem::TimerWorkItem): 10330 * Platform/efl/WorkQueueEfl.cpp: 10331 (WorkQueue::dispatch): 10332 (WorkQueue::dispatchAfter): 10333 103342014-01-18 Anders Carlsson <andersca@apple.com> 10335 10336 Replace a couple of uses of WTF::Function with std::function 10337 https://bugs.webkit.org/show_bug.cgi?id=127218 10338 10339 Reviewed by Andreas Kling. 10340 10341 * Platform/IPC/mac/ConnectionMac.cpp: 10342 (IPC::createDataAvailableSource): 10343 * Platform/WorkQueue.h: 10344 * Platform/mac/WorkQueueMac.cpp: 10345 (WorkQueue::dispatch): 10346 (WorkQueue::dispatchAfter): 10347 * Shared/ChildProcess.cpp: 10348 (WebKit::didCloseOnConnectionWorkQueue): 10349 * UIProcess/Storage/LocalStorageDatabase.cpp: 10350 (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate): 10351 * WebProcess/WebPage/DrawingArea.cpp: 10352 (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 10353 * WebProcess/WebPage/DrawingArea.h: 10354 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 10355 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 10356 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 10357 103582014-01-18 Martin Hock <mhock@apple.com> 10359 10360 Flesh out session APIs (still not enabled at API level). 10361 https://bugs.webkit.org/show_bug.cgi?id=126918 10362 10363 Reviewed by Alexey Proskuryakov. 10364 10365 * CMakeLists.txt: 10366 * GNUmakefile.list.am: 10367 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 10368 (WebKit::storageSession): 10369 (WebKit::NetworkConnectionToWebProcess::startDownload): 10370 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM): 10371 (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM): 10372 (WebKit::NetworkConnectionToWebProcess::cookiesEnabled): 10373 (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue): 10374 (WebKit::NetworkConnectionToWebProcess::getRawCookies): 10375 (WebKit::NetworkConnectionToWebProcess::deleteCookie): 10376 * NetworkProcess/NetworkConnectionToWebProcess.h: 10377 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 10378 * NetworkProcess/NetworkProcess.cpp: 10379 (WebKit::NetworkProcess::initializeNetworkProcess): 10380 (WebKit::NetworkProcess::ensurePrivateBrowsingSession): 10381 (WebKit::NetworkProcess::destroyPrivateBrowsingSession): 10382 * NetworkProcess/NetworkProcess.h: 10383 * NetworkProcess/NetworkProcess.messages.in: 10384 * NetworkProcess/RemoteNetworkingContext.h: 10385 * NetworkProcess/mac/RemoteNetworkingContext.mm: 10386 (WebKit::RemoteNetworkingContext::storageSession): 10387 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 10388 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: 10389 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 10390 * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp. 10391 (WebKit::sessionMap): 10392 (WebKit::identifierBase): 10393 (WebKit::SessionTracker::getSessionMap): 10394 (WebKit::SessionTracker::getIdentifierBase): 10395 (WebKit::SessionTracker::session): 10396 (WebKit::SessionTracker::destroySession): 10397 (WebKit::SessionTracker::setIdentifierBase): 10398 * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h. 10399 (WebKit::SessionTracker::isEphemeralID): 10400 * Shared/mac/CookieStorageShim.cpp: 10401 (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): 10402 * UIProcess/APISession.cpp: 10403 (API::generateID): 10404 (API::Session::defaultSession): 10405 (API::Session::legacyPrivateSession): 10406 (API::Session::Session): 10407 (API::Session::create): 10408 (API::Session::isEphemeral): 10409 (API::Session::getID): 10410 * UIProcess/APISession.h: 10411 * UIProcess/WebContext.cpp: 10412 (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled): 10413 (WebKit::WebContext::createNewWebProcess): 10414 (WebKit::WebContext::createWebPage): 10415 * UIProcess/WebContext.h: 10416 * UIProcess/WebPageProxy.cpp: 10417 (WebKit::WebPageProxy::create): 10418 (WebKit::WebPageProxy::WebPageProxy): 10419 * UIProcess/WebPageProxy.h: 10420 (WebKit::WebPageProxy::sessionID): 10421 * UIProcess/WebProcessProxy.cpp: 10422 (WebKit::WebProcessProxy::createWebPage): 10423 * UIProcess/WebProcessProxy.h: 10424 * WebKit2.xcodeproj/project.pbxproj: 10425 * WebProcess/InjectedBundle/InjectedBundle.cpp: 10426 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): 10427 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10428 (WebKit::legacySessionID): 10429 (WebKit::WebPlatformStrategies::cookiesForDOM): 10430 (WebKit::WebPlatformStrategies::setCookiesFromDOM): 10431 (WebKit::WebPlatformStrategies::cookiesEnabled): 10432 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): 10433 (WebKit::WebPlatformStrategies::getRawCookies): 10434 (WebKit::WebPlatformStrategies::deleteCookie): 10435 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 10436 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 10437 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 10438 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): 10439 (WebKit::WebFrameNetworkingContext::storageSession): 10440 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 10441 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 10442 (WebKit::WebFrameNetworkingContext::storageSession): 10443 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: 10444 * WebProcess/WebProcess.cpp: 10445 (WebKit::WebProcess::initializeWebProcess): 10446 (WebKit::WebProcess::ensurePrivateBrowsingSession): 10447 (WebKit::WebProcess::destroyPrivateBrowsingSession): 10448 * WebProcess/WebProcess.h: 10449 * WebProcess/WebProcess.messages.in: 10450 104512014-01-18 Brian Burg <bburg@apple.com> 10452 10453 Web Inspector: Page should use std::unique_ptr for InspectorController 10454 https://bugs.webkit.org/show_bug.cgi?id=127068 10455 10456 Reviewed by Joseph Pecoraro. 10457 10458 Convert call sites to use a InspectorController reference. 10459 10460 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 10461 (WebKit::WebInspectorClient::drawRect): 10462 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp: 10463 (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient): 10464 (WebKit::WebInspectorFrontendClient::closeWindow): 10465 * WebProcess/WebPage/WebInspector.cpp: 10466 (WebKit::WebInspector::createInspectorPage): 10467 (WebKit::WebInspector::show): 10468 (WebKit::WebInspector::close): 10469 (WebKit::WebInspector::evaluateScriptForTest): 10470 (WebKit::WebInspector::showConsole): 10471 (WebKit::WebInspector::showResources): 10472 (WebKit::WebInspector::showMainResourceForFrame): 10473 (WebKit::WebInspector::startJavaScriptDebugging): 10474 (WebKit::WebInspector::stopJavaScriptDebugging): 10475 (WebKit::WebInspector::setJavaScriptProfilingEnabled): 10476 (WebKit::WebInspector::startJavaScriptProfiling): 10477 (WebKit::WebInspector::stopJavaScriptProfiling): 10478 (WebKit::WebInspector::startPageProfiling): 10479 (WebKit::WebInspector::stopPageProfiling): 10480 (WebKit::WebInspector::dispatchMessageFromRemoteFrontend): 10481 (WebKit::WebInspector::remoteFrontendConnected): 10482 (WebKit::WebInspector::remoteFrontendDisconnected): 10483 104842014-01-18 Anders Carlsson <andersca@apple.com> 10485 10486 Remove ENABLE_THREADED_HTML_PARSER defines everywhere 10487 https://bugs.webkit.org/show_bug.cgi?id=127225 10488 10489 Reviewed by Andreas Kling. 10490 10491 This concludes the removal of over 8.8 million lines of threaded parser code. 10492 10493 * Configurations/FeatureDefines.xcconfig: 10494 104952014-01-18 Yongjun Zhang <yongjun_zhang@apple.com> 10496 10497 Make WKRenderingProgressEvents a shareable API. 10498 https://bugs.webkit.org/show_bug.cgi?id=127213 10499 10500 Reviewed by Dan Bernstein. 10501 10502 Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle 10503 could also use this enum when listening to layout milestones. 10504 10505 * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added. 10506 (NS_OPTIONS): 10507 * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added. 10508 (renderingProgressEvents): 10509 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h. 10510 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h. 10511 * WebKit2.xcodeproj/project.pbxproj: 10512 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add 10513 webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate. 10514 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 10515 (didLayout): 10516 (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones. 10517 105182014-01-17 Commit Queue <commit-queue@webkit.org> 10519 10520 Unreviewed, rolling out r162237 and r162241. 10521 http://trac.webkit.org/changeset/162237 10522 http://trac.webkit.org/changeset/162241 10523 https://bugs.webkit.org/show_bug.cgi?id=127216 10524 10525 Broke lots of API tests (Requested by ap on #webkit). 10526 10527 * CMakeLists.txt: 10528 * GNUmakefile.list.am: 10529 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 10530 (WebKit::storageSession): 10531 (WebKit::NetworkConnectionToWebProcess::startDownload): 10532 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM): 10533 (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM): 10534 (WebKit::NetworkConnectionToWebProcess::cookiesEnabled): 10535 (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue): 10536 (WebKit::NetworkConnectionToWebProcess::getRawCookies): 10537 (WebKit::NetworkConnectionToWebProcess::deleteCookie): 10538 * NetworkProcess/NetworkConnectionToWebProcess.h: 10539 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 10540 * NetworkProcess/NetworkProcess.cpp: 10541 (WebKit::NetworkProcess::initializeNetworkProcess): 10542 (WebKit::NetworkProcess::ensurePrivateBrowsingSession): 10543 (WebKit::NetworkProcess::destroyPrivateBrowsingSession): 10544 * NetworkProcess/NetworkProcess.h: 10545 * NetworkProcess/NetworkProcess.messages.in: 10546 * NetworkProcess/RemoteNetworkingContext.h: 10547 * NetworkProcess/mac/RemoteNetworkingContext.mm: 10548 (WebKit::privateBrowsingStorageSession): 10549 (WebKit::RemoteNetworkingContext::storageSession): 10550 (WebKit::RemoteNetworkingContext::privateBrowsingSession): 10551 (WebKit::privateBrowsingStorageSessionIdentifierBase): 10552 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): 10553 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 10554 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession): 10555 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: 10556 (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): 10557 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 10558 (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession): 10559 (WebKit::RemoteNetworkingContext::privateBrowsingSession): 10560 * Shared/SessionTracker.cpp: Removed. 10561 * Shared/SessionTracker.h: Removed. 10562 * UIProcess/APISession.cpp: 10563 (API::Session::Session): 10564 (API::Session::create): 10565 (API::Session::isEphemeral): 10566 * UIProcess/APISession.h: 10567 * UIProcess/WebContext.cpp: 10568 (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled): 10569 (WebKit::WebContext::createNewWebProcess): 10570 (WebKit::WebContext::createWebPage): 10571 * UIProcess/WebContext.h: 10572 * UIProcess/WebPageProxy.cpp: 10573 (WebKit::WebPageProxy::create): 10574 (WebKit::WebPageProxy::WebPageProxy): 10575 * UIProcess/WebPageProxy.h: 10576 * UIProcess/WebProcessProxy.cpp: 10577 (WebKit::WebProcessProxy::createWebPage): 10578 * UIProcess/WebProcessProxy.h: 10579 * WebKit2.xcodeproj/project.pbxproj: 10580 * WebProcess/InjectedBundle/InjectedBundle.cpp: 10581 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): 10582 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10583 (WebKit::WebPlatformStrategies::cookiesForDOM): 10584 (WebKit::WebPlatformStrategies::setCookiesFromDOM): 10585 (WebKit::WebPlatformStrategies::cookiesEnabled): 10586 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): 10587 (WebKit::WebPlatformStrategies::getRawCookies): 10588 (WebKit::WebPlatformStrategies::deleteCookie): 10589 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 10590 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 10591 (WebKit::privateSession): 10592 (WebKit::identifierBase): 10593 (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase): 10594 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 10595 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): 10596 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): 10597 (WebKit::WebFrameNetworkingContext::storageSession): 10598 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 10599 (WebKit::privateSession): 10600 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 10601 (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): 10602 (WebKit::WebFrameNetworkingContext::storageSession): 10603 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: 10604 * WebProcess/WebProcess.cpp: 10605 (WebKit::WebProcess::initializeWebProcess): 10606 (WebKit::WebProcess::ensurePrivateBrowsingSession): 10607 (WebKit::WebProcess::destroyPrivateBrowsingSession): 10608 * WebProcess/WebProcess.h: 10609 * WebProcess/WebProcess.messages.in: 10610 106112014-01-17 Ryuan Choi <ryuan.choi@samsung.com> 10612 10613 Unreviewed build fix on EFL port after r162237 10614 10615 The EFL port disabled NETWORK_PROCESS yet and use -Werror=unused-function. 10616 10617 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10618 Guarded legacySessionID with ENABLE(NETWORK_PROCESS) 10619 106202014-01-17 Martin Hock <mhock@apple.com> 10621 10622 Flesh out session APIs (still not enabled at API level). 10623 https://bugs.webkit.org/show_bug.cgi?id=126918 10624 10625 Reviewed by Alexey Proskuryakov. 10626 10627 * CMakeLists.txt: 10628 * GNUmakefile.list.am: 10629 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 10630 (WebKit::storageSession): 10631 (WebKit::NetworkConnectionToWebProcess::startDownload): 10632 (WebKit::NetworkConnectionToWebProcess::cookiesForDOM): 10633 (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM): 10634 (WebKit::NetworkConnectionToWebProcess::cookiesEnabled): 10635 (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue): 10636 (WebKit::NetworkConnectionToWebProcess::getRawCookies): 10637 (WebKit::NetworkConnectionToWebProcess::deleteCookie): 10638 * NetworkProcess/NetworkConnectionToWebProcess.h: 10639 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 10640 * NetworkProcess/NetworkProcess.cpp: 10641 (WebKit::NetworkProcess::initializeNetworkProcess): 10642 (WebKit::NetworkProcess::ensurePrivateBrowsingSession): 10643 (WebKit::NetworkProcess::destroyPrivateBrowsingSession): 10644 * NetworkProcess/NetworkProcess.h: 10645 * NetworkProcess/NetworkProcess.messages.in: 10646 * NetworkProcess/RemoteNetworkingContext.h: 10647 * NetworkProcess/mac/RemoteNetworkingContext.mm: 10648 (WebKit::RemoteNetworkingContext::storageSession): 10649 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 10650 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: 10651 (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): 10652 * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp. 10653 (WebKit::sessionMap): 10654 (WebKit::identifierBase): 10655 (WebKit::SessionTracker::getSessionMap): 10656 (WebKit::SessionTracker::getIdentifierBase): 10657 (WebKit::SessionTracker::session): 10658 (WebKit::SessionTracker::destroySession): 10659 (WebKit::SessionTracker::setIdentifierBase): 10660 * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h. 10661 (WebKit::SessionTracker::isEphemeralID): 10662 * UIProcess/APISession.cpp: 10663 (API::generateID): 10664 (API::Session::defaultSession): 10665 (API::Session::legacyPrivateSession): 10666 (API::Session::Session): 10667 (API::Session::create): 10668 (API::Session::isEphemeral): 10669 (API::Session::getID): 10670 * UIProcess/APISession.h: 10671 * UIProcess/WebContext.cpp: 10672 (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled): 10673 (WebKit::WebContext::createNewWebProcess): 10674 (WebKit::WebContext::createWebPage): 10675 * UIProcess/WebContext.h: 10676 * UIProcess/WebPageProxy.cpp: 10677 (WebKit::WebPageProxy::create): 10678 (WebKit::WebPageProxy::WebPageProxy): 10679 * UIProcess/WebPageProxy.h: 10680 (WebKit::WebPageProxy::sessionID): 10681 * UIProcess/WebProcessProxy.cpp: 10682 (WebKit::WebProcessProxy::createWebPage): 10683 * UIProcess/WebProcessProxy.h: 10684 * WebKit2.xcodeproj/project.pbxproj: 10685 * WebProcess/InjectedBundle/InjectedBundle.cpp: 10686 (WebKit::InjectedBundle::setPrivateBrowsingEnabled): 10687 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 10688 (WebKit::legacySessionID): 10689 (WebKit::WebPlatformStrategies::cookiesForDOM): 10690 (WebKit::WebPlatformStrategies::setCookiesFromDOM): 10691 (WebKit::WebPlatformStrategies::cookiesEnabled): 10692 (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue): 10693 (WebKit::WebPlatformStrategies::getRawCookies): 10694 (WebKit::WebPlatformStrategies::deleteCookie): 10695 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 10696 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: 10697 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 10698 (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): 10699 (WebKit::WebFrameNetworkingContext::storageSession): 10700 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: 10701 (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): 10702 (WebKit::WebFrameNetworkingContext::storageSession): 10703 * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: 10704 * WebProcess/WebProcess.cpp: 10705 (WebKit::WebProcess::initializeWebProcess): 10706 (WebKit::WebProcess::ensurePrivateBrowsingSession): 10707 (WebKit::WebProcess::destroyPrivateBrowsingSession): 10708 * WebProcess/WebProcess.h: 10709 * WebProcess/WebProcess.messages.in: 10710 107112014-01-17 Andreas Kling <akling@apple.com> 10712 10713 Remove unused TOUCH_ADJUSTMENT code. 10714 <https://webkit.org/b/127181> 10715 10716 Reviewed by Anders Carlsson. 10717 10718 * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: 10719 (WebKit::WebPage::findZoomableAreaForPoint): 10720 107212014-01-17 Anders Carlsson <andersca@apple.com> 10722 10723 Fix build. 10724 10725 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 10726 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 10727 107282014-01-17 Anders Carlsson <andersca@apple.com> 10729 10730 Remove FrameLoaderClient::didPerformFirstNavigation() 10731 https://bugs.webkit.org/show_bug.cgi?id=127191 10732 10733 Reviewed by Dan Bernstein. 10734 10735 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 10736 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 10737 107382014-01-17 Manuel Rego Casasnovas <rego@igalia.com> 10739 10740 [GTK] Add CSS Grid Layout as experimental feature 10741 https://bugs.webkit.org/show_bug.cgi?id=127089 10742 10743 Reviewed by Martin Robinson. 10744 10745 Allow CSS Grid Layout to be enabled through the environment variable WEBKITGTK_EXPERIMENTAL_FEATURES. 10746 10747 Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1" 10748 10749 * UIProcess/API/gtk/WebKitSettings.cpp: 10750 (webKitSettingsConstructed): Use new experimental feature to enable or disable CSS Grid Layout. 10751 * UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature. 10752 * UIProcess/gtk/ExperimentalFeatures.h: Ditto. 10753 107542014-01-17 Enrica Casucci <enrica@apple.com> 10755 10756 Support WebSelections in WK2 on iOS. 10757 https://bugs.webkit.org/show_bug.cgi?id=127015 10758 <rdar://problem/15843090> 10759 10760 Reviewed by Dan Bernstein. 10761 10762 Removing unused variable in selectWithGesture that 10763 causes Release build to fail after r162103. 10764 10765 * WebProcess/WebPage/ios/WebPageIOS.mm: 10766 (WebKit::WebPage::selectWithGesture): 10767 107682014-01-17 Yongjun Zhang <yongjun_zhang@apple.com> 10769 10770 https://bugs.webkit.org/show_bug.cgi?id=127138 10771 Add more delegate callback methods to WKWebProcessPlugInLoadDelegate. 10772 10773 Reviewed by Sam Weinig. 10774 10775 Add more WKWebProcessPlugInLoadDelegate callback methods so that a injected 10776 bundle can listen/react to more frame loading events. 10777 10778 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add more delegate callback methods for 10779 WKWebProcessPlugInLoadDelegate. 10780 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 10781 (didCommitLoadForFrame): 10782 (didFinishDocumentLoadForFrame): 10783 (didFailLoadWithErrorForFrame): 10784 (didSameDocumentNavigationForFrame): 10785 (didLayoutForFrame): 10786 (setUpPageLoaderClient): 10787 107882014-01-16 Carlos Garcia Campos <cgarcia@igalia.com> 10789 10790 [SOUP] Add stubs for CustomProtocol classes 10791 https://bugs.webkit.org/show_bug.cgi?id=126343 10792 10793 Reviewed by Gustavo Noronha Silva. 10794 10795 * CMakeLists.txt: 10796 * GNUmakefile.am: 10797 * GNUmakefile.list.am: 10798 * PlatformGTK.cmake: 10799 * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Added. 10800 (WebKit::generateCustomProtocolID): 10801 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): 10802 (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData): 10803 (WebKit::WebSoupRequestAsyncData::requestFailed): 10804 (WebKit::WebSoupRequestAsyncData::releaseTask): 10805 (WebKit::CustomProtocolManager::supplementName): 10806 (WebKit::CustomProtocolManager::CustomProtocolManager): 10807 (WebKit::CustomProtocolManager::initializeConnection): 10808 (WebKit::CustomProtocolManager::initialize): 10809 * Shared/Network/NetworkProcessCreationParameters.cpp: 10810 (WebKit::NetworkProcessCreationParameters::encode): Move 10811 urlSchemesRegisteredForCustomProtocols encoding out of platform 10812 ifdefs, since it's already guarded by ENABLE(CUSTOM_PROTOCOLS). 10813 (WebKit::NetworkProcessCreationParameters::decode): Ditto. 10814 * Shared/Network/NetworkProcessCreationParameters.h: Ditto. 10815 * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: Added. 10816 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): 10817 (WebKit::CustomProtocolManagerProxy::startLoading): 10818 (WebKit::CustomProtocolManagerProxy::stopLoading): 10819 108202014-01-16 Tim Horton <timothy_horton@apple.com> 10821 10822 On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles 10823 https://bugs.webkit.org/show_bug.cgi?id=126531 10824 <rdar://problem/15745862> 10825 10826 Reviewed by Anders Carlsson. 10827 10828 * UIProcess/API/ios/WKContentView.mm: 10829 (-[WKContentView _updateViewExposedRect]): 10830 (-[WKContentView setViewportSize:]): 10831 (-[WKContentView didFinishScrollTo:]): 10832 (-[WKContentView didScrollTo:]): 10833 (-[WKContentView didZoomToScale:]): 10834 Because zooming is performed by the UIScrollView, we need to transform 10835 the exposedRect's offset in order to get it in FrameView-relative coordinates. 10836 10837 * UIProcess/ios/WebPageProxyIOS.mm: 10838 (WebKit::WebPageProxy::didFinishZooming): 10839 Save the pageScaleFactor when it changes. 10840 108412014-01-16 Carlos Garcia Campos <cgarcia@igalia.com> 10842 10843 [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation 10844 https://bugs.webkit.org/show_bug.cgi?id=127098 10845 10846 Reviewed by Martin Robinson. 10847 10848 If the print operation finishes and the web view is still alive, 10849 the weak pointer added to the view should be removed. 10850 10851 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 10852 (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate): 10853 108542014-01-15 Sam Weinig <sam@webkit.org> 10855 10856 TextBreakIterator's should support Latin-1 for all iterator types (Part 3) 10857 https://bugs.webkit.org/show_bug.cgi?id=126856 10858 10859 Reviewed by Ryosuke Niwa. 10860 10861 Change all the TextBreakIterator creation functions to take StringViews. Remove a few 10862 now unnecessary up-conversions to UTF-16 in the process. 10863 10864 * UIProcess/efl/TextCheckerEfl.cpp: 10865 (WebKit::nextWordOffset): 10866 (WebKit::TextChecker::checkTextOfParagraph): 10867 108682014-01-16 Eunmi Lee <eunmi15.lee@samsung.com> 10869 10870 [EFL][WK2] EwkView can not be shown without re-sizing once it is hidden. 10871 https://bugs.webkit.org/show_bug.cgi?id=127084 10872 10873 Reviewed by Gyuyoung Kim. 10874 10875 Visibility of EwkView can not be controlled by evas_object_show/hide 10876 because EwkView can be shown only if re-sizing is requested, so modify 10877 codes to show EwkView directly if we do not wait for re-sizing. 10878 Additionally, we have to set default value of m_pendingSurfaceResize 10879 to true for accelerated mode to prevent to show black empty view for 10880 the first request to show. 10881 10882 * UIProcess/API/efl/EwkView.cpp: 10883 (EwkView::EwkView): 10884 (EwkView::handleEvasObjectShow): 10885 108862014-01-16 Andy Estes <aestes@apple.com> 10887 10888 Build Fix: Use standard architectures when building for iOS 10889 10890 Even though we don't use the plug-in services on iOS, we still need 10891 them to build (we won't install them). Be sure we specify valid iOS 10892 architectures when doing so. 10893 10894 * Configurations/PluginService.32.xcconfig: 10895 * Configurations/PluginService.64.xcconfig: 10896 108972014-01-16 Enrica Casucci <enrica@apple.com> 10898 10899 Crash when destroying WKInteractionView. 10900 https://bugs.webkit.org/show_bug.cgi?id=127153 10901 <rdar://problem/15840761> 10902 10903 Reviewed by Anders Carlsson. 10904 10905 UIWKSelectionAssistant is a RetainPtr and it is being 10906 deallocated after the view and its gesture recognizers 10907 have been destroyed. 10908 The parent class UIWebSelectionAssistant assumes to be 10909 deallocated before the view is gone. 10910 We deallocate the interaction assistants explicitly to 10911 fix the problem. 10912 10913 * UIProcess/API/ios/WKInteractionView.mm: 10914 (-[WKInteractionView dealloc]): 10915 109162014-01-16 Brady Eidson <beidson@apple.com> 10917 10918 IDB: delete object store support 10919 <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123 10920 10921 Reviewed by Alexey Proskuryakov. 10922 10923 Pipe through Web -> Database -> Web process messaging for delete object store. 10924 Perform dropping the object store in the backing store. 10925 10926 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 10927 (WebKit::DatabaseProcessIDBConnection::deleteObjectStore): 10928 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 10929 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 10930 10931 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 10932 (WebKit::UniqueIDBDatabase::didDeleteObjectStore): 10933 (WebKit::UniqueIDBDatabase::deleteObjectStore): 10934 (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore): 10935 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 10936 10937 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 10938 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 10939 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): 10940 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): 10941 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 10942 10943 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 10944 (WebKit::WebIDBServerConnection::deleteObjectStore): 10945 (WebKit::WebIDBServerConnection::didDeleteObjectStore): 10946 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 10947 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 10948 109492014-01-16 Alexey Proskuryakov <ap@apple.com> 10950 10951 [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain 10952 https://bugs.webkit.org/show_bug.cgi?id=127139 10953 10954 Reviewed by Brady Eidson. 10955 10956 * Shared/HTTPCookieAcceptPolicy.h: 10957 * UIProcess/API/C/WKAPICast.h: 10958 (WebKit::toHTTPCookieAcceptPolicy): 10959 (WebKit::toAPI): 10960 * UIProcess/API/C/WKCookieManager.h: 10961 Added the policy to appropriate switches and enums. 10962 109632014-01-16 Jeffrey Pfau <jpfau@apple.com> 10964 10965 Fix build after r162161. One FINAL was still present. 10966 10967 * Shared/cf/KeyedDecoder.h: 10968 109692014-01-16 Anders Carlsson <andersca@apple.com> 10970 10971 Change all uses of FINAL to final now that all our compilers support it 10972 https://bugs.webkit.org/show_bug.cgi?id=127142 10973 10974 Reviewed by Benjamin Poulain. 10975 10976 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 10977 * NetworkProcess/RemoteNetworkingContext.h: 10978 * Shared/API/Cocoa/RemoteObjectRegistry.h: 10979 * Shared/APIArray.h: 10980 * Shared/APIString.h: 10981 * Shared/AsyncRequest.h: 10982 * Shared/AsyncTask.h: 10983 * Shared/cf/KeyedEncoder.h: 10984 * UIProcess/API/gtk/PageClientImpl.h: 10985 * UIProcess/API/mac/PageClientImpl.h: 10986 * UIProcess/efl/WebViewEfl.h: 10987 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 10988 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 10989 * WebProcess/Plugins/PDF/PDFPlugin.h: 10990 * WebProcess/Storage/StorageAreaImpl.h: 10991 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 10992 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: 10993 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: 10994 109952014-01-16 Brady Eidson <beidson@apple.com> 10996 10997 Fix the build after r162148 10998 10999 * Shared/cf/KeyedEncoder.h: s/OVERRIDE/override/ 11000 110012014-01-15 Brady Eidson <beidson@apple.com> 11002 11003 Use KeyedCoding as a persistent storage mechanism for blobs 11004 https://bugs.webkit.org/show_bug.cgi?id=127012 11005 11006 Reviewed by Anders Carlsson. 11007 11008 Add a way to get the encoded buffer to save: 11009 * Shared/cf/KeyedEncoder.cpp: 11010 (WebKit::KeyedEncoder::finishEncoding): 11011 * Shared/cf/KeyedEncoder.h: 11012 11013 Add a WebKit KeyedDecoder for CF platforms that can decode the previously encoded buffer: 11014 * Shared/cf/KeyedDecoder.cpp: Added. 11015 (WebKit::KeyedDecoder::KeyedDecoder): 11016 (WebKit::KeyedDecoder::~KeyedDecoder): 11017 (WebKit::KeyedDecoder::decodeInt64): 11018 (WebKit::KeyedDecoder::decodeUInt32): 11019 (WebKit::KeyedDecoder::decodeString): 11020 (WebKit::KeyedDecoder::beginObject): 11021 (WebKit::KeyedDecoder::endObject): 11022 (WebKit::KeyedDecoder::beginArray): 11023 (WebKit::KeyedDecoder::beginArrayElement): 11024 (WebKit::KeyedDecoder::endArrayElement): 11025 (WebKit::KeyedDecoder::endArray): 11026 * Shared/cf/KeyedDecoder.h: 11027 11028 Create a WebKit KeyedEncoder/Decoder and use to encode/decode IDBKeyPaths: 11029 * DatabaseProcess/IndexedDB/IDBSerialization.cpp: 11030 (WebKit::serializeIDBKeyPath): 11031 (WebKit::deserializeIDBKeyPath): 11032 * DatabaseProcess/IndexedDB/IDBSerialization.h: 11033 11034 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 11035 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): 11036 11037 * WebKit2.xcodeproj/project.pbxproj: 11038 110392014-01-16 Andy Estes <aestes@apple.com> 11040 11041 Stop copying WKOriginDataManager.cpp into WebKit2.framework 11042 https://bugs.webkit.org/show_bug.cgi?id=127100 11043 11044 Reviewed by Sam Weinig. 11045 11046 The file was mistakenly added to the 'All' target. Remove it. 11047 11048 * WebKit2.xcodeproj/project.pbxproj: 11049 110502014-01-16 Andy Estes <aestes@apple.com> 11051 11052 [iOS] Install WebKit2 XPC services correctly 11053 https://bugs.webkit.org/show_bug.cgi?id=127097 11054 11055 Reviewed by Anders Carlsson. 11056 11057 * Configurations/PluginService.32.xcconfig: Set SKIP_INSTALL to YES on iOS. 11058 * Configurations/PluginService.64.xcconfig: Ditto. 11059 * Configurations/PluginService.Development.xcconfig: Ditto. 11060 * WebKit2.xcodeproj/project.pbxproj: Modified the "Add XPCServices symlink" 11061 build phase to only execute on OS X. Modified the 11062 "Copy XPC services for engineering builds" build phase to copy files 11063 directly to WebKit2.framework/XPCServices/ on iOS, and modified its 11064 output file paths to omit "Versions/A/" (since OS X will have a 11065 XPCServices symlink at the root of the framework bundle). 11066 110672014-01-16 Roger Fong <roger_fong@apple.com> 11068 11069 Build fix for mac following r162141. 11070 11071 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Switch OVERRIDE to override. 11072 110732014-01-16 Roger Fong <roger_fong@apple.com> 11074 11075 Add support for handling WebGL load policies. 11076 https://bugs.webkit.org/show_bug.cgi?id=126935 11077 <rdar://problem/15790448>. 11078 11079 Reviewed by Timothy Horton. 11080 11081 Boiler plate code for getting the load policy logic from WebProcess to the UIProcess. 11082 11083 * UIProcess/API/C/WKAPICast.h: 11084 (WebKit::toWebGLLoadPolicy): 11085 * UIProcess/API/C/WKPageLoaderClient.h: Define a new WKPageLoaderClientV4 struct. 11086 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 11087 (setUpPageLoaderClient): 11088 * UIProcess/WebLoaderClient.cpp: 11089 (WebKit::WebLoaderClient::webGLLoadPolicy): 11090 * UIProcess/WebLoaderClient.h: 11091 * UIProcess/WebPageProxy.cpp: 11092 (WebKit::WebPageProxy::webGLPolicyForURL): 11093 * UIProcess/WebPageProxy.h: 11094 * UIProcess/WebPageProxy.messages.in: 11095 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11096 (WebKit::WebFrameLoaderClient::webGLPolicyForURL): 11097 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11098 * WebProcess/WebPage/WebPage.cpp: 11099 (WebKit::WebPage::webGLPolicyForURL): We use a sendSync to get the load policy value from the UIProcess. 11100 * WebProcess/WebPage/WebPage.h: 11101 111022014-01-16 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 11103 11104 Remove workaround for compilers not supporting explicit override control 11105 https://bugs.webkit.org/show_bug.cgi?id=127111 11106 11107 Reviewed by Anders Carlsson. 11108 11109 Now all compilers support explicit override control, this workaround can be removed. 11110 11111 * DatabaseProcess/DatabaseProcess.h: 11112 * DatabaseProcess/DatabaseToWebProcessConnection.h: 11113 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 11114 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 11115 * NetworkProcess/AsynchronousNetworkLoaderClient.h: 11116 * NetworkProcess/NetworkProcess.h: 11117 * NetworkProcess/NetworkProcessPlatformStrategies.h: 11118 * NetworkProcess/NetworkResourceLoader.h: 11119 * NetworkProcess/RemoteNetworkingContext.h: 11120 * NetworkProcess/SynchronousNetworkLoaderClient.h: 11121 * NetworkProcess/mac/DiskCacheMonitor.h: 11122 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: 11123 * PluginProcess/PluginControllerProxy.h: 11124 * PluginProcess/PluginProcess.h: 11125 * PluginProcess/WebProcessConnection.h: 11126 * Shared/API/Cocoa/RemoteObjectRegistry.h: 11127 * Shared/APIObject.h: 11128 * Shared/AsyncRequest.h: 11129 * Shared/AsyncTask.h: 11130 * Shared/Authentication/AuthenticationManager.h: 11131 * Shared/ChildProcess.h: 11132 * Shared/ChildProcessProxy.h: 11133 * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: 11134 * Shared/Downloads/Download.h: 11135 * Shared/Network/CustomProtocols/CustomProtocolManager.h: 11136 * Shared/WebConnection.h: 11137 * Shared/WebResourceBuffer.h: 11138 * Shared/cf/KeyedEncoder.h: 11139 * Shared/mac/SecItemShim.h: 11140 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 11141 * UIProcess/API/gtk/PageClientImpl.h: 11142 * UIProcess/API/ios/PageClientImplIOS.h: 11143 * UIProcess/API/mac/PageClientImpl.h: 11144 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 11145 * UIProcess/CoordinatedGraphics/WebView.h: 11146 * UIProcess/Databases/DatabaseProcessProxy.h: 11147 * UIProcess/Downloads/DownloadProxy.h: 11148 * UIProcess/DrawingAreaProxy.h: 11149 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: 11150 * UIProcess/Network/NetworkProcessProxy.h: 11151 * UIProcess/Notifications/WebNotificationManagerProxy.h: 11152 * UIProcess/Plugins/PluginProcessProxy.h: 11153 * UIProcess/Scrolling/RemoteScrollingTree.h: 11154 * UIProcess/Storage/StorageManager.h: 11155 * UIProcess/WebApplicationCacheManagerProxy.h: 11156 * UIProcess/WebBatteryManagerProxy.h: 11157 * UIProcess/WebConnectionToWebProcess.h: 11158 * UIProcess/WebContext.h: 11159 * UIProcess/WebCookieManagerProxy.h: 11160 * UIProcess/WebDatabaseManagerProxy.h: 11161 * UIProcess/WebFullScreenManagerProxy.h: 11162 * UIProcess/WebGeolocationManagerProxy.h: 11163 * UIProcess/WebIconDatabase.h: 11164 * UIProcess/WebInspectorProxy.h: 11165 * UIProcess/WebKeyValueStorageManager.h: 11166 * UIProcess/WebMediaCacheManagerProxy.h: 11167 * UIProcess/WebNetworkInfoManagerProxy.h: 11168 * UIProcess/WebOriginDataManagerProxy.h: 11169 * UIProcess/WebPageProxy.h: 11170 * UIProcess/WebProcessProxy.h: 11171 * UIProcess/WebResourceCacheManagerProxy.h: 11172 * UIProcess/WebVibrationProxy.h: 11173 * UIProcess/efl/PageViewportControllerClientEfl.h: 11174 * UIProcess/efl/WebViewEfl.h: 11175 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: 11176 * UIProcess/mac/SecItemShimProxy.h: 11177 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 11178 * UIProcess/mac/ViewGestureController.h: 11179 * UIProcess/mac/WebColorPickerMac.h: 11180 * UIProcess/soup/WebSoupRequestManagerProxy.h: 11181 * WebProcess/ApplicationCache/WebApplicationCacheManager.h: 11182 * WebProcess/Battery/WebBatteryManager.h: 11183 * WebProcess/Cookies/WebCookieManager.h: 11184 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 11185 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 11186 * WebProcess/Databases/WebToDatabaseProcessConnection.h: 11187 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: 11188 * WebProcess/FileAPI/BlobRegistryProxy.h: 11189 * WebProcess/Geolocation/WebGeolocationManager.h: 11190 * WebProcess/IconDatabase/WebIconDatabaseProxy.h: 11191 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: 11192 * WebProcess/MediaCache/WebMediaCacheManager.h: 11193 * WebProcess/Network/NetworkProcessConnection.h: 11194 * WebProcess/Network/WebResourceLoadScheduler.h: 11195 * WebProcess/Network/WebResourceLoader.h: 11196 * WebProcess/NetworkInfo/WebNetworkInfoManager.h: 11197 * WebProcess/Notifications/WebNotificationManager.h: 11198 * WebProcess/OriginData/WebOriginDataManager.h: 11199 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 11200 * WebProcess/Plugins/PDF/PDFPlugin.h: 11201 * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: 11202 * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h: 11203 * WebProcess/Plugins/PDF/PDFPluginPasswordField.h: 11204 * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h: 11205 * WebProcess/Plugins/PluginProcessConnection.h: 11206 * WebProcess/Plugins/PluginProcessConnectionManager.h: 11207 * WebProcess/Plugins/PluginProxy.h: 11208 * WebProcess/Plugins/PluginView.h: 11209 * WebProcess/ResourceCache/WebResourceCacheManager.h: 11210 * WebProcess/Scrolling/RemoteScrollingCoordinator.h: 11211 * WebProcess/Storage/StorageAreaImpl.h: 11212 * WebProcess/Storage/StorageAreaMap.h: 11213 * WebProcess/Storage/StorageNamespaceImpl.h: 11214 * WebProcess/WebConnectionToUIProcess.h: 11215 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: 11216 * WebProcess/WebCoreSupport/WebBatteryClient.h: 11217 * WebProcess/WebCoreSupport/WebChromeClient.h: 11218 * WebProcess/WebCoreSupport/WebColorChooser.h: 11219 * WebProcess/WebCoreSupport/WebContextMenuClient.h: 11220 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 11221 * WebProcess/WebCoreSupport/WebDeviceProximityClient.h: 11222 * WebProcess/WebCoreSupport/WebDragClient.h: 11223 * WebProcess/WebCoreSupport/WebEditorClient.h: 11224 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11225 * WebProcess/WebCoreSupport/WebGeolocationClient.h: 11226 * WebProcess/WebCoreSupport/WebInspectorClient.h: 11227 * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: 11228 * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: 11229 * WebProcess/WebCoreSupport/WebNetworkInfoClient.h: 11230 * WebProcess/WebCoreSupport/WebNotificationClient.h: 11231 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 11232 * WebProcess/WebCoreSupport/WebPopupMenu.h: 11233 * WebProcess/WebCoreSupport/WebProgressTrackerClient.h: 11234 * WebProcess/WebCoreSupport/WebSearchPopupMenu.h: 11235 * WebProcess/WebCoreSupport/WebVibrationClient.h: 11236 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 11237 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: 11238 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 11239 * WebProcess/WebPage/DrawingAreaImpl.h: 11240 * WebProcess/WebPage/EventDispatcher.h: 11241 * WebProcess/WebPage/ViewGestureGeometryCollector.h: 11242 * WebProcess/WebPage/WebBackForwardListProxy.h: 11243 * WebProcess/WebPage/WebPage.h: 11244 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: 11245 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 11246 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 11247 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: 11248 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: 11249 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 11250 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 11251 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 11252 * WebProcess/WebProcess.h: 11253 * WebProcess/soup/WebSoupRequestManager.h: 11254 112552014-01-16 Ian Henderson <ianh@apple.com> 11256 11257 Expose scrollView on WKView 11258 https://bugs.webkit.org/show_bug.cgi?id=127085 11259 11260 Reviewed by Antti Koivisto. 11261 11262 Expose WKView's scroll view as a property. In order to support 11263 clients calling setDelegate:, we create a forwarder object that sends 11264 delegate methods to both WKView (the "internal delegate") and the 11265 publicly-exposed delegate (the "external delegate"). 11266 11267 * UIProcess/API/Cocoa/WKView.h: 11268 * UIProcess/API/ios/WKScrollView.h: 11269 * UIProcess/API/ios/WKScrollView.mm: 11270 (-[WKScrollViewDelegateForwarder initWithInternalDelegate:externalDelegate:]): 11271 (-[WKScrollViewDelegateForwarder methodSignatureForSelector:]): 11272 (-[WKScrollViewDelegateForwarder respondsToSelector:]): 11273 (-[WKScrollViewDelegateForwarder forwardInvocation:]): 11274 (-[WKScrollView setInternalDelegate:]): 11275 (-[WKScrollView setDelegate:]): 11276 (-[WKScrollView delegate]): 11277 Pretend like _externalDelegate is the real delegate to avoid exposing 11278 our internal delegate or forwarder object. 11279 (-[WKScrollView _updateDelegate]): 11280 (-[WKScrollView dealloc]): 11281 * UIProcess/API/ios/WKViewIOS.mm: 11282 (-[WKView scrollView]): 11283 (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 11284 112852014-01-15 Carlos Garcia Campos <cgarcia@igalia.com> 11286 11287 [GTK][EFL][NIX] Do not use PrintContext, Frame and DocumentLoader in Errors 11288 https://bugs.webkit.org/show_bug.cgi?id=127047 11289 11290 Reviewed by Martin Robinson. 11291 11292 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 11293 (WebKit::WebPrintOperationGtk::frameURL): Helper function to get 11294 the URL of the frame being printed. 11295 (WebKit::WebPrintOperationGtk::print): Use frameURL() as failing 11296 URL for printing errors. 11297 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 11298 112992014-01-15 Benjamin Poulain <bpoulain@apple.com> 11300 11301 Move user agent code to WebCore and unify some code between OS X and iOS 11302 https://bugs.webkit.org/show_bug.cgi?id=127080 11303 11304 Reviewed by Sam Weinig. 11305 11306 * UIProcess/ios/WebPageProxyIOS.mm: 11307 (WebKit::userVisibleWebKitVersionString): 11308 (WebKit::WebPageProxy::standardUserAgent): 11309 * UIProcess/mac/WebPageProxyMac.mm: 11310 (WebKit::WebPageProxy::standardUserAgent): 11311 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 11312 (InitWebCoreSystemInterface): 11313 113142014-01-15 Eunmi Lee <eunmi15.lee@samsung.com> 11315 11316 [EFL][WK2] Use timestamp when event occurs for touch events. 11317 https://bugs.webkit.org/show_bug.cgi?id=126424 11318 11319 Reviewed by Gyuyoung Kim. 11320 11321 Current time is used for touch event's timestamp instead of timestamp 11322 when event occurs. Timestamp of touch event is used to implement flick 11323 gesture, so it should be real value for accurate gesture processing. 11324 11325 * UIProcess/API/efl/EwkView.cpp: 11326 Function names for handling touch events are changed to distinguish 11327 mouse events and multi events. 11328 (EwkView::setTouchEventsEnabled): 11329 (EwkView::feedTouchEvents): 11330 (EwkView::handleMouseDownForTouch): 11331 (EwkView::handleMouseUpForTouch): 11332 (EwkView::handleMouseMoveForTouch): 11333 (EwkView::handleMultiDownForTouch): 11334 (EwkView::handleMultiUpForTouch): 11335 (EwkView::handleMultiMoveForTouch): 11336 * UIProcess/API/efl/EwkView.h: 11337 * UIProcess/API/efl/GestureRecognizer.cpp: 11338 (WebKit::GestureHandler::handlePan): 11339 (WebKit::GestureRecognizer::processTouchEvent): 11340 (WebKit::GestureRecognizer::noGesture): 11341 (WebKit::GestureRecognizer::singleTapGesture): 11342 (WebKit::GestureRecognizer::doubleTapGesture): 11343 (WebKit::GestureRecognizer::panGesture): 11344 (WebKit::GestureRecognizer::pinchGesture): 11345 * UIProcess/API/efl/GestureRecognizer.h: 11346 113472014-01-15 Gavin Barraclough <barraclough@apple.com> 11348 11349 Change Page, FocusController to use ViewState 11350 https://bugs.webkit.org/show_bug.cgi?id=126533 11351 11352 Unreviewed rollout, this caused a regression. 11353 11354 * WebProcess/WebPage/WebPage.cpp: 11355 (WebKit::WebPage::WebPage): 11356 (WebKit::WebPage::setActive): 11357 (WebKit::WebPage::setViewIsVisible): 11358 (WebKit::WebPage::setFocused): 11359 (WebKit::WebPage::setIsInWindow): 11360 (WebKit::WebPage::setViewStateInternal): 11361 (WebKit::WebPage::setIsVisuallyIdle): 11362 * WebProcess/WebPage/WebPage.h: 11363 113642014-01-15 Yongjun Zhang <yongjun_zhang@apple.com> 11365 11366 https://bugs.webkit.org/show_bug.cgi?id=127072 11367 Don't autorelease wrapper object (WebProcessPlugInScriptWorld) for InjectedBundleScriptWorld::normalWorld(). 11368 11369 Reviewed by Geoffrey Garen. 11370 11371 In [WKWebProcessPlugInScriptWorld normalWorld], InjectedBundleScriptWorld::normalWorld() returns a static 11372 instance, autoreleasing its wrapper object could cause a dangling pointer and crash later. 11373 11374 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: 11375 (+[WKWebProcessPlugInScriptWorld normalWorld]): 11376 113772014-01-15 Andy Estes <aestes@apple.com> 11378 11379 [iOS] Properly exclude the shim dylibs this time 11380 https://bugs.webkit.org/show_bug.cgi?id=127075 11381 11382 Reviewed by Anders Carlsson. 11383 11384 BaseLegacyProcess.xcconfig was setting EXCLUDED_SOURCE_FILE_NAMES in 11385 conflict with what I added in r161918, and I misspelled the setting 11386 name in two instances. Fix these two bugs. 11387 11388 Also remove a vestigial OTHER_LDFLAGS from WebContentProcess.xcconfig 11389 while we're here. 11390 11391 * Configurations/BaseLegacyProcess.xcconfig: 11392 * Configurations/NetworkProcess.xcconfig: 11393 * Configurations/PluginProcess.xcconfig: 11394 * Configurations/WebContentProcess.xcconfig: 11395 113962014-01-15 Enrica Casucci <enrica@apple.com> 11397 11398 Support WebSelections in WK2 on iOS. 11399 https://bugs.webkit.org/show_bug.cgi?id=127015 11400 11401 Reviewed by Benjamin Poulain. 11402 11403 This is the first step towards adding support for selections in 11404 non editable content on iOS for WK2. 11405 In particular, this patch adds the basic plumbing to decide which 11406 gesture recognizers are enabled and adds empty stubs for the gestures 11407 that we'll need to support. 11408 There are two separate assistants for selections, one to be used 11409 in editable text (UIWKTextInteractionAssistant) and one for non editable 11410 text (UIWKSelectionAssistant) and they are mutually exclusive. 11411 UIWKSelectionAssistant is created at the time the view is created, 11412 and swapped with UIWKTextInteraction assistant 11413 only when an editable element is focused and the keyboard appears on screen. 11414 11415 gestureRecognizerShouldBegin is the delegate call used to decide which gestures 11416 should begin based on the position the gesture occurred at. 11417 We want to avoid as much as possible synchronous calls to the WebProcess to 11418 retrieve information about the content and in order to do so, we take advantage 11419 of the order in which the gesture recognizers will trigger, based on the delay 11420 configured at initialization. 11421 The first gesture to trigger is highlightLongPress, followed by longpress in the 11422 active assistant and longpress in the WKInteractionView. 11423 There are two different scenarios for highlighlongpress based on which assistant is 11424 currently active. 11425 11426 UIWKSelectionAssistant is active: 11427 We send a request to the WebProcess to get information on the position 11428 and we return YES, allowing the gesture to start. 11429 We delegate to the WebProcess the proper handling of highlight based on the element. 11430 When longPress gesture fires for the assistant, we assume we have received the reply to our 11431 previous request, if not we fetch the information synchronously. 11432 We are then able to make an informed decision about whether 11433 or not to start the gesture. If the reply is NO, the third and last long press 11434 gesture can be evaluated to decide whether to show the action sheet or simply generate 11435 a click event. 11436 11437 UIWKTextInteractionAssistant is active: 11438 In this case we must have information about the position immediately and we issue 11439 a synchronous request to the WebProcess. 11440 If we are not interacting with the same node, we return NO. 11441 Then the longpress gesture fires for the assistant which performs the same check. 11442 If the node is the same, the loupe gesture will start, otherwise the last longpress 11443 gesture will be evaluated to decide about showing the action sheet or generating a 11444 click event. 11445 11446 * Scripts/webkit2/messages.py: 11447 * Shared/InteractionInformationAtPosition.cpp: Added. 11448 (WebKit::InteractionInformationAtPosition::encode): 11449 (WebKit::InteractionInformationAtPosition::decode): 11450 * Shared/InteractionInformationAtPosition.h: Added. 11451 (WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition): 11452 * UIProcess/API/ios/PageClientImplIOS.h: 11453 * UIProcess/API/ios/PageClientImplIOS.mm: 11454 (WebKit::PageClientImpl::positionInformationDidChange): 11455 * UIProcess/API/ios/WKContentView.mm: 11456 (-[WKContentView _positionInformationDidChange:]): 11457 * UIProcess/API/ios/WKContentViewInternal.h: 11458 * UIProcess/API/ios/WKInteractionView.h: 11459 * UIProcess/API/ios/WKInteractionView.mm: 11460 (-[WKInteractionView initWithFrame:]): 11461 (-[WKInteractionView dealloc]): 11462 (-[WKInteractionView gestureRecognizer:canPreventGestureRecognizer:]): 11463 (-[WKInteractionView gestureRecognizer:canBePreventedByGestureRecognizer:]): 11464 (isSamePair): 11465 (-[WKInteractionView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]): 11466 (-[WKInteractionView _showImageSheet]): 11467 (-[WKInteractionView _showLinkSheet]): 11468 (-[WKInteractionView _actionForLongPress]): 11469 (-[WKInteractionView ensurePositionInformationIsUpToDate:]): 11470 (-[WKInteractionView gestureRecognizerShouldBegin:]): 11471 (-[WKInteractionView hasSelectablePositionAtPoint:]): 11472 (-[WKInteractionView pointIsInAssistedNode:]): 11473 (-[WKInteractionView _longPressRecognized:]): 11474 (-[WKInteractionView _doubleTapRecognized:]): 11475 (-[WKInteractionView _twoFingerDoubleTapRecognized:]): 11476 (-[WKInteractionView _twoFingerPanRecognized:]): 11477 (-[WKInteractionView useSelectionAssistantWithMode:]): 11478 (-[WKInteractionView _positionInformationDidChange:]): 11479 (-[WKInteractionView interactionAssistant]): 11480 (-[WKInteractionView _startAssistingKeyboard]): 11481 (-[WKInteractionView _stopAssistingKeyboard]): 11482 * UIProcess/PageClient.h: 11483 * UIProcess/WebPageProxy.h: 11484 * UIProcess/WebPageProxy.messages.in: 11485 * UIProcess/ios/WebPageProxyIOS.mm: 11486 (WebKit::WebPageProxy::didReceivePositionInformation): 11487 (WebKit::WebPageProxy::getPositionInformation): 11488 (WebKit::WebPageProxy::requestPositionInformation): 11489 * WebKit2.xcodeproj/project.pbxproj: 11490 * WebProcess/WebPage/WebPage.h: 11491 * WebProcess/WebPage/WebPage.messages.in: 11492 * WebProcess/WebPage/ios/WebPageIOS.mm: 11493 (WebKit::WebPage::selectWithGesture): 11494 (WebKit::WebPage::getPositionInformation): 11495 (WebKit::WebPage::requestPositionInformation): 11496 114972014-01-15 Yongjun Zhang <yongjun_zhang@apple.com> 11498 11499 https://bugs.webkit.org/show_bug.cgi?id=127066 11500 Add WKBrowsingContextHandle.h to WebKit2 private headers. 11501 11502 Reviewed by Dan Bernstein. 11503 11504 Add WKBrowsingContextHandle.h to WebKit2 private headers so that WebKit2 client 11505 can use WKBrowsingContextHandle class. 11506 11507 * WebKit2.xcodeproj/project.pbxproj: 11508 115092014-01-15 Piotr Grad <p.grad@samsung.com> 11510 11511 toStringVector static function definition should not be redundant. 11512 https://bugs.webkit.org/show_bug.cgi?id=126872. 11513 11514 Reviewed by Anders Carlsson. 11515 11516 toStringVector function was declared twice in InjectedBundle.cpp and WebPageGroup.cpp as static. 11517 In order to remove redundant definition this function was moved into API::Array. 11518 11519 * Shared/APIArray.cpp: 11520 (API::Array::toStringVector): 11521 * Shared/APIArray.h: 11522 * UIProcess/WebPageGroup.cpp: 11523 (WebKit::WebPageGroup::addUserStyleSheet): 11524 (WebKit::WebPageGroup::addUserScript): 11525 * WebProcess/InjectedBundle/InjectedBundle.cpp: 11526 (WebKit::InjectedBundle::addUserScript): 11527 (WebKit::InjectedBundle::addUserStyleSheet): 11528 115292014-01-10 Gavin Barraclough <barraclough@apple.com> 11530 11531 REGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail, theblaze.com) 11532 https://bugs.webkit.org/show_bug.cgi?id=126289 11533 11534 Reviewed by Anders Carlson. 11535 11536 Partial revert of https://bugs.webkit.org/show_bug.cgi?id=123557. 11537 On window.open, update page when the UIProcess sends the create message 11538 11539 * UIProcess/WebPageProxy.cpp: 11540 (WebKit::WebPageProxy::initializeWebPage): 11541 (WebKit::WebPageProxy::creationParameters): 11542 * UIProcess/WebPageProxy.h: 11543 - creation paraments are not preserved at window.open. 11544 * WebProcess/WebPage/WebPage.cpp: 11545 (WebKit::WebPage::reinitializeWebPage): 11546 (WebKit::WebPage::setViewState): 11547 (WebKit::WebPage::setViewStateInternal): 11548 * WebProcess/WebPage/WebPage.h: 11549 - add interface to update page. 11550 * WebProcess/WebProcess.cpp: 11551 (WebKit::WebProcess::createWebPage): 11552 - if we try to create a page that already exists, update the current page's view state. 11553 115542014-01-15 Carlos Garcia Campos <cgarcia@igalia.com> 11555 11556 [GTK] Web process sometimes crashes when printing in synchronous mode 11557 https://bugs.webkit.org/show_bug.cgi?id=126979 11558 11559 Reviewed by Gustavo Noronha Silva. 11560 11561 When printing synchronously in GTK+ we need to make sure that we 11562 have a list of Printers before starting the print operation. Getting 11563 the list of printers is done synchronously by GTK+, but using a 11564 nested main loop that might process IPC messages comming from the 11565 UI process like EndPrinting. When the EndPrinting message is 11566 received while the printer list is being populated, the print 11567 operation is finished unexpectely and the web process crashes. The 11568 PrinterListGtk class gets the list of printers in the constructor 11569 so we just need to ensure there's an instance alive during the 11570 synchronous print operation. In case of asynchronous printing the 11571 printer list will be created during the print operation without 11572 any risk, because the EndPrinting message is not sent until the 11573 printing callback has been received in the UI process. 11574 11575 * GNUmakefile.list.am: Add new files to compilation. 11576 * PlatformGTK.cmake: Ditto. 11577 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11578 (WebKit::WebChromeClient::print): Ensure PrinterListGtk is created 11579 before the synchronous printing and destroyed afterwards. 11580 * WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added. 11581 (WebKit::PrinterListGtk::shared): Return the singleton. 11582 (WebKit::PrinterListGtk::enumeratePrintersFunction): Callback 11583 called by gtk_enumerate_printers() when a new printer is found. 11584 (WebKit::PrinterListGtk::PrinterListGtk): Call 11585 gtk_enumerate_printers() in syhchronous mode. 11586 (WebKit::PrinterListGtk::~PrinterListGtk): 11587 (WebKit::PrinterListGtk::addPrinter): Add the printer to the list 11588 and set the default printer if needed. 11589 (WebKit::PrinterListGtk::findPrinter): Find the printer for the 11590 given name. 11591 * WebProcess/WebPage/gtk/PrinterListGtk.h: Added. 11592 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use 11593 PrinterListGtk class to find the printer instead of calling 11594 gtk_enumerate_printers(). 11595 115962014-01-15 Tomas Popela <tpopela@redhat.com> 11597 11598 [SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set 11599 https://bugs.webkit.org/show_bug.cgi?id=126577 11600 11601 Reviewed by Carlos Garcia Campos. 11602 11603 As in http://trac.webkit.org/changeset/152483, but this time for 11604 WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to 11605 disable the MemoryCache completely to prevent caching of the resources. 11606 11607 * WebProcess/soup/WebProcessSoup.cpp: 11608 (WebKit::WebProcess::platformSetCacheModel): 11609 116102014-01-14 Carlos Garcia Campos <cgarcia@igalia.com> 11611 11612 [GTK] UI process crashes when closing the window right after printing with javascript 11613 https://bugs.webkit.org/show_bug.cgi?id=126981 11614 11615 Reviewed by Gustavo Noronha Silva. 11616 11617 The UI process crashes because when the page is closed, the web 11618 view is destroyed before the print operation has actually 11619 finished. Use a weak pointer to make sure the web view pointer is 11620 set to NULL when the it's destroyed and emit the finished callback 11621 always so that the user can clean up the operation even when the 11622 web view has been closed. 11623 11624 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 11625 (drawPagesForPrintingCompleted): 11626 116272014-01-14 Carlos Garcia Campos <cgarcia@igalia.com> 11628 11629 [GTK] UI process crashes when the web process crashes while printing 11630 https://bugs.webkit.org/show_bug.cgi?id=126977 11631 11632 Reviewed by Gustavo Noronha Silva. 11633 11634 When the web process crashes, the printing callback is 11635 invalidated, so the function is called with a NULL error. 11636 11637 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 11638 (drawPagesForPrintingCompleted): Check wkError is not NULL before 11639 trying to use it. 11640 * UIProcess/API/gtk/WebKitWebView.cpp: 11641 (webkitWebViewPrintFrame): Set the print mode of the operation 11642 before emitting the print signal. 11643 116442014-01-14 Brady Eidson <beidson@apple.com> 11645 11646 IDB: create object store support 11647 <rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011 11648 11649 Reviewed by Anders Carlsson. 11650 11651 Add messaging/callback infrastructure for creating object stores: 11652 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 11653 (WebKit::DatabaseProcessIDBConnection::createObjectStore): 11654 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 11655 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 11656 11657 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 11658 (WebKit::WebIDBServerConnection::createObjectStore): 11659 (WebKit::WebIDBServerConnection::didCreateObjectStore): 11660 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 11661 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 11662 11663 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 11664 (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion): 11665 (WebKit::UniqueIDBDatabase::didCreateObjectStore): 11666 (WebKit::UniqueIDBDatabase::didCompleteBoolRequest): 11667 (WebKit::UniqueIDBDatabase::createObjectStore): 11668 (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore): 11669 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 11670 11671 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 11672 11673 Add serialization helpers to save/restore an IDBKeyPath to/from disk: 11674 * DatabaseProcess/IndexedDB/IDBSerialization.cpp: 11675 (WebKit::serializeIDBKeyPath): 11676 (WebKit::deserializeIDBKeyPath): 11677 * DatabaseProcess/IndexedDB/IDBSerialization.h: 11678 11679 Add object store metadata to the schema, and save/restore the metadata: 11680 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 11681 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): 11682 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): 11683 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): 11684 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 11685 11686 * Scripts/webkit2/messages.py: 11687 (struct_or_class): 11688 * WebKit2.xcodeproj/project.pbxproj: 11689 116902014-01-14 Jae Hyun Park <jae.park@company100.net> 11691 11692 [GTK] Unreviewed build fix after r162034 11693 11694 * GNUmakefile.list.am: 11695 116962014-01-14 Ryuan Choi <ryuan.choi@samsung.com> 11697 11698 Unreviewed build fix for CMake based ports after r162034. 11699 11700 * CMakeLists.txt: 11701 117022014-01-14 Jeffrey Pfau <jpfau@apple.com> 11703 11704 Build fix after r162034 11705 11706 Rubber-stamped by Benjamin Poulain. 11707 11708 * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: 11709 117102014-01-14 Anders Carlsson <andersca@apple.com> 11711 11712 Create separate progress tracker clients 11713 https://bugs.webkit.org/show_bug.cgi?id=127025 11714 11715 Reviewed by Sam Weinig. 11716 11717 * WebKit2.xcodeproj/project.pbxproj: 11718 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11719 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11720 * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h. 11721 (WebKit::WebProgressTrackerClient::WebProgressTrackerClient): 11722 (WebKit::WebProgressTrackerClient::progressTrackerDestroyed): 11723 (WebKit::WebProgressTrackerClient::progressStarted): 11724 (WebKit::WebProgressTrackerClient::progressEstimateChanged): 11725 (WebKit::WebProgressTrackerClient::progressFinished): 11726 * WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h. 11727 * WebProcess/WebPage/WebPage.cpp: 11728 (WebKit::WebPage::WebPage): 11729 117302014-01-14 Benjamin Poulain <bpoulain@apple.com> 11731 11732 [WK2] Make WebPageProxy's setUserAgent private 11733 https://bugs.webkit.org/show_bug.cgi?id=127013 11734 11735 Reviewed by Anders Carlsson. 11736 11737 * UIProcess/WebPageProxy.h: 11738 The API to modify the user agent already has 3 "setters": 11739 -standardUserAgent 11740 -setApplicationNameForUserAgent 11741 -setCustomUserAgent 11742 11743 The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly. 11744 Using it directly would cause unexpected behaviors, for example: 11745 -Set the user agent with setUserAgent. 11746 -Set CustomUserAgent. 11747 -Reset CustomUserAgent. 11748 ->The user agent is now standardUserAgent instead of the user agent defined initially. 11749 117502014-01-14 Commit Queue <commit-queue@webkit.org> 11751 11752 Unreviewed, rolling out r162000. 11753 http://trac.webkit.org/changeset/162000 11754 https://bugs.webkit.org/show_bug.cgi?id=127009 11755 11756 API versioning is wrong (Requested by rfong on #webkit). 11757 11758 * UIProcess/API/C/WKAPICast.h: 11759 * UIProcess/API/C/WKPageLoaderClient.h: 11760 * UIProcess/API/C/WKPageUIClient.h: 11761 * UIProcess/WebLoaderClient.cpp: 11762 * UIProcess/WebLoaderClient.h: 11763 * UIProcess/WebPageProxy.cpp: 11764 * UIProcess/WebPageProxy.h: 11765 * UIProcess/WebPageProxy.messages.in: 11766 * UIProcess/WebUIClient.cpp: 11767 * UIProcess/WebUIClient.h: 11768 * UIProcess/mac/WebInspectorProxyMac.mm: 11769 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 11770 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11771 * WebProcess/WebCoreSupport/WebChromeClient.h: 11772 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11773 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11774 * WebProcess/WebPage/WebPage.cpp: 11775 * WebProcess/WebPage/WebPage.h: 11776 117772014-01-14 Csaba Osztrogonác <ossy@webkit.org> 11778 11779 Speculative buildfix after r161999. 11780 11781 * Shared/APIObject.h: 11782 117832014-01-09 Roger Fong <roger_fong@apple.com> 11784 11785 Add support for handling WebGL load policies. 11786 https://bugs.webkit.org/show_bug.cgi?id=126935 11787 <rdar://problem/15790448>. 11788 11789 Reviewed by Brent Fulgham. 11790 11791 Boiler plate code for sending messages to and from the UI and Web Process. 11792 11793 * UIProcess/API/C/WKAPICast.h: 11794 (WebKit::toWebGLLoadPolicy): 11795 * UIProcess/API/C/WKPageLoaderClient.h: 11796 * UIProcess/API/C/WKPageUIClient.h: 11797 * UIProcess/WebLoaderClient.cpp: 11798 (WebKit::WebLoaderClient::webGLLoadPolicy): 11799 * UIProcess/WebLoaderClient.h: 11800 * UIProcess/WebPageProxy.cpp: 11801 (WebKit::WebPageProxy::webGLContextCreated): 11802 (WebKit::WebPageProxy::webGLPolicyForHost): 11803 * UIProcess/WebPageProxy.h: 11804 * UIProcess/WebPageProxy.messages.in: 11805 * UIProcess/WebUIClient.cpp: 11806 (WebKit::WebUIClient::webGLContextCreated): 11807 * UIProcess/WebUIClient.h: 11808 * UIProcess/mac/WebInspectorProxyMac.mm: 11809 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 11810 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 11811 (WebKit::WebChromeClient::webGLContextCreated): 11812 * WebProcess/WebCoreSupport/WebChromeClient.h: 11813 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 11814 (WebKit::WebFrameLoaderClient::webGLPolicyForHost): 11815 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 11816 * WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process. 11817 In the future this will be replaced with a strategy is non-blocking. 11818 (WebKit::WebPage::getWebGLPolicyForHost): 11819 * WebProcess/WebPage/WebPage.h: 11820 118212014-01-14 Mark Rowe <mrowe@apple.com> 11822 11823 WebKit2 leaks sudden termination assertions when a page with unload handlers is closed. 11824 <https://webkit.org/b/126974> / <rdar://problem/15812954> 11825 11826 When a page with an unload handler is loaded, the web process tells the UI process that it 11827 should disable sudden termination. However, when the page is closed the connection between 11828 the web and UI process is torn down before the web content has a chance to tell the UI 11829 process to reenable sudden termination. 11830 11831 Reviewed by Anders Carlsson. 11832 11833 * UIProcess/WebProcessProxy.cpp: 11834 (WebKit::WebProcessProxy::WebProcessProxy): 11835 (WebKit::WebProcessProxy::~WebProcessProxy): Balance any outstanding disableSuddenTermination calls. 11836 (WebKit::WebProcessProxy::enableSuddenTermination): Decrement the count. 11837 (WebKit::WebProcessProxy::disableSuddenTermination): Increment the count. 11838 * UIProcess/WebProcessProxy.h: 11839 118402014-01-14 Joseph Pecoraro <pecoraro@apple.com> 11841 11842 Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess 11843 https://bugs.webkit.org/show_bug.cgi?id=126995 11844 11845 Reviewed by Timothy Hatcher. 11846 11847 * WebProcess/WebCoreSupport/WebInspectorClient.h: 11848 * WebProcess/WebCoreSupport/WebInspectorClient.cpp: 11849 (WebKit::WebInspectorClient::parentProcessIdentifier): 11850 WebProcesses are proxies for a parent UIProcess. 11851 118522014-01-14 Tim Horton <timothy_horton@apple.com> 11853 11854 iOS WebKit2 build fixes, part 3 11855 11856 * WebKit2.xcodeproj/project.pbxproj: 11857 Remove some files from the 'All' target that should never have been a part of it. 11858 118592014-01-14 Tim Horton <timothy_horton@apple.com> 11860 11861 iOS WebKit2 build fixes, part 2 11862 11863 * WebKit2.xcodeproj/project.pbxproj: 11864 Add some missing files. 11865 118662014-01-14 Brian J. Burg <burg@cs.washington.edu> 11867 11868 Add ENABLE(WEB_REPLAY) feature flag to the build system 11869 https://bugs.webkit.org/show_bug.cgi?id=126949 11870 11871 Reviewed by Joseph Pecoraro. 11872 11873 * Configurations/FeatureDefines.xcconfig: 11874 118752014-01-14 Tim Horton <timothy_horton@apple.com> 11876 11877 Move WKView.mm to WKViewIOS.mm as 161950 was supposed to do. 11878 11879 * UIProcess/API/ios/WKView.mm: Removed. 11880 * UIProcess/API/ios/WKViewIOS.mm: Copied from UIProcess/API/ios/WKView.mm. 11881 118822014-01-14 Carlos Garcia Campos <cgarcia@igalia.com> 11883 11884 [GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled 11885 https://bugs.webkit.org/show_bug.cgi?id=126130 11886 11887 Reviewed by Anders Carlsson. 11888 11889 We need to notify the network process when the user preferred 11890 languages have changed to update the SoupSession accordingly. 11891 11892 * NetworkProcess/NetworkProcess.h: Add 11893 userPreferredLanguagesChanged when using soup network backend. 11894 * NetworkProcess/NetworkProcess.messages.in: Add 11895 UserPreferredLanguagesChanged message when using soup network 11896 backend. 11897 * NetworkProcess/soup/NetworkProcessSoup.cpp: 11898 (WebKit::NetworkProcess::userPreferredLanguagesChanged): Update 11899 the SoupSession to use the given languages. 11900 (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call 11901 userPreferredLanguagesChanged() when initialization parameters 11902 contain languages. 11903 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): 11904 Remove unnedded WebCore prefix. 11905 (WebKit::NetworkProcess::clearCacheForAllOrigins): Simplify using 11906 a single line. 11907 * Shared/Network/NetworkProcessCreationParameters.cpp: 11908 (WebKit::NetworkProcessCreationParameters::encode): Encode the 11909 languages vector. 11910 (WebKit::NetworkProcessCreationParameters::decode): Decode the 11911 languages vector. 11912 * Shared/Network/NetworkProcessCreationParameters.h: 11913 * UIProcess/WebContext.cpp: 11914 (WebKit::WebContext::languageChanged): Send a message also to the 11915 network process. 11916 * UIProcess/soup/WebContextSoup.cpp: 11917 (WebKit::WebContext::platformInitializeNetworkProcess): Set 11918 languages initial parameter. 11919 119202014-01-14 Carlos Garcia Campos <cgarcia@igalia.com> 11921 11922 [SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference 11923 https://bugs.webkit.org/show_bug.cgi?id=126966 11924 11925 Reviewed by Gustavo Noronha Silva. 11926 11927 * WebProcess/soup/WebProcessSoup.cpp: 11928 (WebKit::setSoupSessionAcceptLanguage): Use const Vector<String>&. 11929 119302014-01-14 Andreas Kling <akling@apple.com> 11931 11932 Remove deprecated DeferrableOneShotTimer constructor. 11933 <https://webkit.org/b/126984> 11934 11935 Reviewed by Anders Carlsson. 11936 11937 * WebProcess/Plugins/PluginView.h: 11938 * WebProcess/Plugins/PluginView.cpp: 11939 (WebKit::PluginView::pluginSnapshotTimerFired): 11940 11941 Take the timer by reference so we can use the new constructor. 11942 119432014-01-13 Tim Horton <timothy_horton@apple.com> 11944 11945 iOS WebKit2 build fixes, part 1 11946 11947 * Configurations/WebKit2.xcconfig: 11948 * NetworkProcess/NetworkResourceLoader.cpp: 11949 * NetworkProcess/NetworkResourceLoader.h: 11950 * NetworkProcess/RemoteNetworkingContext.h: 11951 * Shared/WebEventConversion.h: 11952 * UIProcess/API/ios/WKGeolocationProviderIOS.mm: 11953 * UIProcess/API/ios/WKInteractionView.mm: 11954 (-[WKTextPosition isEqual:]): 11955 * UIProcess/API/ios/WKViewIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKView.mm. 11956 * UIProcess/ios/WebPageProxyIOS.mm: 11957 * UIProcess/ios/WebProcessProxyIOS.mm: 11958 * WebKit2.xcodeproj/project.pbxproj: 11959 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 11960 * WebProcess/WebPage/WebPage.h: 11961 * WebProcess/WebPage/ios/WebPageIOS.mm: 11962 (WebKit::WebPage::elementDidFocus): 11963 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 11964 119652014-01-13 Jinwoo Song <jinwoo7.song@samsung.com> 11966 11967 [EFL][WK2] Disable failing API tests 11968 https://bugs.webkit.org/show_bug.cgi?id=126960 11969 11970 Reviewed by Gyuyoung Kim. 11971 11972 Disable color picker test until bug 119120 is resolved. 11973 11974 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: 11975 (TEST_F): 11976 119772014-01-13 Jinwoo Song <jinwoo7.song@samsung.com> 11978 11979 [EFL][WK2] ewk_view_page_contents_get() API test is failing 11980 https://bugs.webkit.org/show_bug.cgi?id=126957 11981 11982 Reviewed by Gyuyoung Kim. 11983 11984 As the day in 'Date' field may be one digit or two digit, 11985 the data length may also be varied by one byte. 11986 11987 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 11988 (EWK2ViewTest::PageContentsAsMHTMLCallback): 11989 119902014-01-13 Commit Queue <commit-queue@webkit.org> 11991 11992 Unreviewed, rolling out r161939. 11993 http://trac.webkit.org/changeset/161939 11994 https://bugs.webkit.org/show_bug.cgi?id=126956 11995 11996 didn't work with mac, of course (Requested by thorton on 11997 #webkit). 11998 11999 * NetworkProcess/NetworkResourceLoader.cpp: 12000 * NetworkProcess/NetworkResourceLoader.h: 12001 * NetworkProcess/RemoteNetworkingContext.h: 12002 * Shared/WebEventConversion.h: 12003 * UIProcess/API/ios/WKGeolocationProviderIOS.mm: 12004 * UIProcess/API/ios/WKInteractionView.mm: 12005 (-[WKTextPosition isEqual:]): 12006 * WebKit2.xcodeproj/project.pbxproj: 12007 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 12008 * WebProcess/WebPage/WebPage.h: 12009 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 12010 120112014-01-13 Benjamin Poulain <bpoulain@apple.com> 12012 12013 Update WebPageProxyIOS's user agent string 12014 https://bugs.webkit.org/show_bug.cgi?id=126933 12015 12016 Reviewed by Darin Adler. 12017 12018 * UIProcess/ios/WebPageProxyIOS.mm: 12019 (WebKit::WebPageProxy::standardUserAgent): 12020 Send a more reasonable user agent. The previous one was forcing 12021 iOS 5.1's iPad user-agent. 12022 120232014-01-13 Tim Horton <timothy_horton@apple.com> 12024 12025 iOS WebKit2 build fixes 12026 12027 * NetworkProcess/NetworkResourceLoader.cpp: 12028 * NetworkProcess/NetworkResourceLoader.h: 12029 Introduce/clarify some confusion about CFNETWORK vs. PLATFORM(IOS). 12030 12031 * NetworkProcess/RemoteNetworkingContext.h: 12032 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: 12033 Get rid of an override of something that doesn't exist anymore. 12034 12035 * WebKit2.xcodeproj/project.pbxproj: 12036 Add some files. It's likely there are more missing, but this is a start. 12037 12038 * Shared/WebEventConversion.h: 12039 * WebProcess/WebPage/WebPage.h: 12040 Use WebKitAdditions. 12041 12042 * UIProcess/API/ios/WKGeolocationProviderIOS.mm: 12043 Something bizarre is happening with internal deprecation warnings. 12044 12045 * UIProcess/API/ios/WKInteractionView.mm: 12046 (-[WKTextPosition isEqual:]): 12047 Fix a typo. 12048 12049 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 12050 Remove an override of something that doesn't exist anymore. 12051 120522014-01-13 Andy Estes <aestes@apple.com> 12053 12054 [iOS] Build Fix: Don't build the 'All-iOS' target on iOS. Just use 'All'. 12055 12056 * Makefile: 12057 120582014-01-13 Martin Robinson <mrobinson@igalia.com> 12059 12060 [CMake] Mark all dependency include paths and libraries as advanced variables 12061 https://bugs.webkit.org/show_bug.cgi?id=126504 12062 12063 Reviewed by Daniel Bates. 12064 12065 * CMakeLists.txt: Mark the LIBRT_LIBRARIES variable as advanced. 12066 120672014-01-13 Martin Robinson <mrobinson@igalia.com> 12068 12069 [GTK][CMake] Circular dependency in generation of WebKitEnumTypes.h 12070 https://bugs.webkit.org/show_bug.cgi?id=126912 12071 12072 Reviewed by Daniel Bates. 12073 12074 * PlatformGTK.cmake: Remove the circular dependency by generating WebKitEnumTypes.h with 12075 all installed headers except for WebKitEnumTypes.h itself. 12076 120772014-01-13 Andy Estes <aestes@apple.com> 12078 12079 [iOS] Exclude shims and PluginProcess.app from the WebKit2 build 12080 https://bugs.webkit.org/show_bug.cgi?id=126936 12081 12082 Reviewed by Daniel Bates. 12083 12084 * Configurations/All.xcconfig: Added. Excluded PluginProcess.app from 12085 being copied into WebKit2.framework on iOS. 12086 * Configurations/NetworkProcess.xcconfig: Excluded SecItemShim.dylib 12087 from being copied into NetworkProcess.app on iOS. 12088 * Configurations/PluginProcess.xcconfig: Excluded 12089 PluginProcessShim.dylib from being copied into PluginProcess.app and 12090 set SKIP_INSTALL to YES on iOS. 12091 * Configurations/PluginProcessShim.xcconfig: Added. Linked the shim 12092 against necessary frameworks on Mac. 12093 * Configurations/SecItemShim.xcconfig: Ditto. 12094 * Configurations/WebProcessShim.xcconfig: Ditto. 12095 * Configurations/WebContentProcess.xcconfig: Excluded 12096 WebProcessShim.dylib from being copied into WebProcess.app on iOS. 12097 * PluginProcess/mac/PluginProcessShim.mm: Added #if !PLATFORM(IOS) guards. 12098 * Shared/mac/CookieStorageShimLibrary.cpp: Ditto. 12099 * WebProcess/mac/SecItemShimLibrary.mm: Ditto. 12100 * WebKit2.xcodeproj/project.pbxproj: Removed Mac-only frameworks from 12101 the shims' 'Link Binary with Libraries' build phases. Added new xcconfigs. 12102 121032014-01-13 Jinwoo Song <jinwoo7.song@samsung.com> 12104 12105 [EFL][WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed 12106 https://bugs.webkit.org/show_bug.cgi?id=126882 12107 12108 Reviewed by Gyuyoung Kim. 12109 12110 * Shared/efl/ProcessExecutablePathEfl.cpp: 12111 (WebKit::executablePathOfWebProcess): 12112 (WebKit::executablePathOfPluginProcess): 12113 (WebKit::executablePathOfNetworkProcess): 12114 * UIProcess/API/efl/EwkView.cpp: 12115 (wkPageToEvasObjectMap): 12116 * UIProcess/API/efl/ewk_context.cpp: 12117 (contextMap): 12118 * UIProcess/API/efl/ewk_page_group.cpp: 12119 (pageGroupMap): 12120 * UIProcess/efl/TextCheckerClientEfl.cpp: 12121 (TextCheckerClientEfl::instance): 12122 * UIProcess/efl/TextCheckerClientEfl.h: 12123 121242014-01-13 Carlos Garcia Campos <cgarcia@igalia.com> 12125 12126 [SOUP] Add SoupNetworkSession class to wrap a SoupSession 12127 https://bugs.webkit.org/show_bug.cgi?id=126813 12128 12129 Reviewed by Gustavo Noronha Silva. 12130 12131 Use the new SoupNetworkSession API. 12132 12133 * NetworkProcess/soup/NetworkProcessSoup.cpp: 12134 (WebKit::NetworkProcess::platformInitializeNetworkProcess): 12135 (WebKit::NetworkProcess::platformSetCacheModel): 12136 (WebKit::NetworkProcess::clearCacheForAllOrigins): 12137 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: 12138 (WebKit::NetworkProcessMain): 12139 * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: 12140 (WebKit::WebCookieManager::setCookiePersistentStorage): 12141 * WebProcess/efl/WebProcessMainEfl.cpp: 12142 (WebKit::WebProcessMainEfl): 12143 * WebProcess/gtk/WebProcessMainGtk.cpp: 12144 (WebKit::WebProcessMainGtk): 12145 * WebProcess/soup/WebProcessSoup.cpp: 12146 (WebKit::WebProcess::platformSetCacheModel): 12147 (WebKit::WebProcess::platformClearResourceCaches): 12148 (WebKit::setSoupSessionAcceptLanguage): 12149 (WebKit::WebProcess::platformInitializeWebProcess): 12150 * WebProcess/soup/WebSoupRequestManager.cpp: 12151 (WebKit::WebSoupRequestManager::registerURIScheme): 12152 121532014-01-13 Zalan Bujtas <zalan@apple.com> 12154 12155 Enable SUBPIXEL_LAYOUT on Mac 12156 <https://webkit.org/b/126283> 12157 12158 Reviewed by Simon Fraser. 12159 12160 * Configurations/FeatureDefines.xcconfig: 12161 121622014-01-12 Sergio Correia <sergio.correia@openbossa.org> 12163 12164 [EFL][WK2] Make API tests work again 12165 https://bugs.webkit.org/show_bug.cgi?id=126769 12166 12167 Reviewed by Gyuyoung Kim. 12168 12169 The EFL and WK2 test binaries are currently being generated at *TestWebKitAPI/ 12170 [E]WebKit2, respectively, and this causes problems because the logic to find 12171 where WebProcess is to look in the same directory of the running process and 12172 then proceed to use LIBEXECDIR (typically /usr/loca/bin). 12173 12174 This patch introduces a WEBKIT_EXEC_PATH environment variable, inspired in the 12175 Gtk port, which allows us to look for WebProcess initially in this directory, 12176 if it's defined. 12177 12178 * Shared/efl/ProcessExecutablePathEfl.cpp: 12179 (WebKit::findProcessPath): Change the logic to look initially in 12180 WEBKIT_EXEC_PATH, then proceed with the existing checks. 12181 * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp: 12182 (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment): 12183 Define WEBKIT_EXEC_PATH to be used by EWebKit2 tests. 12184 121852014-01-12 Darin Adler <darin@apple.com> 12186 12187 Add deprecatedCharacters as a synonym for characters and convert most call sites 12188 https://bugs.webkit.org/show_bug.cgi?id=126858 12189 12190 Reviewed by Anders Carlsson. 12191 12192 * Shared/APIString.h: 12193 * UIProcess/WebPageProxy.cpp: 12194 (WebKit::WebPageProxy::checkTextOfParagraph): 12195 (WebKit::WebPageProxy::checkSpellingOfString): 12196 (WebKit::WebPageProxy::checkGrammarOfString): 12197 * WebProcess/WebPage/EncoderAdapter.cpp: 12198 (WebKit::EncoderAdapter::encodeString): 12199 Use deprecatedCharacters instead of characters. 12200 122012014-01-12 Darin Adler <darin@apple.com> 12202 12203 Add type checking to isEqual methods 12204 https://bugs.webkit.org/show_bug.cgi?id=126862 12205 12206 Reviewed by Anders Carlsson. 12207 12208 * UIProcess/API/ios/WKInteractionView.mm: 12209 (-[WKTextRange isEqual:]): Added type checking for the argument. The old 12210 code asserted instead, and it's not clear what guarantees that assertion is 12211 true. Added a FIXME about the lack of a hash method. Added another FIXME 12212 about the fact that this method ignores much of the object state. Removed 12213 an unneeded extra fetch of the isRange property. Deleted some dead code. 12214 (-[WKTextPosition isEqual:]): Ditto. 12215 122162014-01-12 Anders Carlsson <andersca@apple.com> 12217 12218 Remove the last remaining uses of AtomicallyInitializedStatic 12219 https://bugs.webkit.org/show_bug.cgi?id=126863 12220 12221 Reviewed by Darin Adler. 12222 12223 * Shared/mac/SecItemShim.cpp: 12224 (WebKit::responseMap): 12225 122262014-01-12 Dan Bernstein <mitz@apple.com> 12227 12228 Added a reference to WebContentService/Info-OSX.plist to the project. 12229 12230 * WebKit2.xcodeproj/project.pbxproj: 12231 122322014-01-12 Dan Bernstein <mitz@apple.com> 12233 12234 OS X build fix. 12235 12236 * WebKit2.xcodeproj/project.pbxproj: 12237 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Copied from WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist. 12238 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: Removed. 12239 122402014-01-12 Andy Estes <aestes@apple.com> 12241 12242 Build Fix: Objective-C GC should be unsupported in iOS WebKit2 12243 12244 * Configurations/Base.xcconfig: 12245 122462014-01-12 Andy Estes <aestes@apple.com> 12247 12248 [iOS] Upstream WebKit2 xcconfig changes to fix the build 12249 12250 * Configurations/All-iOS.xcconfig: Added. 12251 * Configurations/Base.xcconfig: 12252 * Configurations/BaseLegacyProcess.xcconfig: 12253 * Configurations/BaseTarget.xcconfig: 12254 * Configurations/BaseXPCService.xcconfig: 12255 * Configurations/DebugRelease.xcconfig: 12256 * Configurations/WebContentService.xcconfig: 12257 * Configurations/iOS.xcconfig: Added. 12258 122592014-01-12 Carlos Garcia Campos <cgarcia@igalia.com> 12260 12261 Unreviewed. Fix make distcheck. 12262 12263 * GNUmakefile.am: Add WebKit2InspectorGResourceBundle.xml to 12264 EXTRA_DIST. 12265 * GNUmakefile.list.am: Removed deleted files and add missing ones. 12266 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Move 12267 ProxyResolverSoup.h to EFL platform ifdef, because GTK port doesn't 12268 build the proxy resolver. 12269 122702014-01-12 Carlos Garcia Campos <cgarcia@igalia.com> 12271 12272 [GTK] Fix return value of WebKitDownload::created-destination 12273 https://bugs.webkit.org/show_bug.cgi?id=126741 12274 12275 Reviewed by Martin Robinson. 12276 12277 WebKitDownload::created-destination signal should be void instead 12278 of gboolean. This doesn't break the API/ABI. 12279 12280 * UIProcess/API/gtk/WebKitDownload.cpp: 12281 (webkit_download_class_init): 12282 (webkitDownloadDestinationCreated): 12283 122842014-01-11 Yongjun Zhang <yongjun_zhang@apple.com> 12285 12286 Support bool argument for encoding/decoding invocations. 12287 https://bugs.webkit.org/show_bug.cgi?id=126823 12288 12289 Reviewed by Sam Weinig. 12290 12291 For remote invocation method argument, current we support int, double and ObjC 12292 object, this patch add support for bool type too. 12293 12294 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 12295 (encodeInvocation): 12296 (decodeInvocationArguments): 12297 122982014-01-11 Alexey Proskuryakov <ap@apple.com> 12299 12300 [Mac] [Windows] Stop scheduling network requests in WebCore 12301 https://bugs.webkit.org/show_bug.cgi?id=126789 12302 <rdar://problem/15114727> 12303 12304 Reviewed by Sam Weinig. 12305 12306 * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm: 12307 (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): 12308 We no longer need the trick with 7 connections, as synchronous requests always have 12309 the right of way. 12310 12311 * UIProcess/API/C/WKContext.cpp: Removed long obsolete functions. 12312 12313 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface): 12314 Updated for new WKSI function names. 12315 123162014-01-11 Simon Fraser <simon.fraser@apple.com> 12317 12318 Unfork GraphicsContext::drawNativeImage for iOS 12319 https://bugs.webkit.org/show_bug.cgi?id=126824 12320 12321 Reviewed by Dean Jackson. 12322 12323 GraphicsContext::drawNativeImage had a different signature for iOS, 12324 which required #ifdefs at all the call sites. Unfork by passing the "scale" 12325 parameter everywhere (it's only used on iOS). 12326 12327 * Shared/API/c/cg/WKImageCG.cpp: 12328 (WKImageCreateFromCGImage): 12329 123302014-01-11 Sam Weinig <sam@webkit.org> 12331 12332 Clean up iterator filter / iterator range code 12333 https://bugs.webkit.org/show_bug.cgi?id=126817 12334 12335 Reviewed by Anders Carlsson. 12336 12337 * Shared/APIArray.h: 12338 Update elementsOfType() to use combination of FilterIterator and TransformIterator 12339 (now that FilterIterator no longer has a transform predicate) and make use of the 12340 makeFoo() helpers. 12341 123422014-01-11 Anders Carlsson <andersca@apple.com> 12343 12344 Simplify Timer and DeferrableOneShotTimer using std::function 12345 https://bugs.webkit.org/show_bug.cgi?id=126816 12346 12347 Reviewed by Sam Weinig. 12348 12349 Add another unexported symbol. 12350 12351 * Configurations/WebKit2.xcconfig: 12352 123532014-01-11 Jinwoo Song <jinwoo7.song@samsung.com> 12354 12355 [EFL][WK2] Use nullptr instead of 0 in EFL API layer 12356 https://bugs.webkit.org/show_bug.cgi?id=126806 12357 12358 Reviewed by Anders Carlsson. 12359 12360 * UIProcess/API/efl/EwkView.cpp: 12361 (EwkView::create): 12362 * UIProcess/API/efl/ewk_auth_request.cpp: 12363 (ewk_auth_request_suggested_username_get): 12364 (ewk_auth_request_realm_get): 12365 (ewk_auth_request_host_get): 12366 * UIProcess/API/efl/ewk_back_forward_list.cpp: 12367 (ewk_back_forward_list_current_item_get): 12368 (ewk_back_forward_list_previous_item_get): 12369 (ewk_back_forward_list_next_item_get): 12370 (ewk_back_forward_list_item_at_index_get): 12371 (ewk_back_forward_list_n_back_items_copy): 12372 (ewk_back_forward_list_n_forward_items_copy): 12373 * UIProcess/API/efl/ewk_back_forward_list_item.cpp: 12374 (ewk_back_forward_list_item_url_get): 12375 (ewk_back_forward_list_item_title_get): 12376 (ewk_back_forward_list_item_original_url_get): 12377 * UIProcess/API/efl/ewk_context.cpp: 12378 (ewk_context_cookie_manager_get): 12379 (ewk_context_database_manager_get): 12380 (ewk_context_favicon_database_get): 12381 (ewk_context_storage_manager_get): 12382 (ewk_context_new_with_injected_bundle_path): 12383 * UIProcess/API/efl/ewk_context_menu.cpp: 12384 (ewk_context_menu_items_get): 12385 * UIProcess/API/efl/ewk_context_menu_item.cpp: 12386 (ewk_context_menu_item_new_with_submenu): 12387 (ewk_context_menu_item_title_get): 12388 (ewk_context_menu_item_parent_menu_get): 12389 (ewk_context_menu_item_submenu_get): 12390 * UIProcess/API/efl/ewk_download_job.cpp: 12391 (ewk_download_job_request_get): 12392 (ewk_download_job_response_get): 12393 (ewk_download_job_destination_get): 12394 (ewk_download_job_suggested_filename_get): 12395 * UIProcess/API/efl/ewk_error.cpp: 12396 (ewk_error_url_get): 12397 (ewk_error_description_get): 12398 * UIProcess/API/efl/ewk_file_chooser_request.cpp: 12399 (ewk_file_chooser_request_accepted_mimetypes_get): 12400 * UIProcess/API/efl/ewk_form_submission_request.cpp: 12401 (ewk_form_submission_request_field_names_get): 12402 (ewk_form_submission_request_field_value_get): 12403 * UIProcess/API/efl/ewk_navigation_data.cpp: 12404 (ewk_navigation_data_title_get): 12405 (ewk_navigation_data_original_request_get): 12406 (ewk_navigation_data_url_get): 12407 * UIProcess/API/efl/ewk_navigation_policy_decision.cpp: 12408 (ewk_navigation_policy_frame_name_get): 12409 (ewk_navigation_policy_request_get): 12410 * UIProcess/API/efl/ewk_object.cpp: 12411 (ewk_object_ref): 12412 * UIProcess/API/efl/ewk_popup_menu.cpp: 12413 (ewk_popup_menu_items_get): 12414 * UIProcess/API/efl/ewk_popup_menu_item.cpp: 12415 (ewk_popup_menu_item_text_get): 12416 (ewk_popup_menu_item_tooltip_get): 12417 (ewk_popup_menu_item_accessibility_text_get): 12418 * UIProcess/API/efl/ewk_security_origin.cpp: 12419 (ewk_security_origin_host_get): 12420 (ewk_security_origin_protocol_get): 12421 * UIProcess/API/efl/ewk_settings.cpp: 12422 (ewk_settings_default_text_encoding_name_get): 12423 * UIProcess/API/efl/ewk_url_request.cpp: 12424 (ewk_url_request_url_get): 12425 (ewk_request_cookies_first_party_get): 12426 (ewk_url_request_http_method_get): 12427 * UIProcess/API/efl/ewk_url_response.cpp: 12428 (ewk_url_response_url_get): 12429 (ewk_url_response_mime_type_get): 12430 * UIProcess/API/efl/ewk_url_scheme_request.cpp: 12431 (ewk_url_scheme_request_scheme_get): 12432 (ewk_url_scheme_request_url_get): 12433 (ewk_url_scheme_request_path_get): 12434 * UIProcess/API/efl/ewk_view.cpp: 12435 (toEwkViewChecked): 12436 (EWKViewGetWKView): 12437 (ewk_view_smart_add): 12438 (ewk_view_add_with_context): 12439 (ewk_view_context_get): 12440 (ewk_view_page_group_get): 12441 (ewk_view_url_get): 12442 (ewk_view_favicon_get): 12443 (ewk_view_settings_get): 12444 (ewk_view_title_get): 12445 (ewk_view_theme_get): 12446 (ewk_view_back_forward_list_get): 12447 (ewk_view_custom_encoding_get): 12448 (ewk_view_user_agent_get): 12449 124502014-01-10 Anders Carlsson <andersca@apple.com> 12451 12452 Tweak ProgressTrackerClient functions 12453 https://bugs.webkit.org/show_bug.cgi?id=126808 12454 12455 Reviewed by Sam Weinig. 12456 12457 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12458 (WebKit::WebFrameLoaderClient::progressStarted): 12459 (WebKit::WebFrameLoaderClient::progressEstimateChanged): 12460 (WebKit::WebFrameLoaderClient::progressFinished): 12461 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 12462 124632014-01-10 Sam Weinig <sam@webkit.org> 12464 12465 Convert HandleMessage.h to use variadic templates 12466 https://bugs.webkit.org/show_bug.cgi?id=126469 12467 12468 Reviewed by Anders Carlsson. 12469 12470 * Platform/IPC/HandleMessage.h: 12471 (IPC::callMemberFunctionImpl): 12472 (IPC::callMemberFunction): 12473 Replace massive copy and pasted code with variadic magic. 12474 124752014-01-10 Anders Carlsson <andersca@apple.com> 12476 12477 Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient 12478 https://bugs.webkit.org/show_bug.cgi?id=126801 12479 12480 Reviewed by Sam Weinig. 12481 12482 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: 12483 * WebProcess/WebPage/WebPage.cpp: 12484 (WebKit::WebPage::WebPage): 12485 124862014-01-10 Anders Carlsson <andersca@apple.com> 12487 12488 Remove dead code 12489 https://bugs.webkit.org/show_bug.cgi?id=126782 12490 12491 Reviewed by Tim Horton. 12492 12493 * UIProcess/WebPageProxy.cpp: 12494 * UIProcess/WebPageProxy.h: 12495 * WebProcess/WebPage/WebPage.cpp: 12496 * WebProcess/WebPage/WebPage.h: 12497 * WebProcess/WebPage/WebPage.messages.in: 12498 124992014-01-10 Benjamin Poulain <bpoulain@apple.com> 12500 12501 Remove the BlackBerry port from trunk 12502 https://bugs.webkit.org/show_bug.cgi?id=126715 12503 12504 Reviewed by Anders Carlsson. 12505 12506 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 12507 (WebKit::WebChromeClient::setCursor): 12508 125092014-01-10 Benjamin Poulain <bpoulain@apple.com> 12510 12511 Remove the BlackBerry port from trunk 12512 https://bugs.webkit.org/show_bug.cgi?id=126715 12513 12514 Reviewed by Anders Carlsson. 12515 12516 * Scripts/generate-forwarding-headers.pl: 12517 125182014-01-10 Carlos Garcia Campos <cgarcia@igalia.com> 12519 12520 Implement NetworkResourceLoader::receivedCancellation 12521 https://bugs.webkit.org/show_bug.cgi?id=126129 12522 12523 Reviewed Alexey Proskuryakov. 12524 12525 Implement ResourceHandleClient::receivedCancellation() in the 12526 network process to cancel the load when cancellation is received 12527 from the authentication manager like the web process does. 12528 12529 * NetworkProcess/NetworkResourceLoader.cpp: 12530 (WebKit::NetworkResourceLoader::receivedCancellation): Cancel the load. 12531 * NetworkProcess/NetworkResourceLoader.h: 12532 125332014-01-09 Jinwoo Song <jinwoo7.song@samsung.com> 12534 12535 [EFL][WK2] Add APIs for setting and getting the default text encoding name 12536 https://bugs.webkit.org/show_bug.cgi?id=126736 12537 12538 Reviewed by Gyuyoung Kim. 12539 12540 Add APIs to set and get the default text encoding name. 12541 12542 * UIProcess/API/efl/ewk_settings.cpp: 12543 (ewk_settings_default_text_encoding_name_get): 12544 (ewk_settings_default_text_encoding_name_set): 12545 * UIProcess/API/efl/ewk_settings.h: 12546 * UIProcess/API/efl/tests/test_ewk2_settings.cpp: 12547 (TEST_F): 12548 125492014-01-09 Simon Fraser <simon.fraser@apple.com> 12550 12551 Enable async scrolling for iOS 12552 https://bugs.webkit.org/show_bug.cgi?id=126730 12553 12554 Reviewed by Tim Horton. 12555 12556 Turn on ENABLE_ASYNC_SCROLLING for iOS. 12557 12558 On iOS, create ScrollingTreeScrollingNodeIOS nodes. 12559 12560 * UIProcess/Scrolling/RemoteScrollingTree.cpp: 12561 (WebKit::RemoteScrollingTree::createNode): 12562 * UIProcess/Scrolling/RemoteScrollingTree.h: 12563 125642014-01-06 Gavin Barraclough <barraclough@apple.com> 12565 12566 Change Page, FocusController to use ViewState 12567 https://bugs.webkit.org/show_bug.cgi?id=126533 12568 12569 Reviewed by Tim Horton. 12570 12571 These classes currently maintain a set of separate fields to represent the view state; 12572 combine these into a single field, and allow WebPage to send the combined update rather 12573 than individual changes. 12574 12575 Maintain existing interface for WebKit1 clients. 12576 12577 * WebProcess/WebPage/WebPage.cpp: 12578 (WebKit::WebPage::WebPage): 12579 - Combined separate calls to Page::setViewState. 12580 (WebKit::WebPage::updateIsInWindow): 12581 - Simplied from setIsInWindow. 12582 (WebKit::WebPage::setViewState): 12583 - Combined separate calls to Page::setViewState. 12584 * WebProcess/WebPage/WebPage.h: 12585 - Declare updateIsInWindow. 12586 125872014-01-09 Tim Horton <timothy_horton@apple.com> 12588 12589 Upstream iOS changes after r161530 12590 https://bugs.webkit.org/show_bug.cgi?id=126728 12591 12592 Reviewed by Dean Jackson. 12593 12594 * UIProcess/API/ios/WKContentView.mm: 12595 (-[WKContentView setViewportSize:]): 12596 (-[WKContentView didFinishScrollTo:]): 12597 (-[WKContentView didScrollTo:]): 12598 Adopt the new approach. 12599 126002014-01-09 Brian Burg <bburg@apple.com> 12601 12602 REGRESSION (r160152): Selection drag snapshot doesn't appear or has the wrong content on Retina 12603 https://bugs.webkit.org/show_bug.cgi?id=125375 12604 12605 Reviewed by Darin Adler. 12606 12607 Remove scaling from WebDragClient because it is now selectively 12608 performed by WebCore according to the drag image source. 12609 12610 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm: 12611 (WebKit::WebDragClient::startDrag): Don't scale the provided drag image. 12612 126132014-01-09 Tim Horton <timothy_horton@apple.com> 12614 12615 WebKit2 View Gestures: Support plugins that take over the page scale gesture 12616 https://bugs.webkit.org/show_bug.cgi?id=126399 12617 <rdar://problem/15738928> 12618 12619 Reviewed by Sam Weinig. 12620 12621 Teach ViewGestureController how to handle WebFrame::handlesPageScaleGesture=true, 12622 which is used so that PDFPlugin can deal with magnification itself. 12623 12624 * UIProcess/mac/ViewGestureController.cpp: 12625 (WebKit::ViewGestureController::ViewGestureController): 12626 (WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture): 12627 (WebKit::ViewGestureController::handleMagnificationGesture): 12628 (WebKit::ViewGestureController::endMagnificationGesture): 12629 (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture): 12630 If the WebFrame is going to handle the page scale gesture itself (which currently 12631 simply means that it is a main-frame PDFPlugin), send the magnification information 12632 straight through to it. Also, don't provide smart-zoom in this case, since there 12633 is currently no way to collect geometry information from the plugin. 12634 12635 * UIProcess/mac/ViewGestureController.h: 12636 * UIProcess/mac/ViewGestureController.messages.in: 12637 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: 12638 (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture): 12639 (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture): 12640 Retrieve WebFrame::handlesPageScaleGesture and return it to the UI process. 12641 126422014-01-09 Dan Bernstein <mitz@apple.com> 12643 12644 [Cocoa] Promote WKBackForwardList{,Item}.h to public 12645 https://bugs.webkit.org/show_bug.cgi?id=126707 12646 12647 Reviewed by Sam Weinig. 12648 12649 * UIProcess/API/Cocoa/WKBackForwardList.h: Stopped including the C API header. 12650 * UIProcess/API/Cocoa/WKBackForwardListItem.h: Ditto. 12651 * WebKit2.xcodeproj/project.pbxproj: Made the headers public. 12652 126532014-01-09 Zan Dobersek <zdobersek@igalia.com> 12654 12655 Revert back to using the -n option when producing symbolic links to the GTK-specific 12656 API directories under Source/WebKit2/. Removing the option in r161497 resulted in 12657 recursive links being created under those directories since the links were dereferenced. 12658 12659 To actually ensure that the link is created anew, remove it so it is reconstructed. 12660 12661 Rubber-stamped by Carlos Garcia Campos. 12662 12663 * GNUmakefile.am: 12664 126652014-01-09 Carlos Garcia Campos <cgarcia@igalia.com> 12666 12667 Crash when starting a download before the network process has been launched 12668 https://bugs.webkit.org/show_bug.cgi?id=126258 12669 12670 Reviewed by Anders Carlsson. 12671 12672 We need to ensure there's a network process running before 12673 starting a new download like we do when using the web process. 12674 12675 * UIProcess/WebContext.cpp: 12676 (WebKit::WebContext::download): Use ChildProcessProxy::send() 12677 instead of using the connection to make sure messages are queued 12678 if the process is still launching. 12679 (WebKit::WebContext::createDownloadProxy): Call 12680 ensureNetworkProcess() before creating the download proxy. 12681 126822014-01-09 Carlos Garcia Campos <cgarcia@igalia.com> 12683 12684 [SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2 12685 https://bugs.webkit.org/show_bug.cgi?id=126686 12686 12687 Reviewed by Martin Robinson. 12688 12689 We are currently writing the downloads directly into the 12690 destination, and when a download fails or is cancelled after the 12691 destination has been decided, the partial file is left on the 12692 disk. Deleting the final file is not safe because there might be a 12693 race condition, so we can use an intermediate file like other 12694 browsers do, a file in the same directory than the target 12695 destination but with .wkdownload suffix, that is removed when the 12696 download fails or is cancelled. If the download finishes 12697 successfully the intermediate file is renamed to the final 12698 destination. 12699 12700 * Shared/Downloads/soup/DownloadSoup.cpp: 12701 (WebKit::DownloadClient::deleteIntermediateFileInNeeded): Delete 12702 the intermdiate file if it's been created already. 12703 (WebKit::DownloadClient::downloadFailed): Call deleteIntermediateFileInNeeded. 12704 (WebKit::DownloadClient::didReceiveResponse): Do not create a 12705 SoupMessage for the given ResourceResponse that is not used, cache 12706 the ResourceResponse instead. Create the intermediate file and use 12707 it instead of the final destination. 12708 (WebKit::DownloadClient::didReceiveData): Use the cached 12709 ResourceResponse directly. 12710 (WebKit::DownloadClient::didFinishLoading): Rename the 12711 intermediate file to the final destination and write the metadata 12712 in the final target destination. 12713 (WebKit::DownloadClient::cancel): Handle the download cancellation 12714 here, removing the intermediate file is needed and cancelling the 12715 ResourceHandle and the download. 12716 (WebKit::DownloadClient::handleResponseLater): 12717 (WebKit::Download::cancel): Let the client handle the cancellation. 12718 127192014-01-08 Jinwoo Song <jinwoo7.song@samsung.com> 12720 12721 WebKit2 EFL build fix after r161530 12722 https://bugs.webkit.org/show_bug.cgi?id=126678 12723 12724 Reviewed by Tim Horton. 12725 12726 Add PLATFORM(MAC) guards around setExposedRect() and exposedRect() 12727 in DrawingArea and WebFrameLoaderClient. 12728 12729 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12730 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 12731 * WebProcess/WebPage/DrawingArea.h: 12732 127332014-01-08 Martin Hock <mhock@apple.com> 12734 12735 Stub for Session API 12736 https://bugs.webkit.org/show_bug.cgi?id=126626 12737 12738 Reviewed by Sam Weinig. 12739 12740 * Shared/API/c/WKBase.h: 12741 * Shared/API/c/WKSharedAPICast.h: 12742 * Shared/APIObject.h: 12743 * UIProcess/API/C/WKSessionRef.cpp: Added. 12744 (WKSessionGetTypeID): 12745 (WKSessionGetEphemeral): 12746 * UIProcess/API/C/WKSessionRef.h: Added. 12747 * UIProcess/API/Cocoa/WKSession.h: Added. 12748 * UIProcess/API/Cocoa/WKSession.mm: Added. 12749 (-[WKSession dealloc]): 12750 (-[WKSession ephemeral]): 12751 (-[WKSession API::]): 12752 * UIProcess/API/Cocoa/WKSessionInternal.h: Added. 12753 (WebKit::wrapper): 12754 * UIProcess/APISession.cpp: Added. 12755 (API::Session::Session): 12756 (API::Session::create): 12757 (API::Session::isEphemeral): 12758 (API::Session::~Session): 12759 * UIProcess/APISession.h: Added. 12760 * WebKit2.xcodeproj/project.pbxproj: 12761 127622014-01-08 Claudio Saavedra <csaavedra@igalia.com> 12763 12764 [GTK] Add xdg.origin.url extended attribute to downloads 12765 https://bugs.webkit.org/show_bug.cgi?id=126638 12766 12767 Reviewed by Carlos Garcia Campos. 12768 12769 This is proposed by fdo in 12770 http://www.freedesktop.org/wiki/CommonExtendedAttributes/ 12771 12772 * Shared/Downloads/soup/DownloadSoup.cpp: 12773 (WebKit::DownloadClient::didReceiveResponse): 12774 127752014-01-08 Simon Fraser <simon.fraser@apple.com> 12776 12777 Make WK2 build when ENABLE(ASYNC_SCROLLING) is not defined 12778 https://bugs.webkit.org/show_bug.cgi?id=126675 12779 12780 Reviewed by Tim Horton. 12781 12782 We need a stub RemoteScrollingCoordinatorTransaction outside 12783 the #ifdef so that RemoteLayerTreeDrawingAreaProxy messages 12784 work. 12785 12786 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: 12787 (WebKit::RemoteScrollingCoordinatorTransaction::encode): 12788 (WebKit::RemoteScrollingCoordinatorTransaction::decode): 12789 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: 12790 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 12791 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): 12792 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 12793 (WebKit::RemoteLayerTreeDrawingArea::flushLayers): 12794 127952014-01-08 Tim Horton <timothy_horton@apple.com> 12796 12797 TileController can fail to receive exposedRect from the drawing area if set at the wrong time 12798 https://bugs.webkit.org/show_bug.cgi?id=126536 12799 12800 Reviewed by Simon Fraser. 12801 12802 * Configurations/WebKit2.xcconfig: 12803 * UIProcess/API/mac/WKView.mm: 12804 (-[WKView _updateViewExposedRect]): 12805 * UIProcess/DrawingAreaProxy.cpp: 12806 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 12807 (WebKit::DrawingAreaProxy::setExposedRect): 12808 (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired): 12809 * UIProcess/DrawingAreaProxy.h: 12810 (WebKit::DrawingAreaProxy::exposedRect): 12811 * UIProcess/WebPageProxy.cpp: 12812 (WebKit::WebPageProxy::WebPageProxy): 12813 (WebKit::WebPageProxy::close): 12814 * UIProcess/WebPageProxy.h: 12815 Move exposedRect stuff from WebPageProxy to DrawingAreaProxy. 12816 12817 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 12818 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 12819 Push the exposedRect down into WebCore. 12820 12821 * WebProcess/WebPage/DrawingArea.h: 12822 * WebProcess/WebPage/DrawingArea.messages.in: 12823 * WebProcess/WebPage/WebPage.cpp: 12824 * WebProcess/WebPage/WebPage.h: 12825 * WebProcess/WebPage/WebPage.messages.in: 12826 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 12827 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 12828 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 12829 (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): 12830 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 12831 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 12832 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 12833 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 12834 (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): 12835 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 12836 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 12837 (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): 12838 Get rid of "clipsToExposedRect", we just use infinite-ness of the rect 12839 to indicate that now. 12840 Don't scroll an infinite rect; it won't work. 12841 128422014-01-08 Simon Fraser <simon.fraser@apple.com> 12843 12844 Add ENABLE(ASYNC_SCROLLING) guards around WK2 scrolling files 12845 https://bugs.webkit.org/show_bug.cgi?id=126672 12846 12847 Reviewed by Tim Horton. 12848 12849 Protected WK2 scrolling files with ENABLE(ASYNC_SCROLLING) guards. 12850 12851 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: 12852 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: 12853 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: 12854 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: 12855 * UIProcess/Scrolling/RemoteScrollingTree.cpp: 12856 * UIProcess/Scrolling/RemoteScrollingTree.h: 12857 * WebProcess/Scrolling/RemoteScrollingCoordinator.h: 12858 * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: 12859 * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: 12860 128612014-01-08 Ryuan Choi <ryuan.choi@samsung.com> 12862 12863 [EFL][WK2] Add API to execute js script 12864 https://bugs.webkit.org/show_bug.cgi?id=101904 12865 12866 Reviewed by Gyuyoung Kim. 12867 12868 Add ewk_view_script_execute() which provides a way to execute user 12869 script. 12870 12871 * UIProcess/API/efl/ewk_context.cpp: 12872 Added JS Global Contexta which is required to deserialize to the script 12873 value from the callback. 12874 (EwkContext::EwkContext): 12875 (EwkContext::~EwkContext): 12876 (EwkContext::jsGlobalContext): 12877 * UIProcess/API/efl/ewk_context_private.h: 12878 * UIProcess/API/efl/ewk_view.cpp: 12879 (Ewk_View_Script_Execute_Callback_Context::Ewk_View_Script_Execute_Callback_Context): 12880 (runJavaScriptCallback): 12881 (ewk_view_script_execute): 12882 * UIProcess/API/efl/ewk_view.h: 12883 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 12884 Added unit test for ewk_view_script_execute. 12885 (scriptExecuteCallback): 12886 (TEST_F): 12887 128882014-01-08 Gyuyoung Kim <gyuyoung.kim@samsung.com> 12889 12890 [EFL] Move efl API test binaries to TestWebKitAPI/EWebKit|EWebKit2 12891 https://bugs.webkit.org/show_bug.cgi?id=126615 12892 12893 Reviewed by Martin Robinson. 12894 12895 Now EFL API test binaries created in *bin* directory with other executables. 12896 It would be good to move them to their folder. This patch moves them to 12897 *TestWebKitAPI/EWebKit|EWebKit2* directories. 12898 12899 * PlatformEfl.cmake: 12900 129012014-01-08 Anders Carlsson <andersca@apple.com> 12902 12903 Add WTF::StringView and use it for grammar checking 12904 https://bugs.webkit.org/show_bug.cgi?id=126644 12905 12906 Reviewed by Antti Koivisto. 12907 12908 Use a StringView and remove a FIXME. 12909 12910 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 12911 (WebKit::WebEditorClient::checkTextOfParagraph): 12912 * WebProcess/WebCoreSupport/WebEditorClient.h: 12913 129142014-01-08 Zan Dobersek <zdobersek@igalia.com> 12915 12916 [Automake] Scripts for generated build targets do not necessarily produce their output 12917 https://bugs.webkit.org/show_bug.cgi?id=126378 12918 12919 Reviewed by Carlos Garcia Campos. 12920 12921 * GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include 12922 directories to actual source directories. This doesn't replace the original symbolic link, 12923 which can lead to the actual link being older than its dependencies and subsequent constant 12924 relinking at every build. 12925 129262014-01-07 Eric Carlson <eric.carlson@apple.com> 12927 12928 Teach MediaSessionManager to manage interruptions 12929 https://bugs.webkit.org/show_bug.cgi?id=126530 12930 12931 Reviewed by Sam Weinig. 12932 12933 * CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories. 12934 129352014-01-07 Jinwoo Song <jinwoo7.song@samsung.com> 12936 12937 [EFL][WK2] Fix failing ewk_view_page_contents_get() API test 12938 https://bugs.webkit.org/show_bug.cgi?id=126609 12939 12940 Reviewed by Gyuyoung Kim. 12941 12942 Compare the amount of bytes in the expected result file with 12943 the size of callback data from the API since the 'Date' field 12944 and the boundaries will be different on each case. 12945 Refered the test case of GTK port. 12946 12947 * UIProcess/API/efl/tests/resources/resultMHTML.mht: Added. 12948 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 12949 (EWK2ViewTest::PageContentsAsMHTMLCallback): 12950 129512014-01-07 Seokju Kwon <seokju@webkit.org> 12952 12953 Web Inspector: Remove leftover 'device metrics' code 12954 https://bugs.webkit.org/show_bug.cgi?id=126607 12955 12956 Reviewed by Joseph Pecoraro. 12957 12958 * mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics(). 12959 129602014-01-07 Simon Fraser <simon.fraser@apple.com> 12961 12962 Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders, 12963 but that's bad because there are test result files in there now. Fix by having the project copy specific 12964 .py files into rivateHeaders/webkit2 12965 12966 * WebKit2.xcodeproj/project.pbxproj: 12967 129682014-01-07 Simon Fraser <simon.fraser@apple.com> 12969 12970 Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy 12971 https://bugs.webkit.org/show_bug.cgi?id=126558 12972 12973 Reviewed by Anders Carlsson. 12974 12975 In a message.in file it's now possible to say: 12976 12977 messages -> Subclass : Superclass { ... } and the generated code will 12978 call Superclass::didReceiveMessage(). 12979 12980 Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to 12981 DrawingAreaProxy. 12982 12983 * Scripts/webkit2/messages.py: 12984 (generate_message_handler): 12985 * Scripts/webkit2/model.py: 12986 (MessageReceiver.__init__): 12987 * Scripts/webkit2/parser.py: 12988 (parse): 12989 * UIProcess/DrawingAreaProxy.h: 12990 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: 12991 129922014-01-07 Simon Fraser <simon.fraser@apple.com> 12993 12994 Add message-generation test for non-legacy message receiver 12995 https://bugs.webkit.org/show_bug.cgi?id=126603 12996 12997 Reviewed by Anders Carlsson. 12998 12999 Add expected output files for a non-legacy message receiver, and add 13000 testing for same. 13001 13002 * Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp. 13003 * Scripts/webkit2/LegacyMessages-expected.h: Added. 13004 * Scripts/webkit2/MessageReceiver-expected.cpp: 13005 (WebKit::WebPage::didReceiveMessage): 13006 (WebKit::WebPage::didReceiveSyncMessage): 13007 * Scripts/webkit2/messages_unittest.py: 13008 (MessagesTest.setUp): 13009 (ParsingTest.test_receiver): 13010 (HeaderTest.test_header): 13011 (ReceiverImplementationTest.test_receiver_implementation): 13012 * Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in. 13013 * Scripts/webkit2/test-messages.in: 13014 130152014-01-07 Simon Fraser <simon.fraser@apple.com> 13016 13017 Move expected results out of messages_unittest.py into separate files 13018 https://bugs.webkit.org/show_bug.cgi?id=126602 13019 13020 Reviewed by Anders Carlsson. 13021 13022 Uninline the test input and output from messages_unittest.py to make 13023 it easier to add more tests. 13024 13025 * Scripts/webkit2/MessageReceiver-expected.cpp: Added. 13026 (WebKit::WebPage::didReceiveWebPageMessage): 13027 (WebKit::WebPage::didReceiveSyncWebPageMessage): 13028 * Scripts/webkit2/Messages-expected.h: Added. 13029 * Scripts/webkit2/messages_unittest.py: 13030 (ParsingTest.test_receiver): 13031 * Scripts/webkit2/test-messages.in: Added. 13032 130332014-01-07 Commit Queue <commit-queue@webkit.org> 13034 13035 Unreviewed, rolling out r161447. 13036 http://trac.webkit.org/changeset/161447 13037 https://bugs.webkit.org/show_bug.cgi?id=126592 13038 13039 needs some more work (Requested by thorton on #webkit). 13040 13041 * UIProcess/API/mac/WKView.mm: 13042 (-[WKView _updateViewExposedRect]): 13043 * UIProcess/DrawingAreaProxy.cpp: 13044 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 13045 * UIProcess/DrawingAreaProxy.h: 13046 * UIProcess/WebPageProxy.cpp: 13047 (WebKit::WebPageProxy::WebPageProxy): 13048 (WebKit::WebPageProxy::close): 13049 (WebKit::WebPageProxy::viewExposedRectChanged): 13050 (WebKit::WebPageProxy::exposedRectChangedTimerFired): 13051 * UIProcess/WebPageProxy.h: 13052 (WebKit::WebPageProxy::viewExposedRect): 13053 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13054 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 13055 * WebProcess/WebPage/DrawingArea.h: 13056 (WebKit::DrawingArea::setExposedRect): 13057 (WebKit::DrawingArea::setClipsToExposedRect): 13058 * WebProcess/WebPage/DrawingArea.messages.in: 13059 * WebProcess/WebPage/WebPage.cpp: 13060 (WebKit::WebPage::viewExposedRectChanged): 13061 * WebProcess/WebPage/WebPage.h: 13062 * WebProcess/WebPage/WebPage.messages.in: 13063 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 13064 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 13065 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 13066 (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect): 13067 (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): 13068 (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect): 13069 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 13070 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 13071 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 13072 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 13073 (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect): 13074 (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): 13075 (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect): 13076 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 13077 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 13078 (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): 13079 130802014-01-07 Tim Horton <timothy_horton@apple.com> 13081 13082 TileController can fail to receive exposedRect from the drawing area if set at the wrong time 13083 https://bugs.webkit.org/show_bug.cgi?id=126536 13084 13085 Reviewed by Anders Carlsson. 13086 13087 * UIProcess/API/mac/WKView.mm: 13088 (-[WKView _updateViewExposedRect]): 13089 * UIProcess/DrawingAreaProxy.cpp: 13090 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 13091 (WebKit::DrawingAreaProxy::setExposedRect): 13092 (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired): 13093 * UIProcess/DrawingAreaProxy.h: 13094 (WebKit::DrawingAreaProxy::exposedRect): 13095 * UIProcess/WebPageProxy.cpp: 13096 (WebKit::WebPageProxy::WebPageProxy): 13097 (WebKit::WebPageProxy::close): 13098 * UIProcess/WebPageProxy.h: 13099 Move exposedRect stuff from WebPageProxy to DrawingAreaProxy. 13100 13101 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 13102 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): 13103 Push the exposedRect down into WebCore. 13104 13105 * WebProcess/WebPage/DrawingArea.h: 13106 * WebProcess/WebPage/DrawingArea.messages.in: 13107 * WebProcess/WebPage/WebPage.cpp: 13108 * WebProcess/WebPage/WebPage.h: 13109 * WebProcess/WebPage/WebPage.messages.in: 13110 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 13111 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 13112 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 13113 (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): 13114 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 13115 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 13116 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 13117 (WebKit::TiledCoreAnimationDrawingArea::flushLayers): 13118 (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect): 13119 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer): 13120 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer): 13121 (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer): 13122 Get rid of "clipsToExposedRect", we just use infinite-ness of the rect 13123 to indicate that now. 13124 Don't scroll an infinite rect; it won't work. 13125 131262014-01-07 Carlos Garcia Campos <cgarcia@igalia.com> 13127 13128 Crash when trying to register a custom scheme before network process has been launched 13129 https://bugs.webkit.org/show_bug.cgi?id=126385 13130 13131 Reviewed by Anders Carlsson. 13132 13133 WebContext::registerSchemeForCustomProtocol() uses 13134 sendToNetworkingProcess() to send the message to the appropriate 13135 networking process. In the case of using web process, 13136 sendToNetworkingProcess() first checks if there's already a web 13137 process, doing nothing otherwise, but when using the network 13138 process it assumes there's already a network process. In both 13139 cases it's safe to do nothing, because the schemes will be passed 13140 as creation parameters to the process when launched. 13141 13142 * UIProcess/WebContext.h: 13143 (WebKit::WebContext::sendToNetworkingProcess): 13144 131452014-01-07 Jinwoo Song <jinwoo7.song@samsung.com> 13146 13147 WebKit2 EFL build fix after r161387 13148 https://bugs.webkit.org/show_bug.cgi?id=126566 13149 13150 Reviewed by Andreas Kling. 13151 13152 Add missing ASYNC_SCROLLING macro. 13153 13154 * UIProcess/WebPageProxy.h: 13155 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13156 * WebProcess/WebCoreSupport/WebChromeClient.h: 13157 * WebProcess/WebPage/WebPage.cpp: 13158 * WebProcess/WebPage/WebPage.h: 13159 131602014-01-06 Simon Fraser <simon.fraser@apple.com> 13161 13162 Hook up the RemoteScrollingCoordinator 13163 https://bugs.webkit.org/show_bug.cgi?id=126547 13164 13165 Reviewed by Tim Horton. 13166 13167 Hook up the RemoteScrollingCoordinator in WebKit2. 13168 13169 When the RemoteLayerTreeDrawingArea is in use, WebPageProxy creates 13170 a RemoteScrollingCoordinator, and hands it mouseWheel events. It then 13171 scrolls via a RemoteScrollingTree constructed from state tree commits from the 13172 WebProcess. 13173 13174 Scrolling tree commits happen via a transaction received by RemoteLayerTreeDrawingAreaProxy, 13175 atomically with layer tree transactions. 13176 13177 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: 13178 (WebKit::RemoteScrollingCoordinatorTransaction::encode): Fix encoding for some 13179 cases seen in WebKitTestRunner where a page has no ScrollingCoordinator. 13180 * UIProcess/WebPageProxy.cpp: 13181 (WebKit::WebPageProxy::initializeWebPage): Create the RemoteScrollingCoordinatorProxy 13182 when using a remote layer tree drawing area. 13183 (WebKit::WebPageProxy::handleWheelEvent): Pass to the scrolling coordinator. 13184 * UIProcess/WebPageProxy.h: 13185 (WebKit::WebPageProxy::scrollingCoordinatorProxy): 13186 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: Include the RemoteScrollingCoordinatorTransaction. 13187 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: 13188 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 13189 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): 13190 * UIProcess/mac/RemoteLayerTreeHost.mm: 13191 (WebKit::RemoteLayerTreeHost::getLayer): It's valid to get a 0 layerID (e.g. when 13192 a layer disappears) so handle this case. 13193 * WebKit2.xcodeproj/project.pbxproj: 13194 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 13195 (WebKit::WebChromeClient::createScrollingCoordinator): Override to create the 13196 RemoteScrollingCoordinator in the WebProcess. 13197 * WebProcess/WebCoreSupport/WebChromeClient.h: 13198 * WebProcess/WebPage/WebPage.cpp: 13199 (WebKit::WebPage::scrollingCoordinator): Not inline to avoid polluting the 13200 header with #includes. 13201 * WebProcess/WebPage/WebPage.h: 13202 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Say that we want a ScrollingCoordinator. 13203 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 13204 (WebKit::RemoteLayerTreeDrawingArea::flushLayers): Add the scrollingTransaction to the 13205 message. 13206 132072014-01-06 Jaehun Lim <ljaehun.lim@samsung.com> 13208 13209 Use hasEnabledVerticalScrollbar instead of hasEnabledHorizontalScrollbar. 13210 https://bugs.webkit.org/show_bug.cgi?id=126546 13211 13212 Reviewed by Simon Fraser. 13213 13214 hasEnabledHorizontalScrollbar is used twice. 13215 13216 * Shared/WebCoreArgumentCoders.cpp: 13217 (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode): 13218 132192014-01-06 Simon Fraser <simon.fraser@apple.com> 13220 13221 Another build fix. 13222 13223 Need to look in the WebProcess/Scrolling directory for .messages.in files. 13224 13225 * DerivedSources.make: 13226 132272014-01-06 Simon Fraser <simon.fraser@apple.com> 13228 13229 Fix the build. 13230 13231 Need to add RemoteScrollingCoordinator to MESSAGE_RECEIVERS so that 13232 RemoteScrollingCoordinatorMessages.h gets generated. 13233 13234 * DerivedSources.make: 13235 132362014-01-06 Simon Fraser <simon.fraser@apple.com> 13237 13238 Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling() 13239 https://bugs.webkit.org/show_bug.cgi?id=126529 13240 13241 Reviewed by Tim Horton. 13242 13243 Change function name from using "threaded" to "async" terminology. 13244 13245 * WebProcess/WebPage/DrawingArea.h: 13246 (WebKit::DrawingArea::supportsAsyncScrolling): 13247 * WebProcess/WebPage/WebPage.cpp: 13248 (WebKit::WebPage::WebPage): 13249 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 13250 132512014-01-06 Simon Fraser <simon.fraser@apple.com> 13252 13253 Add new files for UI-side scrolling 13254 https://bugs.webkit.org/show_bug.cgi?id=126532 13255 13256 Reviewed by Anders Carlson. 13257 13258 Add RemoteScrollingCoordinator, RemoteScrollingCoordinatorProxy, 13259 RemoteScrollingCoordinatorTransaction, RemoteScrollingTree. 13260 13261 These allow the scrolling tree to be used in the UI process. 13262 RemoteScrollingCoordinator builds a ScrollingStateTree, which is 13263 encoded by RemoteScrollingCoordinatorTransaction. Decoding the 13264 transaction recreates that ScrollingStateTree in the UI process, 13265 and RemoteScrollingCoordinatorProxy "commits" that to update 13266 the RemoteScrollingTree. 13267 13268 New classes are not hooked up to anything yet. 13269 13270 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: Added. 13271 (ArgumentCoder<ScrollingStateNode>::encode): 13272 (ArgumentCoder<ScrollingStateNode>::decode): 13273 (ArgumentCoder<ScrollingStateScrollingNode>::encode): 13274 (ArgumentCoder<ScrollingStateScrollingNode>::decode): 13275 (ArgumentCoder<ScrollingStateFixedNode>::encode): 13276 (ArgumentCoder<ScrollingStateFixedNode>::decode): 13277 (ArgumentCoder<ScrollingStateStickyNode>::encode): 13278 (ArgumentCoder<ScrollingStateStickyNode>::decode): 13279 (WebKit::encodeNodeAndDescendants): 13280 (WebKit::RemoteScrollingCoordinatorTransaction::encode): 13281 (WebKit::RemoteScrollingCoordinatorTransaction::decode): 13282 * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: Added. 13283 (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode): 13284 (WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree): 13285 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Added. 13286 (WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy): 13287 (WebKit::RemoteScrollingCoordinatorProxy::~RemoteScrollingCoordinatorProxy): 13288 (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost): 13289 (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree): 13290 (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): 13291 (WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent): 13292 (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged): 13293 * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added. 13294 * UIProcess/Scrolling/RemoteScrollingTree.cpp: Added. 13295 (WebKit::RemoteScrollingTree::create): 13296 (WebKit::RemoteScrollingTree::RemoteScrollingTree): 13297 (WebKit::RemoteScrollingTree::~RemoteScrollingTree): 13298 (WebKit::RemoteScrollingTree::tryToHandleWheelEvent): 13299 (WebKit::RemoteScrollingTree::handleWheelEventPhase): 13300 (WebKit::RemoteScrollingTree::updateMainFrameScrollPosition): 13301 (WebKit::RemoteScrollingTree::createNode): 13302 * UIProcess/Scrolling/RemoteScrollingTree.h: Added. 13303 (WebKit::RemoteScrollingTree::scrollingCoordinatorProxy): 13304 * WebKit2.xcodeproj/project.pbxproj: 13305 * WebProcess/Scrolling/RemoteScrollingCoordinator.h: Added. 13306 (WebKit::RemoteScrollingCoordinator::create): 13307 * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: Added. 13308 * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: Added. 13309 (WebKit::RemoteScrollingCoordinator::RemoteScrollingCoordinator): 13310 (WebKit::RemoteScrollingCoordinator::~RemoteScrollingCoordinator): 13311 (WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit): 13312 (WebKit::RemoteScrollingCoordinator::createScrollingTreeNode): 13313 (WebKit::RemoteScrollingCoordinator::isRubberBandInProgress): 13314 (WebKit::RemoteScrollingCoordinator::setScrollPinningBehavior): 13315 (WebKit::RemoteScrollingCoordinator::buildTransaction): 13316 (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode): 13317 133182014-01-06 Martin Robinson <mrobinson@igalia.com> 13319 13320 Small build fix for the GTK+ CMake port 13321 13322 * PlatformGTK.cmake: Include a missing GeoClue include directory. 13323 133242014-01-06 Simon Fraser <simon.fraser@apple.com> 13325 13326 Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling() 13327 https://bugs.webkit.org/show_bug.cgi?id=126529 13328 13329 Reviewed by Tim Horton. 13330 13331 Change function name from using "threaded" to "async" terminology. 13332 13333 * WebProcess/WebPage/DrawingArea.h: 13334 (WebKit::DrawingArea::supportsAsyncScrolling): 13335 * WebProcess/WebPage/WebPage.cpp: 13336 (WebKit::WebPage::WebPage): 13337 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 13338 133392014-01-04 Carlos Garcia Campos <cgarcia@igalia.com> 13340 13341 [GTK] Move all GTK/GObject unit tests to Tools/TestWebKitAPI 13342 https://bugs.webkit.org/show_bug.cgi?id=126342 13343 13344 Reviewed by Gustavo Noronha Silva. 13345 13346 * UIProcess/API/gtk/tests/CMakeLists.txt: Removed. 13347 * UIProcess/API/gtk/tests/GNUmakefile.am: Removed. 13348 133492014-01-06 Enrica Casucci <enrica@apple.com> 13350 13351 Add support to retrieve the autocorrection context. 13352 https://bugs.webkit.org/show_bug.cgi?id=126479 13353 13354 Reviewed by Sam Weinig. 13355 13356 We are adding the support to retrieve the input context for autocorrection 13357 and input methods on iOS. The implementation is provided both via synchronous 13358 and asynchronous calls to the WebProcess. 13359 13360 * Platform/IPC/HandleMessage.h: Added template with zero input parameters and six reply parameters. 13361 * UIProcess/API/ios/WKInteractionView.mm: 13362 (autocorrectionData): 13363 (-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]): 13364 (autocorrectionResult): 13365 (-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]): 13366 (autocorrectionContext): 13367 (-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]): 13368 (-[WKInteractionView hasMarkedText]): 13369 (-[WKInteractionView _startAssistingNode]): 13370 (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]): 13371 (-[WKAutocorrectionContext dealloc]): 13372 * UIProcess/AutoCorrectionCallback.h: 13373 (WebKit::AutocorrectionContextCallback::create): 13374 (WebKit::AutocorrectionContextCallback::~AutocorrectionContextCallback): 13375 (WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue): 13376 (WebKit::AutocorrectionContextCallback::invalidate): 13377 (WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback): 13378 * UIProcess/WebPageProxy.cpp: 13379 (WebKit::WebPageProxy::resetState): 13380 * UIProcess/WebPageProxy.h: 13381 * UIProcess/WebPageProxy.messages.in: 13382 * UIProcess/ios/WebPageProxyIOS.mm: 13383 (WebKit::WebPageProxy::autocorrectionContextCallback): 13384 (WebKit::WebPageProxy::requestAutocorrectionContext): 13385 (WebKit::WebPageProxy::getAutocorrectionContext): 13386 * WebProcess/WebPage/WebPage.h: 13387 * WebProcess/WebPage/WebPage.messages.in: 13388 * WebProcess/WebPage/ios/WebPageIOS.mm: 13389 (WebKit::computeAutocorrectionContext): 13390 (WebKit::WebPage::requestAutocorrectionContext): 13391 (WebKit::WebPage::getAutocorrectionContext): 13392 133932014-01-06 Gavin Barraclough <barraclough@apple.com> 13394 13395 Move ViewState to WebCore 13396 https://bugs.webkit.org/show_bug.cgi?id=126488 13397 13398 Reviewed by Anders Carlson. 13399 13400 This change also partial reverts handling of LayerHostingMode, making this 13401 a separate message again. With hindsight the new way of doing this wasn't 13402 in all ways simpler, and it won't make sense to move this to WebCore. 13403 13404 * Shared/ViewState.h: Removed. 13405 - Moved to WebCore. 13406 * Shared/WebPageCreationParameters.cpp: 13407 (WebKit::WebPageCreationParameters::encode): 13408 (WebKit::WebPageCreationParameters::decode): 13409 * Shared/WebPageCreationParameters.h: 13410 - Added layerHostingMode. 13411 * UIProcess/API/mac/PageClientImpl.h: 13412 * UIProcess/API/mac/PageClientImpl.mm: 13413 (WebKit::PageClientImpl::PageClientImpl): 13414 (WebKit::PageClientImpl::viewLayerHostingMode): 13415 * UIProcess/PageClient.h: 13416 (WebKit::PageClient::viewLayerHostingMode): 13417 - Revert isLayerWindowServerHosted -> viewLayerHostingMode. 13418 * UIProcess/WebPageProxy.cpp: 13419 (WebKit::WebPageProxy::WebPageProxy): 13420 - Added back m_layerHostingMode. 13421 (WebKit::WebPageProxy::updateViewState): 13422 - Removed IsLayerWindowServerHosted from ViewState. 13423 (WebKit::WebPageProxy::viewStateDidChange): 13424 - Added SetLayerHostingMode message. 13425 (WebKit::WebPageProxy::initializeCreationParameters): 13426 - Pass layerHostingMode. 13427 * UIProcess/WebPageProxy.h: 13428 (WebKit::WebPageProxy::isInWindow): 13429 (WebKit::WebPageProxy::isViewVisible): 13430 - ViewState moved to WebCore. 13431 * WebKit2.xcodeproj/project.pbxproj: 13432 - Removed ViewState. 13433 * WebProcess/Plugins/PluginView.cpp: 13434 (WebKit::PluginView::setLayerHostingMode): 13435 (WebKit::PluginView::platformViewStateDidChange): 13436 - Separated setLayerHostingMode from platformViewStateDidChange. 13437 * WebProcess/Plugins/PluginView.h: 13438 * WebProcess/WebPage/DrawingArea.h: 13439 (WebKit::DrawingArea::viewStateDidChange): 13440 (WebKit::DrawingArea::setLayerHostingMode): 13441 - Added virtual function, overridden in TiledCoreAnimationDrawingArea. 13442 * WebProcess/WebPage/WebPage.cpp: 13443 (WebKit::WebPage::WebPage): 13444 (WebKit::WebPage::setLayerHostingMode): 13445 - Separated setLayerHostingMode from platformViewStateDidChange. 13446 * WebProcess/WebPage/WebPage.h: 13447 (WebKit::WebPage::isVisible): 13448 (WebKit::WebPage::layerHostingMode): 13449 - ViewState moved to WebCore. 13450 * WebProcess/WebPage/WebPage.messages.in: 13451 - Added SetLayerHostingMode message. 13452 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 13453 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 13454 (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange): 13455 - viewStateDidChange no longer calls setLayerHostingMode (this is called by WebPage). 13456 134572014-01-06 Martin Robinson <mrobinson@igalia.com> 13458 13459 [GTK] [CMake] Parallel builds still fail when building WebKit2 GObject API unit tests 13460 https://bugs.webkit.org/show_bug.cgi?id=126465 13461 13462 Reviewed by Gustavo Noronha Silva. 13463 13464 * UIProcess/API/gtk/tests/CMakeLists.txt: Explicitly link the libWebKit2APITestCore static object against 13465 WebKit2, which seems to be necessary on my new system. Also create an explicit dependency between the 13466 injected bundle tests and WebKit2, because they need to use the generated headers. 13467 134682014-01-06 László Langó <lango@inf.u-szeged.hu> 13469 13470 Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code. 13471 https://bugs.webkit.org/show_bug.cgi?id=124579 13472 13473 Reviewed by Anders Carlsson. 13474 13475 * NetworkProcess/NetworkResourceLoader.cpp: 13476 (WebKit::NetworkResourceLoader::didReceiveData): 13477 (WebKit::NetworkResourceLoader::willStopBufferingData): 13478 * NetworkProcess/NetworkResourceLoader.h: 13479 * Shared/Downloads/soup/DownloadSoup.cpp: 13480 (WebKit::DownloadClient::didReceiveData): 13481 134822014-01-04 Simon Fraser <simon.fraser@apple.com> 13483 13484 Add encoding of ViewportConstraint and ScrollingParameter types 13485 https://bugs.webkit.org/show_bug.cgi?id=126497 13486 13487 Reviewed by Andreas Kling. 13488 13489 Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints 13490 and StickyPositionViewportConstraints. 13491 13492 * Shared/WebCoreArgumentCoders.cpp: 13493 (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode): 13494 (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode): 13495 (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode): 13496 (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode): 13497 (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode): 13498 (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode): 13499 * Shared/WebCoreArgumentCoders.h: 13500 135012014-01-05 Simon Fraser <simon.fraser@apple.com> 13502 13503 Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea 13504 https://bugs.webkit.org/show_bug.cgi?id=126501 13505 13506 Reviewed by Sam Weinig. 13507 13508 Soon we shall need to do atomic commits of both the remote layer tree, and 13509 the remote scrolling tree. Pave the way by moving responsibility for remote 13510 layer tree committing to RemoteLayerTreeDrawingArea. 13511 13512 So move the flushing logic from RemoteLayerTreeHost to RemoteLayerTreeDrawingArea. 13513 After this change, RemoteLayerTreeHost doesn't do much and could possibly be 13514 removed in future. 13515 13516 Also add type-safe casting to GraphicsLayer and DrawingArea. 13517 13518 * DerivedSources.make: Out with RemoteLayerTreeHost, in with RemoteLayerTreeDrawingAreaProxy 13519 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: 13520 (WebKit::RemoteLayerTreeDrawingAreaProxy::remoteLayerTreeHost): 13521 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: Renamed from Source/WebKit2/UIProcess/mac/RemoteLayerTreeHost.messages.in. 13522 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 13523 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Add message receiver. 13524 (WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy): Remove message receiver. 13525 (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Hand the transaction off to the layer 13526 tree host. 13527 * UIProcess/mac/RemoteLayerTreeHost.h: 13528 * UIProcess/mac/RemoteLayerTreeHost.mm: 13529 (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): No longer a message receiver. 13530 (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost): 13531 (WebKit::RemoteLayerTreeHost::updateLayerTree): 13532 * WebKit2.xcodeproj/project.pbxproj: 13533 * WebProcess/WebPage/DrawingArea.h: 13534 (WebKit::DrawingArea::type): 13535 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 13536 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 13537 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 13538 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 13539 (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext): 13540 (WebKit::RemoteLayerTreeContext::flushOutOfTreeLayers): 13541 (WebKit::RemoteLayerTreeContext::buildTransaction): 13542 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 13543 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 13544 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 13545 (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer): 13546 (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen): 13547 (WebKit::RemoteLayerTreeDrawingArea::forceRepaint): 13548 (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush): 13549 (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired): 13550 (WebKit::RemoteLayerTreeDrawingArea::flushLayers): 13551 135522014-01-05 Martin Robinson <mrobinson@igalia.com> 13553 13554 [GTK] [CMake] Ensure that the autotools build and the CMake install the same files 13555 https://bugs.webkit.org/show_bug.cgi?id=116379 13556 13557 Reviewed by Gustavo Noronha Silva. 13558 13559 * CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which 13560 for non-GTK+ platforms is the same as EXEC. 13561 * PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move 13562 a couple installed and generated headers to the installed headers list. Rename the 13563 headers list to be consistent with the WebKit1 build. No longer use a variable for 13564 the name of the plugin process, as it's unnecessary. 13565 135662014-01-05 Carlos Garcia Campos <cgarcia@igalia.com> 13567 13568 [GTK] Stop installing WebKit2 C API headers 13569 https://bugs.webkit.org/show_bug.cgi?id=126489 13570 13571 Reviewed by Martin Robinson. 13572 13573 We are not actually maintaining the API/ABI compatibility of the 13574 WebKit2 C API, it's only used internally by the public GTK+ API 13575 and nobody is using it. 13576 13577 * GNUmakefile.am: 13578 * GNUmakefile.list.am: 13579 135802014-01-05 Gavin Barraclough <barraclough@apple.com> 13581 13582 Move process suppression of WebProcess to Page (from UIProcess) 13583 https://bugs.webkit.org/show_bug.cgi?id=126480 13584 13585 Reviewed by Sam Weinig. 13586 13587 Let each page take a UserActivity rather than having to coalesce this state, and take different activity 13588 tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed. 13589 13590 * Shared/mac/ChildProcessMac.mm: 13591 (WebKit::ChildProcess::platformInitialize): 13592 - Don't start with process supression disabled; this is unnecessary, 13593 message from the UIProcess should wake. 13594 * UIProcess/mac/WebProcessProxyMac.mm: 13595 (WebKit::WebProcessProxy::updateProcessSuppressionState): 13596 - Don't send explicit messages to supress the WebProcess, it handles this for itself. 13597 * WebProcess/WebPage/WebPage.cpp: 13598 (WebKit::WebPage::WebPage): 13599 - call setIsVisuallyIdle. 13600 (WebKit::WebPage::setViewState): 13601 - call setIsVisuallyIdle. 13602 (WebKit::WebPage::updatePreferences): 13603 - Use m_suppressionDisabled to disable supression if the WebPreference is set. 13604 (WebKit::WebPage::setIsVisuallyIdle): 13605 - setThrottled -> setIsVisuallyIdle. 13606 * WebProcess/WebPage/WebPage.h: 13607 - setThrottled -> setIsVisuallyIdle, added m_suppressionDisabled. 13608 * WebProcess/WebProcess.cpp: 13609 * WebProcess/WebProcess.h: 13610 (WebKit::WebProcess::shouldForceScreenFontSubstitution): 13611 - Removed setProcessSuppressionEnabled - WebPage now detects the supression change. 13612 136132014-01-04 Martin Robinson <mrobinson@igalia.com> 13614 13615 [GTK] [CMake] Improve the way we locate gobject-introspection 13616 https://bugs.webkit.org/show_bug.cgi?id=126452 13617 13618 Reviewed by Philippe Normand. 13619 13620 * PlatformGTK.cmake: Use the new introspection variables. 13621 136222014-01-04 Zan Dobersek <zdobersek@igalia.com> 13623 13624 Explicitly use the std:: nested name specifier when using std::pair, std::make_pair 13625 https://bugs.webkit.org/show_bug.cgi?id=126439 13626 13627 Reviewed by Andreas Kling. 13628 13629 Instead of relying on std::pair and std::make_pair symbols being present in the current scope 13630 through the pair and make_pair symbols, the std:: specifier should be used explicitly. 13631 13632 * Shared/mac/ArgumentCodersMac.mm: 13633 (IPC::encode): 13634 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 13635 (WebKit::WebNotificationManagerProxy::show): 13636 (WebKit::WebNotificationManagerProxy::cancel): 13637 (WebKit::WebNotificationManagerProxy::didDestroyNotification): 13638 * UIProcess/Notifications/WebNotificationManagerProxy.h: 13639 * UIProcess/WebContext.cpp: 13640 (WebKit::WebContext::createNewWebProcess): 13641 * UIProcess/WebContext.h: 13642 136432014-01-03 Piotr Grad <p.grad@samsung.com> 13644 13645 Build brake after 161045 on EFL port with WebKit2 and gcc 4.6.3 13646 https://bugs.webkit.org/show_bug.cgi?id=126383 13647 13648 Reviewed by Sam Weinig. 13649 13650 Class identifier was missing. 13651 13652 * DatabaseProcess/DatabaseProcess.h: 13653 * NetworkProcess/NetworkProcess.h: 13654 * PluginProcess/PluginProcess.h: 13655 * Shared/mac/CookieStorageShim.h: 13656 * UIProcess/Plugins/PluginProcessManager.h: 13657 * UIProcess/WebPageProxy.cpp: 13658 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 13659 * WebProcess/WebProcess.h: 13660 136612014-01-03 Seokju Kwon <seokju@webkit.org> 13662 13663 Unreviewed build fix on non-Mac port 13664 13665 * Shared/API/c/WKDeprecatedFunctions.cpp: Add ENABLE(MAC) guard for "WKContextPrivateMac.h". 13666 136672014-01-03 Gavin Barraclough <barraclough@apple.com> 13668 13669 Simplify process suppression state calculation 13670 https://bugs.webkit.org/show_bug.cgi?id=126473 13671 13672 Reviewed by Geoffrey Garen & Sam Weinig. 13673 13674 Don't check the application occlusion state (this is covered by the pages already), 13675 and let the page check visually idle. Remove layers of functions. 13676 13677 * UIProcess/Network/NetworkProcessProxy.cpp: 13678 (WebKit::NetworkProcessProxy::didFinishLaunching): 13679 - Let the network process nap if all processes in its context are napping.* 13680 (* Except not really. We currently leak a boost onto the process anyway.) 13681 * UIProcess/Plugins/PluginProcessProxy.cpp: 13682 (WebKit::PluginProcessProxy::didFinishLaunching): 13683 - Let the plugin process nap if all processes in all contexts are napping. 13684 * UIProcess/WebContext.h: 13685 - Remove canEnableProcessSuppressionForNetworkProcess & canEnableProcessSuppressionForWebProcess 13686 - canEnableProcessSuppressionForGlobalChildProcesses -> processSuppressionIsEnabledForAllContexts 13687 - combine updateProcessSuppressionStateOfChildProcesses & updateProcessSuppressionStateOfGlobalChildProcesses 13688 -> updateProcessSuppressionState 13689 * UIProcess/WebPageProxy.cpp: 13690 (WebKit::WebPageProxy::isProcessSuppressible): 13691 - WebProcess is supressible if IsVisuallyIdle. 13692 (WebKit::WebPageProxy::viewStateDidChange): 13693 - WebProcessProxy should updateProcessSuppressionState when IsVisuallyIdle changes. 13694 * UIProcess/WebPageProxy.h: 13695 * UIProcess/WebProcessProxy.cpp: 13696 (WebKit::WebProcessProxy::createWebPage): 13697 (WebKit::WebProcessProxy::addExistingWebPage): 13698 (WebKit::WebProcessProxy::pageSuppressibilityChanged): 13699 (WebKit::WebProcessProxy::pagePreferencesChanged): 13700 - pageIsProcessSuppressible -> isProcessSuppressible 13701 * UIProcess/WebProcessProxy.h: 13702 * UIProcess/mac/WebContextMac.mm: 13703 (WebKit::WebContext::updateProcessSuppressionState): 13704 - Update supression state of network & plugin processes. 13705 (WebKit::WebContext::processSuppressionIsEnabledForAllContexts): 13706 - Changed iterator style, made a static member of WebContext. 13707 * UIProcess/mac/WebProcessProxyMac.mm: 13708 (WebKit::WebProcessProxy::updateProcessSuppressionState): 13709 - Ask the WebContext to update supression state. 13710 * UIProcess/mac/WindowServerConnection.h: 13711 * UIProcess/mac/WindowServerConnection.mm: 13712 (WebKit::WindowServerConnection::windowServerConnectionStateChanged): 13713 (WebKit::WindowServerConnection::WindowServerConnection): 13714 - Remove application occlusion state. 13715 137162014-01-03 Tim Horton <timothy_horton@apple.com> 13717 13718 [iOS] [WK2] TileController creates all tiles on first paint, making it slow and consuming lots of memory 13719 https://bugs.webkit.org/show_bug.cgi?id=126457 13720 13721 Reviewed by Simon Fraser. 13722 13723 Instead of making all of the tiles all of the time, we should use the 13724 view-exposed-rect mechanism to inform TileController about what portion 13725 of the WKContentView is currently exposed by the WKScrollView. 13726 13727 * UIProcess/API/ios/WKContentView.h: 13728 * UIProcess/API/ios/WKContentView.mm: 13729 (-[WKContentView setViewportSize:]): 13730 (-[WKContentView didFinishScrollTo:]): 13731 (-[WKContentView didScrollTo:]): 13732 Inform the WebPageProxy that our exposed rect changed. 13733 13734 * UIProcess/API/ios/WKView.mm: 13735 (-[WKView scrollViewDidScroll:]): 13736 Inform the WKContentView that we've scrolled at all. 13737 Rename the existing WKContentView didScrollTo: to didFinishScrollTo:, 13738 because it is expected to only fire when a scroll lands. Add didScrollTo:, 13739 which fires continually as scrolling progresses. 13740 13741 * UIProcess/WebPageProxy.cpp: 13742 (WebKit::WebPageProxy::WebPageProxy): 13743 (WebKit::WebPageProxy::viewExposedRectChanged): 13744 (WebKit::WebPageProxy::exposedRectChangedTimerFired): 13745 * UIProcess/WebPageProxy.h: 13746 (WebKit::WebPageProxy::viewExposedRect): 13747 * UIProcess/mac/WebPageProxyMac.mm: 13748 Move view-exposed-rect stuff to WebPageProxy so it can be built on both 13749 Mac and iOS, and un-!PLATFORM(IOS) some of the related members. 13750 13751 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 13752 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 13753 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 13754 (WebKit::RemoteLayerTreeDrawingArea::setExposedRect): 13755 (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect): 13756 (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect): 13757 (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect): 13758 (WebKit::RemoteLayerTreeDrawingArea::mainFrameTiledBacking): 13759 Steal TiledCoreAnimationDrawingArea's exposed-rect code. 13760 Note that on iOS, we don't need to manually offset the exposed rect by 13761 the scroll position, because the scroll position is already baked into 13762 the exposed rect, and WebCore's notion of the scroll position will be 13763 inaccurate until the scroll lands. 13764 137652014-01-03 Simon Fraser <simon.fraser@apple.com> 13766 13767 Give all PlatformCALayers a PlatformLayerID, not just remote ones 13768 https://bugs.webkit.org/show_bug.cgi?id=126466 13769 13770 Reviewed by Tim Horton. 13771 13772 The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers 13773 which is confusing, and is necessary because the underlying PlatformLayer 13774 inside a GraphicsLayer can change. In order to hide some of this complexity, 13775 expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients 13776 can hold onto to test for underlying layer swapping. 13777 13778 GraphicsLayerCARemote and PlatformCALayerRemote can now just use the 13779 primaryLayerID() function exposed via the base class. 13780 13781 * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: 13782 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 13783 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 13784 (PlatformCALayerRemote::PlatformCALayerRemote): 13785 (PlatformCALayerRemote::recursiveBuildTransaction): 13786 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 13787 137882014-01-03 Dan Bernstein <mitz@apple.com> 13789 13790 [Cocoa] Expose session state API 13791 https://bugs.webkit.org/show_bug.cgi?id=126463 13792 13793 Reviewed by Sam Weinig. 13794 13795 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method. 13796 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 13797 (-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData. 13798 (-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls 13799 WebPageProxy::restoreFromSessionState. 13800 138012014-01-03 Gavin Barraclough <barraclough@apple.com> 13802 13803 Remove SPI, user default for disabling process suppression 13804 https://bugs.webkit.org/show_bug.cgi?id=126458 13805 13806 Reviewed by Sam Weinig. 13807 13808 * Shared/API/c/WKDeprecatedFunctions.cpp: 13809 (WKContextGetProcessSuppressionEnabled): 13810 (WKContextSetProcessSuppressionEnabled): 13811 - depracated SPI. 13812 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 13813 - depracated SPI. 13814 * UIProcess/WebContext.cpp: 13815 (WebKit::WebContext::WebContext): 13816 - removed m_processSuppressionEnabled. 13817 * UIProcess/WebContext.h: 13818 - removed setProcessSuppressionEnabled, processSuppressionEnabled implementation, 13819 processSuppressionEnabledChanged, m_processSuppressionEnabled. 13820 * UIProcess/mac/WebContextMac.mm: 13821 (WebKit::WebContext::platformInitialize): 13822 - removed m_processSuppressionEnabled. 13823 (WebKit::WebContext::processSuppressionEnabled): 13824 - check whether all pages in all processes are suppressible. 13825 (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess): 13826 - removed call to omitProcessSuppression, m_processSuppressionEnabled -> processSuppressionEnabled(). 13827 (WebKit::WebContext::canEnableProcessSuppressionForWebProcess): 13828 - removed call to omitProcessSuppression, processSuppressionEnabled (we don't care if a page in a difference process is not suppresible). 13829 (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses): 13830 - removed call to omitProcessSuppression, s_processSuppressionEnabledForAllContexts -> processSuppressionIsEnabledForAllContexts(). 13831 138322014-01-03 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 13833 13834 [WK2][CoordinatedGraphics] Removing repeated protected keyword in WebView 13835 https://bugs.webkit.org/show_bug.cgi?id=126462 13836 13837 Reviewed by Simon Fraser. 13838 13839 * UIProcess/CoordinatedGraphics/WebView.h: 13840 138412014-01-03 Carlos Garcia Campos <cgarcia@igalia.com> 13842 13843 Define WebProcess::usesNetworkProcess unconditionally 13844 https://bugs.webkit.org/show_bug.cgi?id=126208 13845 13846 Reviewed by Martin Robinson. 13847 13848 Returning false when network process is not enabled like 13849 WebContext does. This way we reduce the amount of ifdefs used when 13850 checking whether network process is in use. 13851 13852 * UIProcess/gtk/WebContextGtk.cpp: 13853 (WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef 13854 and only setup network features when not using network process. 13855 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 13856 (WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef. 13857 * WebProcess/WebProcess.cpp: 13858 (WebKit::WebProcess::downloadManager): 13859 (WebKit::WebProcess::shouldTerminate): 13860 (WebKit::WebProcess::usesNetworkProcess): 13861 * WebProcess/WebProcess.h: 13862 * WebProcess/mac/WebProcessMac.mm: 13863 (WebKit::WebProcess::platformSetCacheModel): Remove #ifdef. 13864 (WebKit::WebProcess::platformInitializeWebProcess): Ditto. 13865 * WebProcess/soup/WebProcessSoup.cpp: 13866 (WebKit::WebProcess::platformSetCacheModel): Ditto. 13867 (WebKit::WebProcess::platformClearResourceCaches): Ditto. 13868 (WebKit::WebProcess::platformInitializeWebProcess): Ditto. 13869 (WebKit::WebProcess::platformTerminate): Only remove the language 13870 observer when not using network process. 13871 (WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is 13872 called with network process enabled. 13873 (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto. 13874 138752014-01-03 Jinwoo Song <jinwoo7.song@samsung.com> 13876 13877 VibrationPattern should allocate an single vector instance for single integer input 13878 https://bugs.webkit.org/show_bug.cgi?id=126417 13879 13880 Reviewed by Gyuyoung Kim. 13881 13882 Fix a vibration unit test regression after r161139. Also remove unnecessary test cases. 13883 13884 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 13885 (EWK2ViewTest::loadVibrationHTMLString): 13886 (TEST_F): 13887 138882014-01-02 Carlos Garcia Campos <cgarcia@igalia.com> 13889 13890 [GTK] Add API to WebKitResponsePolicyDecision to check if the MIME type can be shown 13891 https://bugs.webkit.org/show_bug.cgi?id=124652 13892 13893 Reviewed by Martin Robinson. 13894 13895 * UIProcess/API/gtk/WebKitPolicyClient.cpp: 13896 (decidePolicyForResponse): Pass canShowMIMEType to 13897 webkitResponsePolicyDecisionCreate. 13898 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: 13899 (webkit_response_policy_decision_is_mime_type_supported): Return 13900 canShowMIMEType. 13901 (webkitResponsePolicyDecisionCreate): Set the canShowMIMEType 13902 member from the given parameter. 13903 * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: 13904 * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: 13905 * UIProcess/API/gtk/WebKitWebView.cpp: 13906 (webkitWebViewDecidePolicy): Use the new API instead of 13907 webkit_web_view_can_show_mime_type() since it's more efficient. 13908 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol. 13909 * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: 13910 (testResponsePolicy): Test the new API. 13911 139122014-01-02 Carlos Garcia Campos <cgarcia@igalia.com> 13913 13914 REGRESSION(r160304): [GTK] Disable libtool fast install 13915 https://bugs.webkit.org/show_bug.cgi?id=126381 13916 13917 Reviewed by Martin Robinson. 13918 13919 Remove -no-fast-install ld flag since fast install is now disabled 13920 globally. 13921 13922 * GNUmakefile.am: 13923 * UIProcess/API/gtk/tests/GNUmakefile.am: 13924 139252014-01-02 Ryuan Choi <ryuan.choi@samsung.com> 13926 13927 [EFL][WK2] Remove defaultPageGroupIdentifier not to make the confusion 13928 https://bugs.webkit.org/show_bug.cgi?id=126249 13929 13930 Reviewed by Gyuyoung Kim. 13931 13932 ewk_page_group_create always creates new page group, 13933 but the identifiers of page groups will be same as "defaultPageGroupIdentifier" when passed 0 or "". 13934 It is unnecessary and just makes the confusion. 13935 13936 This patch let WebPageGroup generate unique identifier if 0 or "" is passed as argument. 13937 13938 * UIProcess/API/efl/ewk_page_group.cpp: 13939 (EwkPageGroup::create): 13940 * UIProcess/API/efl/ewk_page_group_private.h: 13941 139422014-01-02 Zan Dobersek <zdobersek@igalia.com> 13943 13944 [GTK] Switch from WTF::Function to std::function in WebProcessTest 13945 https://bugs.webkit.org/show_bug.cgi?id=126397 13946 13947 Reviewed by Anders Carlsson. 13948 13949 Use std::function<> and std::bind() instead of WTF::Function and WTF::bind, 13950 following the effort of using STL concepts where possible. 13951 13952 * UIProcess/API/gtk/tests/WebProcessTest.cpp: 13953 (WebProcessTest::add): 13954 * UIProcess/API/gtk/tests/WebProcessTest.h: 13955 139562014-01-02 Gavin Barraclough <barraclough@apple.com> 13957 13958 Refactor NSActivity handling code from ChildProcess to UserActivity 13959 https://bugs.webkit.org/show_bug.cgi?id=126330 13960 13961 Reviewed by Sam Weinig. 13962 13963 UserActivity is a mechanism to express to the operating system (where appropriate) 13964 that a user initiated activity is taking place, and as such that resources should be 13965 made available to the process accordingly. 13966 13967 Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us 13968 to hold different activity tokens for different user actions (which simplifies the 13969 handling, and aides debugging since the token can more accurately express the activity 13970 taking place), and also will allow us to avoid the layering difficulty of calling back 13971 up the stack to WebKit to register that an activity is taking place. 13972 13973 * Shared/ChildProcess.cpp: 13974 (WebKit::ChildProcess::ChildProcess): 13975 - removed fields to directly manage NSActivity, use UserActivity objects instead. 13976 * Shared/ChildProcess.h: 13977 (WebKit::ChildProcess::processSuppressionEnabled): 13978 - changed to initialize new fields. 13979 * Shared/mac/ChildProcessMac.mm: 13980 (WebKit::ChildProcess::setProcessSuppressionEnabled): 13981 - implemented in terms of UserActivity m_processSuppressionDisabled. 13982 (WebKit::ChildProcess::incrementActiveTaskCount): 13983 - implemented in terms of UserActivity m_activeTasks. 13984 (WebKit::ChildProcess::decrementActiveTaskCount): 13985 - implemented in terms of UserActivity m_activeTasks. 13986 (WebKit::ChildProcess::platformInitialize): 13987 - implemented in terms of UserActivity m_processSuppressionDisabled. 13988 139892014-01-02 Gavin Barraclough <barraclough@apple.com> 13990 13991 Propagate WindowServer modifications state to WebProcess 13992 https://bugs.webkit.org/show_bug.cgi?id=126356 13993 13994 Reviewed by Sam Weinig. 13995 13996 This will be necessary to move control of process suppression to the WebProcess. 13997 IsVisuallyIdle implies the process has stopped painting, or painted rects are 13998 occluded and not actually being composited. State is provided on a per 13999 WindowServer connection basis, and as such may produce (safe) false positives. 14000 14001 * Shared/ViewState.h: 14002 - added IsVisuallyIdle. 14003 * UIProcess/API/mac/PageClientImpl.h: 14004 * UIProcess/API/mac/PageClientImpl.mm: 14005 (WebKit::PageClientImpl::isVisuallyIdle): 14006 - added, on mac checks WindowServerConnection. 14007 * UIProcess/PageClient.h: 14008 (WebKit::PageClient::isVisuallyIdle): 14009 - base implementation purely based on isViewVisible. 14010 * UIProcess/WebContext.cpp: 14011 (WebKit::WebContext::windowServerConnectionStateChanged): 14012 - broadcast the state change. 14013 * UIProcess/WebContext.h: 14014 * UIProcess/WebPageProxy.cpp: 14015 (WebKit::WebPageProxy::updateViewState): 14016 (WebKit::WebPageProxy::viewStateDidChange): 14017 - propagate IsVisuallyIdle. 14018 * UIProcess/WebProcessProxy.cpp: 14019 (WebKit::WebProcessProxy::windowServerConnectionStateChanged): 14020 - broadcast the state change. 14021 * UIProcess/WebProcessProxy.h: 14022 - add windowServerConnectionStateChanged. 14023 * UIProcess/mac/WebContextMac.mm: 14024 (WebKit::WebContext::updateProcessSuppressionStateOfGlobalChildProcesses): 14025 - moved from static in fle to static member of class. 14026 (WebKit::WebContext::platformInitialize): 14027 - no need to enableOcclusionNotifications. 14028 (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess): 14029 (WebKit::WebContext::canEnableProcessSuppressionForWebProcess): 14030 (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses): 14031 - changed to call WindowServerConnection. 14032 (WebKit::WebContext::processSuppressionEnabledChanged): 14033 - don't remove/reregister occlusion notifications. 14034 * UIProcess/mac/WindowServerConnection.h: Added. 14035 (WebKit::WindowServerConnection::applicationIsOccluded): 14036 (WebKit::WindowServerConnection::applicationWindowModificationsHaveStopped): 14037 - accessors. 14038 * UIProcess/mac/WindowServerConnection.mm: Added. 14039 (WebKit::WindowServerConnection::applicationBecameOccluded): 14040 (WebKit::WindowServerConnection::applicationWindowModificationsStopped): 14041 (WebKit::WindowServerConnection::applicationBecameVisible): 14042 (WebKit::WindowServerConnection::applicationWindowModificationsStarted): 14043 - handle notifications from the WindowServer. 14044 (WebKit::WindowServerConnection::windowServerConnectionStateChanged): 14045 - broadcast the state change. 14046 (WebKit::WindowServerConnection::shared): 14047 - accessor for singleton object. 14048 (WebKit::WindowServerConnection::WindowServerConnection): 14049 - constructor inizializes fields & register notification handlers. 14050 * WebKit2.xcodeproj/project.pbxproj: 14051 - added new files. 14052 * config.h: 14053 - added HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS. 14054 140552014-01-02 Gavin Barraclough <barraclough@apple.com> 14056 14057 Remove WindowIsVisible 14058 https://bugs.webkit.org/show_bug.cgi?id=126270 14059 14060 Reviewed by Tim Horton. 14061 14062 We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible. 14063 The latter detects that the content is hidden in fewer cases than the former, and as such, the 14064 former is always preferable. 14065 14066 This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to 14067 Plugin::windowVisibilityChanged. 14068 14069 * Shared/ViewState.h: 14070 - remove WindowIsVisible. 14071 * UIProcess/API/mac/PageClientImpl.h: 14072 * UIProcess/API/mac/PageClientImpl.mm: 14073 - remove isWindowVisible. 14074 * UIProcess/API/mac/WKView.mm: 14075 (-[WKView viewDidMoveToWindow]): 14076 (-[WKView _windowDidMiniaturize:]): 14077 (-[WKView _windowDidDeminiaturize:]): 14078 (-[WKView _windowDidOrderOffScreen:]): 14079 (-[WKView _windowDidOrderOnScreen:]): 14080 - remove ViewState::WindowIsVisible. 14081 * UIProcess/PageClient.h: 14082 - remove isWindowVisible. 14083 * UIProcess/WebPageProxy.cpp: 14084 (WebKit::WebPageProxy::updateViewState): 14085 - remove handling of ViewState::WindowIsVisible. 14086 * WebProcess/Plugins/PluginView.cpp: 14087 (WebKit::PluginView::setIsVisible): 14088 (WebKit::PluginView::didInitializePlugin): 14089 * WebProcess/Plugins/PluginView.h: 14090 - setWindowIsVisible -> setIsVisible. 14091 * WebProcess/WebPage/WebPage.cpp: 14092 (WebKit::WebPage::WebPage): 14093 (WebKit::WebPage::setViewIsVisible): 14094 (WebKit::WebPage::setViewState): 14095 (WebKit::WebPage::windowAndWebPageAreFocused): 14096 * WebProcess/WebPage/WebPage.h: 14097 (WebKit::WebPage::isVisible): 14098 - remove m_windowIsVisible, setWindowIsVisible (implementation moved to setViewIsVisible). 14099 141002014-01-02 Gavin Barraclough <barraclough@apple.com> 14101 14102 Refactor ViewState handling for drawing area / plugins 14103 https://bugs.webkit.org/show_bug.cgi?id=126272 14104 14105 Reviewed by Tim Horton. 14106 14107 Instead of all ViewState changes being handled by the WebPage, notify the DrawingArea & PluginView to better encapsulate. 14108 14109 * WebProcess/Plugins/PluginView.cpp: 14110 (WebKit::PluginView::viewStateDidChange): 14111 (WebKit::PluginView::platformViewStateDidChange): 14112 - added, handle changes in ViewState relevant to PluginView. 14113 (WebKit::PluginView::didInitializePlugin): 14114 - helper function removed. 14115 * WebProcess/Plugins/PluginView.h: 14116 - added/removed function declarations. 14117 * WebProcess/WebPage/DrawingArea.h: 14118 (WebKit::DrawingArea::viewStateDidChange): 14119 - declare viewStateDidChange. 14120 * WebProcess/WebPage/WebPage.cpp: 14121 (WebKit::WebPage::setActive): 14122 - no need to notify plugin. 14123 (WebKit::WebPage::setViewIsVisible): 14124 - no need to notify drawing area. 14125 (WebKit::WebPage::setViewState): 14126 - send viewStateDidChange to drawing area / plugin. 14127 (WebKit::WebPage::setWindowIsVisible): 14128 - no need to notify plugin. 14129 * WebProcess/WebPage/WebPage.h: 14130 (WebKit::WebPage::layerHostingMode): 14131 - removed setLayerHostingMode. 14132 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 14133 - declare viewStateDidChange. 14134 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 14135 (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange): 14136 - added, handle changes in ViewState relevant to DrawingArea. 14137 141382014-01-02 Alexey Proskuryakov <ap@apple.com> 14139 14140 Merge didMoveOnscreen / page visibility to isVisible 14141 https://bugs.webkit.org/show_bug.cgi?id=126268 14142 14143 Build fix. 14144 14145 * UIProcess/WebContext.h: Removed some accidental input. 14146 141472014-01-02 Gavin Barraclough <barraclough@apple.com> 14148 14149 Merge didMoveOnscreen / page visibility to isVisible 14150 https://bugs.webkit.org/show_bug.cgi?id=126268 14151 14152 Reviewed by Tim Horton. 14153 14154 The onscreen state most closely tracks view visibility (though currently 14155 also tracks a mix of in-window state). Make more consistent, simplify, 14156 and move all animation suspension logic to Page, so it can be controlled 14157 by the PageThrottler. 14158 14159 * WebProcess/WebPage/WebPage.cpp: 14160 (WebKit::WebPage::WebPage): 14161 (WebKit::WebPage::setViewIsVisible): 14162 - updateVisibilityState -> setIsVisible. 14163 (WebKit::WebPage::setIsInWindow): 14164 - remove redundant willMoveOffscreen/didMoveOnscreen calls - this is handled 14165 by setIsVisible. 14166 (WebKit::WebPage::setMayStartMediaWhenInWindow): 14167 - isOnscreen -> isInWindow. We start media when the view is in a window, not 14168 when the view is visible. 14169 (WebKit::WebPage::setVisibilityStatePrerender): 14170 - setVisibilityState -> setIsPrerender. 14171 141722013-12-23 Oliver Hunt <oliver@apple.com> 14173 14174 Refactor PutPropertySlot to be aware of custom properties 14175 https://bugs.webkit.org/show_bug.cgi?id=126187 14176 14177 Reviewed by Antti Koivisto. 14178 14179 Update for new method signatures. 14180 14181 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 14182 (WebKit::NPJSObject::setProperty): 14183 141842014-01-02 Simon Fraser <simon.fraser@apple.com> 14185 14186 Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators 14187 https://bugs.webkit.org/show_bug.cgi?id=126389 14188 14189 Reviewed by Tim Horton. 14190 14191 Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees 14192 and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit. 14193 14194 * WebProcess/WebPage/EventDispatcher.cpp: 14195 (WebKit::EventDispatcher::addScrollingTreeForPage): The ScrollingTree is exposed on 14196 AsyncScrollingCoordinator now, not ScrollingCoordinator, so we have to cast here. 14197 * WebProcess/WebPage/WebPage.cpp: m_useThreadedScrolling -> m_useAsyncScrolling terminology change. 14198 (WebKit::WebPage::WebPage): 14199 (WebKit::WebPage::~WebPage): 14200 * WebProcess/WebPage/WebPage.h: 14201 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 14202 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Cast to AsyncScrollingCoordinator in order 14203 to get to the ScrollingTree. 14204 142052014-01-01 Simon Fraser <simon.fraser@apple.com> 14206 14207 Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it 14208 https://bugs.webkit.org/show_bug.cgi?id=126362 14209 14210 Reviewed by Sam Weinig. 14211 14212 Eventually we'll have a ScrollingTree in situations where there is no scrolling 14213 thread, so make the ScrollingTree base class thread-agnostic (but threadsafe), 14214 and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality. 14215 14216 The ScrollingTree base class also no longer needs to know about the 14217 ScrollingCoordinator. 14218 14219 ScrollingCoordinatorMac creates a ThreadedScrollingTree. 14220 14221 * WebProcess/WebPage/EventDispatcher.cpp: 14222 (WebKit::EventDispatcher::addScrollingTreeForPage): 14223 (WebKit::EventDispatcher::wheelEvent): 14224 * WebProcess/WebPage/EventDispatcher.h: 14225 142262014-01-01 Simon Fraser <simon.fraser@apple.com> 14227 14228 Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it 14229 https://bugs.webkit.org/show_bug.cgi?id=126346 14230 14231 Reviewed by Tim Horton. 14232 14233 Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID, 14234 so it makes more sense to put this layerID type on GraphicsLayer as 14235 GraphicsLayer::PlatformLayerID. 14236 14237 Also add some type cast macros for PlatformCALayer and subclasses, and use them 14238 where appropriate. 14239 14240 * Shared/mac/RemoteLayerTreePropertyApplier.h: 14241 * Shared/mac/RemoteLayerTreeTransaction.h: 14242 (WebKit::RemoteLayerTreeTransaction::rootLayerID): 14243 (WebKit::RemoteLayerTreeTransaction::changedLayers): 14244 (WebKit::RemoteLayerTreeTransaction::destroyedLayers): 14245 * Shared/mac/RemoteLayerTreeTransaction.mm: 14246 (WebKit::RemoteLayerTreeTransaction::decode): 14247 (WebKit::RemoteLayerTreeTransaction::setRootLayerID): 14248 (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs): 14249 (WebKit::RemoteLayerTreeTextStream::operator<<): 14250 (WebKit::dumpChangedLayers): 14251 (WebKit::RemoteLayerTreeTransaction::description): 14252 * UIProcess/mac/RemoteLayerTreeHost.h: 14253 * UIProcess/mac/RemoteLayerTreeHost.mm: 14254 (WebKit::RemoteLayerTreeHost::commit): 14255 (WebKit::RemoteLayerTreeHost::getLayer): 14256 * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: 14257 (WebKit::GraphicsLayerCARemote::primaryLayerID): 14258 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 14259 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 14260 (generateLayerID): 14261 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 14262 (WebKit::PlatformCALayerRemote::layerID): 14263 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 14264 142652014-01-01 Martin Robinson <mrobinson@igalia.com> 14266 14267 [GTK] [CMake] Fix the WEBKIT_SRC_DIR define when building the WebKit2 GObject API unit tests 14268 https://bugs.webkit.org/show_bug.cgi?id=126350 14269 14270 Reviewed by Carlos Garcia Campos. 14271 14272 * UIProcess/API/gtk/tests/CMakeLists.txt: Fix the define. 14273 142742014-01-01 Martin Robinson <mrobinson@igalia.com> 14275 14276 [GTK] Rename libtestnetscapeplugin to libTestNetscapePlugin 14277 https://bugs.webkit.org/show_bug.cgi?id=126349 14278 14279 Reviewed by Carlos Garcia Campos. 14280 14281 All CMake ports use "libTestNetscapePlugin," so choosing the same 14282 name in the autotools port will make the transition easier. 14283 14284 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: 14285 (testWebContextGetPlugins): Use the new plugin library name. 14286 142872013-12-31 Brendan Long <b.long@cablelabs.com> 14288 14289 [Gtk] WebKitWebInspector has build warnings due to uninitialized didChangeAttachedWidth member 14290 https://bugs.webkit.org/show_bug.cgi?id=126353 14291 14292 Reviewed by Martin Robinson. 14293 14294 * UIProcess/API/gtk/WebKitWebInspector.cpp: 14295 (webkitWebInspectorCreate): Initialize didChangeAttachedWidth to null. 14296 142972013-12-30 Martin Robinson <mrobinson@igalia.com> 14298 14299 [GTK] Make the output directory of GObject unit tests binaries consistent with the CMake build 14300 https://bugs.webkit.org/show_bug.cgi?id=126297 14301 14302 Reviewed by Philippe Normand. 14303 14304 * UIProcess/API/gtk/tests/GNUmakefile.am: Build the tests in the new directory. 14305 * UIProcess/API/gtk/tests/TestInspectorServer.cpp: 14306 (startTestServer): Update the search path to reflect the new directory. 14307 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: 14308 (startTestServer): Update the search path to reflect the new directory. 14309 143102013-12-30 Carlos Garcia Campos <cgarcia@igalia.com> 14311 14312 [SOUP] willSendRequest doesn't work after a redirect 14313 https://bugs.webkit.org/show_bug.cgi?id=126290 14314 14315 Reviewed by Martin Robinson. 14316 14317 Add test cases to test send-request signal in case of 14318 redirection. 14319 14320 * UIProcess/API/gtk/tests/TestResources.cpp: 14321 (testWebResourceSendRequest): 14322 (serverCallback): 14323 143242013-12-30 Commit Queue <commit-queue@webkit.org> 14325 14326 Unreviewed, rolling out r161157, r161158, r161160, r161161, 14327 r161163, and r161165. 14328 http://trac.webkit.org/changeset/161157 14329 http://trac.webkit.org/changeset/161158 14330 http://trac.webkit.org/changeset/161160 14331 http://trac.webkit.org/changeset/161161 14332 http://trac.webkit.org/changeset/161163 14333 http://trac.webkit.org/changeset/161165 14334 https://bugs.webkit.org/show_bug.cgi?id=126332 14335 14336 Broke WebKit2 on Mountain Lion (Requested by ap on #webkit). 14337 14338 * Platform/IPC/Connection.cpp: 14339 (IPC::Connection::SyncMessageState::wait): 14340 (IPC::Connection::sendSyncMessageFromSecondaryThread): 14341 (IPC::Connection::waitForSyncReply): 14342 143432013-12-30 Anders Carlsson <andersca@apple.com> 14344 14345 Try to fix the test failures seen on the bots. 14346 14347 Restore the BinarySemaphore behavior that existed in the old binary semaphore. 14348 14349 * Platform/IPC/Connection.cpp: 14350 (IPC::BinarySemaphore::wait): 14351 143522013-12-30 Anders Carlsson <andersca@apple.com> 14353 14354 Fix. 14355 14356 * WebProcess/WebProcess.cpp: 14357 (WebKit::WebProcess::plugInDidStartFromOrigin): 14358 143592013-12-30 Anders Carlsson <andersca@apple.com> 14360 14361 Move more of Connection over to STL threading primitives 14362 https://bugs.webkit.org/show_bug.cgi?id=126308 14363 14364 Reviewed by Andreas Kling. 14365 14366 * Platform/IPC/Connection.cpp: 14367 (IPC::BinarySemaphore::BinarySemaphore): 14368 (IPC::BinarySemaphore::~BinarySemaphore): 14369 (IPC::BinarySemaphore::signal): 14370 (IPC::BinarySemaphore::wait): 14371 Add a new BinarySemaphore class that uses STL threading primitives. 14372 14373 (IPC::Connection::SyncMessageState::wait): 14374 Change this to take a std::chrono::steady_clock::time_point. 14375 14376 (IPC::absoluteTimeoutTime): 14377 Add a new helper function that returns a time point from the a given timeout duration, 14378 correctly handling the max duration. 14379 14380 (IPC::Connection::sendSyncMessageFromSecondaryThread): 14381 Pass a time point to SyncMessageState::wait. 14382 14383 (IPC::Connection::waitForSyncReply): 14384 Ditto. 14385 143862013-12-30 Ryuan Choi <ryuan.choi@samsung.com> 14387 14388 Replace remaning CoreIPC namespace to IPC 14389 https://bugs.webkit.org/show_bug.cgi?id=126305 14390 14391 Reviewed by Anders Carlsson. 14392 14393 This patch replaces CoreIPC to IPC in build scripts and source codes to fix 14394 build break on CMake based ports and Gtk (and maybe IOS). 14395 14396 * CMakeLists.txt: 14397 * GNUmakefile.am: 14398 * GNUmakefile.list.am: 14399 * Platform/IPC/unix/AttachmentUnix.cpp: 14400 * Platform/IPC/unix/ConnectionUnix.cpp: 14401 * Platform/unix/SharedMemoryUnix.cpp: 14402 (WebKit::SharedMemory::Handle::encode): 14403 (WebKit::SharedMemory::Handle::decode): 14404 (WebKit::SharedMemory::Handle::releaseToAttachment): 14405 * PlatformEfl.cmake: 14406 * PlatformGTK.cmake: 14407 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 14408 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: 14409 * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp: 14410 (WebKit::WebCoordinatedSurface::Handle::encode): 14411 (WebKit::WebCoordinatedSurface::Handle::decode): 14412 * Shared/CoordinatedGraphics/WebCoordinatedSurface.h: 14413 * Shared/Downloads/soup/DownloadSoup.cpp: 14414 (WebKit::DownloadClient::downloadFailed): 14415 (WebKit::Download::cancel): 14416 * Shared/WebBatteryStatus.cpp: 14417 (WebKit::WebBatteryStatus::Data::encode): 14418 (WebKit::WebBatteryStatus::Data::decode): 14419 * Shared/WebBatteryStatus.h: 14420 * Shared/WebNetworkInfo.cpp: 14421 (WebKit::WebNetworkInfo::Data::encode): 14422 (WebKit::WebNetworkInfo::Data::decode): 14423 * Shared/WebNetworkInfo.h: 14424 * Shared/cairo/LayerTreeContextCairo.cpp: 14425 (WebKit::LayerTreeContext::encode): 14426 (WebKit::LayerTreeContext::decode): 14427 * Shared/efl/LayerTreeContextEfl.cpp: 14428 (WebKit::LayerTreeContext::encode): 14429 (WebKit::LayerTreeContext::decode): 14430 * Shared/gtk/ArgumentCodersGtk.cpp: 14431 * Shared/gtk/ArgumentCodersGtk.h: 14432 * Shared/gtk/LayerTreeContextGtk.cpp: 14433 (WebKit::LayerTreeContext::encode): 14434 (WebKit::LayerTreeContext::decode): 14435 * Shared/ios/WebPlatformTouchPointIOS.cpp: 14436 (WebKit::WebPlatformTouchPoint::encode): 14437 (WebKit::WebPlatformTouchPoint::decode): 14438 * Shared/ios/WebTouchEventIOS.cpp: 14439 (WebKit::WebTouchEvent::encode): 14440 (WebKit::WebTouchEvent::decode): 14441 * Shared/linux/SeccompFilters/OpenSyscall.cpp: 14442 (WebKit::OpenSyscall::encode): 14443 (WebKit::OpenSyscall::decode): 14444 (WebKit::OpenSyscallResult::encode): 14445 (WebKit::OpenSyscallResult::decode): 14446 * Shared/linux/SeccompFilters/OpenSyscall.h: 14447 * Shared/linux/SeccompFilters/SeccompBroker.cpp: 14448 (WebKit::SeccompBrokerClient::dispatch): 14449 (WebKit::SeccompBroker::runLoop): 14450 * Shared/linux/SeccompFilters/Syscall.cpp: 14451 (WebKit::Syscall::createFromDecoder): 14452 (WebKit::SyscallResult::createFromDecoder): 14453 * Shared/linux/SeccompFilters/Syscall.h: 14454 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 14455 (IPC::ArgumentCoder<CertificateInfo>::encode): 14456 (IPC::ArgumentCoder<CertificateInfo>::decode): 14457 * UIProcess/API/ios/PageClientImplIOS.h: 14458 * UIProcess/API/ios/PageClientImplIOS.mm: 14459 (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): 14460 * UIProcess/API/mac/PDFViewController.h: 14461 * UIProcess/API/mac/PDFViewController.mm: 14462 (WebKit::convertPostScriptDataSourceToPDF): 14463 (WebKit::PDFViewController::setPDFDocumentData): 14464 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: 14465 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 14466 * UIProcess/DrawingAreaProxyImpl.h: 14467 * UIProcess/WebBatteryManagerProxy.h: 14468 * UIProcess/WebNetworkInfoManagerProxy.h: 14469 * UIProcess/WebVibrationProxy.h: 14470 * UIProcess/ios/WebPageProxyIOS.mm: 14471 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): 14472 (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens): 14473 (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication): 14474 * UIProcess/soup/WebSoupRequestManagerProxy.h: 14475 * WebProcess/Battery/WebBatteryManager.h: 14476 * WebProcess/NetworkInfo/WebNetworkInfoManager.h: 14477 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp: 14478 (WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage): 14479 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: 14480 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: 14481 * WebProcess/WebPage/DrawingAreaImpl.h: 14482 * WebProcess/WebPage/ios/WebPageIOS.mm: 14483 (WebKit::WebPage::registerUIProcessAccessibilityTokens): 14484 * WebProcess/ios/WebProcessIOS.mm: 14485 (WebKit::WebProcess::platformInitializeWebProcess): 14486 * WebProcess/soup/WebProcessSoup.cpp: 14487 (WebKit::WebProcess::platformInitializeWebProcess): 14488 * WebProcess/soup/WebSoupRequestManager.cpp: 14489 (WebKit::WebSoupRequestManager::didHandleURIRequest): 14490 (WebKit::WebSoupRequestManager::didReceiveURIRequestData): 14491 * WebProcess/soup/WebSoupRequestManager.h: 14492 * WebProcess/soup/WebSoupRequestManager.messages.in: 14493 144942013-12-30 Ryuan Choi <ryuan.choi@samsung.com> 14495 14496 Unreviewed build fix attempt on GTK port after 161152 14497 14498 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: 14499 (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): 14500 145012013-12-30 Anders Carlsson <andersca@apple.com> 14502 14503 Use std::chrono::milliseconds for all IPC message timeouts 14504 https://bugs.webkit.org/show_bug.cgi?id=126303 14505 14506 Reviewed by Andreas Kling. 14507 14508 * Platform/IPC/Connection.cpp: 14509 (IPC::Connection::sendSyncMessage): 14510 (IPC::Connection::sendSyncMessageFromSecondaryThread): 14511 (IPC::Connection::waitForSyncReply): 14512 * Platform/IPC/Connection.h: 14513 (IPC::Connection::sendSync): 14514 * Platform/IPC/MessageSender.h: 14515 (IPC::MessageSender::sendSync): 14516 * Shared/ChildProcessProxy.h: 14517 (WebKit::ChildProcessProxy::sendSync): 14518 * UIProcess/mac/WebPageProxyMac.mm: 14519 (WebKit::WebPageProxy::stringSelectionForPasteboard): 14520 (WebKit::WebPageProxy::dataSelectionForPasteboard): 14521 (WebKit::WebPageProxy::readSelectionFromPasteboard): 14522 (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent): 14523 (WebKit::WebPageProxy::acceptsFirstMouse): 14524 * WebProcess/InjectedBundle/InjectedBundle.cpp: 14525 (WebKit::InjectedBundle::postSynchronousMessage): 14526 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 14527 (WebKit::WebChromeClient::runJavaScriptAlert): 14528 (WebKit::WebChromeClient::runJavaScriptConfirm): 14529 (WebKit::WebChromeClient::runJavaScriptPrompt): 14530 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 14531 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 14532 * WebProcess/WebPage/WebInspector.cpp: 14533 (WebKit::WebInspector::createInspectorPage): 14534 145352013-12-30 Anders Carlsson <andersca@apple.com> 14536 14537 Remove empty directories. 14538 14539 * Platform/CoreIPC: Removed. 14540 * Platform/CoreIPC/mac: Removed. 14541 * Platform/CoreIPC/unix: Removed. 14542 145432013-12-30 Anders Carlsson <andersca@apple.com> 14544 14545 Move code over to the IPC namespace. 14546 14547 Rubber-stamped by Andreas Kling. 14548 14549 * DatabaseProcess/DatabaseProcess.cpp: 14550 (WebKit::DatabaseProcess::initializeConnection): 14551 (WebKit::DatabaseProcess::didClose): 14552 (WebKit::DatabaseProcess::didReceiveInvalidMessage): 14553 (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): 14554 * DatabaseProcess/DatabaseProcess.h: 14555 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 14556 (WebKit::DatabaseToWebProcessConnection::create): 14557 (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection): 14558 (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): 14559 (WebKit::DatabaseToWebProcessConnection::didClose): 14560 (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage): 14561 * DatabaseProcess/DatabaseToWebProcessConnection.h: 14562 (WebKit::DatabaseToWebProcessConnection::connection): 14563 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 14564 (WebKit::DatabaseProcessIDBConnection::messageSenderConnection): 14565 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 14566 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 14567 (WebKit::AsynchronousNetworkLoaderClient::willSendRequest): 14568 (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace): 14569 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer): 14570 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 14571 (WebKit::NetworkConnectionToWebProcess::create): 14572 (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess): 14573 (WebKit::NetworkConnectionToWebProcess::didReceiveMessage): 14574 (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage): 14575 (WebKit::NetworkConnectionToWebProcess::didClose): 14576 (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage): 14577 * NetworkProcess/NetworkConnectionToWebProcess.h: 14578 (WebKit::NetworkConnectionToWebProcess::connection): 14579 * NetworkProcess/NetworkProcess.cpp: 14580 (WebKit::NetworkProcess::didReceiveMessage): 14581 (WebKit::NetworkProcess::didReceiveSyncMessage): 14582 (WebKit::NetworkProcess::didClose): 14583 (WebKit::NetworkProcess::didReceiveInvalidMessage): 14584 (WebKit::NetworkProcess::downloadProxyConnection): 14585 (WebKit::NetworkProcess::initializeConnection): 14586 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess): 14587 * NetworkProcess/NetworkProcess.h: 14588 * NetworkProcess/NetworkResourceLoader.cpp: 14589 (WebKit::NetworkResourceLoader::messageSenderConnection): 14590 * NetworkProcess/NetworkResourceLoader.h: 14591 * NetworkProcess/mac/DiskCacheMonitor.h: 14592 * NetworkProcess/mac/DiskCacheMonitor.mm: 14593 (WebKit::DiskCacheMonitor::messageSenderConnection): 14594 * Platform/IPC/ArgumentCoder.h: 14595 * Platform/IPC/ArgumentCoders.cpp: 14596 * Platform/IPC/ArgumentCoders.h: 14597 * Platform/IPC/ArgumentDecoder.cpp: 14598 * Platform/IPC/ArgumentDecoder.h: 14599 * Platform/IPC/ArgumentEncoder.cpp: 14600 * Platform/IPC/ArgumentEncoder.h: 14601 * Platform/IPC/Arguments.h: 14602 * Platform/IPC/Attachment.cpp: 14603 * Platform/IPC/Attachment.h: 14604 * Platform/IPC/Connection.cpp: 14605 (IPC::Connection::Connection): 14606 * Platform/IPC/Connection.h: 14607 * Platform/IPC/HandleMessage.h: 14608 * Platform/IPC/MessageDecoder.cpp: 14609 * Platform/IPC/MessageDecoder.h: 14610 * Platform/IPC/MessageEncoder.cpp: 14611 * Platform/IPC/MessageEncoder.h: 14612 * Platform/IPC/MessageFlags.h: 14613 * Platform/IPC/MessageReceiver.h: 14614 * Platform/IPC/MessageReceiverMap.cpp: 14615 * Platform/IPC/MessageReceiverMap.h: 14616 * Platform/IPC/mac/ConnectionMac.cpp: 14617 * Platform/IPC/mac/ImportanceAssertion.h: 14618 * Platform/IPC/mac/MachPort.h: 14619 * Platform/SharedMemory.h: 14620 * Platform/mac/SharedMemoryMac.cpp: 14621 (WebKit::SharedMemory::Handle::encode): 14622 (WebKit::SharedMemory::Handle::decode): 14623 * PluginProcess/PluginControllerProxy.cpp: 14624 (WebKit::PluginControllerProxy::streamDidReceiveData): 14625 (WebKit::PluginControllerProxy::manualStreamDidReceiveData): 14626 * PluginProcess/PluginControllerProxy.h: 14627 * PluginProcess/PluginControllerProxy.messages.in: 14628 * PluginProcess/PluginCreationParameters.cpp: 14629 (WebKit::PluginCreationParameters::encode): 14630 (WebKit::PluginCreationParameters::decode): 14631 * PluginProcess/PluginCreationParameters.h: 14632 * PluginProcess/PluginProcess.cpp: 14633 (WebKit::PluginProcess::didReceiveMessage): 14634 (WebKit::PluginProcess::didClose): 14635 (WebKit::PluginProcess::didReceiveInvalidMessage): 14636 (WebKit::PluginProcess::createWebProcessConnection): 14637 * PluginProcess/PluginProcess.h: 14638 * PluginProcess/WebProcessConnection.cpp: 14639 (WebKit::WebProcessConnection::create): 14640 (WebKit::WebProcessConnection::WebProcessConnection): 14641 (WebKit::WebProcessConnection::setGlobalException): 14642 (WebKit::WebProcessConnection::didReceiveMessage): 14643 (WebKit::WebProcessConnection::didReceiveSyncMessage): 14644 (WebKit::WebProcessConnection::didClose): 14645 (WebKit::WebProcessConnection::didReceiveInvalidMessage): 14646 * PluginProcess/WebProcessConnection.h: 14647 (WebKit::WebProcessConnection::connection): 14648 * PluginProcess/mac/PluginControllerProxyMac.mm: 14649 (WebKit::PluginControllerProxy::setComplexTextInputState): 14650 * Scripts/webkit2/messages.py: 14651 (arguments_type_old): 14652 (message_to_struct_declaration): 14653 (forward_declarations_and_headers): 14654 (generate_messages_header): 14655 (async_message_statement): 14656 (sync_message_statement): 14657 (headers_for_type): 14658 (generate_message_handler): 14659 * Scripts/webkit2/messages_unittest.py: 14660 (IPC): 14661 (std): 14662 * Shared/API/Cocoa/RemoteObjectRegistry.h: 14663 * Shared/APIGeometry.cpp: 14664 (API::Point::encode): 14665 (API::Point::decode): 14666 (API::Size::encode): 14667 (API::Size::decode): 14668 (API::Rect::encode): 14669 (API::Rect::decode): 14670 * Shared/APIGeometry.h: 14671 * Shared/APINumber.h: 14672 (API::Number::encode): 14673 (API::Number::decode): 14674 * Shared/Authentication/AuthenticationManager.h: 14675 * Shared/ChildProcess.cpp: 14676 (WebKit::didCloseOnConnectionWorkQueue): 14677 (WebKit::ChildProcess::initialize): 14678 (WebKit::ChildProcess::initializeConnection): 14679 (WebKit::ChildProcess::addMessageReceiver): 14680 (WebKit::ChildProcess::removeMessageReceiver): 14681 (WebKit::ChildProcess::messageSenderConnection): 14682 * Shared/ChildProcess.h: 14683 (WebKit::ChildProcess::parentProcessConnection): 14684 (WebKit::ChildProcess::messageReceiverMap): 14685 * Shared/ChildProcessProxy.cpp: 14686 (WebKit::ChildProcessProxy::fromConnection): 14687 (WebKit::ChildProcessProxy::sendMessage): 14688 (WebKit::ChildProcessProxy::addMessageReceiver): 14689 (WebKit::ChildProcessProxy::removeMessageReceiver): 14690 (WebKit::ChildProcessProxy::dispatchMessage): 14691 (WebKit::ChildProcessProxy::dispatchSyncMessage): 14692 (WebKit::ChildProcessProxy::didFinishLaunching): 14693 (WebKit::ChildProcessProxy::connectionWillOpen): 14694 (WebKit::ChildProcessProxy::connectionWillClose): 14695 * Shared/ChildProcessProxy.h: 14696 (WebKit::ChildProcessProxy::connection): 14697 (WebKit::ChildProcessProxy::send): 14698 * Shared/ChildProcessSupplement.h: 14699 (WebKit::ChildProcessSupplement::initializeConnection): 14700 * Shared/ConnectionStack.h: 14701 (WebKit::ConnectionStack::current): 14702 (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher): 14703 * Shared/CoreIPCSupport/WebContextMessageKinds.h: 14704 (WebContextLegacyMessages::messageReceiverName): 14705 (WebContextLegacyMessages::postMessageMessageName): 14706 (WebContextLegacyMessages::postSynchronousMessageMessageName): 14707 * Shared/Databases/DatabaseProcessCreationParameters.cpp: 14708 (WebKit::DatabaseProcessCreationParameters::encode): 14709 (WebKit::DatabaseProcessCreationParameters::decode): 14710 * Shared/Databases/DatabaseProcessCreationParameters.h: 14711 * Shared/DictionaryPopupInfo.cpp: 14712 (WebKit::DictionaryPopupInfo::encode): 14713 (WebKit::DictionaryPopupInfo::decode): 14714 * Shared/DictionaryPopupInfo.h: 14715 * Shared/Downloads/Download.cpp: 14716 (WebKit::Download::didFail): 14717 (WebKit::Download::didCancel): 14718 (WebKit::Download::messageSenderConnection): 14719 * Shared/Downloads/Download.h: 14720 * Shared/Downloads/DownloadManager.cpp: 14721 (WebKit::DownloadManager::downloadProxyConnection): 14722 * Shared/Downloads/DownloadManager.h: 14723 * Shared/Downloads/mac/DownloadMac.mm: 14724 (WebKit::Download::cancel): 14725 (-[WKDownloadAsDelegate download:didFailWithError:]): 14726 * Shared/EditorState.cpp: 14727 (WebKit::EditorState::encode): 14728 (WebKit::EditorState::decode): 14729 * Shared/EditorState.h: 14730 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 14731 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 14732 (WebKit::ChildProcessMainDelegate::getConnectionIdentifier): 14733 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: 14734 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: 14735 (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier): 14736 * Shared/FileAPI/BlobRegistrationData.cpp: 14737 (WebKit::BlobRegistrationData::encode): 14738 (WebKit::BlobRegistrationData::decode): 14739 * Shared/FileAPI/BlobRegistrationData.h: 14740 * Shared/FontInfo.cpp: 14741 (WebKit::FontInfo::encode): 14742 (WebKit::FontInfo::decode): 14743 * Shared/FontInfo.h: 14744 * Shared/LayerTreeContext.h: 14745 * Shared/Network/CustomProtocols/CustomProtocolManager.h: 14746 * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: 14747 * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: 14748 (WebKit::CustomProtocolManager::initializeConnection): 14749 (WebKit::CustomProtocolManager::didLoadData): 14750 * Shared/Network/NetworkProcessCreationParameters.cpp: 14751 (WebKit::NetworkProcessCreationParameters::encode): 14752 (WebKit::NetworkProcessCreationParameters::decode): 14753 * Shared/Network/NetworkProcessCreationParameters.h: 14754 * Shared/Network/NetworkResourceLoadParameters.cpp: 14755 (WebKit::NetworkResourceLoadParameters::encode): 14756 (WebKit::NetworkResourceLoadParameters::decode): 14757 * Shared/Network/NetworkResourceLoadParameters.h: 14758 * Shared/OriginAndDatabases.cpp: 14759 (WebKit::OriginAndDatabases::encode): 14760 (WebKit::OriginAndDatabases::decode): 14761 * Shared/OriginAndDatabases.h: 14762 * Shared/PlatformPopupMenuData.cpp: 14763 (WebKit::PlatformPopupMenuData::encode): 14764 (WebKit::PlatformPopupMenuData::decode): 14765 * Shared/PlatformPopupMenuData.h: 14766 * Shared/Plugins/NPIdentifierData.cpp: 14767 (WebKit::NPIdentifierData::encode): 14768 (WebKit::NPIdentifierData::decode): 14769 * Shared/Plugins/NPIdentifierData.h: 14770 * Shared/Plugins/NPObjectMessageReceiver.h: 14771 * Shared/Plugins/NPRemoteObjectMap.cpp: 14772 (WebKit::NPRemoteObjectMap::create): 14773 (WebKit::NPRemoteObjectMap::NPRemoteObjectMap): 14774 (WebKit::NPRemoteObjectMap::didReceiveSyncMessage): 14775 * Shared/Plugins/NPRemoteObjectMap.h: 14776 (WebKit::NPRemoteObjectMap::connection): 14777 * Shared/Plugins/NPVariantData.cpp: 14778 (WebKit::NPVariantData::encode): 14779 (WebKit::NPVariantData::decode): 14780 * Shared/Plugins/NPVariantData.h: 14781 * Shared/Plugins/PluginProcessCreationParameters.cpp: 14782 (WebKit::PluginProcessCreationParameters::encode): 14783 (WebKit::PluginProcessCreationParameters::decode): 14784 * Shared/Plugins/PluginProcessCreationParameters.h: 14785 * Shared/PrintInfo.cpp: 14786 (WebKit::PrintInfo::encode): 14787 (WebKit::PrintInfo::decode): 14788 * Shared/PrintInfo.h: 14789 * Shared/SandboxExtension.h: 14790 (WebKit::SandboxExtension::Handle::encode): 14791 (WebKit::SandboxExtension::Handle::decode): 14792 (WebKit::SandboxExtension::HandleArray::encode): 14793 (WebKit::SandboxExtension::HandleArray::decode): 14794 * Shared/SecurityOriginData.cpp: 14795 (WebKit::SecurityOriginData::encode): 14796 (WebKit::SecurityOriginData::decode): 14797 * Shared/SecurityOriginData.h: 14798 * Shared/SessionState.cpp: 14799 (WebKit::SessionState::encode): 14800 (WebKit::SessionState::decode): 14801 * Shared/SessionState.h: 14802 * Shared/ShareableBitmap.cpp: 14803 (WebKit::ShareableBitmap::Handle::encode): 14804 (WebKit::ShareableBitmap::Handle::decode): 14805 * Shared/ShareableBitmap.h: 14806 * Shared/ShareableResource.cpp: 14807 (WebKit::ShareableResource::Handle::encode): 14808 (WebKit::ShareableResource::Handle::decode): 14809 * Shared/ShareableResource.h: 14810 * Shared/StatisticsData.cpp: 14811 (WebKit::StatisticsData::encode): 14812 (WebKit::StatisticsData::decode): 14813 * Shared/StatisticsData.h: 14814 * Shared/TextCheckerState.h: 14815 * Shared/UpdateInfo.cpp: 14816 (WebKit::UpdateInfo::encode): 14817 (WebKit::UpdateInfo::decode): 14818 * Shared/UpdateInfo.h: 14819 * Shared/UserData.cpp: 14820 (WebKit::UserData::encode): 14821 (WebKit::UserData::decode): 14822 * Shared/UserData.h: 14823 * Shared/UserMessageCoders.h: 14824 (WebKit::UserMessageEncoder::baseEncode): 14825 (WebKit::UserMessageDecoder::baseDecode): 14826 * Shared/WebBackForwardListItem.cpp: 14827 (WebKit::WebBackForwardListItem::encode): 14828 (WebKit::WebBackForwardListItem::decode): 14829 * Shared/WebBackForwardListItem.h: 14830 * Shared/WebConnection.cpp: 14831 (WebKit::WebConnection::postMessage): 14832 (WebKit::WebConnection::didReceiveMessage): 14833 (WebKit::WebConnection::handleMessage): 14834 * Shared/WebConnection.h: 14835 * Shared/WebContextMenuItemData.cpp: 14836 (WebKit::WebContextMenuItemData::encode): 14837 (WebKit::WebContextMenuItemData::decode): 14838 * Shared/WebContextMenuItemData.h: 14839 * Shared/WebCoreArgumentCoders.cpp: 14840 * Shared/WebCoreArgumentCoders.h: 14841 * Shared/WebEvent.cpp: 14842 (WebKit::WebEvent::encode): 14843 (WebKit::WebEvent::decode): 14844 * Shared/WebEvent.h: 14845 * Shared/WebGeolocationPosition.cpp: 14846 (WebKit::WebGeolocationPosition::Data::encode): 14847 (WebKit::WebGeolocationPosition::Data::decode): 14848 * Shared/WebGeolocationPosition.h: 14849 * Shared/WebHitTestResult.cpp: 14850 (WebKit::WebHitTestResult::Data::encode): 14851 (WebKit::WebHitTestResult::Data::decode): 14852 * Shared/WebHitTestResult.h: 14853 * Shared/WebKeyboardEvent.cpp: 14854 (WebKit::WebKeyboardEvent::encode): 14855 (WebKit::WebKeyboardEvent::decode): 14856 * Shared/WebMouseEvent.cpp: 14857 (WebKit::WebMouseEvent::encode): 14858 (WebKit::WebMouseEvent::decode): 14859 * Shared/WebNavigationDataStore.h: 14860 (WebKit::WebNavigationDataStore::encode): 14861 (WebKit::WebNavigationDataStore::decode): 14862 * Shared/WebPageCreationParameters.cpp: 14863 (WebKit::WebPageCreationParameters::encode): 14864 (WebKit::WebPageCreationParameters::decode): 14865 * Shared/WebPageCreationParameters.h: 14866 * Shared/WebPageGroupData.cpp: 14867 (WebKit::WebPageGroupData::encode): 14868 (WebKit::WebPageGroupData::decode): 14869 * Shared/WebPageGroupData.h: 14870 * Shared/WebPlatformTouchPoint.cpp: 14871 (WebKit::WebPlatformTouchPoint::encode): 14872 (WebKit::WebPlatformTouchPoint::decode): 14873 * Shared/WebPopupItem.cpp: 14874 (WebKit::WebPopupItem::encode): 14875 (WebKit::WebPopupItem::decode): 14876 * Shared/WebPopupItem.h: 14877 * Shared/WebPreferencesStore.cpp: 14878 (WebKit::WebPreferencesStore::encode): 14879 (WebKit::WebPreferencesStore::decode): 14880 * Shared/WebPreferencesStore.h: 14881 * Shared/WebProcessCreationParameters.cpp: 14882 (WebKit::WebProcessCreationParameters::encode): 14883 (WebKit::WebProcessCreationParameters::decode): 14884 * Shared/WebProcessCreationParameters.h: 14885 * Shared/WebSerializedScriptValue.h: 14886 (WebKit::WebSerializedScriptValue::dataReference): 14887 * Shared/WebTouchEvent.cpp: 14888 (WebKit::WebTouchEvent::encode): 14889 (WebKit::WebTouchEvent::decode): 14890 * Shared/WebWheelEvent.cpp: 14891 (WebKit::WebWheelEvent::encode): 14892 (WebKit::WebWheelEvent::decode): 14893 * Shared/cf/ArgumentCodersCF.cpp: 14894 (IPC::encode): 14895 (IPC::decode): 14896 * Shared/cf/ArgumentCodersCF.h: 14897 * Shared/mac/ArgumentCodersMac.h: 14898 * Shared/mac/ArgumentCodersMac.mm: 14899 (IPC::encode): 14900 (IPC::decode): 14901 * Shared/mac/AttributedString.h: 14902 * Shared/mac/AttributedString.mm: 14903 (WebKit::AttributedString::encode): 14904 (WebKit::AttributedString::decode): 14905 * Shared/mac/ColorSpaceData.h: 14906 * Shared/mac/ColorSpaceData.mm: 14907 (WebKit::ColorSpaceData::encode): 14908 (WebKit::ColorSpaceData::decode): 14909 * Shared/mac/LayerTreeContextMac.mm: 14910 (WebKit::LayerTreeContext::encode): 14911 (WebKit::LayerTreeContext::decode): 14912 * Shared/mac/ObjCObjectGraphCoders.h: 14913 * Shared/mac/ObjCObjectGraphCoders.mm: 14914 (WebKit::ObjCObjectGraphEncoder::baseEncode): 14915 (WebKit::ObjCObjectGraphDecoder::baseDecode): 14916 (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): 14917 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): 14918 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): 14919 (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): 14920 (WebKit::WebContextObjCObjectGraphEncoder::encode): 14921 (WebKit::WebContextObjCObjectGraphDecoder::decode): 14922 (WebKit::InjectedBundleObjCObjectGraphEncoder::encode): 14923 (WebKit::InjectedBundleObjCObjectGraphDecoder::decode): 14924 * Shared/mac/RemoteLayerBackingStore.h: 14925 * Shared/mac/RemoteLayerBackingStore.mm: 14926 (RemoteLayerBackingStore::encode): 14927 (RemoteLayerBackingStore::decode): 14928 * Shared/mac/RemoteLayerTreeTransaction.h: 14929 * Shared/mac/RemoteLayerTreeTransaction.mm: 14930 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode): 14931 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode): 14932 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 14933 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 14934 (WebKit::RemoteLayerTreeTransaction::encode): 14935 (WebKit::RemoteLayerTreeTransaction::decode): 14936 * Shared/mac/SandboxExtensionMac.mm: 14937 (WebKit::SandboxExtension::Handle::encode): 14938 (WebKit::SandboxExtension::Handle::decode): 14939 (WebKit::SandboxExtension::HandleArray::encode): 14940 (WebKit::SandboxExtension::HandleArray::decode): 14941 * Shared/mac/SecItemRequestData.cpp: 14942 (WebKit::SecItemRequestData::encode): 14943 (WebKit::SecItemRequestData::decode): 14944 * Shared/mac/SecItemRequestData.h: 14945 * Shared/mac/SecItemResponseData.cpp: 14946 (WebKit::SecItemResponseData::encode): 14947 (WebKit::SecItemResponseData::decode): 14948 * Shared/mac/SecItemResponseData.h: 14949 * Shared/mac/SecItemShim.cpp: 14950 (WebKit::SecItemShim::initializeConnection): 14951 * Shared/mac/SecItemShim.h: 14952 * Shared/mac/WebCoreArgumentCodersMac.mm: 14953 (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): 14954 (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): 14955 (IPC::ArgumentCoder<ResourceResponse>::encodePlatformData): 14956 (IPC::ArgumentCoder<ResourceResponse>::decodePlatformData): 14957 (IPC::ArgumentCoder<CertificateInfo>::encode): 14958 (IPC::ArgumentCoder<CertificateInfo>::decode): 14959 (IPC::ArgumentCoder<ResourceError>::encodePlatformData): 14960 (IPC::ArgumentCoder<ResourceError>::decodePlatformData): 14961 * UIProcess/API/mac/PageClientImpl.h: 14962 * UIProcess/API/mac/PageClientImpl.mm: 14963 (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived): 14964 * UIProcess/API/mac/WKView.mm: 14965 (-[WKView _accessibilityRegisterUIProcessTokens]): 14966 * UIProcess/API/mac/WKViewInternal.h: 14967 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 14968 (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy): 14969 * UIProcess/Authentication/AuthenticationChallengeProxy.h: 14970 (WebKit::AuthenticationChallengeProxy::create): 14971 * UIProcess/Databases/DatabaseProcessProxy.cpp: 14972 (WebKit::DatabaseProcessProxy::connectionWillOpen): 14973 (WebKit::DatabaseProcessProxy::connectionWillClose): 14974 (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection): 14975 (WebKit::DatabaseProcessProxy::didClose): 14976 (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage): 14977 (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): 14978 (WebKit::DatabaseProcessProxy::didFinishLaunching): 14979 * UIProcess/Databases/DatabaseProcessProxy.h: 14980 * UIProcess/Databases/DatabaseProcessProxy.messages.in: 14981 * UIProcess/Downloads/DownloadProxy.cpp: 14982 (WebKit::createData): 14983 (WebKit::DownloadProxy::didFail): 14984 (WebKit::DownloadProxy::didCancel): 14985 * UIProcess/Downloads/DownloadProxy.h: 14986 * UIProcess/Downloads/DownloadProxy.messages.in: 14987 * UIProcess/DrawingAreaProxy.h: 14988 * UIProcess/Launcher/ProcessLauncher.cpp: 14989 (WebKit::ProcessLauncher::didFinishLaunchingProcess): 14990 * UIProcess/Launcher/ProcessLauncher.h: 14991 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 14992 (WebKit::connectToService): 14993 (WebKit::tryPreexistingProcess): 14994 (WebKit::createProcess): 14995 * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: 14996 * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: 14997 (-[WKCustomProtocolLoader connection:didReceiveData:]): 14998 * UIProcess/Network/NetworkProcessProxy.cpp: 14999 (WebKit::NetworkProcessProxy::connectionWillOpen): 15000 (WebKit::NetworkProcessProxy::connectionWillClose): 15001 (WebKit::NetworkProcessProxy::getNetworkProcessConnection): 15002 (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): 15003 (WebKit::NetworkProcessProxy::didReceiveMessage): 15004 (WebKit::NetworkProcessProxy::didReceiveSyncMessage): 15005 (WebKit::NetworkProcessProxy::didClose): 15006 (WebKit::NetworkProcessProxy::didReceiveInvalidMessage): 15007 (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): 15008 (WebKit::NetworkProcessProxy::didFinishLaunching): 15009 * UIProcess/Network/NetworkProcessProxy.h: 15010 * UIProcess/Network/NetworkProcessProxy.messages.in: 15011 * UIProcess/Notifications/WebNotification.h: 15012 * UIProcess/PageClient.h: 15013 * UIProcess/Plugins/PluginProcessManager.h: 15014 * UIProcess/Plugins/PluginProcessProxy.cpp: 15015 (WebKit::PluginProcessProxy::getPluginProcessConnection): 15016 (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): 15017 (WebKit::PluginProcessProxy::didClose): 15018 (WebKit::PluginProcessProxy::didReceiveInvalidMessage): 15019 (WebKit::PluginProcessProxy::didFinishLaunching): 15020 (WebKit::PluginProcessProxy::didCreateWebProcessConnection): 15021 * UIProcess/Plugins/PluginProcessProxy.h: 15022 * UIProcess/Plugins/PluginProcessProxy.messages.in: 15023 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 15024 (WebKit::PluginProcessProxy::platformInitializePluginProcess): 15025 * UIProcess/Storage/StorageManager.cpp: 15026 (WebKit::StorageManager::StorageArea::addListener): 15027 (WebKit::StorageManager::StorageArea::removeListener): 15028 (WebKit::StorageManager::StorageArea::setItem): 15029 (WebKit::StorageManager::StorageArea::removeItem): 15030 (WebKit::StorageManager::StorageArea::clear): 15031 (WebKit::StorageManager::StorageArea::dispatchEvents): 15032 (WebKit::StorageManager::SessionStorageNamespace::allowedConnection): 15033 (WebKit::StorageManager::SessionStorageNamespace::create): 15034 (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace): 15035 (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection): 15036 (WebKit::StorageManager::createSessionStorageNamespace): 15037 (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection): 15038 (WebKit::StorageManager::processWillCloseConnection): 15039 (WebKit::StorageManager::createLocalStorageMap): 15040 (WebKit::StorageManager::createSessionStorageMap): 15041 (WebKit::StorageManager::destroyStorageMap): 15042 (WebKit::StorageManager::getValues): 15043 (WebKit::StorageManager::setItem): 15044 (WebKit::StorageManager::removeItem): 15045 (WebKit::StorageManager::clear): 15046 (WebKit::StorageManager::createSessionStorageNamespaceInternal): 15047 (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal): 15048 (WebKit::StorageManager::invalidateConnectionInternal): 15049 (WebKit::StorageManager::findStorageArea): 15050 * UIProcess/Storage/StorageManager.h: 15051 * UIProcess/WebApplicationCacheManagerProxy.h: 15052 * UIProcess/WebConnectionToWebProcess.cpp: 15053 (WebKit::WebConnectionToWebProcess::encodeMessageBody): 15054 (WebKit::WebConnectionToWebProcess::decodeMessageBody): 15055 (WebKit::WebConnectionToWebProcess::messageSenderConnection): 15056 * UIProcess/WebConnectionToWebProcess.h: 15057 * UIProcess/WebContext.cpp: 15058 (WebKit::WebContext::networkingProcessConnection): 15059 (WebKit::WebContext::didReceiveInvalidMessage): 15060 (WebKit::WebContext::createNewWebProcess): 15061 (WebKit::WebContext::postMessageToInjectedBundle): 15062 (WebKit::WebContext::addMessageReceiver): 15063 (WebKit::WebContext::removeMessageReceiver): 15064 (WebKit::WebContext::dispatchMessage): 15065 (WebKit::WebContext::dispatchSyncMessage): 15066 (WebKit::WebContext::didReceiveMessage): 15067 (WebKit::WebContext::didReceiveSyncMessage): 15068 * UIProcess/WebContext.h: 15069 * UIProcess/WebContextUserMessageCoders.h: 15070 (WebKit::WebContextUserMessageEncoder::encode): 15071 (WebKit::WebContextUserMessageDecoder::decode): 15072 * UIProcess/WebCookieManagerProxy.h: 15073 * UIProcess/WebDatabaseManagerProxy.h: 15074 * UIProcess/WebEditCommandProxy.cpp: 15075 (WebKit::WebEditCommandProxy::unapply): 15076 (WebKit::WebEditCommandProxy::reapply): 15077 * UIProcess/WebFrameProxy.h: 15078 * UIProcess/WebFullScreenManagerProxy.h: 15079 * UIProcess/WebGeolocationManagerProxy.cpp: 15080 (WebKit::WebGeolocationManagerProxy::startUpdating): 15081 (WebKit::WebGeolocationManagerProxy::stopUpdating): 15082 (WebKit::WebGeolocationManagerProxy::removeRequester): 15083 (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy): 15084 * UIProcess/WebGeolocationManagerProxy.h: 15085 * UIProcess/WebIconDatabase.cpp: 15086 (WebKit::WebIconDatabase::setIconDataForIconURL): 15087 (WebKit::WebIconDatabase::synchronousIconDataForPageURL): 15088 * UIProcess/WebIconDatabase.h: 15089 * UIProcess/WebIconDatabase.messages.in: 15090 * UIProcess/WebInspectorProxy.h: 15091 * UIProcess/WebMediaCacheManagerProxy.h: 15092 * UIProcess/WebOriginDataManagerProxy.h: 15093 * UIProcess/WebPageProxy.cpp: 15094 (WebKit::WebPageProxy::willGoToBackForwardListItem): 15095 (WebKit::WebPageProxy::preferencesDidChange): 15096 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 15097 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 15098 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 15099 (WebKit::WebPageProxy::didCommitLoadForFrame): 15100 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 15101 (WebKit::WebPageProxy::didFinishLoadForFrame): 15102 (WebKit::WebPageProxy::didFailLoadForFrame): 15103 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 15104 (WebKit::WebPageProxy::didReceiveTitleForFrame): 15105 (WebKit::WebPageProxy::didFirstLayoutForFrame): 15106 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 15107 (WebKit::WebPageProxy::didLayout): 15108 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 15109 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 15110 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 15111 (WebKit::WebPageProxy::didDetectXSSForFrame): 15112 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 15113 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 15114 (WebKit::WebPageProxy::decidePolicyForResponse): 15115 (WebKit::WebPageProxy::decidePolicyForResponseSync): 15116 (WebKit::WebPageProxy::unableToImplementPolicy): 15117 (WebKit::WebPageProxy::willSubmitForm): 15118 (WebKit::WebPageProxy::mouseDidMoveOverElement): 15119 (WebKit::WebPageProxy::connectionWillOpen): 15120 (WebKit::WebPageProxy::connectionWillClose): 15121 (WebKit::WebPageProxy::sendMessage): 15122 (WebKit::WebPageProxy::messageSenderConnection): 15123 (WebKit::WebPageProxy::showContextMenu): 15124 (WebKit::WebPageProxy::internalShowContextMenu): 15125 (WebKit::WebPageProxy::dataCallback): 15126 (WebKit::WebPageProxy::scriptValueCallback): 15127 (WebKit::WebPageProxy::beginPrinting): 15128 (WebKit::WebPageProxy::endPrinting): 15129 (WebKit::WebPageProxy::computePagesForPrinting): 15130 (WebKit::WebPageProxy::drawRectToImage): 15131 (WebKit::WebPageProxy::drawPagesToPDF): 15132 (WebKit::WebPageProxy::drawPagesForPrinting): 15133 (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): 15134 * UIProcess/WebPageProxy.h: 15135 * UIProcess/WebPageProxy.messages.in: 15136 * UIProcess/WebProcessProxy.cpp: 15137 (WebKit::WebProcessProxy::connectionWillOpen): 15138 (WebKit::WebProcessProxy::connectionWillClose): 15139 (WebKit::WebProcessProxy::addBackForwardItem): 15140 (WebKit::WebProcessProxy::didReceiveMessage): 15141 (WebKit::WebProcessProxy::didReceiveSyncMessage): 15142 (WebKit::WebProcessProxy::didClose): 15143 (WebKit::WebProcessProxy::didReceiveInvalidMessage): 15144 (WebKit::WebProcessProxy::didFinishLaunching): 15145 * UIProcess/WebProcessProxy.h: 15146 (WebKit::WebProcessProxy::fromConnection): 15147 * UIProcess/WebProcessProxy.messages.in: 15148 * UIProcess/WebResourceCacheManagerProxy.h: 15149 * UIProcess/cf/WebBackForwardListCF.cpp: 15150 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 15151 * UIProcess/mac/RemoteLayerTreeHost.h: 15152 * UIProcess/mac/SecItemShimProxy.cpp: 15153 (WebKit::SecItemShimProxy::initializeConnection): 15154 (WebKit::SecItemShimProxy::secItemRequest): 15155 * UIProcess/mac/SecItemShimProxy.h: 15156 * UIProcess/mac/ViewGestureController.h: 15157 * UIProcess/mac/WebContextMac.mm: 15158 (WebKit::WebContext::platformInitializeWebProcess): 15159 * UIProcess/mac/WebPageProxyMac.mm: 15160 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): 15161 (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens): 15162 (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication): 15163 * WebKit2.xcodeproj/project.pbxproj: 15164 * WebProcess/ApplicationCache/WebApplicationCacheManager.h: 15165 * WebProcess/Cookies/WebCookieManager.h: 15166 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 15167 (WebKit::WebIDBServerConnection::messageSenderConnection): 15168 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 15169 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 15170 (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection): 15171 (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): 15172 (WebKit::WebToDatabaseProcessConnection::didClose): 15173 (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage): 15174 * WebProcess/Databases/WebToDatabaseProcessConnection.h: 15175 (WebKit::WebToDatabaseProcessConnection::create): 15176 (WebKit::WebToDatabaseProcessConnection::connection): 15177 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: 15178 (WebKit::WebContentProcessMainDelegate::getConnectionIdentifier): 15179 * WebProcess/FullScreen/WebFullScreenManager.cpp: 15180 (WebKit::WebFullScreenManager::didReceiveMessage): 15181 * WebProcess/FullScreen/WebFullScreenManager.h: 15182 * WebProcess/Geolocation/WebGeolocationManager.h: 15183 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 15184 (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL): 15185 (WebKit::WebIconDatabaseProxy::setIconDataForIconURL): 15186 * WebProcess/IconDatabase/WebIconDatabaseProxy.h: 15187 * WebProcess/InjectedBundle/InjectedBundle.cpp: 15188 (WebKit::InjectedBundle::postMessage): 15189 (WebKit::InjectedBundle::postSynchronousMessage): 15190 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 15191 (WebKit::InjectedBundleUserMessageEncoder::encode): 15192 (WebKit::InjectedBundleUserMessageDecoder::decode): 15193 * WebProcess/MediaCache/WebMediaCacheManager.h: 15194 * WebProcess/Network/NetworkProcessConnection.cpp: 15195 (WebKit::NetworkProcessConnection::NetworkProcessConnection): 15196 (WebKit::NetworkProcessConnection::didReceiveMessage): 15197 (WebKit::NetworkProcessConnection::didReceiveSyncMessage): 15198 (WebKit::NetworkProcessConnection::didClose): 15199 (WebKit::NetworkProcessConnection::didReceiveInvalidMessage): 15200 * WebProcess/Network/NetworkProcessConnection.h: 15201 (WebKit::NetworkProcessConnection::create): 15202 (WebKit::NetworkProcessConnection::connection): 15203 * WebProcess/Network/WebResourceLoader.cpp: 15204 (WebKit::WebResourceLoader::messageSenderConnection): 15205 (WebKit::WebResourceLoader::didReceiveData): 15206 * WebProcess/Network/WebResourceLoader.h: 15207 * WebProcess/Network/WebResourceLoader.messages.in: 15208 * WebProcess/Notifications/WebNotificationManager.h: 15209 * WebProcess/OriginData/WebOriginDataManager.h: 15210 * WebProcess/Plugins/PDF/PDFPlugin.h: 15211 * WebProcess/Plugins/Plugin.cpp: 15212 (WebKit::Plugin::Parameters::encode): 15213 (WebKit::Plugin::Parameters::decode): 15214 * WebProcess/Plugins/Plugin.h: 15215 * WebProcess/Plugins/PluginProcessConnection.cpp: 15216 (WebKit::PluginProcessConnection::PluginProcessConnection): 15217 (WebKit::PluginProcessConnection::didReceiveMessage): 15218 (WebKit::PluginProcessConnection::didReceiveSyncMessage): 15219 (WebKit::PluginProcessConnection::didClose): 15220 (WebKit::PluginProcessConnection::didReceiveInvalidMessage): 15221 * WebProcess/Plugins/PluginProcessConnection.h: 15222 (WebKit::PluginProcessConnection::create): 15223 (WebKit::PluginProcessConnection::connection): 15224 * WebProcess/Plugins/PluginProcessConnectionManager.cpp: 15225 (WebKit::PluginProcessConnectionManager::initializeConnection): 15226 (WebKit::PluginProcessConnectionManager::getPluginProcessConnection): 15227 (WebKit::PluginProcessConnectionManager::pluginProcessCrashed): 15228 * WebProcess/Plugins/PluginProcessConnectionManager.h: 15229 * WebProcess/Plugins/PluginProxy.cpp: 15230 (WebKit::PluginProxy::geometryDidChange): 15231 (WebKit::PluginProxy::streamDidReceiveData): 15232 (WebKit::PluginProxy::manualStreamDidReceiveData): 15233 * WebProcess/Plugins/PluginProxy.h: 15234 * WebProcess/ResourceCache/WebResourceCacheManager.h: 15235 * WebProcess/Storage/StorageAreaMap.h: 15236 * WebProcess/WebConnectionToUIProcess.cpp: 15237 (WebKit::WebConnectionToUIProcess::encodeMessageBody): 15238 (WebKit::WebConnectionToUIProcess::decodeMessageBody): 15239 (WebKit::WebConnectionToUIProcess::messageSenderConnection): 15240 * WebProcess/WebConnectionToUIProcess.h: 15241 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 15242 (WebKit::WebChromeClient::runJavaScriptAlert): 15243 (WebKit::WebChromeClient::runJavaScriptConfirm): 15244 (WebKit::WebChromeClient::runJavaScriptPrompt): 15245 * WebProcess/WebCoreSupport/WebDatabaseManager.h: 15246 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15247 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 15248 * WebProcess/WebPage/DecoderAdapter.cpp: 15249 (WebKit::DecoderAdapter::decodeBytes): 15250 (WebKit::DecoderAdapter::decodeString): 15251 * WebProcess/WebPage/DecoderAdapter.h: 15252 * WebProcess/WebPage/DrawingArea.h: 15253 * WebProcess/WebPage/EncoderAdapter.cpp: 15254 (WebKit::EncoderAdapter::dataReference): 15255 (WebKit::EncoderAdapter::encodeBytes): 15256 (WebKit::EncoderAdapter::encodeString): 15257 * WebProcess/WebPage/EncoderAdapter.h: 15258 * WebProcess/WebPage/EventDispatcher.cpp: 15259 (WebKit::EventDispatcher::initializeConnection): 15260 * WebProcess/WebPage/EventDispatcher.h: 15261 * WebProcess/WebPage/LayerTreeHost.h: 15262 * WebProcess/WebPage/ViewGestureGeometryCollector.h: 15263 * WebProcess/WebPage/WebInspector.cpp: 15264 (WebKit::WebInspector::createInspectorPage): 15265 * WebProcess/WebPage/WebInspector.h: 15266 * WebProcess/WebPage/WebPage.cpp: 15267 (WebKit::WebPage::messageSenderConnection): 15268 (WebKit::WebPage::loadURL): 15269 (WebKit::WebPage::loadURLRequest): 15270 (WebKit::WebPage::loadDataImpl): 15271 (WebKit::WebPage::loadString): 15272 (WebKit::WebPage::loadData): 15273 (WebKit::WebPage::loadHTMLString): 15274 (WebKit::WebPage::loadAlternateHTMLString): 15275 (WebKit::WebPage::loadPlainTextString): 15276 (WebKit::WebPage::loadWebArchiveData): 15277 (WebKit::WebPage::postInjectedBundleMessage): 15278 (WebKit::WebPage::runJavaScriptInMainFrame): 15279 (WebKit::WebPage::getContentsAsMHTMLData): 15280 (WebKit::WebPage::getSelectionAsWebArchiveData): 15281 (WebKit::WebPage::getMainResourceDataOfFrame): 15282 (WebKit::WebPage::getResourceDataFromFrame): 15283 (WebKit::WebPage::getWebArchiveOfFrame): 15284 (WebKit::WebPage::didReceiveMessage): 15285 (WebKit::WebPage::didReceiveSyncMessage): 15286 (WebKit::WebPage::drawPagesToPDF): 15287 (WebKit::WebPage::savePDFToFileInDownloadsFolder): 15288 (WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication): 15289 * WebProcess/WebPage/WebPage.h: 15290 * WebProcess/WebPage/WebPage.messages.in: 15291 * WebProcess/WebPage/WebPageGroupProxy.h: 15292 * WebProcess/WebPage/mac/WebPageMac.mm: 15293 (WebKit::WebPage::platformInitialize): 15294 (WebKit::WebPage::registerUIProcessAccessibilityTokens): 15295 * WebProcess/WebProcess.cpp: 15296 (WebKit::WebProcess::initializeConnection): 15297 (WebKit::WebProcess::downloadProxyConnection): 15298 (WebKit::WebProcess::initializeWebProcess): 15299 (WebKit::WebProcess::ensureNetworkProcessConnection): 15300 (WebKit::WebProcess::didReceiveSyncMessage): 15301 (WebKit::WebProcess::didReceiveMessage): 15302 (WebKit::WebProcess::didClose): 15303 (WebKit::WebProcess::didReceiveInvalidMessage): 15304 (WebKit::WebProcess::postInjectedBundleMessage): 15305 (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): 15306 * WebProcess/WebProcess.h: 15307 * WebProcess/WebProcess.messages.in: 15308 * WebProcess/mac/WebProcessMac.mm: 15309 (WebKit::WebProcess::platformInitializeWebProcess): 15310 * config.h: 15311 153122013-12-30 Anders Carlsson <andersca@apple.com> 15313 15314 Move remaining IPC related files to Platform/IPC. 15315 15316 Rubber-stamped by Andreas Kling. 15317 15318 * Platform/IPC/ArgumentCoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h. 15319 * Platform/IPC/ArgumentCoders.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp. 15320 * Platform/IPC/ArgumentCoders.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h. 15321 * Platform/IPC/ArgumentDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp. 15322 * Platform/IPC/ArgumentDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h. 15323 * Platform/IPC/ArgumentEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp. 15324 * Platform/IPC/ArgumentEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h. 15325 * Platform/IPC/Arguments.h: Renamed from Source/WebKit2/Platform/CoreIPC/Arguments.h. 15326 * Platform/IPC/Attachment.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.cpp. 15327 * Platform/IPC/Attachment.h: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.h. 15328 * Platform/IPC/Connection.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.cpp. 15329 * Platform/IPC/Connection.h: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.h. 15330 * Platform/IPC/HandleMessage.h: Renamed from Source/WebKit2/Platform/CoreIPC/HandleMessage.h. 15331 * Platform/IPC/MessageDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp. 15332 * Platform/IPC/MessageDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.h. 15333 * Platform/IPC/MessageEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp. 15334 * Platform/IPC/MessageEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h. 15335 * Platform/IPC/MessageFlags.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageFlags.h. 15336 * Platform/IPC/MessageReceiver.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiver.h. 15337 * Platform/IPC/MessageReceiverMap.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp. 15338 * Platform/IPC/MessageReceiverMap.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h. 15339 * Platform/IPC/mac/ConnectionMac.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp. 15340 * Platform/IPC/mac/ImportanceAssertion.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h. 15341 * Platform/IPC/mac/MachPort.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/MachPort.h. 15342 * Platform/IPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp. 15343 * Platform/IPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp. 15344 * WebKit2.xcodeproj/project.pbxproj: 15345 153462013-12-30 Martin Robinson <mrobinson@igalia.com> 15347 15348 [GTK] [CMake] Parallel build sometimes fails when building libWebKit2APITestCore 15349 https://bugs.webkit.org/show_bug.cgi?id=126294 15350 15351 Reviewed by Daniel Bates. 15352 15353 * UIProcess/API/gtk/tests/CMakeLists.txt: Give libWebKit2APITestCore a dependency on 15354 WebKit2 so that it's always built before the auto-generated sources. 15355 153562013-12-30 Martin Robinson <mrobinson@igalia.com> 15357 15358 [CMake] [GTK] Add support for GObject introspection 15359 https://bugs.webkit.org/show_bug.cgi?id=126162 15360 15361 Reviewed by Daniel Bates. 15362 15363 * PlatformGTK.cmake: Add the GIR targets, split the installed headers list 15364 between WebKitWebExtension and the WebKit2 library. Update the headers list 15365 with new headers. 15366 153672013-12-30 Michał Pakuła vel Rutka <m.pakula@samsung.com> 15368 15369 [EFL][WK2] Replace ecore_main_loop_iterate with waitUntilTrue in ewk tests 15370 https://bugs.webkit.org/show_bug.cgi?id=125919 15371 15372 Reviewed by Gyuyoung Kim. 15373 15374 Using ecore_main_loop_iterate in while loop may result in tests hang-up when 15375 condition is not met. Replacing it with waitUntilTrue introduces a timer 15376 after which internal loop is canceled. This will cause test to fail instead 15377 of running infinitely. 15378 15379 * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: 15380 (TEST_F): 15381 * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: 15382 (TEST_F): 15383 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 15384 (TEST_F): 15385 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 15386 (EWK2ViewTest::onVibrate): 15387 (EWK2ViewTest::onCancelVibration): 15388 (EWK2ViewTest::loadVibrationHTMLString): 15389 (TEST_F): 15390 153912013-12-30 Carlos Garcia Campos <cgarcia@igalia.com> 15392 15393 [GTK] Split WebKit2APITests/TestWebKitWebView 15394 https://bugs.webkit.org/show_bug.cgi?id=126284 15395 15396 Reviewed by Philippe Normand. 15397 15398 WebKitWebView test is too big already making more difficult to 15399 handle timeouts and skipped tests. Split it in 3 by moving 15400 UIClient and auth tests to their own files. 15401 15402 * UIProcess/API/gtk/tests/GNUmakefile.am: 15403 * UIProcess/API/gtk/tests/TestAuthentication.cpp: Added. 15404 (testWebViewAuthenticationRequest): 15405 (testWebViewAuthenticationCancel): 15406 (testWebViewAuthenticationLoadCancelled): 15407 (testWebViewAuthenticationFailure): 15408 (testWebViewAuthenticationNoCredential): 15409 (testWebViewAuthenticationStorage): 15410 (testWebViewAuthenticationSuccess): 15411 (serverCallback): 15412 (beforeAll): 15413 (afterAll): 15414 * UIProcess/API/gtk/tests/TestUIClient.cpp: Added. 15415 (testWebViewCreateReadyClose): 15416 (checkMimeTypeForFilter): 15417 (testWebViewAllowModalDialogs): 15418 (testWebViewDisallowModalDialogs): 15419 (testWebViewJavaScriptDialogs): 15420 (testWebViewWindowProperties): 15421 (testWebViewMouseTarget): 15422 (testWebViewPermissionRequests): 15423 (testWebViewFileChooserRequest): 15424 (beforeAll): 15425 (afterAll): 15426 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: 15427 (beforeAll): 15428 (afterAll): 15429 154302013-12-29 Martin Robinson <mrobinson@igalia.com> 15431 15432 [GTK] [CMake] Convenience libraries that export API should be compiled with --whole-archive on Unix 15433 https://bugs.webkit.org/show_bug.cgi?id=126232 15434 15435 Reviewed by Gustavo Noronha Silva. 15436 15437 * PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that 15438 symbols are not omitted during final linking. 15439 154402013-12-26 Sam Weinig <sam@webkit.org> 15441 15442 Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair 15443 https://bugs.webkit.org/show_bug.cgi?id=126253 15444 15445 Reviewed by Anders Carlsson. 15446 15447 * Shared/APIArray.h: 15448 Update includes and make elementsOfType() a bit easier to read by using a typedef and some 15449 judicial indentation. 15450 15451 * Shared/FilterIterator.h: Moved to WTF. 15452 * Shared/IteratorPair.h: Moved to WTF. 15453 15454 * WebKit2.xcodeproj/project.pbxproj: 15455 Remove the two files. 15456 154572013-12-28 Kwang Yul Seo <skyul@company100.net> 15458 15459 [WK2][SOUP] Fix handling of cookies when network process is enabled 15460 https://bugs.webkit.org/show_bug.cgi?id=125576 15461 15462 Reviewed by Carlos Garcia Campos. 15463 15464 Initialize the network process with cookie accept policy, persistent 15465 storage path and type. Use 15466 WebContext::sendToNetworkingProcessRelaunchingIfNecessary instead of 15467 WebContext::sendToAllProcessesRelaunchingThemIfNecessary to send 15468 SetCookiePersistentStorage message. 15469 15470 * NetworkProcess/soup/NetworkProcessSoup.cpp: 15471 (WebKit::NetworkProcess::platformInitializeNetworkProcess): 15472 * Shared/Network/NetworkProcessCreationParameters.cpp: 15473 (WebKit::NetworkProcessCreationParameters::encode): 15474 (WebKit::NetworkProcessCreationParameters::decode): 15475 * Shared/Network/NetworkProcessCreationParameters.h: 15476 * UIProcess/soup/WebContextSoup.cpp: 15477 (WebKit::WebContext::platformInitializeNetworkProcess): 15478 * UIProcess/soup/WebCookieManagerProxySoup.cpp: 15479 (WebKit::WebCookieManagerProxy::setCookiePersistentStorage): 15480 * WebProcess/soup/WebProcessSoup.cpp: 15481 (WebKit::WebProcess::platformInitializeWebProcess): 15482 154832013-12-27 Daniel Bates <dabates@apple.com> 15484 15485 [iOS] Upstream WebCore/page changes 15486 https://bugs.webkit.org/show_bug.cgi?id=126180 15487 15488 Reviewed by Darin Adler. 15489 15490 * WebProcess/WebCoreSupport/WebChromeClient.h: 15491 * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: Added. 15492 * WebProcess/WebPage/WebPage.cpp: Include header <WebCore/HitTestResult.h>. 15493 154942013-12-27 Gavin Barraclough <barraclough@apple.com> 15495 15496 Merge PageVisibilityState & ViewState::IsVisible in WebKit2 15497 https://bugs.webkit.org/show_bug.cgi?id=126214 15498 15499 Reviewed by Alexey Proskuryakov. 15500 15501 WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility 15502 state, and the view state. Remove visibility state from the WebKit2 layer. The visibility 15503 state also tracks the prerender state - so split this out and handle it separately (a change 15504 we should make in WebCore, too). 15505 15506 Removing the redundancy also removes the ability from the API to set a fake visibility state 15507 (IsVisible tracks the actual visibility of the view). Through private API 15508 (WKPageSetVisibilityState) a client could previously request the view be reported as hidden or 15509 visible, but this didn't really work - the override was not enforced and the API may reset the 15510 state at an arbitrary point. The mechanism is only used by testing code, which instead should 15511 actually update the view visibility (this tests more of the actual visibility mechanisms used 15512 by the browser). The one aspect of the API relied on by existing clients is the ability to 15513 initialize a hidden view as prerender - continue to support this specific functionality via 15514 WKPageSetVisibilityState, to maintain backwards compatibility. 15515 15516 - WebKit2 - remove internal state that tracks page visibility separately from the view state 15517 visibility. For backwards compatibility continue to support the WKPageSetVisibilityState API, 15518 but only to initialize the state to prerender. 15519 15520 * UIProcess/API/C/WKPage.cpp: 15521 (WKPageSetVisibilityState): 15522 - only support initializing the visibility state to prerender. 15523 * UIProcess/WebPageProxy.cpp: 15524 (WebKit::WebPageProxy::WebPageProxy): 15525 - remove m_visibilityState 15526 (WebKit::WebPageProxy::initializeWebPage): 15527 - no need to send initial visibility state (this is sent as a part of the creation parameters). 15528 (WebKit::WebPageProxy::viewStateDidChange): 15529 - no need to send visibility state change (this is sent as a part of view state). 15530 (WebKit::WebPageProxy::setVisibilityStatePrerender): 15531 - setVisibilityState -> setVisibilityStatePrerender. 15532 * UIProcess/WebPageProxy.h: 15533 - remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender. 15534 * WebProcess/WebPage/WebPage.cpp: 15535 (WebKit::WebPage::WebPage): 15536 - added call to updateVisibilityState. 15537 (WebKit::WebPage::setViewIsVisible): 15538 - added call to updateVisibilityState. 15539 (WebKit::WebPage::updateVisibilityState): 15540 - previously setVisibilityState, updates the page visibility state according to the view state. 15541 (WebKit::WebPage::setVisibilityStatePrerender): 15542 - set visibility state to prerender. 15543 * WebProcess/WebPage/WebPage.h: 15544 - remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender. 15545 * WebProcess/WebPage/WebPage.messages.in: 15546 - SetVisibilityState -> SetVisibilityStatePrerender. 15547 155482013-12-27 Zan Dobersek <zdobersek@igalia.com> 15549 15550 [GTK] Unnecessary code is built into WebKitPluginProcess 15551 https://bugs.webkit.org/show_bug.cgi?id=126259 15552 15553 Reviewed by Carlos Garcia Campos. 15554 15555 * GNUmakefile.list.am: Stop building ChildProcessProxy and ProcessLauncher classes into WebKitPluginProcess. 15556 That code is not required in the plugin process, as one would expect. 15557 155582013-12-27 Ryuan Choi <ryuan.choi@samsung.com> 15559 15560 [EFL][WK2] MiniBrowser scale up/down infinitely after r161087 15561 https://bugs.webkit.org/show_bug.cgi?id=126254 15562 15563 Reviewed by Gyuyoung Kim. 15564 15565 After r161087, contentScaleFactor of WebView is synced with pageScaleFactor 15566 of WebPage. It means that WKViewGetContentScaleFactor might not be same 15567 with PageViewportController's current scale value until received PageScaleFactorDidChange. 15568 15569 * UIProcess/efl/PageViewportControllerClientEfl.cpp: 15570 (WebKit::PageViewportControllerClientEfl::setViewportPosition): 15571 Use controller's current scale just to update and sync the position. 15572 155732013-12-26 Martin Robinson <mrobinson@igalia.com> 15574 15575 Small build fix for the GTK+ CMake port 15576 15577 * UIProcess/API/gtk/tests/CMakeLists.txt: Make the way the output directory is specified similar 15578 to the WebKit1 version of these tests, so that it is more difficult to inadvertently specify the 15579 wrong directory. 15580 155812013-12-26 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 15582 15583 [WK2][CoordinatedGraphics] Removing duplicate scale information from WebVIew.cpp 15584 https://bugs.webkit.org/show_bug.cgi?id=126243 15585 15586 Reviewed by Benjamin Poulain. 15587 15588 The scale factor of the WebView must reflect the same information present in 15589 WebPageProxy. 15590 Previously, in WebView.cpp, there was a m_contentScaleFactor member, which adds 15591 information duplication and needs to be synchronizing with pageScaleFactor in 15592 WebPageProxy. We can avoid this by just making WebView access and set WebPageProxy's 15593 pageScaleFactor directly. 15594 15595 * UIProcess/CoordinatedGraphics/WebView.cpp: 15596 (WebKit::WebView::WebView): 15597 (WebKit::WebView::setContentScaleFactor): 15598 (WebKit::WebView::transformToScene): 15599 (WebKit::WebView::visibleContentsSize): 15600 * UIProcess/CoordinatedGraphics/WebView.h: 15601 (WebKit::WebView::contentScaleFactor): 15602 156032013-12-25 Commit Queue <commit-queue@webkit.org> 15604 15605 Unreviewed, rolling out r161033 and r161074. 15606 http://trac.webkit.org/changeset/161033 15607 http://trac.webkit.org/changeset/161074 15608 https://bugs.webkit.org/show_bug.cgi?id=126240 15609 15610 Oliver says that a rollout would be better (Requested by ap on 15611 #webkit). 15612 15613 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 15614 (WebKit::NPJSObject::setProperty): 15615 156162013-12-25 Brady Eidson <beidson@apple.com> 15617 15618 DatabaseProcess: Implement version changing 15619 https://bugs.webkit.org/show_bug.cgi?id=126099 15620 15621 Reviewed by Sam Weinig. 15622 15623 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 15624 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Add logging. 15625 (WebKit::DatabaseProcessIDBConnection::openTransaction): Ditto. 15626 (WebKit::DatabaseProcessIDBConnection::beginTransaction): Ditto. 15627 (WebKit::DatabaseProcessIDBConnection::commitTransaction): Ditto. 15628 (WebKit::DatabaseProcessIDBConnection::resetTransaction): Ditto. 15629 (WebKit::DatabaseProcessIDBConnection::rollbackTransaction): Ditto. 15630 (WebKit::DatabaseProcessIDBConnection::changeDatabaseVersion): Implement this! 15631 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 15632 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 15633 15634 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 15635 (WebKit::UniqueIDBDatabase::shutdown): Clean up all requests, and also cleanup the backing store 15636 on the database queue. 15637 (WebKit::UniqueIDBDatabase::shutdownBackingStore): Shutdown the backing store. 15638 (WebKit::UniqueIDBDatabase::didShutdownBackingStore): 15639 (WebKit::UniqueIDBDatabase::changeDatabaseVersion): Pass along the new version to the database queue. 15640 (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion): 15641 (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore): Set the new version in the backing store. 15642 (WebKit::UniqueIDBDatabase::postMainThreadTask): Add a ref() to keep the database alive incase it is being 15643 shutdown on the main thread. 15644 (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Balance the ref() from postMainThreadTask, and 15645 accept an empty mainThreadTask queue. 15646 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 15647 15648 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Add changeDatabaseVersion. 15649 15650 Flesh out SQLiteIDBTransaction to actually operation on a SQLiteTransaction in a real SQLiteDatabase: 15651 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 15652 (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction): 15653 (WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction): 15654 (WebKit::SQLiteIDBTransaction::begin): 15655 (WebKit::SQLiteIDBTransaction::commit): 15656 (WebKit::SQLiteIDBTransaction::reset): 15657 (WebKit::SQLiteIDBTransaction::rollback): 15658 (WebKit::SQLiteIDBTransaction::inProgress): 15659 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 15660 (WebKit::SQLiteIDBTransaction::create): 15661 (WebKit::SQLiteIDBTransaction::mode): 15662 15663 Rename m_metadataDB to m_sqliteDB, 15664 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 15665 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): 15666 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): 15667 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath): Disable threading checks on the DB 15668 as work queues can change threads. 15669 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): 15670 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): 15671 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction): 15672 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion): After validating the transaction, actually 15673 update the version number on disk. 15674 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 15675 15676 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 15677 (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Make sure to abort in-flight requests. 15678 (WebKit::WebIDBServerConnection::changeDatabaseVersion): 15679 (WebKit::WebIDBServerConnection::didChangeDatabaseVersion): 15680 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 15681 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 15682 156832013-12-25 Martin Robinson <mrobinson@igalia.com> 15684 15685 [GTK] [CMake] Fix CMake style errors in Source/WebKit2/PlatformGTK.cmake 15686 https://bugs.webkit.org/show_bug.cgi?id=126221 15687 15688 Reviewed by Gustavo Noronha Silva. 15689 15690 * PlatformGTK.cmake: Fix CMake style errors. 15691 156922013-12-25 Martin Robinson <mrobinson@igalia.com> 15693 15694 [GTK] [CMake] Clean up generated sources directories 15695 https://bugs.webkit.org/show_bug.cgi?id=126216 15696 15697 Reviewed by Gustavo Noronha Silva. 15698 15699 * PlatformGTK.cmake: Use the new derived sources variables. 15700 * UIProcess/API/gtk/tests/CMakeLists.txt: Ditto. 15701 157022013-12-25 Philippe Normand <pnormand@igalia.com> 15703 15704 Unreviewed, GTK build fix after r161063 15705 15706 * GNUmakefile.am: Use locally built .gir dependencies when 15707 building the WebExtensions gir file. 15708 157092013-12-25 Carlos Garcia Campos <cgarcia@igalia.com> 15710 15711 [GTK] Fix warnings when generating WebExtensions gobject-instrospection files 15712 https://bugs.webkit.org/show_bug.cgi?id=126225 15713 15714 Reviewed by Philippe Normand. 15715 15716 Add transfer annotation to webkit_web_page_get_dom_document() and 15717 document webkit_web_page_get_main_frame(). 15718 15719 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 15720 157212013-12-25 Carlos Garcia Campos <cgarcia@igalia.com> 15722 15723 [GTK] Missing introspection information for WebExtensions 15724 https://bugs.webkit.org/show_bug.cgi?id=122407 15725 15726 Reviewed by Philippe Normand. 15727 15728 Generate WebKit2WebExtension-3.0.gir with the WebExtensions API 15729 and move the DOM bindings API from WebKit2-3.0.gir to 15730 WebKit2WebExtension-3.0.gir. 15731 15732 * GNUmakefile.am: 15733 157342013-12-24 Ryosuke Niwa <rniwa@webkit.org> 15735 15736 32-bit Mac build fix attempt after r161045. 15737 15738 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 15739 (WebKit::windowMap): 15740 157412013-12-22 Sam Weinig <sam@webkit.org> 15742 15743 [WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed 15744 https://bugs.webkit.org/show_bug.cgi?id=126144 15745 15746 Reviewed by Anders Carlsson. 15747 15748 * DatabaseProcess/DatabaseProcess.cpp: 15749 (WebKit::DatabaseProcess::shared): 15750 * DatabaseProcess/DatabaseProcess.h: 15751 * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp: 15752 (WebKit::NetworkBlobRegistry::shared): 15753 * NetworkProcess/NetworkProcess.cpp: 15754 (WebKit::NetworkProcess::shared): 15755 (WebKit::NetworkProcess::downloadManager): 15756 * NetworkProcess/NetworkProcess.h: 15757 * NetworkProcess/NetworkProcessPlatformStrategies.cpp: 15758 (WebKit::NetworkProcessPlatformStrategies::initialize): 15759 * NetworkProcess/mac/RemoteNetworkingContext.mm: 15760 (WebKit::privateBrowsingStorageSessionIdentifierBase): 15761 * Platform/CoreIPC/Connection.cpp: 15762 (CoreIPC::Connection::SyncMessageState::syncMessageStateMap): 15763 (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex): 15764 * PluginProcess/PluginProcess.cpp: 15765 (WebKit::PluginProcess::shared): 15766 * PluginProcess/PluginProcess.h: 15767 * PluginProcess/mac/PluginProcessMac.mm: 15768 (WebKit::fullscreenWindowTracker): 15769 * Shared/ConnectionStack.cpp: 15770 (WebKit::ConnectionStack::shared): 15771 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 15772 (WebKit::initializedNetscapePluginModules): 15773 * Shared/WebContextMenuItem.cpp: 15774 (WebKit::WebContextMenuItem::separatorItem): 15775 * Shared/WebPreferencesStore.cpp: 15776 (WebKit::boolTestRunnerOverridesMap): 15777 * Shared/mac/CookieStorageShim.cpp: 15778 (WebKit::CookieStorageShim::shared): 15779 * Shared/mac/CookieStorageShim.h: 15780 (WebKit::CookieStorageShim::CookieStorageShim): 15781 * UIProcess/Plugins/PluginProcessManager.cpp: 15782 (WebKit::PluginProcessManager::shared): 15783 * UIProcess/Plugins/PluginProcessManager.h: 15784 * UIProcess/WebContext.cpp: 15785 (WebKit::contexts): 15786 * UIProcess/WebDatabaseManagerProxy.cpp: 15787 (WebKit::WebDatabaseManagerProxy::originKey): 15788 (WebKit::WebDatabaseManagerProxy::originQuotaKey): 15789 (WebKit::WebDatabaseManagerProxy::originUsageKey): 15790 (WebKit::WebDatabaseManagerProxy::databaseDetailsKey): 15791 (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey): 15792 (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey): 15793 (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey): 15794 (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey): 15795 * UIProcess/WebInspectorProxy.cpp: 15796 (WebKit::WebInspectorPageGroups::shared): 15797 * UIProcess/WebPageGroup.cpp: 15798 (WebKit::webPageGroupMap): 15799 * UIProcess/WebPageProxy.cpp: 15800 (WebKit::ExceededDatabaseQuotaRecords::shared): 15801 (WebKit::WebPageProxy::executeEditCommand): 15802 * UIProcess/WebProcessProxy.cpp: 15803 (WebKit::globalPageMap): 15804 * UIProcess/cf/WebBackForwardListCF.cpp: 15805 (WebKit::SessionHistoryCurrentVersion): 15806 (WebKit::createEmptySessionHistoryDictionary): 15807 (WebKit::WebBackForwardList::createCFDictionaryRepresentation): 15808 (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): 15809 (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation): 15810 (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation): 15811 (WebKit::extractBackForwardListEntriesFromArray): 15812 * UIProcess/cf/WebPageProxyCF.cpp: 15813 (WebKit::WebPageProxy::sessionStateData): 15814 (WebKit::WebPageProxy::restoreFromSessionStateData): 15815 * UIProcess/mac/WebPageProxyMac.mm: 15816 (WebKit::WebPageProxy::standardUserAgent): 15817 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 15818 (WebKit::sharedDatabaseBackendMap): 15819 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 15820 (WebKit::generateServerConnectionIdentifier): 15821 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: 15822 (WebKit::WKDOMNodeCache): 15823 (WebKit::WKDOMRangeCache): 15824 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: 15825 (WebKit::domHandleCache): 15826 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: 15827 (WebKit::domHandleCache): 15828 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: 15829 (WebKit::allExtensions): 15830 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp: 15831 (WebKit::allWorlds): 15832 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 15833 (WebKit::globalExceptionString): 15834 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: 15835 (WebKit::windowMap): 15836 * WebProcess/Storage/StorageNamespaceImpl.cpp: 15837 (WebKit::localStorageNamespaceMap): 15838 * WebProcess/WebCoreSupport/WebEditorClient.cpp: 15839 (WebKit::WebEditorClient::didBeginEditing): 15840 (WebKit::WebEditorClient::respondToChangedContents): 15841 (WebKit::WebEditorClient::respondToChangedSelection): 15842 (WebKit::WebEditorClient::didEndEditing): 15843 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 15844 (WebKit::WebFrameLoaderClient::shouldFallBack): 15845 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 15846 (WebKit::WebPlatformStrategies::initialize): 15847 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 15848 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 15849 (WebKit::idToHistoryItemMap): 15850 (WebKit::historyItemToIDMap): 15851 * WebProcess/WebProcess.cpp: 15852 (WebKit::WebProcess::downloadManager): 15853 * WebProcess/WebProcess.h: 15854 * config.h: 15855 158562013-12-23 Tim Horton <timothy_horton@apple.com> 15857 15858 Fix the iOS build after r161013 and r160672. 15859 15860 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 15861 (WebKit::updateCustomAppearance): 15862 * Shared/mac/RemoteLayerTreeTransaction.mm: 15863 158642013-12-23 Ryuan Choi <ryuan.choi@samsung.com> 15865 15866 Unreviewed build fix for EFL after r161007 15867 15868 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 15869 (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): 15870 Changed the timeout parameter to std::chrono::milliseconds 15871 158722013-12-23 Oliver Hunt <oliver@apple.com> 15873 15874 Refactor PutPropertySlot to be aware of custom properties 15875 https://bugs.webkit.org/show_bug.cgi?id=126187 15876 15877 Reviewed by msaboff. 15878 15879 Update for new method signatures. 15880 15881 * WebProcess/Plugins/Netscape/NPJSObject.cpp: 15882 (WebKit::NPJSObject::setProperty): 15883 158842013-12-23 Zan Dobersek <zdobersek@igalia.com> 15885 15886 [GTK][WK2] Simplify ProcessExecutablePathGtk 15887 https://bugs.webkit.org/show_bug.cgi?id=126173 15888 15889 Reviewed by Martin Robinson. 15890 15891 Don't store process name strings in global variables -- each of the names is only used in the relevant 15892 function, so the string can be directly passed into the findWebKitProcess function call. 15893 15894 Simplify the findWebKitProcess function. Make the execDirectory variable static so that g_getenv is only 15895 called once, as it's not expected for the WEBKIT_EXEC_PATH environment variable to change during the runtime. 15896 15897 Introduce the getExecutablePath helper function that gets the current executable path and, if non-null, returns 15898 the directory path of that executable. The helper function preserves the small performance improvement of querying 15899 and processing the executable path only once. 15900 The return value of getExecutablePath is stored in a static variable and is used to construct the process path 15901 if the executable path was successfully retrieved. 15902 15903 * Shared/gtk/ProcessExecutablePathGtk.cpp: 15904 (WebKit::getExecutablePath): 15905 (WebKit::findWebKitProcess): 15906 (WebKit::executablePathOfWebProcess): 15907 (WebKit::executablePathOfPluginProcess): 15908 (WebKit::executablePathOfNetworkProcess): 15909 159102013-12-23 Zan Dobersek <zdobersek@igalia.com> 15911 15912 Unreviewed build fix for GTK and EFL after r161007. 15913 15914 * UIProcess/DrawingAreaProxyImpl.cpp: 15915 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState): 15916 Use std::chrono::milliseconds instead of double for the timeout parameter to 15917 CoreIPC::Connection::waitForAndDispatchImmediately. 15918 159192013-12-23 Gustavo Noronha Silva <gns@gnome.org> 15920 15921 [GTK] [CMake] Add support for generating gtkdoc 15922 https://bugs.webkit.org/show_bug.cgi?id=116376 15923 15924 Reviewed by Martin Robinson. 15925 15926 * PlatformGTK.cmake: make generated API files go to DerivedSources/WebKit2, to 15927 match the autotools build and gtkdoc.py's expectation. 15928 159292013-12-23 Martin Robinson <mrobinson@igalia.com> 15930 15931 [GTK] [CMake] Build the WebKit2 GObject API tests 15932 https://bugs.webkit.org/show_bug.cgi?id=125683 15933 15934 Reviewed by Daniel Bates. 15935 15936 * UIProcess/API/gtk/tests/CMakeLists.txt: Added. 15937 159382013-12-23 Tim Horton <timothy_horton@apple.com> 15939 15940 REGRESSION (r160672): Random remote layers are getting shadows 15941 https://bugs.webkit.org/show_bug.cgi?id=126126 15942 15943 Reviewed by Anders Carlsson. 15944 15945 In http://trac.webkit.org/changeset/160672, we unconditionally 15946 check m_properties.customAppearance without regard for whether it 15947 has ever been initialized. This would result in sending an uninitialized 15948 custom appearance to the UI process, which could end up requesting a shadow. 15949 15950 * Shared/mac/RemoteLayerTreeTransaction.mm: 15951 (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): 15952 Initialize LayerProperties to the CoreAnimation defaults. 15953 15954 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 15955 (PlatformCALayerRemote::PlatformCALayerRemote): 15956 Remove wrongly-placed default initialization of contentsScale; 15957 there's no reason to send it across the wire for every new layer 15958 if it's left at the default. 15959 159602013-12-23 Anders Carlsson <andersca@apple.com> 15961 15962 Use std::chrono::milliseconds for message wait timeouts in WebKit2 15963 https://bugs.webkit.org/show_bug.cgi?id=126168 15964 15965 Reviewed by Sam Weinig. 15966 15967 * Platform/CoreIPC/Connection.cpp: 15968 (CoreIPC::Connection::waitForMessage): 15969 * Platform/CoreIPC/Connection.h: 15970 (CoreIPC::Connection::waitForAndDispatchImmediately): 15971 * UIProcess/API/mac/WKView.mm: 15972 (-[WKView forceAsyncDrawingAreaSizeUpdate:]): 15973 (-[WKView waitForAsyncDrawingAreaSizeUpdate]): 15974 * UIProcess/DrawingAreaProxy.cpp: 15975 * UIProcess/DrawingAreaProxy.h: 15976 (WebKit::DrawingAreaProxy::didUpdateBackingStoreStateTimeout): 15977 (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate): 15978 * UIProcess/WebPageProxy.cpp: 15979 (WebKit::WebPageProxy::waitForDidUpdateViewState): 15980 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 15981 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 15982 (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate): 15983 159842013-12-23 Anders Carlsson <andersca@apple.com> 15985 15986 Include <condition_variable>, not <thread>. 15987 15988 * Platform/CoreIPC/Connection.h: 15989 * Shared/BlockingResponseMap.h: 15990 * UIProcess/API/mac/WKPrintingView.h: 15991 159922013-12-23 Lucas Forschler <lforschler@apple.com> 15993 15994 <rdar://problem/15682948> Update copyright strings 15995 15996 Reviewed by Dan Bernstein 15997 15998 * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: 15999 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: 16000 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: 16001 * Info.plist: 16002 * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist: 16003 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist: 16004 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: 16005 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: 16006 * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist: 16007 * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: 16008 * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist: 16009 * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist: 16010 * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist: 16011 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: 16012 * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: 16013 160142013-12-23 Anders Carlsson <andersca@apple.com> 16015 16016 Convert ThreadCondition in WebKit2 over to std::condition_variable 16017 https://bugs.webkit.org/show_bug.cgi?id=126161 16018 16019 Reviewed by Sam Weinig. 16020 16021 * Platform/CoreIPC/Connection.cpp: 16022 (CoreIPC::Connection::waitForMessage): 16023 (CoreIPC::Connection::processIncomingMessage): 16024 * Platform/CoreIPC/Connection.h: 16025 * Shared/BlockingResponseMap.h: 16026 (BlockingResponseMap::waitForResponse): 16027 (BlockingResponseMap::didReceiveResponse): 16028 (BlockingResponseMap::cancel): 16029 * UIProcess/API/mac/WKPrintingView.h: 16030 * UIProcess/API/mac/WKPrintingView.mm: 16031 (pageDidDrawToPDF): 16032 (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): 16033 (prepareDataForPrintingOnSecondaryThread): 16034 (-[WKPrintingView knowsPageRange:]): 16035 160362013-12-22 Martin Robinson <mrobinson@igalia.com> 16037 16038 [GTK][CMake] libtool-compatible soversion calculation 16039 https://bugs.webkit.org/show_bug.cgi?id=125511 16040 16041 Reviewed by Gustavo Noronha Silva. 16042 16043 * CMakeLists.txt: Use the POPULATE_LIBRARY_VERSION macro and the 16044 library-specific version information. 16045 160462013-12-23 Gustavo Noronha Silva <gns@gnome.org> 16047 16048 [GTK] [CMake] Generate pkg-config files 16049 https://bugs.webkit.org/show_bug.cgi?id=125685 16050 16051 Reviewed by Martin Robinson. 16052 16053 * PlatformGTK.cmake: generate webkit2gtk.pc. 16054 160552013-12-23 Carlos Garcia Campos <cgarcia@igalia.com> 16056 16057 [GTK] Build with network process unconditionally 16058 https://bugs.webkit.org/show_bug.cgi?id=126128 16059 16060 Reviewed by Martin Robinson. 16061 16062 Build always with the network process enabled and decide whether 16063 to use it or not using an environment variable. This makes a lot 16064 easier to work on the network process and also to switch between 16065 using it or not. 16066 16067 * GNUmakefile.am: Make sure we always include the WebKit2Prefix.h. 16068 * UIProcess/API/gtk/WebKitWebContext.cpp: 16069 (createDefaultWebContext): Use the network process when 16070 WEBKIT_USE_NETWORK_PROCESS environment variable is present. 16071 * WebKit2Prefix.h: Always enable network process for GTK port. 16072 160732013-12-23 Brian Holt <brian.holt@samsung.com> 16074 16075 [WK2] Implement platform specific Resource Response for SOUP 16076 https://bugs.webkit.org/show_bug.cgi?id=125422 16077 16078 Reviewed by Martin Robinson. 16079 16080 SOUP specific Resource Response implementation for the Network 16081 Process. 16082 16083 * NetworkProcess/NetworkResourceLoader.cpp: 16084 (WebKit::NetworkResourceLoader::continueWillSendRequest): 16085 * WebProcess/Network/WebResourceLoader.cpp: 16086 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): 16087 160882013-12-22 Kwang Yul Seo <skyul@company100.net> 16089 16090 [WK2][SOUP] WebContext::allowSpecificHTTPSCertificateForHost does not work correctly when m_usesNetworkProcess is false 16091 https://bugs.webkit.org/show_bug.cgi?id=125564 16092 16093 Reviewed Carlos Garcia Campos. 16094 16095 WebContext::allowSpecificHTTPSCertificateForHost should send 16096 AllowSpecificHTTPSCertificateForHost to the web process when 16097 m_usesNetworkProcess is false. Also we shouldn't guard 16098 WebProcess::allowSpecificHTTPSCertificateForHost with 16099 !ENABLE(NETWORK_PROCESS) because we need this method when 16100 m_usesNetworkProcess is false. 16101 16102 * UIProcess/WebContext.cpp: 16103 (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): 16104 * WebProcess/WebProcess.h: 16105 * WebProcess/WebProcess.messages.in: 16106 * WebProcess/soup/WebProcessSoup.cpp: 16107 161082013-12-22 Martin Robinson <mrobinson@igalia.com> 16109 16110 [GTK][CMake] Integrate GResource for inspector files (and others?) 16111 https://bugs.webkit.org/show_bug.cgi?id=125569 16112 16113 Reviewed by Gustavo Noronha Silva. 16114 16115 * GNUmakefile.am: Use the newly added static WebKit2InspectorGResourceBundle.xml 16116 instead of generating the same file each time. 16117 * PlatformGTK.cmake: Add support for building the GResource bundles into WebKit2. 16118 * UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml: Added. 16119 161202013-12-22 Csaba Osztrogonác <ossy@webkit.org> 16121 16122 URTBF after r160971 to try to make EFL build again. 16123 16124 * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: 16125 (WebKit::internalError): 16126 161272013-12-22 Carlos Garcia Campos <cgarcia@igalia.com> 16128 16129 Unreviewed. Fix GTK+ build after r160971 and r160969. 16130 16131 * GNUmakefile.list.am: 16132 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: 16133 (webkit_file_chooser_request_select_files): 16134 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 16135 (didReceiveWebViewMessageFromInjectedBundle): 16136 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 16137 (webkitURISchemeRequestCreate): 16138 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: 16139 * UIProcess/API/gtk/WebKitWebResource.cpp: 16140 (webkit_web_resource_get_data): 16141 * UIProcess/soup/WebSoupRequestManagerClient.h: 16142 * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: 16143 (WebKit::internalError): 16144 161452013-12-21 Ryuan Choi <ryuan.choi@samsung.com> 16146 16147 Unreviewed build fix attempt on EFL port after r160971 and r160969 16148 16149 * CMakeLists.txt: 16150 * UIProcess/soup/WebSoupRequestManagerClient.cpp: 16151 (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): 16152 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 16153 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): 16154 161552013-12-21 Sam Weinig <sam@webkit.org> 16156 16157 [WK2] Rename WebError to API::Error 16158 https://bugs.webkit.org/show_bug.cgi?id=126125 16159 16160 Reviewed by Anders Carlsson. 16161 16162 * Shared/API/c/WKError.cpp: 16163 (WKErrorGetTypeID): 16164 (WKErrorCopyWKErrorDomain): 16165 * Shared/API/c/WKSharedAPICast.h: 16166 (WebKit::toAPI): 16167 * Shared/API/c/cf/WKErrorCF.cpp: 16168 (WKErrorCreateWithCFError): 16169 * Shared/APIError.cpp: Copied from Source/WebKit2/Shared/WebError.cpp. 16170 (API::Error::webKitErrorDomain): 16171 (API::Error::encode): 16172 (API::Error::decode): 16173 * Shared/APIError.h: Copied from Source/WebKit2/Shared/WebError.h. 16174 (API::Error::create): 16175 (API::Error::domain): 16176 (API::Error::failingURL): 16177 (API::Error::localizedDescription): 16178 (API::Error::Error): 16179 * Shared/Cocoa/WKNSError.h: 16180 (WebKit::wrapper): 16181 * Shared/Cocoa/WKNSError.mm: 16182 (-[WKNSError _web_createTarget]): 16183 * Shared/UserData.cpp: 16184 (WebKit::UserData::encode): 16185 (WebKit::UserData::decode): 16186 * Shared/UserMessageCoders.h: 16187 (WebKit::UserMessageEncoder::baseEncode): 16188 (WebKit::UserMessageDecoder::baseDecode): 16189 * Shared/WebError.cpp: Removed. 16190 * Shared/WebError.h: Removed. 16191 * UIProcess/AutoCorrectionCallback.h: 16192 (WebKit::AutocorrectionDataCallback::invalidate): 16193 * UIProcess/GenericCallback.h: 16194 (WebKit::VoidCallback::invalidate): 16195 (WebKit::GenericCallback::invalidate): 16196 (WebKit::ComputedPagesCallback::invalidate): 16197 (WebKit::ImageCallback::invalidate): 16198 * UIProcess/WebPageProxy.cpp: 16199 (WebKit::WebPageProxy::printFinishedCallback): 16200 * UIProcess/WebPageProxy.h: 16201 (WebKit::ValidateCommandCallback::invalidate): 16202 (WebKit::GestureCallback::invalidate): 16203 (WebKit::TouchesCallback::invalidate): 16204 * WebKit2.xcodeproj/project.pbxproj: 16205 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 16206 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 16207 * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: 16208 (WebKit::blockedError): 16209 (WebKit::cannotShowURLError): 16210 (WebKit::interruptedForPolicyChangeError): 16211 (WebKit::cannotShowMIMETypeError): 16212 (WebKit::pluginWillHandleLoadError): 16213 (WebKit::internalError): 16214 162152013-12-20 Sam Weinig <sam@webkit.org> 16216 16217 [WK2] Rename WebURL to API::URL 16218 https://bugs.webkit.org/show_bug.cgi?id=126100 16219 16220 Reviewed by Anders Carlsson. 16221 16222 * Shared/API/c/WKSharedAPICast.h: 16223 (WebKit::toURLRef): 16224 (WebKit::toCopiedURLAPI): 16225 * Shared/API/c/WKURL.cpp: 16226 (WKURLGetTypeID): 16227 (WKURLCreateWithUTF8CString): 16228 (WKURLCreateWithBaseURL): 16229 * Shared/API/c/cf/WKURLCF.mm: 16230 (WKURLCreateWithCFURL): 16231 * Shared/APIURL.h: Copied from Source/WebKit2/Shared/WebURL.h. 16232 (API::URL::create): 16233 (API::URL::string): 16234 (API::URL::host): 16235 (API::URL::protocol): 16236 (API::URL::path): 16237 (API::URL::lastPathComponent): 16238 (API::URL::encode): 16239 (API::URL::decode): 16240 (API::URL::URL): 16241 * Shared/Cocoa/WKNSURL.h: 16242 (WebKit::wrapper): 16243 * Shared/Cocoa/WKNSURL.mm: 16244 (-[WKNSURL _web_createTarget]): 16245 * Shared/Plugins/Netscape/PluginInformation.cpp: 16246 (WebKit::createPluginInformationDictionary): 16247 * Shared/UserData.cpp: 16248 (WebKit::UserData::encode): 16249 (WebKit::UserData::decode): 16250 * Shared/UserMessageCoders.h: 16251 (WebKit::UserMessageEncoder::baseEncode): 16252 (WebKit::UserMessageDecoder::baseDecode): 16253 * Shared/WebArchiveResource.h: 16254 * Shared/WebURL.h: Removed. 16255 * UIProcess/WebFrameProxy.cpp: 16256 (WebKit::WebFrameProxy::getResourceData): 16257 * UIProcess/WebFrameProxy.h: 16258 * UIProcess/WebIconDatabase.cpp: 16259 (WebKit::WebIconDatabase::didChangeIconForPageURL): 16260 (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL): 16261 * UIProcess/WebIconDatabaseClient.cpp: 16262 (WebKit::WebIconDatabaseClient::didChangeIconForPageURL): 16263 (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL): 16264 * UIProcess/WebIconDatabaseClient.h: 16265 * UIProcess/WebOpenPanelResultListenerProxy.cpp: 16266 (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): 16267 * UIProcess/WebPageProxy.cpp: 16268 (WebKit::WebPageProxy::getResourceDataFromFrame): 16269 * UIProcess/WebPageProxy.h: 16270 * WebKit2.xcodeproj/project.pbxproj: 16271 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 16272 162732013-12-21 Carlos Garcia Campos <cgarcia@igalia.com> 16274 16275 [GTK] Test /webkit2/WebKitWebResource/mime-type fails when run after /webkit2/WebKitWebView/resources 16276 https://bugs.webkit.org/show_bug.cgi?id=126119 16277 16278 Reviewed by Martin Robinson. 16279 16280 The problem is that when the blank.ico resource is loaded from the 16281 disk cache, the mime type is null, because the soup cache doesn't 16282 cache sniffed mime types. This doesn't happen when a resource is 16283 loaded form the memory cache, because the ResourceResponse is 16284 cached, not only the headers. I think the disk cache should also 16285 cache the sniffed content type, but that needs to be done in 16286 soup. For now we can workaround the issue in the unit test by 16287 making sure that resources that can be cached, also include the 16288 Content-Type header, this way the mime type won't be sniffed and 16289 it will be cached as a HTTP header in the disk cache. 16290 16291 * UIProcess/API/gtk/tests/TestResources.cpp: 16292 (serverCallback): Add Content-Type header for resources that can 16293 be cached. 16294 162952013-12-21 Carlos Garcia Campos <cgarcia@igalia.com> 16296 16297 REGRESSION(r160909): [GTK] Tests /webkit2/WebKitWebView/default-menu and /webkit2/WebKitSettings/webkit-settings fail 16298 https://bugs.webkit.org/show_bug.cgi?id=126117 16299 16300 Reviewed by Martin Robinson. 16301 16302 In r160909 the fullscreen setting default value was changed, but 16303 the unit tests relaying on the default value were not updated 16304 accordingly. 16305 16306 * UIProcess/API/gtk/tests/TestContextMenu.cpp: 16307 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 16308 (testWebKitSettings): 16309 163102013-12-20 Jaehun Lim <ljaehun.lim@samsung.com> 16311 16312 Unreviewed build fix after r160939 16313 16314 Add ENABLE(CUSTOM_PROTOCOLS) guard. 16315 16316 * UIProcess/WebContext.cpp: 16317 163182013-12-20 Simon Fraser <simon.fraser@apple.com> 16319 16320 Change "threaded scrolling" terminology to "asynchronous scrolling" 16321 https://bugs.webkit.org/show_bug.cgi?id=126094 16322 16323 Reviewed by Tim Horton. 16324 16325 Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change 16326 references to "main thread scrolling" to "synchronous scrolling". 16327 16328 * WebProcess/WebPage/EventDispatcher.cpp: 16329 (WebKit::EventDispatcher::wheelEvent): 16330 * WebProcess/WebPage/EventDispatcher.h: 16331 * WebProcess/WebPage/WebPage.cpp: 16332 (WebKit::WebPage::WebPage): 16333 (WebKit::WebPage::~WebPage): 16334 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 16335 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay): 16336 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay): 16337 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 16338 (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition): 16339 163402013-12-20 Ricky Mondello <rmondello@apple.com> 16341 16342 Rename PlugInAutoStartProvider's ...EntriesAddedBeforeTime facility to ...EntriesAddedAfterTime 16343 https://bugs.webkit.org/show_bug.cgi?id=126078 16344 16345 Reviewed by Anders Carlsson. 16346 16347 r160922 accidentally named a facility for filtering out data added after a certain time, 16348 "...FilteringOutEntriesAddedBeforeTime", which was incorrect. This patch renames those instances 16349 to "...FilteringOutEntriesAddedAfterTime". 16350 16351 * UIProcess/API/C/WKContext.cpp: 16352 (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime): 16353 * UIProcess/API/C/WKContext.h: 16354 * UIProcess/Plugins/PlugInAutoStartProvider.cpp: 16355 (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime): 16356 * UIProcess/Plugins/PlugInAutoStartProvider.h: 16357 * UIProcess/WebContext.cpp: 16358 (WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime): 16359 * UIProcess/WebContext.h: 16360 163612013-12-20 Sam Weinig <sam@webkit.org> 16362 16363 [WK2] Add SPI for using a custom protocol handler 16364 https://bugs.webkit.org/show_bug.cgi?id=126089 16365 16366 Reviewed by Anders Carlsson. 16367 16368 * UIProcess/API/C/mac/WKContextPrivateMac.h: 16369 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 16370 (WKContextRegisterSchemeForCustomProtocol): 16371 (WKContextUnregisterSchemeForCustomProtocol): 16372 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 16373 (+[WKBrowsingContextController registerSchemeForCustomProtocol:]): 16374 (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]): 16375 * UIProcess/WebContext.cpp: 16376 (WebKit::WebContext::globalURLSchemesWithCustomProtocolHandlers): 16377 (WebKit::WebContext::registerGlobalURLSchemeAsHavingCustomProtocolHandlers): 16378 (WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers): 16379 * UIProcess/WebContext.h: 16380 * UIProcess/mac/WebContextMac.mm: 16381 (WebKit::WebContext::platformInitializeWebProcess): 16382 (WebKit::WebContext::platformInitializeNetworkProcess): 16383 (WebKit::WebContext::registerNotificationObservers): 16384 (WebKit::WebContext::unregisterNotificationObservers): 16385 163862013-12-20 Tim Horton <timothy_horton@apple.com> 16387 16388 WebKit2 View Gestures: Implement smartMagnifyWithEvent: and make it work 16389 https://bugs.webkit.org/show_bug.cgi?id=125752 16390 <rdar://problem/15664245> 16391 16392 Reviewed by Anders Carlsson. 16393 16394 Implement "smart magnify", which is the double-tap-to-zoom gesture on OS X. 16395 16396 * UIProcess/API/mac/WKView.mm: 16397 (-[WKView smartMagnifyWithEvent:]): 16398 Forward smartMagnifyWithEvent to ViewGestureController. 16399 16400 * UIProcess/mac/ViewGestureController.cpp: 16401 (WebKit::ViewGestureController::handleMagnificationGesture): 16402 Drive-by repair a comment. 16403 16404 (WebKit::ViewGestureController::handleSmartMagnificationGesture): 16405 Added. Immediately dispatch a message to the web process to retrieve 16406 the rendered rect of the element under the gesture. 16407 16408 (WebKit::maximumRectangleComponentDelta): 16409 Return the absolute maximum delta between corresponding components of two rects. 16410 16411 (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture): 16412 Once the WebProcess has replied with the relevant geometry, use it to 16413 determine our target rectangle (the element's rect, with some padding) 16414 and target magnification (attempting to keep replaced elements 16415 fully in-view, and otherwise zooming in as far as possible to fit the 16416 element's width). 16417 16418 If this gesture occurs after the page is already magnified, and targets 16419 a similar region to the previous smart magnification gesture, zoom out 16420 instead of panning across the page. 16421 16422 Begin a transient zoom with the current magnification, and immediately 16423 commit it at our target magnification and offset, so that the drawing 16424 area will animate to the new parameters. 16425 16426 (WebKit::ViewGestureController::endActiveGesture): 16427 * UIProcess/mac/ViewGestureController.h: 16428 * UIProcess/mac/ViewGestureController.messages.in: 16429 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: 16430 (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture): 16431 Hit-test the document to determine the node under the smart magnification 16432 gesture, and return it to the UI process along with various other bits of data. 16433 16434 * WebProcess/WebPage/ViewGestureGeometryCollector.h: 16435 * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in: 16436 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 16437 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 16438 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 16439 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): 16440 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 16441 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): 16442 Instead of short-circuiting the animation if we didn't have to constrain 16443 the origin, short-circuit if we're already *at* the right origin, 16444 like the comment said. This prevents jarring jumps when double-tap-panning 16445 between elements when zoomed all the way in. 16446 164472013-12-20 Ricky Mondello <rmondello@apple.com> 16448 16449 Allow partial application of PlugInAutoStart tables based on timestamp 16450 https://bugs.webkit.org/show_bug.cgi?id=125871 16451 16452 Reviewed by Anders Carlsson. 16453 16454 * UIProcess/API/C/WKContext.cpp: 16455 (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): New API. 16456 * UIProcess/API/C/WKContext.h: New API. 16457 16458 * UIProcess/Plugins/PlugInAutoStartProvider.cpp: 16459 (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Call setAutoStartOriginsTableWithItemsPassingTest 16460 with a predicate that lets all policies pass. 16461 (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Call 16462 setAutoStartOriginsTableWithItemsPassingTest with a predicate that lets policies created before a certain 16463 time pass. 16464 (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest): Added. Contains most of the 16465 contents of setAutoStartOriginsTable, with support for applying a predicate. 16466 * UIProcess/Plugins/PlugInAutoStartProvider.h: Add public method, 16467 `setAutoStartOriginsFilteringOutEntriesAddedBeforeTime`, and private method, 16468 `setAutoStartOriginsTableWithItemsPassingTest`. 16469 16470 * UIProcess/WebContext.cpp: 16471 (WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Pass through to the 16472 PlugInAutoStartProvider. 16473 * UIProcess/WebContext.h: Declare `setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime`. 16474 164752013-12-20 Enrique Ocaña González <eocanha@igalia.com> 16476 16477 [GTK] WebKitWebViewBase's ClickCounter should be reset 16478 https://bugs.webkit.org/show_bug.cgi?id=122551 16479 16480 Reviewed by Martin Robinson. 16481 16482 * UIProcess/API/gtk/PageClientImpl.cpp: 16483 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 16484 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 16485 (webkitWebViewBaseResetClickCounter): 16486 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 16487 164882013-12-20 Enrique Ocaña González <eocanha@igalia.com> 16489 16490 [GTK] The fullscreen API should be enabled by default 16491 https://bugs.webkit.org/show_bug.cgi?id=125993 16492 16493 Reviewed by Gustavo Noronha Silva. 16494 16495 Set the WebSettings property to TRUE 16496 16497 * UIProcess/API/gtk/WebKitSettings.cpp: 16498 (webkit_settings_class_init): 16499 165002013-12-20 Carlos Garcia Campos <cgarcia@igalia.com> 16501 16502 [GTK] Some unit tests using web extensions fail when run alone 16503 https://bugs.webkit.org/show_bug.cgi?id=126002 16504 16505 Reviewed by Gustavo Noronha Silva. 16506 16507 The problem is that the page is created before the dbus connection 16508 has been established, and we are connecting to web-page-created 16509 signal once we have a valid dbus connection. We should connect to 16510 the signal before connecting to dbus and queue any request to emit 16511 a dbus signal until the connection is set. This also fixes the 16512 WebExtensions tests when using the network process because a new 16513 web process is launched for every test case. 16514 16515 * UIProcess/API/gtk/tests/WebExtensionTest.cpp: 16516 (DelayedSignal::DelayedSignal): Helper struct to queue signal 16517 emissions requested before the dbus connection has been 16518 established. 16519 (emitDocumentLoaded): Emit the dbus DocumentLoaded signal. 16520 (documentLoadedCallback): Queue the signal emission if we still 16521 don't have a connection or call emitDocumentLoaded otherwise. 16522 (emitURIChanged): Emit the dbus URIChanged signal. 16523 (uriChangedCallback): Queue the signal emission if we still don't 16524 have a connection or call emitURIChanged otherwise. 16525 (pageCreatedCallback): Pass the web extension as user data to 16526 document-loaded and uri-changed callbacks. 16527 (busAcquiredCallback): Set the connection as user data of the web 16528 extension and process any delayed signal emission pending. 16529 (webkit_web_extension_initialize): Connect to web-page-create 16530 signal before connecting to dbus. 16531 165322013-12-19 Benjamin Poulain <bpoulain@apple.com> 16533 16534 [WK2][iOS] Enable multiprocess by default 16535 https://bugs.webkit.org/show_bug.cgi?id=126030 16536 16537 Reviewed by Anders Carlsson. 16538 16539 * UIProcess/API/Cocoa/WKProcessGroup.mm: 16540 (-[WKProcessGroup initWithInjectedBundleURL:]): 16541 165422013-12-19 Andy Estes <aestes@apple.com> 16543 16544 Remove WebFilterEvaluator wrappers from WebKitSystemInterface 16545 https://bugs.webkit.org/show_bug.cgi?id=126028 16546 16547 Reviewed by Anders Carlsson. 16548 16549 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 16550 (InitWebCoreSystemInterface): Don't INIT() removed function pointers. 16551 165522013-12-19 Benjamin Poulain <bpoulain@apple.com> 16553 16554 Remove WKContentViewPrivate.h, WKContentView.h is private now 16555 https://bugs.webkit.org/show_bug.cgi?id=125981 16556 16557 Reviewed by Dan Bernstein. 16558 16559 There is no need for a separate header, WKContentView has become an implementation 16560 detail of WKView. 16561 16562 * UIProcess/API/ios/WKContentView.h: 16563 * UIProcess/API/ios/WKContentViewInternal.h: 16564 * UIProcess/API/ios/WKContentViewPrivate.h: Removed. 16565 * UIProcess/API/ios/WKView.mm: 16566 165672013-12-19 Alexey Proskuryakov <ap@apple.com> 16568 16569 REGRESSION (r160515): Frequent assertion failures on printing/print-close-crash.html 16570 https://bugs.webkit.org/show_bug.cgi?id=126014 16571 16572 Rolled out r160515 while Chris is investigating. Added FIXME comments in other 16573 places where we use this pattern. 16574 16575 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 16576 (WebKit::WebChromeClient::runJavaScriptAlert): 16577 (WebKit::WebChromeClient::runJavaScriptConfirm): 16578 (WebKit::WebChromeClient::runJavaScriptPrompt): 16579 (WebKit::WebChromeClient::print): 16580 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 16581 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 16582 165832013-12-19 Ricky Mondello <rmondello@apple.com> 16584 16585 Add WebKit2 API for clearing the back-forward list 16586 https://bugs.webkit.org/show_bug.cgi?id=126005 16587 16588 Reviewed by Anders Carlsson. 16589 16590 * UIProcess/API/C/WKBackForwardListRef.cpp: 16591 (WKBackForwardListClear): Call through to the back-forward list's `clear()`. 16592 * UIProcess/API/C/WKBackForwardListRef.h: Declare new API. 16593 165942013-12-19 Csaba Osztrogonác <ossy@webkit.org> 16595 16596 One more URTBF to make GTK build happy after r160853. 16597 16598 * UIProcess/API/gtk/WebKitDownloadClient.cpp: 16599 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 16600 (didReceiveWebViewMessageFromInjectedBundle): 16601 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: 16602 (webkitResponsePolicyDecisionCreate): 16603 * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: 16604 166052013-12-19 Csaba Osztrogonác <ossy@webkit.org> 16606 16607 URTBF for GTK after r160853. 16608 16609 * GNUmakefile.list.am: 16610 166112013-12-19 Michał Pakuła vel Rutka <m.pakula@samsung.com> 16612 16613 Unreviewed EFL build fix attempt after r160853 16614 16615 * CMakeLists.txt: Change WebURLResponse.cpp to APIURLResponse.cpp. 16616 166172013-12-17 Sam Weinig <sam@webkit.org> 16618 16619 [WK2] Rename WebURLResponse to API::URLResponse 16620 https://bugs.webkit.org/show_bug.cgi?id=125910 16621 16622 Reviewed by Andreas Kling. 16623 16624 * Shared/API/c/WKSharedAPICast.h: 16625 (WebKit::toAPI): 16626 * Shared/API/c/WKURLResponse.cpp: 16627 (WKURLResponseGetTypeID): 16628 * Shared/API/c/mac/WKURLResponseNS.mm: 16629 (WKURLResponseCreateWithNSURLResponse): 16630 * Shared/APIURLRequest.cpp: 16631 * Shared/APIURLResponse.cpp: Copied from Source/WebKit2/Shared/WebURLResponse.cpp. 16632 (API::URLResponse::URLResponse): 16633 (API::URLResponse::encode): 16634 (API::URLResponse::decode): 16635 * Shared/APIURLResponse.h: Copied from Source/WebKit2/Shared/WebURLResponse.h. 16636 (API::URLResponse::create): 16637 * Shared/UserMessageCoders.h: 16638 (WebKit::UserMessageEncoder::baseEncode): 16639 (WebKit::UserMessageDecoder::baseDecode): 16640 * Shared/WebURLResponse.cpp: Removed. 16641 * Shared/WebURLResponse.h: Removed. 16642 * UIProcess/WebDownloadClient.cpp: 16643 (WebKit::WebDownloadClient::didReceiveResponse): 16644 * UIProcess/WebPolicyClient.cpp: 16645 (WebKit::WebPolicyClient::decidePolicyForResponse): 16646 * WebKit2.xcodeproj/project.pbxproj: 16647 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 16648 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse): 16649 166502013-12-19 Nick Diego Yamane <nick.yamane@openbossa.org> 16651 16652 [CoordinatedGraphics] Regressions in WebView's contentScaleFactor/contentPosition 16653 https://bugs.webkit.org/show_bug.cgi?id=125943 16654 16655 Reviewed by Noam Rosenthal. 16656 16657 When WebView::pageDidRequestScroll is called it is scaling position requested 16658 to scroll before store it as contentPosition, that is not necessary since WebView 16659 already stores the requested contentScaleFactor so it's able to do that internally 16660 when needed, what simplifies the API and improves the readability of webview's code. 16661 This patch reverts changes from https://bugs.webkit.org/show_bug.cgi?id=118548, which 16662 was causing some regressions in contentScaleFactor/contentPosition related stuff. 16663 Besides that WebView::pageDidRequestScroll calls viewClient callback with the wrong 16664 position (different from the position stored in WebView). 16665 16666 * UIProcess/API/efl/EwkView.cpp: 16667 (EwkView::scrollBy): 16668 * UIProcess/CoordinatedGraphics/WebView.cpp: 16669 (WebKit::WebView::transformToScene): 16670 (WebKit::WebView::updateViewportSize): 16671 (WebKit::WebView::pageDidRequestScroll): 16672 * UIProcess/efl/PageViewportControllerClientEfl.cpp: 16673 (WebKit::PageViewportControllerClientEfl::setViewportPosition): 166742013-12-18 Tim Horton <timothy_horton@apple.com> 16675 16676 WebKit2 View Gestures: Move WebProcess-side geometry collection into its own class 16677 https://bugs.webkit.org/show_bug.cgi?id=125967 16678 16679 Reviewed by Anders Carlsson. 16680 16681 Move the messages dispatched by ViewGestureController that grab geometry 16682 from the WebProcess out of the DrawingArea and into ViewGestureGeometryCollector. 16683 This class will grow when smart magnification is implemented. 16684 16685 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 16686 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 16687 * WebProcess/WebPage/DrawingArea.h: 16688 * WebProcess/WebPage/DrawingArea.messages.in: 16689 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 16690 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 16691 Remove BeginTransientZoom() message. 16692 16693 * DerivedSources.make: 16694 * UIProcess/DrawingAreaProxy.h: 16695 16696 * UIProcess/mac/ViewGestureController.cpp: 16697 (WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture): 16698 (WebKit::ViewGestureController::handleMagnificationGesture): 16699 * UIProcess/mac/ViewGestureController.h: 16700 * UIProcess/mac/ViewGestureController.messages.in: 16701 Make use of ViewGestureGeometryCollector and rename didBeginTransientZoom to didCollectGeometryForMagnificationGesture. 16702 16703 * WebKit2.xcodeproj/project.pbxproj: 16704 Add new files. 16705 16706 * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Added. 16707 (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector): 16708 (WebKit::ViewGestureGeometryCollector::~ViewGestureGeometryCollector): 16709 (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture): 16710 * WebProcess/WebPage/ViewGestureGeometryCollector.h: Added. 16711 * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in: Added. 16712 Move the code to collect the visible content rect and return it to the ViewGestureController into its own class. 16713 16714 * WebProcess/WebPage/WebPage.cpp: 16715 (WebKit::WebPage::WebPage): 16716 * WebProcess/WebPage/WebPage.h: 16717 Move m_pageID to the top of WebPage's initialization list so that 16718 it can be safely used from other members' constructors. 16719 16720 Add a ViewGestureGeometryCollector member and construct it. 16721 167222013-12-18 Gustavo Noronha Silva <gns@gnome.org> 16723 16724 Unreviewed cmake build fix for GTK+. 16725 16726 * PlatformGTK.cmake: fix paths for files that were moved. 16727 167282013-12-18 Anders Carlsson <andersca@apple.com> 16729 16730 MessageReceiverMap::addMessageReceiver should assert that destinationID is not zero 16731 https://bugs.webkit.org/show_bug.cgi?id=125965 16732 16733 Reviewed by Tim Horton. 16734 16735 * Platform/CoreIPC/MessageReceiverMap.cpp: 16736 (CoreIPC::MessageReceiverMap::addMessageReceiver): 16737 167382013-12-18 Anders Carlsson <andersca@apple.com> 16739 16740 Deprecate some WKMutableDictionary functions 16741 https://bugs.webkit.org/show_bug.cgi?id=125962 16742 16743 Reviewed by Tim Horton. 16744 16745 * Shared/API/c/WKDeprecatedFunctions.cpp: 16746 (WKDictionaryIsMutable): 16747 (WKDictionaryAddItem): 16748 (WKDictionaryRemoveItem): 16749 * Shared/API/c/WKMutableDictionary.cpp: 16750 * Shared/API/c/WKMutableDictionary.h: 16751 167522013-12-18 Dan Bernstein <mitz@apple.com> 16753 16754 [Cocoa] Allow the web process plug-in to intercept resource requests 16755 https://bugs.webkit.org/show_bug.cgi?id=125959 16756 16757 Reviewed by Anders Carlsson. 16758 16759 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new 16760 delegate method. 16761 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 16762 (willSendRequestForFrame): Implemented this WKBundlePageResourceClient callback by calling 16763 the load delegate. 16764 (setUpResourceLoadClient): Added. Initializes the resource load client with the above 16765 function. 16766 (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]): Added calls to initialize 16767 and clear the resource load client. 16768 167692013-12-18 Yongjun Zhang <yongjun_zhang@apple.com> 16770 16771 https://bugs.webkit.org/show_bug.cgi?id=125941 16772 Add Obj C API for injected bundle PageGroup class. 16773 16774 Reviewed by Dan Bernstein. 16775 16776 Add Obj C API (WKWebProcessPlugInPageGroup) for injected bundle PageGroup class. And add APIs to 16777 expose the main frame and page group from WKWebProcessPlugInBrowsingContextController. 16778 16779 * Shared/Cocoa/APIObject.mm: 16780 (API::Object::newObject): Create wrapper object for InjectedPageGroup object. 16781 * WebKit2.xcodeproj/project.pbxproj: 16782 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h: Added. 16783 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm: Added. 16784 (-[WKWebProcessPlugInPageGroup identifier]): 16785 (-[WKWebProcessPlugInPageGroup dealloc]): 16786 (-[WKWebProcessPlugInPageGroup API::]): 16787 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Added. 16788 (WebKit::wrapper): 16789 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Add API to expose the main frame and page group 16790 for WKWebPocessPlugInBrowserContextController. 16791 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 16792 (-[WKWebProcessPlugInBrowserContextController mainFrame]): 16793 (-[WKWebProcessPlugInBrowserContextController pageGroup]): 16794 167952013-12-18 Tim Horton <timothy_horton@apple.com> 16796 16797 PDFPlugin: Never make a NSEventType = 0 16798 https://bugs.webkit.org/show_bug.cgi?id=125955 16799 16800 Reviewed by Dan Bernstein. 16801 16802 * WebProcess/Plugins/PDF/PDFPlugin.mm: 16803 (WebKit::getEventTypeFromWebEvent): 16804 Make getEventTypeFromWebEvent return its NSEventType as an out arg, and 16805 make the return value represent whether or not we set it. 16806 16807 (WebKit::PDFPlugin::nsEventForWebMouseEvent): 16808 (WebKit::PDFPlugin::handleKeyboardEvent): 16809 Make use of getEventTypeFromWebEvent. 16810 168112013-12-18 Anders Carlsson <andersca@apple.com> 16812 16813 WKRemoteObjectRegistry should invoke invocations 16814 https://bugs.webkit.org/show_bug.cgi?id=125945 16815 16816 Reviewed by Tim Horton. 16817 16818 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 16819 (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): 16820 168212013-12-18 Gavin Barraclough <barraclough@apple.com> 16822 16823 Add layer hosting mode to ViewState 16824 https://bugs.webkit.org/show_bug.cgi?id=125803 16825 16826 Reviewed by Anders Carlsson. 16827 16828 When the view state of the page is updated the layer mode may also 16829 change. Currently this is passed by a separate message, remove this 16830 and fold it into ViewState. 16831 16832 Previously the setLayerHostingMode message would be passed to the 16833 DrawingArea, which would inform the WebPage. Since the WebPage is 16834 passed the SetVisibilityState messgae reverse this. 16835 16836 WebPageProxy had a policy of only updating the hosting mode when 16837 visible - the value is sticky whilst the view is not visible. Make 16838 this policy explicit in the PageClientImpl, rather then implicit 16839 from the flow control. 16840 16841 * Shared/ViewState.h: 16842 - Added ViewState::IsLayerWindowServerHosted. 16843 * Shared/WebPageCreationParameters.cpp: 16844 (WebKit::WebPageCreationParameters::encode): 16845 (WebKit::WebPageCreationParameters::decode): 16846 * Shared/WebPageCreationParameters.h: 16847 - removed layerHostingMode. 16848 * UIProcess/API/mac/PageClientImpl.h: 16849 * UIProcess/API/mac/PageClientImpl.mm: 16850 (WebKit::PageClientImpl::PageClientImpl): 16851 (WebKit::PageClientImpl::isLayerWindowServerHosted): 16852 (WebKit::PageClientImpl::viewWillMoveToAnotherWindow): 16853 - viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode. 16854 * UIProcess/DrawingAreaProxy.h: 16855 - removed layerHostingModeDidChange. 16856 * UIProcess/PageClient.h: 16857 - viewLayerHostingMode -> isLayerWindowServerHosted. 16858 * UIProcess/WebPageProxy.cpp: 16859 (WebKit::WebPageProxy::WebPageProxy): 16860 - removed m_layerHostingMode. 16861 (WebKit::WebPageProxy::updateViewState): 16862 - added IsLayerWindowServerHosted. 16863 (WebKit::WebPageProxy::viewStateDidChange): 16864 - changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too. 16865 - remove special handling (separate message) for LayerHostingMode. 16866 (WebKit::WebPageProxy::initializeCreationParameters): 16867 - removed m_layerHostingMode. 16868 * UIProcess/WebPageProxy.h: 16869 - removed m_layerHostingMode. 16870 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 16871 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 16872 - removed layerHostingModeDidChange. 16873 * WebProcess/WebPage/DrawingArea.h: 16874 (WebKit::DrawingArea::setLayerHostingMode): 16875 (WebKit::DrawingArea::didUpdate): 16876 - setLayerHostingMode takes a LayerHostingMode. 16877 * WebProcess/WebPage/DrawingArea.messages.in: 16878 - SetLayerHostingMode is no longer a message. 16879 * WebProcess/WebPage/WebPage.cpp: 16880 (WebKit::WebPage::WebPage): 16881 - removed m_layerHostingMode. 16882 (WebKit::WebPage::setViewState): 16883 - handle ViewState::IsLayerWindowServerHosted. 16884 (WebKit::WebPage::setLayerHostingMode): 16885 - moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea. 16886 * WebProcess/WebPage/WebPage.h: 16887 (WebKit::WebPage::layerHostingMode): 16888 - layerHostingMode queries m_viewState, removed m_layerHostingMode. 16889 * WebProcess/WebPage/ios/WebPageIOS.mm: 16890 - removed setLayerHostingMode. 16891 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 16892 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 16893 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): 16894 - setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea. 16895 * WebProcess/WebPage/mac/WebPageMac.mm: 16896 - removed setLayerHostingMode. 16897 168982013-12-18 Gavin Barraclough <barraclough@apple.com> 16899 16900 Fix page visibility api test, initialization in WebKit2 16901 https://bugs.webkit.org/show_bug.cgi?id=125933 16902 16903 Reviewed by Anders Carlsson. 16904 16905 The API test for page visibility is broken, fix this. This revealed a recent regression in WebKit2 16906 (introduced in https://bugs.webkit.org/show_bug.cgi?id=123379), caused by a typo removing a '!'. 16907 16908 * WebProcess/WebPage/WebPage.cpp: 16909 (WebKit::WebPage::setVisibilityState): 16910 - Fix regression, accidentally removed a '!'. 16911 169122013-12-18 Anders Carlsson <andersca@apple.com> 16913 16914 Fix 32-bit build. 16915 16916 * Shared/API/Cocoa/RemoteObjectRegistry.mm: 16917 (WebKit::RemoteObjectRegistry::invokeMethod): 16918 169192013-12-18 Anders Carlsson <andersca@apple.com> 16920 16921 Make WKObjectRegistry objects be per page 16922 https://bugs.webkit.org/show_bug.cgi?id=125937 16923 16924 Reviewed by Andreas Kling. 16925 16926 Remove WKObjectRegistry from WKConnection. Also, add a C++ object that is in charge 16927 of actually sending and receiving messages. 16928 16929 * DerivedSources.make: 16930 * Shared/API/Cocoa/RemoteObjectRegistry.h: Added. 16931 * Shared/API/Cocoa/RemoteObjectRegistry.messages.in: Added. 16932 * Shared/API/Cocoa/RemoteObjectRegistry.mm: Added. 16933 (WebKit::RemoteObjectRegistry::RemoteObjectRegistry): 16934 (WebKit::RemoteObjectRegistry::~RemoteObjectRegistry): 16935 (WebKit::RemoteObjectRegistry::sendInvocation): 16936 (WebKit::RemoteObjectRegistry::invokeMethod): 16937 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 16938 (-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]): 16939 (-[WKRemoteObjectRegistry _invalidate]): 16940 (-[WKRemoteObjectRegistry _sendInvocation:interface:]): 16941 (-[WKRemoteObjectRegistry WebKit::]): 16942 (-[WKRemoteObjectRegistry _invokeMethod:]): 16943 * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h: 16944 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 16945 (-[WKBrowsingContextController dealloc]): 16946 (-[WKBrowsingContextController remoteObjectRegistry]): 16947 * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: 16948 * UIProcess/API/Cocoa/WKConnection.h: 16949 * UIProcess/API/Cocoa/WKConnection.mm: 16950 (didReceiveMessage): 16951 * WebKit2.xcodeproj/project.pbxproj: 16952 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 16953 (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]): 16954 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: 16955 169562013-12-18 Conrad Shultz <conrad_shultz@apple.com> 16957 16958 API to set a favicon 16959 https://bugs.webkit.org/show_bug.cgi?id=125892 16960 16961 Reviewed by Brian Weinstein. 16962 16963 * UIProcess/API/C/WKIconDatabase.cpp: 16964 (WKIconDatabaseSetIconDataForIconURL): 16965 Call WebIconDatabase::setIconDataForIconURL(). 16966 16967 * UIProcess/API/C/WKIconDatabase.h: 16968 Declare WKIconDatabaseSetIconDataForIconURL(). 16969 169702013-12-18 Anders Carlsson <andersca@apple.com> 16971 16972 Fix Dictionary encoding 16973 https://bugs.webkit.org/show_bug.cgi?id=125930 16974 16975 Reviewed by Andreas Kling. 16976 16977 Encode the HashMap size as a 64-bit unsigned integer. 16978 16979 * Shared/UserData.cpp: 16980 (WebKit::UserData::encode): 16981 169822013-12-18 Carlos Garcia Campos <cgarcia@igalia.com> 16983 16984 Unreviewed. Fix make distcheck. 16985 16986 * GNUmakefile.list.am: 16987 169882013-12-17 Jae Hyun Park <jae.park@company100.net> 16989 16990 [GTK] Build fix after r160737 16991 16992 Unreviewed. 16993 16994 Rename WebURLRequest to API::URLRequest 16995 16996 * GNUmakefile.list.am: 16997 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 16998 (didReceiveWebViewMessageFromInjectedBundle): 16999 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: 17000 (webkitNavigationPolicyDecisionCreate): 17001 * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: 17002 * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: 17003 (webkitResponsePolicyDecisionCreate): 17004 * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: 17005 * UIProcess/API/gtk/WebKitWebView.cpp: 17006 (webkit_web_view_load_request): 17007 * UIProcess/API/gtk/WebKitWindowProperties.cpp: 17008 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 17009 (willSendRequestForFrame): 17010 170112013-12-17 Ryuan Choi <ryuan.choi@samsung.com> 17012 17013 Unreviewed build fix on EFL port after r160737 17014 17015 Rename WebURLRequest to API::URLRequest 17016 17017 * CMakeLists.txt: 17018 * UIProcess/API/efl/ewk_url_request_private.h: 17019 170202013-12-17 Simon Fraser <simon.fraser@apple.com> 17021 17022 Rename "canRubberBands" to "canRubberBand" 17023 https://bugs.webkit.org/show_bug.cgi?id=125897 17024 17025 Reviewed by Anders Carlsson. 17026 17027 Rename "canRubberBands" to "canRubberBand" in various places. 17028 17029 * WebProcess/WebPage/EventDispatcher.cpp: 17030 (WebKit::EventDispatcher::wheelEvent): 17031 * WebProcess/WebPage/EventDispatcher.h: 17032 * WebProcess/WebPage/EventDispatcher.messages.in: 17033 170342013-12-17 Tim Horton <timothy_horton@apple.com> 17035 17036 WebKit2 View Gestures: Fix the shadow layer restore-from-overpinched animation 17037 https://bugs.webkit.org/show_bug.cgi?id=125884 17038 17039 Reviewed by Anders Carlsson. 17040 17041 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 17042 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 17043 Set to-values on the right animations. 17044 17045 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): 17046 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): 17047 We don't need to explicitly set the shadow path, because PlatformCALayer::setBounds does it for us now. 17048 170492013-12-17 Sam Weinig <sam@webkit.org> 17050 17051 [WK2] Rename WebURLRequest to API::URLRequest 17052 https://bugs.webkit.org/show_bug.cgi?id=125886 17053 17054 Reviewed by Anders Carlsson. 17055 17056 * Shared/API/c/WKSharedAPICast.h: 17057 (WebKit::toAPI): 17058 * Shared/API/c/WKURLRequest.cpp: 17059 (WKURLRequestGetTypeID): 17060 (WKURLRequestCreateWithWKURL): 17061 (WKURLRequestSetDefaultTimeoutInterval): 17062 * Shared/API/c/mac/WKURLRequestNS.mm: 17063 (WKURLRequestCreateWithNSURLRequest): 17064 * Shared/APIString.h: 17065 * Shared/APIURLRequest.cpp: Copied from Source/WebKit2/Shared/WebURLRequest.cpp. 17066 (API::URLRequest::URLRequest): 17067 (API::URLRequest::defaultTimeoutInterval): 17068 (API::URLRequest::setDefaultTimeoutInterval): 17069 (API::URLRequest::encode): 17070 (API::URLRequest::decode): 17071 * Shared/APIURLRequest.h: Copied from Source/WebKit2/Shared/WebURLRequest.h. 17072 (API::URLRequest::create): 17073 * Shared/UserData.cpp: 17074 (WebKit::UserData::encode): 17075 (WebKit::UserData::decode): 17076 * Shared/UserMessageCoders.h: 17077 (WebKit::UserMessageEncoder::baseEncode): 17078 (WebKit::UserMessageDecoder::baseDecode): 17079 * Shared/WebURLRequest.cpp: Removed. 17080 * Shared/WebURLRequest.h: Removed. 17081 * UIProcess/API/C/WKContext.cpp: 17082 * UIProcess/API/C/WKDownload.cpp: 17083 (WKDownloadCopyRequest): 17084 * UIProcess/API/C/WKNavigationDataRef.cpp: 17085 (WKNavigationDataCopyOriginalRequest): 17086 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 17087 (-[WKBrowsingContextController loadRequest:userData:]): 17088 * UIProcess/WebContext.cpp: 17089 (WebKit::WebContext::createNewWebProcess): 17090 * UIProcess/WebInspectorProxy.cpp: 17091 * UIProcess/WebPageProxy.cpp: 17092 (WebKit::WebPageProxy::loadURLRequest): 17093 * UIProcess/WebPageProxy.h: 17094 * UIProcess/WebPolicyClient.cpp: 17095 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 17096 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 17097 (WebKit::WebPolicyClient::decidePolicyForResponse): 17098 * UIProcess/WebUIClient.cpp: 17099 (WebKit::WebUIClient::createNewPage): 17100 * WebKit2.xcodeproj/project.pbxproj: 17101 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 17102 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 17103 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 17104 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction): 17105 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction): 17106 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse): 17107 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: 17108 (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): 17109 171102013-12-17 Brady Eidson <beidson@apple.com> 17111 17112 DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction" 17113 https://bugs.webkit.org/show_bug.cgi?id=125872 17114 17115 Reviewed by Alexey Proskuryakov. 17116 17117 Pipe through the objectStoreIDs and mode: 17118 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 17119 (WebKit::DatabaseProcessIDBConnection::openTransaction): 17120 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 17121 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 17122 17123 Rework postTransactionOperation to take a pre-made AsyncTask to allow for different 17124 transaction operation function signatures: 17125 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 17126 (WebKit::UniqueIDBDatabase::openTransaction): Pipe through the objectStoreIDs and mode: 17127 (WebKit::UniqueIDBDatabase::beginTransaction): 17128 (WebKit::UniqueIDBDatabase::commitTransaction): 17129 (WebKit::UniqueIDBDatabase::resetTransaction): 17130 (WebKit::UniqueIDBDatabase::rollbackTransaction): 17131 (WebKit::UniqueIDBDatabase::postTransactionOperation): 17132 (WebKit::UniqueIDBDatabase::openBackingStoreTransaction): 17133 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 17134 17135 Pipe through the objectStoreIDs and mode: 17136 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 17137 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 17138 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): 17139 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 17140 17141 * Platform/Logging.h: Add an IDB logging channel. 17142 17143 * Shared/AsyncTask.h: 17144 (WebKit::createAsyncTask): Add a 3-argument variant. 17145 17146 * Shared/WebCrossThreadCopier.cpp: 17147 (WebCore::::copy): Add a Vector<int64_t> copier. 17148 * Shared/WebCrossThreadCopier.h: 17149 17150 Add logging throughout currently implemented methods: 17151 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 17152 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): 17153 (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): 17154 (WebKit::WebIDBServerConnection::openTransaction): Pipe through the objectStoreIDs and mode. 17155 (WebKit::WebIDBServerConnection::didOpenTransaction): 17156 (WebKit::WebIDBServerConnection::beginTransaction): 17157 (WebKit::WebIDBServerConnection::didBeginTransaction): 17158 (WebKit::WebIDBServerConnection::commitTransaction): 17159 (WebKit::WebIDBServerConnection::didCommitTransaction): 17160 (WebKit::WebIDBServerConnection::resetTransaction): 17161 (WebKit::WebIDBServerConnection::didResetTransaction): 17162 (WebKit::WebIDBServerConnection::rollbackTransaction): 17163 (WebKit::WebIDBServerConnection::didRollbackTransaction): 17164 171652013-12-17 Gavin Barraclough <barraclough@apple.com> 17166 17167 Remove PageVisibilityStateUnloaded 17168 https://bugs.webkit.org/show_bug.cgi?id=125869 17169 17170 Reviewed by Anders Carlsson. 17171 17172 This is not currently supported by WebKit, remove this enum value. 17173 We can always add this back later if/when we add support for this state. 17174 17175 * Shared/API/c/WKPageVisibilityTypes.h: 17176 * Shared/API/c/WKSharedAPICast.h: 17177 (WebKit::toPageVisibilityState): 17178 - removed PageVisibilityStateUnloaded/kWKPageVisibilityStateUnloaded 17179 171802013-12-12 Martin Robinson <mrobinson@igalia.com> 17181 17182 [GTK] [CMake] Build the plugin process against GTK+ 2 17183 https://bugs.webkit.org/show_bug.cgi?id=116374 17184 17185 Reviewed by Gustavo Noronha Silva. 17186 17187 * CMakeLists.txt: Use the new GENERATE_WEBKIT2_MESSAGE_SOURCES macro so we 17188 can share messaging file generation with the plugin process. 17189 * PlatformGTK.cmake: Add more files to the plugin process source list. Properly 17190 generate message sources, add the appropriate include paths, defines, and libraries 17191 for the plugin process. 17192 171932013-12-17 Anders Carlsson <andersca@apple.com> 17194 17195 Back out r159982 17196 https://bugs.webkit.org/show_bug.cgi?id=125870 17197 <rdar://problem/15598485> 17198 17199 Reviewed by Dan Bernstein. 17200 17201 Looks like r159982 caused intermittent crashes. Back it out for now. 17202 17203 * UIProcess/WebContextUserMessageCoders.h: 17204 (WebKit::WebContextUserMessageEncoder::encode): 17205 (WebKit::WebContextUserMessageDecoder::decode): 17206 * UIProcess/WebPageGroup.cpp: 17207 * UIProcess/WebPageGroup.h: 17208 (WebKit::WebPageGroup::sendToAllProcessesInGroup): 17209 * UIProcess/WebPageProxy.cpp: 17210 (WebKit::WebPageProxy::initializeWebPage): 17211 * UIProcess/WebProcessProxy.cpp: 17212 (WebKit::WebProcessProxy::disconnect): 17213 * UIProcess/WebProcessProxy.h: 17214 172152013-12-17 Dan Bernstein <mitz@apple.com> 17216 17217 Fixed an assertion failure seen running some mixed-content tests. 17218 https://bugs.webkit.org/show_bug.cgi?id=125862 17219 17220 Reviewed by Alexey Proskuryakov. 17221 17222 * UIProcess/PageLoadState.cpp: 17223 (WebKit::PageLoadState::didDisplayOrRunInsecureContent): Removed an assertion about the URL 17224 of the main frame when dealing with a notification that could have come from any frame. 17225 172262013-12-17 Dan Bernstein <mitz@apple.com> 17227 17228 [Cocoa] Add properties related to the user agent string 17229 https://bugs.webkit.org/show_bug.cgi?id=125856 17230 17231 Reviewed by Anders Carlsson. 17232 17233 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new properties. 17234 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 17235 (-[WKBrowsingContextController applicationNameForUserAgent]): Added accessor. 17236 (-[WKBrowsingContextController setApplicationNameForUserAgent:]): Ditto. 17237 (-[WKBrowsingContextController customUserAgent]): Ditto. 17238 (-[WKBrowsingContextController setCustomUserAgent:]): Ditto. 17239 172402013-12-16 Gavin Barraclough <barraclough@apple.com> 17241 17242 Add layer hosting mode to ViewState 17243 https://bugs.webkit.org/show_bug.cgi?id=125803 17244 17245 Unreviewed - reverting last commit - might have broken tests. :-( 17246 17247 * Shared/ViewState.h: 17248 * Shared/WebPageCreationParameters.cpp: 17249 (WebKit::WebPageCreationParameters::encode): 17250 (WebKit::WebPageCreationParameters::decode): 17251 * Shared/WebPageCreationParameters.h: 17252 * UIProcess/API/mac/PageClientImpl.h: 17253 * UIProcess/API/mac/PageClientImpl.mm: 17254 (WebKit::PageClientImpl::PageClientImpl): 17255 (WebKit::PageClientImpl::viewWillMoveToAnotherWindow): 17256 (WebKit::PageClientImpl::viewLayerHostingMode): 17257 * UIProcess/DrawingAreaProxy.h: 17258 (WebKit::DrawingAreaProxy::layerHostingModeDidChange): 17259 * UIProcess/PageClient.h: 17260 (WebKit::PageClient::viewLayerHostingMode): 17261 * UIProcess/WebPageProxy.cpp: 17262 (WebKit::WebPageProxy::WebPageProxy): 17263 (WebKit::WebPageProxy::updateViewState): 17264 (WebKit::WebPageProxy::viewStateDidChange): 17265 (WebKit::WebPageProxy::initializeCreationParameters): 17266 * UIProcess/WebPageProxy.h: 17267 (WebKit::WebPageProxy::layerHostingMode): 17268 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 17269 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 17270 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange): 17271 * WebProcess/WebPage/DrawingArea.h: 17272 (WebKit::DrawingArea::resumePainting): 17273 (WebKit::DrawingArea::setLayerHostingMode): 17274 * WebProcess/WebPage/DrawingArea.messages.in: 17275 * WebProcess/WebPage/WebPage.cpp: 17276 (WebKit::WebPage::WebPage): 17277 (WebKit::WebPage::~WebPage): 17278 (WebKit::WebPage::scalePage): 17279 (WebKit::WebPage::setDeviceScaleFactor): 17280 (WebKit::WebPage::setActive): 17281 (WebKit::WebPage::setViewState): 17282 (WebKit::WebPage::setWindowIsVisible): 17283 (WebKit::WebPage::windowAndViewFramesChanged): 17284 * WebProcess/WebPage/WebPage.h: 17285 (WebKit::WebPage::layerHostingMode): 17286 * WebProcess/WebPage/ios/WebPageIOS.mm: 17287 (WebKit::WebPage::setLayerHostingMode): 17288 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 17289 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 17290 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): 17291 * WebProcess/WebPage/mac/WebPageMac.mm: 17292 (WebKit::WebPage::sendComplexTextInputToPlugin): 17293 (WebKit::WebPage::setLayerHostingMode): 17294 172952013-12-13 Gavin Barraclough <barraclough@apple.com> 17296 17297 Add layer hosting mode to ViewState 17298 https://bugs.webkit.org/show_bug.cgi?id=125803 17299 17300 Reviewed by Anders Carlsson. 17301 17302 When the view state of the page is updated the layer mode may also 17303 change. Currently this is passed by a separate message, remove this 17304 and fold it into ViewState. 17305 17306 Previously the setLayerHostingMode message would be passed to the 17307 DrawingArea, which would inform the WebPage. Since the WebPage is 17308 passed the SetVisibilityState messgae reverse this. 17309 17310 WebPageProxy had a policy of only updating the hosting mode when 17311 visible - the value is sticky whilst the view is not visible. Make 17312 this policy explicit in the PageClientImpl, rather then implicit 17313 from the flow control. 17314 17315 * Shared/ViewState.h: 17316 - Added ViewState::IsLayerWindowServerHosted. 17317 * Shared/WebPageCreationParameters.cpp: 17318 (WebKit::WebPageCreationParameters::encode): 17319 (WebKit::WebPageCreationParameters::decode): 17320 * Shared/WebPageCreationParameters.h: 17321 - removed layerHostingMode. 17322 * UIProcess/API/mac/PageClientImpl.h: 17323 * UIProcess/API/mac/PageClientImpl.mm: 17324 (WebKit::PageClientImpl::PageClientImpl): 17325 (WebKit::PageClientImpl::isLayerWindowServerHosted): 17326 (WebKit::PageClientImpl::viewWillMoveToAnotherWindow): 17327 - viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode. 17328 * UIProcess/DrawingAreaProxy.h: 17329 - removed layerHostingModeDidChange. 17330 * UIProcess/PageClient.h: 17331 - viewLayerHostingMode -> isLayerWindowServerHosted. 17332 * UIProcess/WebPageProxy.cpp: 17333 (WebKit::WebPageProxy::WebPageProxy): 17334 - removed m_layerHostingMode. 17335 (WebKit::WebPageProxy::updateViewState): 17336 - added IsLayerWindowServerHosted. 17337 (WebKit::WebPageProxy::viewStateDidChange): 17338 - changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too. 17339 - remove special handling (separate message) for LayerHostingMode. 17340 (WebKit::WebPageProxy::initializeCreationParameters): 17341 - removed m_layerHostingMode. 17342 * UIProcess/WebPageProxy.h: 17343 - removed m_layerHostingMode. 17344 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 17345 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 17346 - removed layerHostingModeDidChange. 17347 * WebProcess/WebPage/DrawingArea.h: 17348 (WebKit::DrawingArea::setLayerHostingMode): 17349 (WebKit::DrawingArea::didUpdate): 17350 - setLayerHostingMode takes a LayerHostingMode. 17351 * WebProcess/WebPage/DrawingArea.messages.in: 17352 - SetLayerHostingMode is no longer a message. 17353 * WebProcess/WebPage/WebPage.cpp: 17354 (WebKit::WebPage::WebPage): 17355 - removed m_layerHostingMode. 17356 (WebKit::WebPage::setViewState): 17357 - handle ViewState::IsLayerWindowServerHosted. 17358 (WebKit::WebPage::setLayerHostingMode): 17359 - moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea. 17360 * WebProcess/WebPage/WebPage.h: 17361 (WebKit::WebPage::layerHostingMode): 17362 - layerHostingMode queries m_viewState, removed m_layerHostingMode. 17363 * WebProcess/WebPage/ios/WebPageIOS.mm: 17364 - removed setLayerHostingMode. 17365 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 17366 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 17367 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode): 17368 - setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea. 17369 * WebProcess/WebPage/mac/WebPageMac.mm: 17370 - removed setLayerHostingMode. 17371 173722013-12-16 Sam Weinig <sam@webkit.org> 17373 17374 [Cocoa] Remove unused contentAnchor SPI from WKView 17375 https://bugs.webkit.org/show_bug.cgi?id=125826 17376 17377 Reviewed by Tim Horton. 17378 17379 * UIProcess/API/Cocoa/WKViewPrivate.h: 17380 * UIProcess/API/mac/WKView.mm: 17381 (-[WKView setFrameSize:]): 17382 (-[WKView _setDrawingAreaSize:]): 17383 (-[WKView _setAcceleratedCompositingModeRootLayer:]): 17384 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 17385 173862013-12-16 Tim Horton <timothy_horton@apple.com> 17387 17388 WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max 17389 https://bugs.webkit.org/show_bug.cgi?id=125750 17390 17391 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 17392 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 17393 Remove some accidentally included commented out code. 17394 173952013-12-16 Tim Horton <timothy_horton@apple.com> 17396 17397 WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max 17398 https://bugs.webkit.org/show_bug.cgi?id=125750 17399 17400 Reviewed by Simon Fraser. 17401 17402 When you let go of a pinch where you exceeded the maximum or minimum scale, 17403 the view should animate back to the limit instead of snapping back. 17404 17405 * UIProcess/mac/ViewGestureController.cpp: 17406 (WebKit::ViewGestureController::endMagnificationGesture): 17407 Unscrolling the scaled origin here is wrong; we should send the same 17408 value for 'origin' for commitTransientZoom that we do for adjustTransientZoom. 17409 The drawing area can deal with transforming that however it needs to call scalePage(). 17410 17411 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 17412 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 17413 (WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom): 17414 Drive-by use WebPage::mainFrameView(). 17415 17416 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): 17417 Update the shadow layer's bounds, position, and shadow path while zooming, 17418 instead of hiding it. 17419 17420 (WebKit::transientZoomSnapAnimationForKeyPath): 17421 Create a CABasicAnimation that stays applied to its target when it finishes, 17422 lasts for a quarter second, and uses the ease-in-ease-out timing function. 17423 17424 (WebKit::constrainZoomOriginForFrameView): 17425 When we land a transient zoom, there may be overhang areas (linen, in the case of Mac) 17426 visible. During the commit animation, we should move the RenderView layer appropriately 17427 so that the page covers the entire view and there are no overhang areas visible. 17428 Adapt some code from ScrollableArea to constrain the zoom origin to do so. 17429 17430 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 17431 Animate the RenderView layer's transform, and the shadow layer's bounds, position, and path. 17432 When they complete, apply the zoom via scalePage() and flush the layer tree (otherwise there 17433 can be a flash between removing the animations and the next flush with the new scale). 17434 17435 (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage): 17436 Move the code to land the transient zoom (via scalePage) and to put the shadow back 17437 in the state WebCore left it out into its own function, so it can be called both from the 17438 animation completion callback and from the short-circuit in the case where we don't need to animate. 17439 174402013-12-16 Ryuan Choi <ryuan.choi@samsung.com> 17441 17442 Unreviewed. Fix GTK+ build after r160653. 17443 17444 Renamed WebData to API::Data 17445 17446 * GNUmakefile.list.am: Added APIData.cpp and APIData.h 17447 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: 17448 (webkitURISchemeRequestReadCallback): 17449 * UIProcess/API/gtk/WebKitWebResource.cpp: 17450 * UIProcess/API/gtk/WebKitWebView.cpp: 17451 174522013-12-16 Benjamin Poulain <bpoulain@apple.com> 17453 17454 [WK2][iOS] WKView sends unscaled scroll position to WKContentView 17455 https://bugs.webkit.org/show_bug.cgi?id=125819 17456 17457 Reviewed by Anders Carlsson. 17458 17459 WKView was sending untransformed scroll coordinates to WKContentView. The scroll position 17460 seen by WebKit was wrong when the content is scaled. 17461 17462 * UIProcess/API/ios/WKView.mm: 17463 (-[WKView _didScroll]): 17464 (-[WKView scrollViewDidEndDragging:willDecelerate:]): 17465 (-[WKView scrollViewDidEndDecelerating:]): 17466 (-[WKView scrollViewDidScrollToTop:]): 17467 174682013-12-16 Brady Eidson <beidson@apple.com> 17469 17470 DatabaseProcess: Plumb through messaging for the 4 basic transaction operations 17471 https://bugs.webkit.org/show_bug.cgi?id=125816 17472 17473 Reviewed by Alexey Proskuryakov. 17474 17475 The messaging begins and ends in the WebProcess: 17476 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 17477 (WebKit::WebIDBServerConnection::beginTransaction): 17478 (WebKit::WebIDBServerConnection::didBeginTransaction): 17479 (WebKit::WebIDBServerConnection::commitTransaction): 17480 (WebKit::WebIDBServerConnection::didCommitTransaction): 17481 (WebKit::WebIDBServerConnection::resetTransaction): 17482 (WebKit::WebIDBServerConnection::didResetTransaction): 17483 (WebKit::WebIDBServerConnection::rollbackTransaction): 17484 (WebKit::WebIDBServerConnection::didRollbackTransaction): 17485 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 17486 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 17487 17488 It travels from the WebProcess to the DatabaseProcess connection: 17489 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 17490 (WebKit::DatabaseProcessIDBConnection::beginTransaction): 17491 (WebKit::DatabaseProcessIDBConnection::commitTransaction): 17492 (WebKit::DatabaseProcessIDBConnection::resetTransaction): 17493 (WebKit::DatabaseProcessIDBConnection::rollbackTransaction): 17494 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 17495 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 17496 17497 It travels from the connection to the appropriate UniqueIDBDatabase: 17498 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 17499 (WebKit::UniqueIDBDatabase::openTransaction): 17500 (WebKit::UniqueIDBDatabase::beginTransaction): 17501 (WebKit::UniqueIDBDatabase::commitTransaction): 17502 (WebKit::UniqueIDBDatabase::resetTransaction): 17503 (WebKit::UniqueIDBDatabase::rollbackTransaction): 17504 (WebKit::UniqueIDBDatabase::postTransactionOperation): 17505 (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation): 17506 (WebKit::UniqueIDBDatabase::openBackingStoreTransaction): 17507 (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction): 17508 (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction): 17509 (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction): 17510 (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction): 17511 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 17512 17513 The UniqueIDBDatabase object performs the operation with the backing store: 17514 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 17515 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 17516 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): 17517 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction): 17518 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction): 17519 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction): 17520 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction): 17521 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 17522 17523 And the SQLite backing store calls the appropriate method on the SQLite transaction: 17524 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 17525 (WebKit::SQLiteIDBTransaction::begin): Stubbed for now. 17526 (WebKit::SQLiteIDBTransaction::commit): Ditto. 17527 (WebKit::SQLiteIDBTransaction::reset): Ditto. 17528 (WebKit::SQLiteIDBTransaction::rollback): Ditto. 17529 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 17530 175312013-12-16 Ryuan Choi <ryuan.choi@samsung.com> 17532 17533 Unreviewed build fix on EFL port after r160653 17534 17535 Rename WebData to API::Data 17536 17537 * CMakeLists.txt: Added APIData.cpp to include list. 17538 * UIProcess/WebPageProxy.cpp: 17539 (WebKit::WebPageProxy::sessionStateData): 17540 (WebKit::WebPageProxy::restoreFromSessionStateData): 17541 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 17542 (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest): 17543 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData): 17544 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): 17545 * UIProcess/soup/WebSoupRequestManagerProxy.h: 17546 175472013-12-16 Tim Horton <timothy_horton@apple.com> 17548 17549 WKView.magnification should include magnification due to the active gesture 17550 https://bugs.webkit.org/show_bug.cgi?id=125813 17551 17552 Reviewed by Simon Fraser. 17553 17554 Make WKView.magnification respect active pinch-zoom gestures. 17555 17556 * UIProcess/API/mac/WKView.mm: 17557 (-[WKView magnification]): 17558 If we have a ViewGestureController, defer to it for the current magnification. 17559 17560 * UIProcess/mac/ViewGestureController.cpp: 17561 (WebKit::ViewGestureController::magnification): 17562 Return either the current pinch-zoom magnification, if we're in the middle of a gesture, 17563 or the pageScaleFactor, if we're not. 17564 17565 * UIProcess/mac/ViewGestureController.h: 17566 175672013-12-16 Benjamin Poulain <bpoulain@apple.com> 17568 17569 [WK2] Remove the constraint that highlight rects must be smaller than the scrollview bounds 17570 https://bugs.webkit.org/show_bug.cgi?id=125812 17571 17572 Reviewed by Dan Bernstein. 17573 17574 Currently, _scrollView is never set on WKInteractionView and all highlight rects are discarded. 17575 17576 Eventually, the constraint rect should be computed from the useful area of ScrollView and the scale 17577 of the document. In the meantime, the constraint code is just causing troubles. 17578 17579 The issue is tracked by <rdar://problem/15673655>. 17580 17581 * UIProcess/API/ios/WKInteractionView.mm: 17582 (-[WKInteractionView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]): 17583 175842013-12-16 Simon Fraser <simon.fraser@apple.com> 17585 17586 Apply overhang shadow and linen to UI-side layers 17587 https://bugs.webkit.org/show_bug.cgi?id=125807 17588 17589 Reviewed by Tim Horton. 17590 17591 With UI-side compositing, we need to apply the overhang shadow and linen 17592 background to layers in the UI process. Achieve this by setting a "custom 17593 appearance" flag on layers that need a shadow or linen background, and 17594 migrating this flag to the UI process. Static functions on ScrollbarThemeMac 17595 are exposed to do the actual setting. 17596 17597 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 17598 (WebKit::updateCustomAppearance): Use ScrollbarThemeMac to update the 17599 appearance. 17600 (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): 17601 * Shared/mac/RemoteLayerTreeTransaction.h: 17602 * Shared/mac/RemoteLayerTreeTransaction.mm: 17603 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 17604 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 17605 (WebKit::dumpChangedLayers): 17606 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 17607 (PlatformCALayerRemote::setBounds): If the bounds change, also set the 17608 CustomAppearanceChanged bit so that the UI side updates the shadow bounds 17609 (done here because the UI side is not stateful). 17610 (PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange): 17611 (PlatformCALayerRemote::customAppearance): 17612 (PlatformCALayerRemote::updateCustomAppearance): 17613 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 17614 176152013-12-16 Brady Eidson <beidson@apple.com> 17616 17617 DatabaseProcess: Implement openTransaction() 17618 https://bugs.webkit.org/show_bug.cgi?id=125794 17619 17620 Reviewed by Darin Adler. 17621 17622 This patch hooks up all of the necessary infrastructure to open a uniquely 17623 identified transaction in the DatabaseProcess backing store. 17624 17625 The transaction itself is not yet functional. 17626 17627 Add openTransaction messaging to the WebProcess side: 17628 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 17629 (WebKit::WebIDBServerConnection::isClosed): 17630 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): 17631 (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): 17632 (WebKit::WebIDBServerConnection::openTransaction): 17633 (WebKit::WebIDBServerConnection::didOpenTransaction): 17634 (WebKit::WebIDBServerConnection::deleteObjectStore): 17635 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 17636 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 17637 17638 Add openTransaction messaging to the DatabaseProcess side: 17639 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 17640 (WebKit::DatabaseProcessIDBConnection::openTransaction): 17641 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 17642 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 17643 17644 Add a hashable identifier that represents a connection/transactionID pair: 17645 * DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h: Added. 17646 (WebKit::IDBTransactionIdentifier::IDBTransactionIdentifier): 17647 (WebKit::IDBTransactionIdentifier::isolatedCopy): 17648 (WebKit::IDBTransactionIdentifier::isEmpty): 17649 (WebKit::IDBTransactionIdentifier::hash): 17650 (WebKit::IDBTransactionIdentifier::operator==): 17651 (WebKit::IDBTransactionIdentifier::isHashTableDeletedValue): 17652 (WebKit::IDBTransactionIdentifierHash::hash): 17653 (WebKit::IDBTransactionIdentifierHash::equal): 17654 (WebKit::IDBTransactionIdentifierHashTraits::isEmptyValue): 17655 17656 Allow that identifier to be cross-thread copied: 17657 * Shared/WebCrossThreadCopier.cpp: 17658 (WebCore::::copy): 17659 * Shared/WebCrossThreadCopier.h: 17660 17661 Ask the backing store to open this uniquely identified transaction: 17662 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 17663 (WebKit::UniqueIDBDatabase::openTransaction): 17664 (WebKit::UniqueIDBDatabase::openBackingStoreTransaction): 17665 (WebKit::UniqueIDBDatabase::didOpenBackingStoreTransaction): 17666 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 17667 17668 Add the backing store implementation for opening a transaction: 17669 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 17670 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 17671 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 17672 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction): 17673 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 17674 17675 Object to represent the backing store transaction itself, to be used in future patches: 17676 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp: 17677 (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction): 17678 * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h: 17679 (WebKit::SQLiteIDBTransaction::create): 17680 (WebKit::SQLiteIDBTransaction::identifier): 17681 17682 * WebKit2.xcodeproj/project.pbxproj: 17683 176842013-12-16 Anders Carlsson <andersca@apple.com> 17685 17686 Fix crash when trying to load a null HTML string 17687 https://bugs.webkit.org/show_bug.cgi?id=125801 17688 17689 Reviewed by Dan Bernstein. 17690 17691 * WebProcess/WebPage/WebPage.cpp: 17692 (WebKit::WebPage::loadString): 17693 Check that the string is not null before calling is8Bit(). Also, Use the latin1 encoding for 17694 8-bit strings, since Latin 1 strings are not necessarily valid UTF-8 strings. 17695 176962013-12-16 Dan Bernstein <mitz@apple.com> 17697 17698 [Cocoa] Expose whether the page contains only secure content 17699 https://bugs.webkit.org/show_bug.cgi?id=125758 17700 17701 Reviewed by Anders Carlsson. 17702 17703 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 17704 (-[WKBrowsingContextController hasOnlySecureContent]): Added a getter that calls 17705 PageLoadState::hasOnlySecureContent. 17706 * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Declared new property. 17707 17708 * UIProcess/PageLoadState.cpp: 17709 (WebKit::PageLoadState::commitChanges): Notify observers of hasOnlySecureContent() changes. 17710 (WebKit::PageLoadState::reset): Reset hasInsecureContent in the uncommitted state. 17711 (WebKit::PageLoadState::hasOnlySecureContent): Added. Returns true if there is no insecure 17712 content and the URL is an HTTPS URL. 17713 (WebKit::PageLoadState::didCommitLoad): Set hasInsecureContent to false in the uncommitted 17714 state. 17715 (WebKit::PageLoadState::didDisplayOrRunInsecureContent): Set hasInsecureContent to true in 17716 the uncommitted state. 17717 * UIProcess/PageLoadState.h: 17718 (WebKit::PageLoadState::Data::Data): Added hasInsecureContent member. 17719 17720 * UIProcess/WebPageProxy.cpp: 17721 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): Call 17722 PageLoadState::didDisplayOrRunInsecureContent and commit the change before calling out to 17723 the client. 17724 (WebKit::WebPageProxy::didRunInsecureContentForFrame): Ditto. 17725 177262013-12-16 Benjamin Poulain <bpoulain@apple.com> 17727 17728 [WK2] The NetworkProcess tries to load SecItemShim.dylib on iOS 17729 https://bugs.webkit.org/show_bug.cgi?id=125800 17730 17731 Reviewed by Dan Bernstein. 17732 17733 Give the NetworkService its own Info.plist configured without the Shim. 17734 17735 * Configurations/NetworkService.xcconfig: 17736 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist. 17737 * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist. 17738 * WebKit2.xcodeproj/project.pbxproj: 17739 177402013-12-16 Brady Eidson <beidson@apple.com> 17741 17742 DatabaseProcess: Fix a few bugs with opening an IDB connection 17743 https://bugs.webkit.org/show_bug.cgi?id=125798 17744 17745 Reviewed by Alexey Proskuryakov. 17746 17747 Database metadata always needs a non-zero database identifier, unique at runtime. 17748 17749 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: 17750 (WebKit::generateDatabaseId): 17751 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): 17752 177532013-12-16 Anders Carlsson <andersca@apple.com> 17754 17755 UserData should encode and decode API::Data objects 17756 https://bugs.webkit.org/show_bug.cgi?id=125799 17757 17758 Reviewed by Beth Dakin. 17759 17760 * Shared/APIData.cpp: Added. 17761 (API::Data::encode): 17762 (API::Data::decode): 17763 * Shared/APIData.h: 17764 * Shared/UserData.cpp: 17765 (WebKit::UserData::encode): 17766 (WebKit::UserData::decode): 17767 * WebKit2.xcodeproj/project.pbxproj: 17768 177692013-12-16 Anders Carlsson <andersca@apple.com> 17770 17771 Rename WebData to API::Data 17772 https://bugs.webkit.org/show_bug.cgi?id=125797 17773 17774 Reviewed by Beth Dakin. 17775 17776 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 17777 (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]): 17778 (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): 17779 * Shared/API/c/WKData.cpp: 17780 (WKDataGetTypeID): 17781 (WKDataCreate): 17782 * Shared/API/c/WKSharedAPICast.h: 17783 * Shared/API/c/mac/WKWebArchive.cpp: 17784 (WKWebArchiveCopyData): 17785 * Shared/API/c/mac/WKWebArchiveResource.cpp: 17786 (WKWebArchiveResourceCopyData): 17787 * Shared/APIData.h: Renamed from Source/WebKit2/Shared/WebData.h. 17788 (API::Data::createWithoutCopying): 17789 (API::Data::create): 17790 (API::Data::~Data): 17791 (API::Data::bytes): 17792 (API::Data::size): 17793 (API::Data::dataReference): 17794 (API::Data::Data): 17795 (API::Data::fastFreeBytes): 17796 * Shared/Cocoa/WKNSData.h: 17797 (WebKit::wrapper): 17798 * Shared/Cocoa/WKNSData.mm: 17799 (-[WKNSData dealloc]): 17800 * Shared/UserMessageCoders.h: 17801 (WebKit::UserMessageEncoder::baseEncode): 17802 (WebKit::UserMessageDecoder::baseDecode): 17803 * Shared/WebArchive.cpp: 17804 (WebKit::WebArchive::create): 17805 (WebKit::WebArchive::WebArchive): 17806 (WebKit::WebArchive::data): 17807 * Shared/WebArchive.h: 17808 * Shared/WebArchiveResource.cpp: 17809 (WebKit::WebArchiveResource::create): 17810 (WebKit::WebArchiveResource::WebArchiveResource): 17811 (WebKit::WebArchiveResource::data): 17812 * Shared/WebArchiveResource.h: 17813 * UIProcess/API/C/WKPage.cpp: 17814 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 17815 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): 17816 * UIProcess/API/mac/WKPrintingView.mm: 17817 (pageDidDrawToPDF): 17818 * UIProcess/Downloads/DownloadProxy.cpp: 17819 (WebKit::createData): 17820 (WebKit::DownloadProxy::didFail): 17821 (WebKit::DownloadProxy::didCancel): 17822 * UIProcess/Downloads/DownloadProxy.h: 17823 (WebKit::DownloadProxy::resumeData): 17824 * UIProcess/WebPageProxy.cpp: 17825 (WebKit::WebPageProxy::loadData): 17826 (WebKit::WebPageProxy::loadWebArchiveData): 17827 (WebKit::WebPageProxy::dataCallback): 17828 (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder): 17829 (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): 17830 * UIProcess/WebPageProxy.h: 17831 * UIProcess/WebUIClient.cpp: 17832 (WebKit::WebUIClient::saveDataToFileInDownloadsFolder): 17833 * UIProcess/WebUIClient.h: 17834 * UIProcess/cf/WebPageProxyCF.cpp: 17835 (WebKit::WebPageProxy::sessionStateData): 17836 (WebKit::WebPageProxy::restoreFromSessionStateData): 17837 * WebKit2.xcodeproj/project.pbxproj: 17838 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 17839 (WKBundleCreateWKDataFromUInt8Array): 17840 * WebProcess/InjectedBundle/InjectedBundle.cpp: 17841 (WebKit::InjectedBundle::createWebDataFromUint8Array): 17842 * WebProcess/InjectedBundle/InjectedBundle.h: 17843 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 17844 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): 17845 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 17846 (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest): 17847 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 17848 * WebProcess/WebPage/WebPage.cpp: 17849 (WebKit::WebPage::loadDataImpl): 17850 178512013-12-16 Michał Pakuła vel Rutka <m.pakula@samsung.com> 17852 17853 Fix build warning in files including DrawingAreaProxy.h 17854 https://bugs.webkit.org/show_bug.cgi?id=125778 17855 17856 Reviewed by Anders Carlsson. 17857 17858 Remove unused parameters from method declaration. 17859 17860 * UIProcess/DrawingAreaProxy.h: 17861 (WebKit::DrawingAreaProxy::adjustTransientZoom): 17862 (WebKit::DrawingAreaProxy::commitTransientZoom): 17863 178642013-12-16 Carlos Garcia Campos <cgarcia@igalia.com> 17865 17866 Unreviewed. Fix GTK+ build after r160549. 17867 17868 * GNUmakefile.am: Fix the include paths to make sure we include 17869 the WebKit2 config.h file when building libWebKit2Platform. 17870 178712013-12-16 Sergio Villar Senin <svillar@igalia.com> 17872 17873 [GTK] can't build from trunk: WebKitCookieManager: 'WebString' was not declared in this scope 17874 https://bugs.webkit.org/show_bug.cgi?id=125759 17875 17876 Reviewed by Carlos Garcia Campos. 17877 17878 Renamed WebString to API::String after r160608. 17879 17880 * UIProcess/API/gtk/WebKitCookieManager.cpp: 17881 (webkitCookieManagerGetDomainsWithCookiesCallback): 17882 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: 17883 (webkit_file_chooser_request_get_mime_types): 17884 (webkit_file_chooser_request_get_mime_types_filter): 17885 (webkit_file_chooser_request_get_selected_files): 17886 * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp: 17887 (webkit_form_submission_request_get_text_fields): 17888 * UIProcess/API/gtk/WebKitWebContext.cpp: 17889 (webkit_web_context_set_web_extensions_directory): 17890 (webkit_web_context_prefetch_dns): 17891 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 17892 (toAPIArray): 17893 * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: 17894 (webkitWebExtensionDidReceiveMessage): 17895 178962013-12-15 Tim Horton <timothy_horton@apple.com> 17897 17898 WebKit2 View Gestures: Can't pinch in past the maximum scale 17899 https://bugs.webkit.org/show_bug.cgi?id=125749 17900 17901 Reviewed by Anders Carlsson. 17902 17903 Pinching in past the maximum scale should result in the zoom resisting, but continuing. 17904 17905 * UIProcess/mac/ViewGestureController.cpp: 17906 (WebKit::resistanceForDelta): 17907 Clean up the logic and apply resistance to pinching in past the maximum. 17908 17909 (WebKit::ViewGestureController::handleMagnificationGesture): 17910 (WebKit::ViewGestureController::endMagnificationGesture): 17911 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 17912 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 17913 179142013-12-15 Dan Bernstein <mitz@apple.com> 17915 17916 [Cocoa] Expose the certificate chain for the main frame 17917 https://bugs.webkit.org/show_bug.cgi?id=125760 17918 17919 Reviewed by Sam Weinig. 17920 17921 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared certificateChain property. 17922 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 17923 (-[WKBrowsingContextController certificateChain]): Added this getter, which calls through 17924 to WebFrameProxy::certificateInfo. 17925 179262013-12-15 Andy Estes <aestes@apple.com> 17927 17928 [iOS] Upstream changes to FeatureDefines.xcconfig 17929 https://bugs.webkit.org/show_bug.cgi?id=125742 17930 17931 Reviewed by Dan Bernstein. 17932 17933 * Configurations/FeatureDefines.xcconfig: 17934 179352013-12-15 Dan Bernstein <mitz@apple.com> 17936 17937 Build fix for 32-bit clients. 17938 17939 * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: 17940 179412013-12-15 Michał Pakuła vel Rutka <m.pakula@samsung.com> 17942 17943 Unreviewed EFL build fix after r160608. 17944 17945 * UIProcess/WebGrammarDetail.cpp: 17946 (WebKit::WebGrammarDetail::WebGrammarDetail): 17947 (WebKit::WebGrammarDetail::guesses): 17948 * UIProcess/WebTextCheckerClient.cpp: 17949 (WebKit::WebTextCheckerClient::guessesForWord): 17950 179512013-12-14 Yongjun Zhang <yongjun_zhang@apple.com> 17952 17953 Add page load delegate for WebProcessPlugInBrowsingContextController. 17954 https://bugs.webkit.org/show_bug.cgi?id=125697 17955 17956 Add page load delegate for WebProcessPlugInBrowsingContextController so that a 17957 WebProcess injected bundle can listen to page load events. 17958 17959 Reviewed by Sam Weinig. 17960 17961 * WebKit2.xcodeproj/project.pbxproj: 17962 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added. 17963 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: 17964 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 17965 (didStartProvisionalLoadForFrame): 17966 (didFinishLoadForFrame): 17967 (globalObjectIsAvailableForFrame): 17968 (setUpPageLoaderClient): 17969 (-[WKWebProcessPlugInBrowserContextController loadDelegate]): 17970 (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]): 17971 179722013-12-14 Dan Bernstein <mitz@apple.com> 17973 17974 [iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost 17975 https://bugs.webkit.org/show_bug.cgi?id=125744 17976 17977 Reviewed by Sam Weinig. 17978 17979 * NetworkProcess/ios/NetworkProcessIOS.mm: 17980 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Implemented by calling 17981 +[NSURLRequest setAllowsSpecificHTTPSCertificate:forHost:]. 17982 179832013-12-13 Sam Weinig <sam@webkit.org> 17984 17985 [WK2] Rename WebString to API::String 17986 https://bugs.webkit.org/show_bug.cgi?id=125726 17987 17988 Reviewed by Anders Carlsson. 17989 17990 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 17991 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 17992 * Shared/API/c/WKPluginInformation.cpp: 17993 * Shared/API/c/WKSharedAPICast.h: 17994 * Shared/API/c/WKString.cpp: 17995 * Shared/API/c/cf/WKStringCF.mm: 17996 * Shared/APIArray.cpp: 17997 * Shared/APIArray.h: 17998 * Shared/APIString.h: Copied from Source/WebKit2/Shared/WebString.h. 17999 * Shared/Cocoa/WKNSString.h: 18000 * Shared/Cocoa/WKNSString.mm: 18001 * Shared/ImmutableDictionary.cpp: 18002 * Shared/Plugins/Netscape/PluginInformation.cpp: 18003 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: 18004 * Shared/UserData.cpp: 18005 * Shared/UserMessageCoders.h: 18006 * Shared/WebArchiveResource.h: 18007 * Shared/WebOpenPanelParameters.cpp: 18008 * Shared/WebRenderLayer.cpp: 18009 * Shared/WebRenderObject.cpp: 18010 * Shared/WebString.h: Removed. 18011 * UIProcess/API/C/WKCredential.cpp: 18012 * UIProcess/API/C/WKDatabaseManager.cpp: 18013 * UIProcess/API/C/WKPage.cpp: 18014 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 18015 * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: 18016 * UIProcess/APINavigationData.h: 18017 * UIProcess/Authentication/WebCredential.h: 18018 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 18019 * UIProcess/Plugins/PlugInAutoStartProvider.cpp: 18020 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 18021 * UIProcess/WebContext.cpp: 18022 * UIProcess/WebDatabaseManagerProxy.cpp: 18023 * UIProcess/WebFormClient.cpp: 18024 * UIProcess/WebLoaderClient.cpp: 18025 * UIProcess/WebPageGroup.cpp: 18026 * UIProcess/WebUIClient.cpp: 18027 * WebKit2.xcodeproj/project.pbxproj: 18028 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 18029 * WebProcess/InjectedBundle/InjectedBundle.cpp: 18030 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 18031 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 18032 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 18033 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 18034 180352013-12-14 Andy Estes <aestes@apple.com> 18036 18037 Unify FeatureDefines.xcconfig 18038 https://bugs.webkit.org/show_bug.cgi?id=125741 18039 18040 Rubber-stamped by Dan Bernstein. 18041 18042 * Configurations/FeatureDefines.xcconfig: Remove a space in 18043 FEATURE_DEFINES and fix a typo in ENABLE_CSS3_TEXT_DECORATION. 18044 180452013-12-14 Dan Bernstein <mitz@apple.com> 18046 18047 iOS build fix. 18048 18049 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared 18050 observedRenderingProgressEvents as nonatomic. 18051 180522013-12-14 Dan Bernstein <mitz@apple.com> 18053 18054 [Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost 18055 https://bugs.webkit.org/show_bug.cgi?id=125738 18056 18057 Reviewed by Mark Rowe. 18058 18059 * UIProcess/API/Cocoa/WKProcessGroup.mm: 18060 (-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Added. Calls through to 18061 WebContext::allowSpecificHTTPSCertificateForHost. 18062 * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Declared new method. 18063 180642013-12-14 Dan Bernstein <mitz@apple.com> 18065 18066 [Cocoa] Expose some layout milestones 18067 https://bugs.webkit.org/show_bug.cgi?id=125721 18068 18069 Reviewed by Sam Weinig. 18070 18071 * UIProcess/API/Cocoa/WKBrowsingContextController.h: 18072 (WKRenderingProgressEvents): Declared new enum. 18073 (@interface WKBrowsingContextController): Declared new observedRenderingProgressEvents 18074 property. 18075 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 18076 (layoutMilestones): Added helper to translate rendering progress events into layout 18077 milestones. 18078 (-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Added this setter. 18079 Sets the ivar and calls WebPageProxy::listenForLayoutMilestones. 18080 (renderingProgressEvents): Added helper to translate layout milestones into rendering 18081 progress events. 18082 (didLayout): Implemented this WKPageLoaderClient callback by calling the load delegate. 18083 (setUpPageLoaderClient): Set the above callback in the client structure. 18084 * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Declared new delegate method. 18085 180862013-12-14 Dan Bernstein <mitz@apple.com> 18087 18088 Clarify Owners’ role 18089 https://bugs.webkit.org/show_bug.cgi?id=125739 18090 18091 Reviewed by Anders Carlsson. 18092 18093 * Owners: Clarify that a patch authored by an Owner does not have to be reviewed by one, as 18094 decided during the 2013 WebKit Contributors Meeting. 18095 180962013-12-13 Benjamin Poulain <bpoulain@apple.com> 18097 18098 [WK2] Fix the build and enable the NetworkProcess by default on iOS 18099 https://bugs.webkit.org/show_bug.cgi?id=125723 18100 18101 Reviewed by Sam Weinig. 18102 18103 * Configurations/WebKit2.xcconfig: 18104 Fix the list of excluded file to get the processes building. 18105 18106 * NetworkProcess/ios/NetworkProcessIOS.mm: 18107 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHosAt): 18108 Update PlatformCertificateInfo->CertificateInfo match the new name after r159647. 18109 18110 * UIProcess/API/Cocoa/WKProcessGroup.mm: 18111 (-[WKProcessGroup initWithInjectedBundleURL:]): 18112 Enable the NetworkProcess by default. 18113 18114 * UIProcess/Network/mac/NetworkProcessProxyMac.mm: 18115 (WebKit::shouldUseXPC): 18116 Use the right macro. 18117 18118 * WebKit2Prefix.h: 18119 Eanble the flags NETWORK_PROCESS and CUSTOM_PROTOCOLS. 18120 181212013-12-13 Dan Bernstein <mitz@apple.com> 18122 18123 Demoted ActivityAssertion.h to a project header. 18124 18125 Rubber-stamped by Sam Weinig. 18126 18127 * WebKit2.xcodeproj/project.pbxproj: 18128 181292013-12-13 Sam Weinig <sam@webkit.org> 18130 18131 [WK2] Start removing calls to String::characters() 18132 https://bugs.webkit.org/show_bug.cgi?id=125699 18133 18134 Reviewed by Anders Carlsson. 18135 18136 * Shared/mac/WebCoreArgumentCodersMac.mm: 18137 (CoreIPC::::decodePlatformData): 18138 * UIProcess/Plugins/PluginInfoStore.cpp: 18139 (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin): 18140 (WebKit::PluginInfoStore::findPlugin): 18141 * UIProcess/Plugins/PluginInfoStore.h: 18142 * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: 18143 (WebKit::PluginInfoStore::pluginsDirectories): 18144 (WebKit::PluginInfoStore::pluginPathsInDirectory): 18145 * UIProcess/cf/WebPreferencesCF.cpp: 18146 (WebKit::makeKey): 18147 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 18148 (WebKit::InjectedBundle::load): 18149 * WebProcess/WebPage/WebPage.cpp: 18150 (WebKit::WebPage::loadStringImpl): 18151 (WebKit::WebPage::loadHTMLString): 18152 (WebKit::WebPage::loadAlternateHTMLString): 18153 (WebKit::WebPage::loadPlainTextString): 18154 (WebKit::WebPage::loadWebArchiveData): 18155 * WebProcess/WebPage/WebPage.h: 18156 181572013-12-13 Enrica Casucci <enrica@apple.com> 18158 18159 WK2: Add support for inline candidates on iOS. 18160 https://bugs.webkit.org/show_bug.cgi?id=125667 18161 18162 Reviewed by Benjamin Poulain. 18163 18164 The state required to support inline candidates is cached in the UI process. 18165 Asynchronous messages are used to set and confirm the composition. 18166 18167 * Shared/EditorState.cpp: 18168 (WebKit::EditorState::encode): 18169 (WebKit::EditorState::decode): 18170 * Shared/EditorState.h: 18171 * UIProcess/API/ios/WKInteractionView.mm: 18172 (-[WKInteractionView textFirstRect]): 18173 (-[WKInteractionView textLastRect]): 18174 (-[WKInteractionView hasMarkedText]): 18175 (-[WKInteractionView markedText]): 18176 (-[WKInteractionView setMarkedText:selectedRange:]): 18177 (-[WKInteractionView unmarkText]): 18178 (-[WKInteractionView _selectionChanged]): 18179 * UIProcess/WebPageProxy.cpp: 18180 (WebKit::WebPageProxy::editorStateChanged): 18181 * UIProcess/WebPageProxy.h: 18182 * UIProcess/WebPageProxy.messages.in: 18183 * UIProcess/ios/WebPageProxyIOS.mm: 18184 (WebKit::WebPageProxy::setComposition): 18185 (WebKit::WebPageProxy::confirmComposition): 18186 (WebKit::WebPageProxy::notifyRevealedSelection): 18187 * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: 18188 (WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame): 18189 * WebProcess/WebPage/WebPage.cpp: 18190 (WebKit::WebPage::editorState): 18191 * WebProcess/WebPage/WebPage.h: 18192 * WebProcess/WebPage/WebPage.messages.in: 18193 * WebProcess/WebPage/ios/WebPageIOS.mm: 18194 (WebKit::WebPage::setComposition): 18195 (WebKit::WebPage::confirmComposition): 18196 181972013-12-13 Anders Carlsson <andersca@apple.com> 18198 18199 Fix the build. 18200 18201 Work around a problem in Functional.h by making the DatabaseProcess destructor public. 18202 18203 * DatabaseProcess/DatabaseProcess.h: 18204 182052013-12-13 Tim Horton <timothy_horton@apple.com> 18206 18207 [wk2] Handle pinch-to-zoom gesture 18208 https://bugs.webkit.org/show_bug.cgi?id=125604 18209 18210 Reviewed by Sam Weinig. 18211 18212 * UIProcess/API/mac/WKView.mm: 18213 (-[WKView magnifyWithEvent:]): 18214 (-[WKView endGestureWithEvent:]): 18215 Forward the event up the chain if we're not going to handle it. 18216 182172013-12-12 Anders Carlsson <andersca@apple.com> 18218 18219 Put classes in the IPC directory in the IPC namespace 18220 https://bugs.webkit.org/show_bug.cgi?id=125665 18221 18222 Reviewed by Sam Weinig. 18223 18224 Also add a hack to config.h that lets us use CoreIPC and IPC interchangeably. 18225 18226 * Platform/IPC/DataReference.cpp: 18227 * Platform/IPC/DataReference.h: 18228 * Platform/IPC/MessageSender.cpp: 18229 * Platform/IPC/MessageSender.h: 18230 * Platform/IPC/StringReference.cpp: 18231 * Platform/IPC/StringReference.h: 18232 * config.h: 18233 182342013-12-13 Carlos Garcia Campos <cgarcia@igalia.com> 18235 18236 [GTK] Add a unit tests to WebKit2 to test node names 18237 https://bugs.webkit.org/show_bug.cgi?id=125686 18238 18239 Reviewed by Gustavo Noronha Silva. 18240 18241 * UIProcess/API/gtk/tests/DOMNodeTest.cpp: 18242 (WebKitDOMNodeTest::testTagNames): 18243 (WebKitDOMNodeTest::runTest): 18244 (registerTests): 18245 * UIProcess/API/gtk/tests/TestDOMNode.cpp: 18246 (testWebKitDOMNodeTagNames): 18247 (beforeAll): 18248 182492013-12-13 Zan Dobersek <zdobersek@igalia.com> 18250 18251 Unreviewed. Further GTK WK2 build fixes after r160504. 18252 18253 * UIProcess/API/gtk/WebKitWebView.cpp: 18254 (webkit_web_view_get_snapshot): 18255 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 18256 (didInitiateLoadForResource): 18257 (willSendRequestForFrame): 18258 (didReceiveResponseForResource): 18259 (didReceiveContentLengthForResource): 18260 (didFinishLoadForResource): 18261 (didFailLoadForResource): 18262 (webkitWebPageDidReceiveMessage): 18263 182642013-12-13 Zan Dobersek <zdobersek@igalia.com> 18265 18266 Unreviewed GTK build fix after r160509. 18267 18268 * GNUmakefile.list.am: MessageSender.(cpp|h) files were moved to Platform/IPC. 18269 182702013-12-13 Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> 18271 18272 GTK buildfix after r160504. 18273 18274 Reviewed by Csaba Osztrogonác. 18275 18276 * UIProcess/API/gtk/WebKitWebContext.cpp: 18277 (webkit_web_context_prefetch_dns): 18278 182792013-12-12 Yongjun Zhang <yongjun_zhang@apple.com> 18280 18281 Need ObjC APIs for some InjectedBundle classes. 18282 https://bugs.webkit.org/show_bug.cgi?id=125600 18283 18284 Add ObjC API classes for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult and InjectedBundleNodeHandle. 18285 18286 Reviewed by Dan Bernstein. 18287 18288 * Shared/Cocoa/APIObject.mm: creates API wrapper for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult 18289 and InjectedBundleNodeHandle. 18290 (API::Object::newObject): 18291 * WebKit2.xcodeproj/project.pbxproj: 18292 * WebProcess/InjectedBundle/API/Cocoa: Added. 18293 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Added. 18294 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Added. 18295 (-[WKWebProcessPlugInFrame dealloc]): 18296 (-[WKWebProcessPlugInFrame jsContextForWorld:]): returns the JSContextRef for a ScriptWorld in frame. 18297 (-[WKWebProcessPlugInFrame hitTest:]): returns hitTestResult (with API type) from a hitTest. 18298 (-[WKWebProcessPlugInFrame jsWrapperForNodeHandle:inWorld:]): 18299 (-[WKWebProcessPlugInFrame API::]): 18300 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Added. 18301 (WebKit::wrapper): 18302 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h: Added. 18303 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm: Added. 18304 (-[WKWebProcessPlugInHitTestResult dealloc]): 18305 (-[WKWebProcessPlugInHitTestResult nodeHandle]): 18306 (-[WKWebProcessPlugInHitTestResult API::]): 18307 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h: Added. 18308 (WebKit::wrapper): 18309 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Added. 18310 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: Added. 18311 (-[WKWebProcessPlugInNodeHandle dealloc]): 18312 (-[WKWebProcessPlugInNodeHandle API::]): 18313 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Added. 18314 (WebKit::wrapper): 18315 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Added. 18316 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: Added. 18317 (+[WKWebProcessPlugInScriptWorld world]): returns a new isolated world. 18318 (+[WKWebProcessPlugInScriptWorld normalWorld]): returns the mainThread normal world. 18319 (-[WKWebProcessPlugInScriptWorld dealloc]): 18320 (-[WKWebProcessPlugInScriptWorld API::]): 18321 * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Added. 18322 (WebKit::wrapper): 18323 183242013-12-12 Benjamin Poulain <bpoulain@apple.com> 18325 18326 Fix unsafe memory load/store from the argument encoder/decoder affecting ARM 18327 https://bugs.webkit.org/show_bug.cgi?id=125674 18328 18329 Reviewed by Darin Adler. 18330 18331 Depending on the CPU and CPU config, load and store may have to be aligned. 18332 The argument buffer has no particular alignment which can cause problems. 18333 18334 In this case, on ARMv7, strd and ldrd can have alignment restriction on 16 bytes. 18335 The code encoding double and 64 bits integers was causing bugs. 18336 18337 To avoid problems, the encoders/decoders are modified to just use memcpy. The compiler optimizes 18338 it away for the right instructions (clang uses two ldr/str in the case of 64bits values on ARMv7). 18339 18340 * Platform/CoreIPC/ArgumentDecoder.cpp: 18341 (CoreIPC::decodeValueFromBuffer): 18342 (CoreIPC::ArgumentDecoder::decode): 18343 * Platform/CoreIPC/ArgumentEncoder.cpp: 18344 (CoreIPC::copyValueToBuffer): 18345 (CoreIPC::ArgumentEncoder::encode): 18346 183472013-12-12 Tim Horton <timothy_horton@apple.com> 18348 18349 Build fix for 32-bit. 18350 18351 There was no reason for these to be CGFloat. 18352 18353 * UIProcess/mac/ViewGestureController.cpp: 18354 183552013-12-12 Tim Horton <timothy_horton@apple.com> 18356 18357 [wk2] Handle pinch-to-zoom gesture 18358 https://bugs.webkit.org/show_bug.cgi?id=125604 18359 18360 Reviewed by Simon Fraser. 18361 18362 Add the concept of a "transient" zoom to DrawingArea, which is a zoom 18363 that affects the content, but does not cause repaint, as would be used 18364 for a live pinch-zoom gesture. 18365 18366 Add ViewGestureController, which currently only handles magnification 18367 gestures, and keeps track of the current gesture's scale and origin, and 18368 forwards relevant events on to the DrawingArea via the transient zoom mechanism. 18369 18370 * DerivedSources.make: 18371 Add ViewGestureController to the list of message receivers. 18372 18373 * UIProcess/API/Cocoa/WKViewPrivate.h: 18374 Add shouldHandleMagnificationGesture property, which controls whether WKView will 18375 attempt to handle magnifyWithEvent:. 18376 18377 * UIProcess/API/mac/WKView.mm: 18378 (-[WKView waitForAsyncDrawingAreaSizeUpdate]): 18379 Fix a typo. 18380 18381 (-[WKView _ensureGestureController]): 18382 Create our ViewGestureController if it doesn't already exist. 18383 18384 (-[WKView setAllowsMagnification:]): 18385 (-[WKView allowsMagnification]): 18386 SPI to enable/disable handling the magnification gesture. 18387 18388 (-[WKView setMagnification:centeredAtPoint:]): 18389 (-[WKView setMagnification:]): 18390 (-[WKView magnification]): 18391 Adjust or retrieve the current page scale. 18392 The variant of setMagnification that does not take an origin uses the view's center. 18393 18394 (-[WKView magnifyWithEvent:]): 18395 (-[WKView endGestureWithEvent:]): 18396 Forward gesture methods to ViewGestureController. 18397 18398 * UIProcess/mac/ViewGestureController.cpp: Added. 18399 (WebKit::ViewGestureController::create): 18400 (WebKit::ViewGestureController::ViewGestureController): 18401 (WebKit::ViewGestureController::~ViewGestureController): 18402 (WebKit::resistanceForDelta): 18403 Compute a resistance factor, which makes it feel "hard" to zoom out past 18404 scale=1, and accelerates scaling out before you hit scale=1. 18405 18406 (WebKit::ViewGestureController::scaledMagnificationOrigin): 18407 Compute the origin of the magnification gesture with the transient zoom unapplied. 18408 18409 (WebKit::ViewGestureController::handleMagnificationGesture): 18410 The first magnification gesture will send a message to the WebProcess 18411 to retrieve the visible content rect. Subsequent gestures will 18412 hand the new magnification and origin to the DrawingArea to apply. 18413 18414 (WebKit::ViewGestureController::didBeginTransientZoom): 18415 Callback from the WebProcess, with the current visible content rect. 18416 Subsequent magnification gestures will forward the scale and origin to the DrawingArea. 18417 18418 (WebKit::ViewGestureController::endMagnificationGesture): 18419 Commit the current transient scale as the actual page scale, which will cause 18420 a repaint and bring in all the tiles. 18421 18422 (WebKit::ViewGestureController::endActiveGesture): 18423 If we have an active gesture, call its end function. 18424 18425 * UIProcess/mac/ViewGestureController.h: Added. 18426 * UIProcess/mac/ViewGestureController.messages.in: Added. 18427 18428 * WebKit2.xcodeproj/project.pbxproj: 18429 Add new files. 18430 18431 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 18432 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 18433 (WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom): 18434 Call back to ViewGestureController with the visibleContentRect. 18435 18436 (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom): 18437 Scale and translate the RenderView's PlatformCALayer. 18438 Reaching into the layer tree like this is scary, we should consider 18439 teaching RenderLayerCompositor about transient zoom. 18440 Hide the content shadow layer for now. 18441 18442 (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom): 18443 Clear our custom transform on the RenderView's layer, and 18444 change the actual page scale, causing a repaint. 18445 Un-hide the shadow layer. 18446 18447 * UIProcess/DrawingAreaProxy.h: 18448 (WebKit::DrawingAreaProxy::beginTransientZoom): 18449 (WebKit::DrawingAreaProxy::adjustTransientZoom): 18450 (WebKit::DrawingAreaProxy::commitTransientZoom): 18451 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 18452 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 18453 (WebKit::TiledCoreAnimationDrawingAreaProxy::beginTransientZoom): 18454 (WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom): 18455 (WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom): 18456 * WebProcess/WebPage/DrawingArea.h: 18457 (WebKit::DrawingArea::beginTransientZoom): 18458 (WebKit::DrawingArea::adjustTransientZoom): 18459 (WebKit::DrawingArea::commitTransientZoom): 18460 * WebProcess/WebPage/DrawingArea.messages.in: 18461 Generic plumbing for {begin, adjust, end}TransientZoom. 18462 184632013-12-12 Brady Eidson <beidson@apple.com> 18464 18465 DatabaseProcess IndexedDB: Establish a metadata backing store on disk 18466 https://bugs.webkit.org/show_bug.cgi?id=125258 18467 18468 Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton. 18469 18470 The DatabaseProcess already has an "Indexed Database path". 18471 Each SecurityOrigin with indexed databases will have a subdirectory under the path. 18472 Each indexed database will have a subdirectory under its SecurityOrigin's path. 18473 Inside that directory will exist (1) metadata database, and 0-N ObjectStore databases. 18474 18475 This patch establishes the directory structure and the (1) metadata database. 18476 18477 * DatabaseProcess/DatabaseProcess.cpp: 18478 (WebKit::DatabaseProcess::initializeDatabaseProcess): Asynchronously ensure the indexed database directory exists. 18479 (WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Allow anyone to make necessary directories relative to 18480 the indexed database directory. 18481 (WebKit::DatabaseProcess::ensurePathExists): 18482 (WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Instead of exposing the indexed database directory, 18483 give DatabaseProcess a method to allow others to compute a path relative to the indexed database directory. 18484 (WebKit::DatabaseProcess::postDatabaseTask): 18485 (WebKit::DatabaseProcess::performNextDatabaseTask): 18486 * DatabaseProcess/DatabaseProcess.h: 18487 (WebKit::DatabaseProcess::queue): 18488 18489 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 18490 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): 18491 18492 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 18493 (WebKit::UniqueIDBDatabase::UniqueIDBDatabase): 18494 (WebKit::UniqueIDBDatabase::filenameForDatabaseName): 18495 (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier): 18496 (WebKit::UniqueIDBDatabase::canShareDatabases): 18497 (WebKit::UniqueIDBDatabase::shutdown): Method to cleanly shutdown a database, emptying its task and request queues. 18498 (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): 18499 (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): To be run on the database work queue, establishes a backing store 18500 and extracts metadata from it. 18501 (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): Callback once metadata from the backing store is ready for use. 18502 (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory): 18503 (WebKit::UniqueIDBDatabase::postMainThreadTask): Add a main thread task for this database. 18504 (WebKit::UniqueIDBDatabase::performNextMainThreadTask): 18505 (WebKit::UniqueIDBDatabase::postDatabaseTask): Add a database queue task for this database. 18506 (WebKit::UniqueIDBDatabase::performNextDatabaseTask): 18507 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 18508 18509 Add a virtual backing store interface: 18510 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: 18511 (WebKit::UniqueIDBDatabaseBackingStore::~UniqueIDBDatabaseBackingStore): 18512 18513 Add a SQLite implementation of that interface: 18514 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Added. 18515 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite): 18516 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): 18517 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): 18518 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath): 18519 (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): 18520 * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h: 18521 18522 Add a general purpose asynchronous task that does cross thread copying: 18523 * Shared/AsyncTask.h: Added. 18524 (WebKit::AsyncTask::~AsyncTask): 18525 (WebKit::AsyncTask::AsyncTask): 18526 (WebKit::createAsyncTask): 18527 18528 Add more isolated copiers and introduce WebKit CrossThreadCopier specializations: 18529 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp: 18530 (WebKit::UniqueIDBDatabaseIdentifier::isolatedCopy): 18531 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h: 18532 18533 * Shared/SecurityOriginData.cpp: 18534 (WebKit::SecurityOriginData::isolatedCopy): 18535 * Shared/SecurityOriginData.h: 18536 18537 * Shared/WebCrossThreadCopier.cpp: 18538 (WebCore::::copy): 18539 * Shared/WebCrossThreadCopier.h: 18540 18541 * WebKit2.xcodeproj/project.pbxproj: 18542 185432013-12-12 Chris Fleizach <cfleizach@apple.com> 18544 18545 AX: HANG: virginamerica.com: Pressing the print button on the boarding pass page locks up VoiceOver and Safari. 18546 https://bugs.webkit.org/show_bug.cgi?id=125603 18547 18548 Reviewed by Anders Carlsson. 18549 18550 Allow the print dialog to spin its run loop while accessibility is enabled so that VoiceOver does not hang on the WebProcess. 18551 18552 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 18553 (WebKit::WebChromeClient::print): 18554 185552013-12-12 Jaehun Lim <ljaehun.lim@samsung.com> 18556 18557 Unreviewed CMake build fix after r160509 18558 18559 * CMakeLists.txt: Apply MessageSender's changes 18560 185612013-12-12 Dan Bernstein <mitz@apple.com> 18562 18563 [Cocoa] Let the load delegate know when the Web process crashes 18564 https://bugs.webkit.org/show_bug.cgi?id=125660 18565 18566 Reviewed by Sam Weinig. 18567 18568 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 18569 (processDidCrash): Implemented this WKPageLoaderClient callback by calling the load 18570 delegate. 18571 (setUpPageLoaderClient): Set the above callback in the client structure 18572 * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Declare new delegate method. 18573 185742013-12-12 Anders Carlsson <andersca@apple.com> 18575 18576 Move MessageSender to Platform/IPC. 18577 18578 Rubber-stamped by Andreas Kling. 18579 18580 * Platform/IPC/MessageSender.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.cpp. 18581 * Platform/IPC/MessageSender.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.h. 18582 * WebKit2.xcodeproj/project.pbxproj: 18583 185842013-12-12 Anders Carlsson <andersca@apple.com> 18585 18586 WebPageProxy should be a MessageSender 18587 https://bugs.webkit.org/show_bug.cgi?id=125654 18588 18589 Reviewed by Sam Weinig. 18590 18591 * Platform/CoreIPC/MessageSender.cpp: 18592 (CoreIPC::MessageSender::sendMessage): 18593 * Platform/CoreIPC/MessageSender.h: 18594 (CoreIPC::MessageSender::send): 18595 * Shared/ChildProcessProxy.h: 18596 * Shared/WebConnection.cpp: 18597 (WebKit::WebConnection::postMessage): 18598 * UIProcess/WebPageProxy.cpp: 18599 (WebKit::WebPageProxy::initializeWebPage): 18600 (WebKit::WebPageProxy::sendMessage): 18601 (WebKit::WebPageProxy::messageSenderConnection): 18602 (WebKit::WebPageProxy::messageSenderDestinationID): 18603 * UIProcess/WebPageProxy.h: 18604 186052013-12-12 Anders Carlsson <andersca@apple.com> 18606 18607 Clean up dictionary handling a little 18608 https://bugs.webkit.org/show_bug.cgi?id=125644 18609 18610 Reviewed by Dan Bernstein. 18611 18612 Add a WKDictionaryCreate function as a first step towards eliminating WKMutableDictionaryRef, 18613 (in the same way we've eliminated WKMutableArrayRef). Also, rename adopt to create and make it take a Map by value 18614 so we can use std::move where appropriate. 18615 18616 * Shared/API/c/WKDictionary.cpp: 18617 (WKDictionaryCreate): 18618 * Shared/API/c/WKDictionary.h: 18619 * Shared/Cocoa/WKNSDictionary.mm: 18620 (-[WKNSDictionary copyWithZone:]): 18621 * Shared/ImmutableDictionary.cpp: 18622 (WebKit::ImmutableDictionary::create): 18623 (WebKit::ImmutableDictionary::ImmutableDictionary): 18624 * Shared/ImmutableDictionary.h: 18625 * Shared/MutableDictionary.cpp: 18626 (WebKit::MutableDictionary::MutableDictionary): 18627 * Shared/Plugins/Netscape/PluginInformation.cpp: 18628 (WebKit::createPluginInformationDictionary): 18629 * Shared/UserData.cpp: 18630 (WebKit::UserData::transform): 18631 (WebKit::UserData::decode): 18632 * Shared/UserMessageCoders.h: 18633 (WebKit::UserMessageDecoder::baseDecode): 18634 * UIProcess/Plugins/PlugInAutoStartProvider.cpp: 18635 (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): 18636 * UIProcess/WebContext.cpp: 18637 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 18638 * UIProcess/WebDatabaseManagerProxy.cpp: 18639 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 18640 * UIProcess/WebFormClient.cpp: 18641 (WebKit::WebFormClient::willSubmitForm): 18642 * UIProcess/WebUIClient.cpp: 18643 (WebKit::WebUIClient::createNewPage): 18644 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 18645 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent): 18646 (WebKit::InjectedBundlePageFormClient::willSubmitForm): 18647 186482013-12-12 Dan Bernstein <mitz@apple.com> 18649 18650 [Cocoa] Navigation action information for policy decisions is missing the original request 18651 https://bugs.webkit.org/show_bug.cgi?id=125612 18652 18653 Reviewed by Anders Carlsson. 18654 18655 * Platform/CoreIPC/HandleMessage.h: 18656 (CoreIPC::callMemberFunction): Added template with additional message parameter. 18657 * UIProcess/API/C/WKPagePolicyClientInternal.h: Added. Defines a new version of the client 18658 interface with a new version of the policy decision callback. 18659 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 18660 (setUpPagePolicyClient): Use the new internal version of the client. Pass the original 18661 request in the action information dictionary under a new key. 18662 * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Declared new action information 18663 key. 18664 * UIProcess/WebPageProxy.cpp: 18665 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originalRequest parameter, 18666 which is passed to the policy client. 18667 * UIProcess/WebPageProxy.h: 18668 * UIProcess/WebPageProxy.messages.in: Added originalRequest parameter in 18669 DecidePolicyForNavigationAction. 18670 * UIProcess/WebPolicyClient.cpp: 18671 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Pass the original request to 18672 the client. 18673 * UIProcess/WebPolicyClient.h: 18674 * WebKit2.xcodeproj/project.pbxproj: Added reference to new file. 18675 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18676 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the original 18677 request from the navigation action to the UI process. 18678 186792013-12-12 Zan Dobersek <zdobersek@igalia.com> 18680 18681 [Autotools] Prepend the WebCore layer archives' names with 'lib' 18682 https://bugs.webkit.org/show_bug.cgi?id=125627 18683 18684 Reviewed by Martin Robinson. 18685 18686 * GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended with 'lib' 18687 when they are used during linking, so the prefix is now added to avoid such issues. 18688 186892013-12-12 Csaba Osztrogonác <ossy@webkit.org> 18690 18691 Move CertificateInfo to WebCore 18692 https://bugs.webkit.org/show_bug.cgi?id=124720 18693 18694 Reviewed by Darin Adler. 18695 18696 Based on the patch by Kwang Yul Seo <skyul@company100.net> 18697 18698 * GNUmakefile.list.am: 18699 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 18700 * NetworkProcess/NetworkProcess.h: 18701 * NetworkProcess/NetworkProcess.messages.in: 18702 * NetworkProcess/NetworkResourceLoader.cpp: 18703 * NetworkProcess/mac/NetworkProcessMac.mm: 18704 * PlatformEfl.cmake: 18705 * PlatformGTK.cmake: 18706 * Shared/API/c/mac/WKCertificateInfoMac.mm: 18707 * Shared/Authentication/AuthenticationManager.h: 18708 * Shared/Authentication/AuthenticationManager.messages.in: 18709 * Shared/Authentication/mac/AuthenticationManager.mac.mm: 18710 * Shared/UserMessageCoders.h: 18711 (WebKit::UserMessageDecoder::baseDecode): 18712 * Shared/WebCertificateInfo.h: 18713 (WebKit::WebCertificateInfo::create): 18714 (WebKit::WebCertificateInfo::certificateInfo): 18715 * Shared/WebCoreArgumentCoders.cpp: 18716 * Shared/WebCoreArgumentCoders.h: 18717 * Shared/mac/WebCoreArgumentCodersMac.mm: 18718 (CoreIPC::ArgumentCoder<CertificateInfo>::encode): 18719 (CoreIPC::ArgumentCoder<CertificateInfo>::decode): 18720 * Shared/soup/CertificateInfo.cpp: Removed. 18721 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 18722 (CoreIPC::ArgumentCoder<CertificateInfo>::encode): 18723 (CoreIPC::ArgumentCoder<CertificateInfo>::decode): 18724 * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: 18725 * UIProcess/API/gtk/WebKitWebView.cpp: 18726 (webkit_web_view_get_tls_info): 18727 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 18728 (WebKit::AuthenticationChallengeProxy::useCredential): 18729 * UIProcess/WebFrameProxy.cpp: 18730 (WebKit::WebFrameProxy::didCommitLoad): 18731 * UIProcess/WebFrameProxy.h: 18732 * UIProcess/WebPageProxy.cpp: 18733 (WebKit::WebPageProxy::didCommitLoadForFrame): 18734 * UIProcess/WebPageProxy.h: 18735 * UIProcess/WebPageProxy.messages.in: 18736 * WebKit2.xcodeproj/project.pbxproj: 18737 * WebProcess/Network/WebResourceLoader.cpp: 18738 * WebProcess/Network/WebResourceLoader.h: 18739 * WebProcess/Network/WebResourceLoader.messages.in: 18740 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 18741 * WebProcess/WebProcess.h: 18742 * WebProcess/WebProcess.messages.in: 18743 * WebProcess/soup/WebProcessSoup.cpp: 18744 (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): 18745 187462013-12-12 Zan Dobersek <zdobersek@igalia.com> 18747 18748 Use of ar T option not supported by older binutils 18749 https://bugs.webkit.org/show_bug.cgi?id=118732 18750 18751 Reviewed by Gustavo Noronha Silva. 18752 18753 * GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive, 18754 switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the 18755 new archive. Non-thin archives also pose the problem as their members are only noted by the basename 18756 of the member's object file, and not the full path to it. To work around that, all the object files 18757 under the build directory are listed by their relative paths. The members of various archives then have 18758 the basenames of their paths grepped against that list, with the found path correlating to the member 18759 finally added as the new member of the WebCoreLayerGtk2 archive. 18760 187612013-12-12 Carlos Garcia Campos <cgarcia@igalia.com> 18762 18763 [GTK] WebProcess tests are failing with newer glib 18764 https://bugs.webkit.org/show_bug.cgi?id=125621 18765 18766 Reviewed by Martin Robinson. 18767 18768 Newer versions of glib unset the DISPLAY env variable in 18769 g_test_dbus_up(). The WebProcess needs the DISPLAY variable to 18770 work, and it's important to keep its value when running the tests 18771 under Xvfb. 18772 18773 * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp: 18774 (WebProcessTestRunner::WebProcessTestRunner): Restore the DISPLAY 18775 env variable after calling g_test_dbus_up(). 18776 187772013-12-12 Carlos Garcia Campos <cgarcia@igalia.com> 18778 18779 [GTK] Make sure unit tests don't use GVFS and dconf 18780 https://bugs.webkit.org/show_bug.cgi?id=125620 18781 18782 Reviewed by Martin Robinson. 18783 18784 They should use the local vfs and the gsettings memory backend. 18785 18786 * UIProcess/API/gtk/tests/TestMain.cpp: 18787 (main): 18788 187892013-12-11 KyungTae Kim <ktf.kim@samsung.com> 18790 18791 [WK2] Build fix after r160464 18792 https://bugs.webkit.org/show_bug.cgi?id=125615 18793 18794 Reviewed by Gyuyoung Kim. 18795 18796 Modify the 2nd parameter for calling WebContext::addMessageReceiver from "this" to "*this" 18797 because the parameter type is modified from CoreIPC::MessageReceiver* to CoreIPC::MessageReceiver& 18798 18799 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 18800 (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy): 18801 * UIProcess/WebBatteryManagerProxy.cpp: 18802 (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy): 18803 * UIProcess/WebNetworkInfoManagerProxy.cpp: 18804 (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy): 18805 * UIProcess/WebVibrationProxy.cpp: 18806 (WebKit::WebVibrationProxy::WebVibrationProxy): 18807 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 18808 (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy): 18809 * WebProcess/Battery/WebBatteryManager.cpp: 18810 (WebKit::WebBatteryManager::WebBatteryManager): 18811 * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp: 18812 (WebKit::WebNetworkInfoManager::WebNetworkInfoManager): 18813 * WebProcess/soup/WebSoupRequestManager.cpp: 18814 (WebKit::WebSoupRequestManager::WebSoupRequestManager): 18815 188162013-12-11 Anders Carlsson <andersca@apple.com> 18817 18818 MessageReceiverMap should take MessageReceiver objects by reference 18819 https://bugs.webkit.org/show_bug.cgi?id=125605 18820 18821 Reviewed by Tim Horton. 18822 18823 * Platform/CoreIPC/MessageReceiverMap.cpp: 18824 (CoreIPC::MessageReceiverMap::addMessageReceiver): 18825 * Platform/CoreIPC/MessageReceiverMap.h: 18826 * Shared/Authentication/AuthenticationManager.cpp: 18827 (WebKit::AuthenticationManager::AuthenticationManager): 18828 * Shared/ChildProcess.cpp: 18829 (WebKit::ChildProcess::addMessageReceiver): 18830 * Shared/ChildProcess.h: 18831 * Shared/ChildProcessProxy.cpp: 18832 (WebKit::ChildProcessProxy::addMessageReceiver): 18833 * Shared/ChildProcessProxy.h: 18834 * UIProcess/Downloads/DownloadProxyMap.cpp: 18835 (WebKit::DownloadProxyMap::createDownloadProxy): 18836 * UIProcess/DrawingAreaProxy.cpp: 18837 (WebKit::DrawingAreaProxy::DrawingAreaProxy): 18838 * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: 18839 (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy): 18840 * UIProcess/WebApplicationCacheManagerProxy.cpp: 18841 (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy): 18842 * UIProcess/WebConnectionToWebProcess.cpp: 18843 (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess): 18844 * UIProcess/WebContext.cpp: 18845 (WebKit::WebContext::WebContext): 18846 (WebKit::WebContext::addMessageReceiver): 18847 * UIProcess/WebContext.h: 18848 * UIProcess/WebCookieManagerProxy.cpp: 18849 (WebKit::WebCookieManagerProxy::WebCookieManagerProxy): 18850 * UIProcess/WebDatabaseManagerProxy.cpp: 18851 (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy): 18852 * UIProcess/WebFullScreenManagerProxy.cpp: 18853 (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): 18854 * UIProcess/WebGeolocationManagerProxy.cpp: 18855 (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy): 18856 * UIProcess/WebIconDatabase.cpp: 18857 (WebKit::WebIconDatabase::WebIconDatabase): 18858 * UIProcess/WebInspectorProxy.cpp: 18859 (WebKit::WebInspectorProxy::WebInspectorProxy): 18860 * UIProcess/WebMediaCacheManagerProxy.cpp: 18861 (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy): 18862 * UIProcess/WebOriginDataManagerProxy.cpp: 18863 (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy): 18864 * UIProcess/WebPageProxy.cpp: 18865 (WebKit::WebPageProxy::WebPageProxy): 18866 (WebKit::WebPageProxy::reattachToWebProcess): 18867 * UIProcess/WebResourceCacheManagerProxy.cpp: 18868 (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): 18869 * UIProcess/mac/RemoteLayerTreeHost.mm: 18870 (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): 18871 * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: 18872 (WebKit::WebApplicationCacheManager::WebApplicationCacheManager): 18873 * WebProcess/Cookies/WebCookieManager.cpp: 18874 (WebKit::WebCookieManager::WebCookieManager): 18875 * WebProcess/Geolocation/WebGeolocationManager.cpp: 18876 (WebKit::WebGeolocationManager::WebGeolocationManager): 18877 * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: 18878 (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy): 18879 * WebProcess/MediaCache/WebMediaCacheManager.cpp: 18880 (WebKit::WebMediaCacheManager::WebMediaCacheManager): 18881 * WebProcess/Notifications/WebNotificationManager.cpp: 18882 (WebKit::WebNotificationManager::WebNotificationManager): 18883 * WebProcess/OriginData/WebOriginDataManager.cpp: 18884 (WebKit::WebOriginDataManager::WebOriginDataManager): 18885 * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 18886 (WebKit::WebResourceCacheManager::WebResourceCacheManager): 18887 * WebProcess/Storage/StorageAreaMap.cpp: 18888 (WebKit::StorageAreaMap::StorageAreaMap): 18889 * WebProcess/WebConnectionToUIProcess.cpp: 18890 (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess): 18891 * WebProcess/WebCoreSupport/WebDatabaseManager.cpp: 18892 (WebKit::WebDatabaseManager::WebDatabaseManager): 18893 * WebProcess/WebPage/WebPage.cpp: 18894 (WebKit::WebPage::WebPage): 18895 188962013-12-11 Joseph Pecoraro <pecoraro@apple.com> 18897 18898 Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore 18899 https://bugs.webkit.org/show_bug.cgi?id=125324 18900 18901 Reviewed by Timothy Hatcher. 18902 18903 * WebProcess/Plugins/PluginView.cpp: 18904 (WebKit::PluginView::performJavaScriptURLRequest): 18905 * WebProcess/WebPage/WebInspector.cpp: 18906 * WebProcess/WebPage/WebInspector.h: 18907 * WebProcess/WebPage/WebPage.cpp: 18908 189092013-12-11 Anders Carlsson <andersca@apple.com> 18910 18911 Remove platform specific gunk from WebURLRequest and WebURLResponse 18912 https://bugs.webkit.org/show_bug.cgi?id=125589 18913 18914 Reviewed by Andreas Kling. 18915 18916 * Shared/API/c/WKURLRequest.cpp: 18917 (WKURLRequestCopyURL): 18918 * Shared/API/c/mac/WKURLRequestNS.mm: 18919 (WKURLRequestCopyNSURLRequest): 18920 * Shared/API/c/mac/WKURLResponseNS.mm: 18921 (WKURLResponseCopyNSURLResponse): 18922 * Shared/WebURLRequest.cpp: 18923 * Shared/WebURLRequest.h: 18924 * Shared/WebURLResponse.h: 18925 * Shared/mac/WebURLRequestMac.mm: Removed. 18926 * Shared/mac/WebURLResponseMac.mm: Removed. 18927 * UIProcess/WebInspectorProxy.cpp: 18928 (WebKit::isMainInspectorPage): 18929 * WebKit2.xcodeproj/project.pbxproj: 18930 189312013-12-11 José Dapena Paz <jdapena@igalia.com> and Zan Dobersek <zdobersek@igalia.com> 18932 18933 [GTK][WK2] Add the WebKitBatteryProvider class 18934 https://bugs.webkit.org/show_bug.cgi?id=115720 18935 18936 Reviewed by Martin Robinson. 18937 18938 This patch adds the WebKitBatteryProvider class which sets up a BatteryProviderUPower instance, 18939 controlling the provider's activity when instrumented to do so by the WebBatteryManagerProxy 18940 and relaying the battery status updates from the battery provider to the battery manager. 18941 18942 * GNUmakefile.list.am: Add the build targets for the new source files. 18943 * UIProcess/API/gtk/WebKitBatteryProvider.cpp: Added. 18944 (toBatteryProvider): A helper inline method that casts the client info to the battery provider instance. 18945 (startUpdatingCallback): Relays the instruction to the WebKitBattery instance. 18946 (stopUpdatingCallback): Ditto. 18947 (WebKitBatteryProvider::create): 18948 (WebKitBatteryProvider::WebKitBatteryProvider): Set up a WKBatteryProvider and set it to the passed-in battery manager. 18949 (WebKitBatteryProvider::~WebKitBatteryProvider): Force the BatteryProviderUPower to stop updating. 18950 (WebKitBatteryProvider::startUpdating): Relays the instruction to the BatteryProviderUPower instance. 18951 (WebKitBatteryProvider::stopUpdating): Ditto. 18952 (WebKitBatteryProvider::notifyBatteryStatusUnavailable): Update the battery manager with the new status that 18953 has the default values that are to be used when the implementation cannot determine the battery status (as per 18954 the Battery Status API specification). 18955 (WebKitBatteryProvider::notifyBatteryStatusUpdated): Update the battery status. 18956 * UIProcess/API/gtk/WebKitBatteryProvider.h: Added. 18957 (WebKitBatteryProvider): Define the WebKitBatteryProvider reference-counted interface that also inherits from the 18958 BatteryProviderUPowerClient interface. 18959 * UIProcess/API/gtk/WebKitWebContext.cpp: 18960 (_WebKitWebContextPrivate): Add a WebKitBatteryProvider member variable to the struct. 18961 (createDefaultWebContext): Create a new battery provider when initializing the default web context. 18962 189632013-12-11 José Dapena Paz <jdapena@igalia.com> and Zan Dobersek <zdobersek@igalia.com> 18964 18965 [GTK] Add a UPower-based BatteryProvider 18966 https://bugs.webkit.org/show_bug.cgi?id=115719 18967 18968 Reviewed by Martin Robinson. 18969 18970 * GNUmakefile.am: Link the libwebkit2gtk library against the upower-glib library. 18971 189722013-12-11 Gustavo Noronha Silva <gns@gnome.org> 18973 18974 [GTK] Support right-side attachment of the inspector 18975 https://bugs.webkit.org/show_bug.cgi?id=124126 18976 18977 Reviewed by Carlos Garcia Campos. 18978 18979 * UIProcess/API/C/gtk/WKInspectorClientGtk.h: add changed attached width callback. 18980 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 18981 (webkitWebViewBaseAddWebInspector): take attachment side parameter into account when adding the 18982 inspector view. 18983 (webkitWebViewBaseContainerRemove): renamed inspectorViewHeight to inspectorViewSize. 18984 (resizeWebKitWebViewBaseFromAllocation): take attachment side into account when allocating the 18985 sizes for the inspector view and the inspected view. 18986 (webkitWebViewBaseSetInspectorViewSize): renamed from webkitWebViewBaseSetInspectorViewHeight. 18987 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 18988 * UIProcess/gtk/WebInspectorClientGtk.cpp: 18989 (WebKit::WebInspectorClientGtk::didChangeAttachedWidth): notify client that view width has changed. 18990 * UIProcess/gtk/WebInspectorClientGtk.h: 18991 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 18992 (WebKit::WebInspectorProxy::platformAttach): use attachment side for setting the default size 18993 for the inspector view. 18994 (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): use the new generic SetInspectorViewSize. 18995 (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): allow setting the inspector view width. 18996 189972013-12-11 Brendan Long <b.long@cablelabs.com> 18998 18999 [GTK] Add "enable-mediasource" property to WebKitWebSettings 19000 https://bugs.webkit.org/show_bug.cgi?id=125566 19001 19002 Reviewed by Philippe Normand. 19003 19004 * UIProcess/API/gtk/WebKitSettings.cpp: 19005 (webKitSettingsSetProperty): 19006 (webKitSettingsGetProperty): 19007 (webkit_settings_class_init): 19008 (webkit_settings_get_enable_mediasource): 19009 (webkit_settings_set_enable_mediasource): 19010 * UIProcess/API/gtk/WebKitSettings.h: 19011 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 19012 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 19013 (testWebKitSettings): 19014 190152013-12-11 Michał Pakuła vel Rutka <m.pakula@samsung.com> 19016 19017 [EFL] Fix build with CONTEXT_MENUS flag set OFF 19018 https:///bugs.webkit.org/show_bug.cgi?id=125572 19019 19020 Reviewed by Gyuyoung Kim. 19021 19022 Fix EFL build by adding necessary guard, also UNUSED_PARAM macros where added. 19023 19024 * Shared/API/c/WKContextMenuItem.cpp: Added UNUSED_PARAM macros. 19025 (WKContextMenuItemCreateAsAction): 19026 (WKContextMenuItemCreateAsCheckableAction): 19027 (WKContextMenuItemCreateAsSubmenu): 19028 (WKContextMenuItemGetTag): 19029 (WKContextMenuItemGetType): 19030 (WKContextMenuItemCopyTitle): 19031 (WKContextMenuItemGetEnabled): 19032 (WKContextMenuItemGetChecked): 19033 (WKContextMenuCopySubmenuItems): 19034 (WKContextMenuItemGetUserData): 19035 (WKContextMenuItemSetUserData): 19036 * UIProcess/API/C/WKPage.cpp: Ditto. 19037 (WKPageSetPageContextMenuClient): 19038 (WKPageSelectContextMenuItem): 19039 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto. 19040 (WKBundlePageSetContextMenuClient): 19041 (WKBundlePageClickMenuItem): 19042 (WKBundlePageCopyContextMenuItems): 19043 (WKBundlePageCopyContextMenuAtPointInWindow) 19044 * UIProcess/efl/WebViewEfl.cpp: Guard createContextMenuProxy method. 19045 * UIProcess/efl/WebViewEfl.h: Ditto. 19046 190472013-12-11 Kwang Yul Seo <skyul@company100.net> 19048 19049 [WK2][Soup] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost 19050 https://bugs.webkit.org/show_bug.cgi?id=125557 19051 19052 Reviewed by Carlos Garcia Campos. 19053 19054 Do what WebProcess::allowSpecificHTTPSCertificateForHost does. 19055 19056 * NetworkProcess/soup/NetworkProcessSoup.cpp: 19057 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): 19058 190592013-12-10 Mark Rowe <mrowe@apple.com> 19060 19061 <http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly 19062 <rdar://problem/15634192> 19063 19064 Reviewed by Dan Bernstein. 19065 19066 * UIProcess/mac/WebPageProxyMac.mm: 19067 (WebKit::userVisibleWebKitVersionString): Strip as many leading digits as is necessary to 19068 bring the major component of the version down to 3 digits. 19069 190702013-12-10 Ryuan Choi <ryuan.choi@samsung.com> 19071 19072 Unreviewed GTK build fix attempt after r160395 (second) 19073 19074 * GNUmakefile.list.am: 19075 Added new files for UserData, APIFrameHandle, APIGeometry and APIPageHandle. 19076 190772013-12-10 Ryuan Choi <ryuan.choi@samsung.com> 19078 19079 Unreviewed GTK build fix attempt after r160395 19080 19081 Renamed WebUInt64 to API::UInt64, WebDouble to API::Double, WebBoolean 19082 to API::Boolean. 19083 19084 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 19085 (didReceiveWebViewMessageFromInjectedBundle): 19086 * UIProcess/API/gtk/WebKitWebView.cpp: 19087 (webkit_web_view_get_snapshot): 19088 * UIProcess/API/gtk/WebKitWindowProperties.cpp: Included APINumber.h instead of WebNumber.h 19089 (webkitWindowPropertiesUpdateFromWebWindowFeatures): 19090 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 19091 (didInitiateLoadForResource): 19092 (willSendRequestForFrame): 19093 (didReceiveResponseForResource): 19094 (didReceiveContentLengthForResource): 19095 (didFinishLoadForResource): 19096 (didFailLoadForResource): 19097 (webkitWebPageDidReceiveMessage): 19098 190992013-12-10 Dan Bernstein <mitz@apple.com> 19100 19101 All observable PageLoadState properties should change in an atomic fashion, with properly nested change notifications 19102 https://bugs.webkit.org/show_bug.cgi?id=125431 19103 19104 Reviewed by Anders Carlsson. 19105 19106 Made PageLoadState maintain two copies of its state data members, one representing the 19107 committed state and one possibly containing uncommitted changes. When changes are committed, 19108 change notifications are sent and the uncommitted state is copied into the committed state. 19109 Changes can be committed explicitly at any time, but are also committed when the last 19110 outstanding transaction ends. Transactions are RAII objects vended by the PageLoadState. 19111 Mutating the PageLoadState requires holding a Transaction, which is enforced by making all 19112 the mutating member functions take a Transaction::Token. Passing a Token also marks the 19113 PageLoadState as possibly having uncommitted changes. 19114 19115 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 19116 Added PageLoadStateObserver::{will,did}ChangeActiveURL overrides that call 19117 -{will,did}ChangeValueForKey:. 19118 19119 * UIProcess/PageLoadState.cpp: 19120 Moved constant from the middle of the file to the beginning and reworded comment. 19121 (WebKit::PageLoadState::PageLoadState): Added initializers for new member variables, removed 19122 initialization of members that are not part of Data, which initializes them in its 19123 constructor. 19124 (WebKit::PageLoadState::endTransaction): Added. Calles when a Transaction is destructed. 19125 Decrements the outstanding transaction count, and if it is zero, commits changes. 19126 (WebKit::PageLoadState::commitChanges): Added. Checks for differences in observable 19127 properties between the committed state and the uncommitted state, then makes appropriate 19128 willChange Observer callbacks, then copies the uncommitted state into the committed state, 19129 then makes appropriate didChange Observer callbacks in reverse order. Also added active URL 19130 to the set of observable properties. 19131 (WebKit::PageLoadState::reset): Changed to take a transaction token, act on 19132 m_uncommittedState, and not make observer callbacks. 19133 (WebKit::PageLoadState::isLoading): Changed to access m_committedState. 19134 (WebKit::PageLoadState::activeURL): Changed to call a static function factored out of this. 19135 (WebKit::PageLoadState::estimatedProgress): Ditto. 19136 (WebKit::PageLoadState::pendingAPIRequestURL): Changed to access m_committedState. 19137 (WebKit::PageLoadState::setPendingAPIRequestURL): Changed to take a transaction token, act 19138 on m_uncommittedState, and not make observer callbacks. 19139 (WebKit::PageLoadState::clearPendingAPIRequestURL): Ditto. 19140 (WebKit::PageLoadState::didStartProvisionalLoad): Ditto. 19141 (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): Ditto. 19142 (WebKit::PageLoadState::didFailProvisionalLoad): Ditto. 19143 (WebKit::PageLoadState::didCommitLoad): Ditto. 19144 (WebKit::PageLoadState::didFinishLoad): Ditto. 19145 (WebKit::PageLoadState::didFailLoad): Ditto. 19146 (WebKit::PageLoadState::didSameDocumentNavigation): Ditto. 19147 (WebKit::PageLoadState::setUnreachableURL): Ditto. 19148 (WebKit::PageLoadState::title): Changed to access m_committedState. 19149 (WebKit::PageLoadState::setTitle): Changed to take a transaction token, act on 19150 m_uncommittedState, and not make observer callbacks. 19151 (WebKit::PageLoadState::didStartProgress): Ditto. 19152 (WebKit::PageLoadState::didChangeProgress): Ditto. 19153 (WebKit::PageLoadState::didFinishProgress): Ditto. 19154 * UIProcess/PageLoadState.h: 19155 (WebKit::PageLoadState::Transaction::Transaction): Added. Calls 19156 PageLoadState::beginTransaction. 19157 (WebKit::PageLoadState::Transaction::~Transaction): Added. Calls 19158 PageLoadState::endTransaction. 19159 (WebKit::PageLoadState::Transaction::Token::Token): Added. Sets m_mayHaveUncommittedChanges. 19160 (WebKit::PageLoadState::transaction): Added. Returns a Transaction for this PageLoadState. 19161 (WebKit::PageLoadState::provisionalURL): Changed to access m_committedState. 19162 (WebKit::PageLoadState::url): Ditto. 19163 (WebKit::PageLoadState::unreachableURL): Ditto. 19164 (WebKit::PageLoadState::beginTransaction): Added. Increments the outstanding transaction 19165 count. 19166 (WebKit::PageLoadState::Data::Data): Added. Moved internal state members into this struct 19167 and made its constructor initialize state and estimatedProgress. 19168 19169 * UIProcess/WebPageProxy.cpp: 19170 (WebKit::WebPageProxy::loadURL): Changed to create a PageLoadState::Transaction and pass it 19171 along. 19172 (WebKit::WebPageProxy::loadURLRequest): Ditto. 19173 (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto. 19174 (WebKit::WebPageProxy::reload): Ditto. 19175 (WebKit::WebPageProxy::goForward): Ditto. 19176 (WebKit::WebPageProxy::goBack): Ditto. 19177 (WebKit::WebPageProxy::goToBackForwardItem): Ditto. 19178 (WebKit::WebPageProxy::receivedPolicyDecision): Ditto. 19179 (WebKit::WebPageProxy::didStartProgress): Ditto. Also added a call to 19180 PageLoadState::commitChanges before calling the client, so that the client sees the updated 19181 state. 19182 (WebKit::WebPageProxy::didChangeProgress): Ditto. 19183 (WebKit::WebPageProxy::didFinishProgress): Ditto. 19184 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Ditto. 19185 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto. 19186 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Ditto. 19187 (WebKit::WebPageProxy::didCommitLoadForFrame): Ditto. 19188 (WebKit::WebPageProxy::didFinishLoadForFrame): Ditto. 19189 (WebKit::WebPageProxy::didFailLoadForFrame): Ditto. 19190 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto. 19191 (WebKit::WebPageProxy::didReceiveTitleForFrame): Ditto. 19192 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Changed to create a 19193 PageLoadState::Transaction and pass it along. 19194 (WebKit::WebPageProxy::processDidCrash): Ditto. This addressed a FIXME about the client not 19195 seeing the state prior to the crash, because now the changes cuased by reset() aren’t 19196 committed until after the client callback. 19197 19198 * UIProcess/cf/WebPageProxyCF.cpp: 19199 (WebKit::WebPageProxy::restoreFromSessionStateData): Changed to create a 19200 PageLoadState::Transaction and pass it along. 19201 192022013-12-10 Ryuan Choi <ryuan.choi@samsung.com> 19203 19204 Unreviewed EFL build fix attempt 19205 19206 * CMakeLists.txt: Added APIGeometry.cpp to source lists. 19207 192082013-12-10 Anders Carlsson <andersca@apple.com> 19209 19210 Move number and geometry classes into the API namespace 19211 https://bugs.webkit.org/show_bug.cgi?id=125549 19212 19213 Reviewed by Geoffrey Garen. 19214 19215 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 19216 (-[WKRemoteObjectEncoder encodeBool:forKey:]): 19217 (-[WKRemoteObjectEncoder encodeInt64:forKey:]): 19218 (-[WKRemoteObjectEncoder encodeDouble:forKey:]): 19219 (-[WKRemoteObjectDecoder decodeBoolForKey:]): 19220 (-[WKRemoteObjectDecoder decodeInt64ForKey:]): 19221 (-[WKRemoteObjectDecoder decodeDoubleForKey:]): 19222 * Shared/API/c/WKGeometry.cpp: 19223 (WKSizeGetTypeID): 19224 (WKPointGetTypeID): 19225 (WKRectGetTypeID): 19226 (WKPointCreate): 19227 (WKSizeCreate): 19228 (WKRectCreate): 19229 * Shared/API/c/WKNumber.cpp: 19230 (WKBooleanGetTypeID): 19231 (WKBooleanCreate): 19232 (WKDoubleGetTypeID): 19233 (WKDoubleCreate): 19234 (WKUInt64GetTypeID): 19235 (WKUInt64Create): 19236 * Shared/API/c/WKSharedAPICast.h: 19237 * Shared/APIGeometry.cpp: 19238 (API::Point::encode): 19239 (API::Point::decode): 19240 (API::Size::encode): 19241 (API::Size::decode): 19242 (API::Rect::encode): 19243 (API::Rect::decode): 19244 * Shared/APIGeometry.h: 19245 (API::Size::create): 19246 (API::Size::Size): 19247 (API::Point::create): 19248 (API::Point::Point): 19249 (API::Rect::create): 19250 (API::Rect::Rect): 19251 * Shared/APINumber.h: 19252 (API::Number::create): 19253 (API::Number::decode): 19254 (API::Number::Number): 19255 * Shared/APIObject.h: 19256 * Shared/Plugins/Netscape/PluginInformation.cpp: 19257 (WebKit::getPluginModuleInformation): 19258 (WebKit::createPluginInformationDictionary): 19259 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: 19260 (WebKit::getPlatformPluginModuleInformation): 19261 * Shared/UserData.cpp: 19262 (WebKit::UserData::encode): 19263 (WebKit::UserData::decode): 19264 * Shared/UserMessageCoders.h: 19265 (WebKit::UserMessageEncoder::baseEncode): 19266 (WebKit::UserMessageDecoder::baseDecode): 19267 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 19268 (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): 19269 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): 19270 * UIProcess/Notifications/WebNotificationProvider.cpp: 19271 (WebKit::WebNotificationProvider::clearNotifications): 19272 * UIProcess/Plugins/PlugInAutoStartProvider.cpp: 19273 (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy): 19274 (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): 19275 * UIProcess/StatisticsRequest.cpp: 19276 (WebKit::addToDictionaryFromHashMap): 19277 * UIProcess/WebDatabaseManagerProxy.cpp: 19278 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 19279 * UIProcess/WebPageProxy.cpp: 19280 (WebKit::WebPageProxy::didFindStringMatches): 19281 * UIProcess/WebUIClient.cpp: 19282 (WebKit::WebUIClient::createNewPage): 19283 * WebProcess/WebPage/WebPage.cpp: 19284 (WebKit::WebPage::trackedRepaintRects): 19285 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 19286 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 19287 192882013-12-10 Anders Carlsson <andersca@apple.com> 19289 19290 Add encode and decode functions to WebNumber 19291 https://bugs.webkit.org/show_bug.cgi?id=125547 19292 19293 Reviewed by Beth Dakin. 19294 19295 * Shared/APINumber.h: 19296 (WebKit::WebNumber::encode): 19297 (WebKit::WebNumber::decode): 19298 * Shared/UserData.cpp: 19299 (WebKit::UserData::encode): 19300 (WebKit::UserData::decode): 19301 193022013-12-10 Nick Diego Yamane <nick.yamane@openbossa.org> 19303 19304 [EFL] One more WK2 build fix 19305 https://bugs.webkit.org/show_bug.cgi?id=125544 19306 19307 API::TypedObject has been renamed to API::ObjectImpl 19308 19309 Reviewed by Tim Horton. 19310 19311 * Shared/WebBatteryStatus.h: 19312 * Shared/WebNetworkInfo.h: 19313 * UIProcess/CoordinatedGraphics/WebView.h: 19314 * UIProcess/WebBatteryManagerProxy.h: 19315 * UIProcess/WebNetworkInfoManagerProxy.h: 19316 * UIProcess/WebTextChecker.h: 19317 * UIProcess/WebVibrationProxy.h: 19318 * UIProcess/WebViewportAttributes.h: 19319 * UIProcess/efl/WebPopupItemEfl.h: 19320 * UIProcess/soup/WebSoupRequestManagerProxy.h: 19321 193222013-12-10 Anders Carlsson <andersca@apple.com> 19323 19324 Rename WebNumber.h to APINumber.h 19325 https://bugs.webkit.org/show_bug.cgi?id=125545 19326 19327 Reviewed by Beth Dakin. 19328 19329 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 19330 * Shared/API/c/WKNumber.cpp: 19331 * Shared/API/c/WKSharedAPICast.h: 19332 * Shared/APINumber.h: Renamed from Source/WebKit2/Shared/WebNumber.h. 19333 * Shared/Plugins/Netscape/PluginInformation.cpp: 19334 * Shared/Plugins/Netscape/mac/PluginInformationMac.mm: 19335 * Shared/UserData.cpp: 19336 * Shared/UserMessageCoders.h: 19337 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 19338 * UIProcess/Notifications/WebNotificationProvider.cpp: 19339 * UIProcess/WebUIClient.cpp: 19340 * WebKit2.xcodeproj/project.pbxproj: 19341 193422013-12-10 Anders Carlsson <andersca@apple.com> 19343 19344 UserData should handle geometry types 19345 https://bugs.webkit.org/show_bug.cgi?id=125542 19346 19347 Reviewed by Andreas Kling. 19348 19349 Rename WebGeometry.h to APIGeometry.h in preparation for moving the classes into the API namespace. 19350 Add encode/decode functions to geometry classes. Use them in UserData::encode and UserData::decode. 19351 19352 * Shared/API/c/WKGeometry.cpp: 19353 * Shared/APIGeometry.cpp: Added. 19354 * Shared/APIGeometry.h: Renamed from Source/WebKit2/Shared/WebGeometry.h. 19355 (WebKit::UserData::encode): 19356 (WebKit::UserData::decode): 19357 * Shared/UserMessageCoders.h: 19358 * WebKit2.xcodeproj/project.pbxproj: 19359 * WebProcess/WebPage/WebPage.cpp: 19360 193612013-12-10 Beth Dakin <bdakin@apple.com> 19362 19363 https://bugs.webkit.org/show_bug.cgi?id=125533 19364 BackgroundExtendsBeyondPage setting should be switchable per WKView 19365 -and corresponding- 19366 <rdar://problem/15571310> 19367 19368 Reviewed by Anders Carlsson. 19369 19370 This patch removes the WKPreferences API and adds WKPage API in its place. To 19371 ensure that the setting sticks after a crash, it is also now a creation parameter. 19372 19373 * Shared/WebPageCreationParameters.cpp: 19374 (WebKit::WebPageCreationParameters::encode): 19375 (WebKit::WebPageCreationParameters::decode): 19376 * Shared/WebPageCreationParameters.h: 19377 * UIProcess/API/C/WKPage.cpp: 19378 (WKPageSetBackgroundExtendsBeyondPage): 19379 (WKPageBackgroundExtendsBeyondPage): 19380 * UIProcess/API/C/WKPage.h: 19381 * UIProcess/API/C/WKPreferences.cpp: 19382 * UIProcess/API/C/WKPreferencesPrivate.h: 19383 * UIProcess/WebPageProxy.cpp: 19384 (WebKit::WebPageProxy::WebPageProxy): 19385 (WebKit::WebPageProxy::setBackgroundExtendsBeyondPage): 19386 (WebKit::WebPageProxy::backgroundExtendsBeyondPage): 19387 (WebKit::WebPageProxy::initializeCreationParameters): 19388 * UIProcess/WebPageProxy.h: 19389 * WebProcess/WebPage/WebPage.cpp: 19390 (WebKit::WebPage::WebPage): 19391 (WebKit::WebPage::setBackgroundExtendsBeyondPage): 19392 (WebKit::WebPage::updatePreferences): 19393 * WebProcess/WebPage/WebPage.h: 19394 * WebProcess/WebPage/WebPage.messages.in: 19395 193962013-12-10 Anders Carlsson <andersca@apple.com> 19397 19398 Rename API::TypedObject to API::ObjectImpl 19399 https://bugs.webkit.org/show_bug.cgi?id=125539 19400 19401 Reviewed by Tim Horton. 19402 19403 All API::Objects are by definition typed, so ObjectImpl makes more sense as a name. 19404 19405 * Shared/APIArray.h: 19406 * Shared/APIFrameHandle.h: 19407 * Shared/APIObject.h: 19408 (API::ObjectImpl::~ObjectImpl): 19409 (API::ObjectImpl::ObjectImpl): 19410 * Shared/APIPageHandle.h: 19411 * Shared/ImmutableDictionary.h: 19412 * Shared/WebArchive.h: 19413 * Shared/WebArchiveResource.h: 19414 * Shared/WebBackForwardListItem.h: 19415 * Shared/WebCertificateInfo.h: 19416 * Shared/WebConnection.h: 19417 * Shared/WebContextMenuItem.h: 19418 * Shared/WebData.h: 19419 * Shared/WebError.h: 19420 * Shared/WebGeolocationPosition.h: 19421 * Shared/WebGeometry.h: 19422 * Shared/WebHitTestResult.h: 19423 * Shared/WebImage.h: 19424 * Shared/WebNumber.h: 19425 * Shared/WebOpenPanelParameters.h: 19426 * Shared/WebRenderLayer.h: 19427 * Shared/WebRenderObject.h: 19428 * Shared/WebSecurityOrigin.h: 19429 * Shared/WebSerializedScriptValue.h: 19430 * Shared/WebString.h: 19431 * Shared/WebURL.h: 19432 * Shared/WebURLRequest.h: 19433 * Shared/WebURLResponse.h: 19434 * Shared/WebUserContentURLPattern.h: 19435 * Shared/mac/ObjCObjectGraph.h: 19436 * UIProcess/APINavigationData.h: 19437 * UIProcess/Authentication/AuthenticationChallengeProxy.h: 19438 * UIProcess/Authentication/AuthenticationDecisionListener.h: 19439 * UIProcess/Authentication/WebCredential.h: 19440 * UIProcess/Authentication/WebProtectionSpace.h: 19441 * UIProcess/Downloads/DownloadProxy.h: 19442 * UIProcess/GeolocationPermissionRequestProxy.h: 19443 * UIProcess/Notifications/NotificationPermissionRequest.h: 19444 * UIProcess/Notifications/WebNotification.h: 19445 * UIProcess/Notifications/WebNotificationManagerProxy.h: 19446 * UIProcess/Plugins/WebPluginSiteDataManager.h: 19447 * UIProcess/WebApplicationCacheManagerProxy.h: 19448 * UIProcess/WebBackForwardList.h: 19449 * UIProcess/WebColorPickerResultListenerProxy.h: 19450 * UIProcess/WebContext.h: 19451 * UIProcess/WebCookieManagerProxy.h: 19452 * UIProcess/WebDatabaseManagerProxy.h: 19453 * UIProcess/WebEditCommandProxy.h: 19454 * UIProcess/WebFrameProxy.h: 19455 * UIProcess/WebGeolocationManagerProxy.h: 19456 * UIProcess/WebGrammarDetail.h: 19457 * UIProcess/WebIconDatabase.h: 19458 * UIProcess/WebInspectorProxy.h: 19459 * UIProcess/WebKeyValueStorageManager.h: 19460 * UIProcess/WebMediaCacheManagerProxy.h: 19461 * UIProcess/WebOpenPanelResultListenerProxy.h: 19462 * UIProcess/WebOriginDataManagerProxy.h: 19463 * UIProcess/WebPageGroup.h: 19464 * UIProcess/WebPageProxy.h: 19465 * UIProcess/WebPreferences.h: 19466 * UIProcess/WebResourceCacheManagerProxy.h: 19467 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 19468 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: 19469 * WebProcess/InjectedBundle/InjectedBundle.h: 19470 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h: 19471 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: 19472 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: 19473 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 19474 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: 19475 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: 19476 * WebProcess/WebPage/PageBanner.h: 19477 * WebProcess/WebPage/PageOverlay.h: 19478 * WebProcess/WebPage/WebFrame.h: 19479 * WebProcess/WebPage/WebInspector.h: 19480 * WebProcess/WebPage/WebPage.h: 19481 * WebProcess/WebPage/WebPageGroupProxy.h: 19482 194832013-12-10 Nick Diego Yamane <nick.yamane@openbossa.org> 19484 19485 [EFL] Fix WK2 build after r160341 19486 https://bugs.webkit.org/show_bug.cgi?id=125529 19487 19488 Reviewed by Anders Carlsson. 19489 19490 * CMakeLists.txt: Added new files UserData.cpp, APIFrameHandle.cpp and APIPageHandle.cpp. 19491 194922013-12-10 Anders Carlsson <andersca@apple.com> 19493 19494 Add more API object types to UserData 19495 https://bugs.webkit.org/show_bug.cgi?id=125532 19496 19497 Reviewed by Beth Dakin. 19498 19499 * Shared/UserData.cpp: 19500 (WebKit::UserData::transform): 19501 Handle dictionaries. 19502 19503 (WebKit::UserData::encode): 19504 (WebKit::UserData::decode): 19505 Handle more API::Objects. 19506 195072013-12-10 Anders Carlsson <andersca@apple.com> 19508 19509 More UserData work 19510 https://bugs.webkit.org/show_bug.cgi?id=125524 19511 19512 Reviewed by Dan Bernstein. 19513 19514 * Shared/APIObject.h: 19515 * Shared/UserData.cpp: 19516 (WebKit::UserData::transform): 19517 New helper function that takes an API::Object and returns a new API::Object with all "sub-objects" (arrays etc) 19518 transformed by calling the transformer. 19519 19520 * Shared/UserData.h: 19521 (WebKit::UserData::object): 19522 New getter. 19523 19524 * UIProcess/WebProcessProxy.cpp: 19525 (WebKit::WebProcessProxy::apiObjectByConvertingToHandles): 19526 Helper function that creates a new API::Object graph by converting WebFrameProxy objects to FrameHandles. 19527 19528 * WebProcess/WebProcess.cpp: 19529 (WebKit::WebProcess::apiObjectByConvertingFromHandles): 19530 Helper function that creates a new API::Object graph by converting FrameHandles to WebFrame objects. 19531 195322013-12-10 Alberto Garcia <berto@igalia.com> 19533 19534 [WK2] [SOUP] Allow running the network process with an arbitrary prefix command 19535 https://bugs.webkit.org/show_bug.cgi?id=125520 19536 19537 Reviewed by Carlos Garcia Campos. 19538 19539 Launch the network process using NETWORK_PROCESS_CMD_PREFIX as a 19540 prefix. Useful for debugging the web process with gdb, valgrind, 19541 etc. 19542 19543 * UIProcess/Network/soup/NetworkProcessProxySoup.cpp: 19544 (WebKit::NetworkProcessProxy::platformGetLaunchOptions): 19545 195462013-12-10 Kwang Yul Seo <skyul@company100.net> 19547 19548 Allow us to use network process with a single process model 19549 https://bugs.webkit.org/show_bug.cgi?id=125507 19550 19551 Reviewed by Brady Eidson. 19552 19553 Currently, WebContext::sendToNetworkingProcess and 19554 WebContext::sendToNetworkingProcessRelaunchingIfNecessary assume that 19555 network process is not used when the given process model is 19556 ProcessModelSharedSecondaryProcess. This is not consistent with 19557 WebContext::networkingProcessConnection which returns the networking 19558 process connection for ProcessModelSharedSecondaryProcess. 19559 19560 * UIProcess/WebContext.h: 19561 (WebKit::WebContext::sendToNetworkingProcess): 19562 (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary): 19563 195642013-12-10 Michał Pakuła vel Rutka <m.pakula@samsung.com> 19565 19566 Unreviewed EFL build fix 19567 19568 * CMakeLists.txt: Remove UIProcess/DrawingAreaProxy.cpp. 19569 * PlatformGTK.cmake: Add the file above. 19570 195712013-12-10 Martin Robinson <mrobinson@igalia.com> 19572 19573 [GTK] [CMake] Add support for building the WebKit injected bundle 19574 https://bugs.webkit.org/show_bug.cgi?id=116373 19575 19576 Reviewed by Gustavo Noronha Silva. 19577 19578 * PlatformGTK.cmake: Add support for building the InjectedBundle and link the WebKit2 19579 shared library against the GObject DOM bindings. 19580 * WebProcess/gtk/WebGtkExtensionManager.h: Properly export symbols used by the InjectedBundle. 19581 195822013-12-10 Kwang Yul Seo <skyul@company100.net> 19583 19584 [WK2][SOUP] WebContext::setIgnoreTLSErrors should send SetIgnoreTLSErrors to the network process when network process is enabled 19585 https://bugs.webkit.org/show_bug.cgi?id=125505 19586 19587 Reviewed by Carlos Garcia Campos. 19588 19589 This is a follow-up patch for r160355. 19590 19591 * UIProcess/gtk/WebContextGtk.cpp: 19592 (WebKit::WebContext::setIgnoreTLSErrors): 19593 195942013-12-10 Martin Robinson <mrobinson@igalia.com> 19595 19596 Try to fix the EFL build 19597 19598 * CMakeLists.txt: Remove DrawingAreaImpl.cpp from the global list. 19599 * PlatformGTK.cmake: Move it to the GTK+ specific list. 19600 196012013-12-10 Martin Robinson <mrobinson@igalia.com> 19602 19603 Various fixes for the CMake GTK+ build 19604 19605 Reviewed by Gustavo Noronha. 19606 19607 * CMakeLists.txt: Update the source lists. 19608 * PlatformGTK.cmake: Ditto. 19609 196102013-12-10 Alberto Garcia <berto@igalia.com> 19611 19612 [WK2] [GTK] Enable the network process in the WebContext 19613 https://bugs.webkit.org/show_bug.cgi?id=125494 19614 19615 Reviewed by Carlos Garcia Campos. 19616 19617 This should be initialized using the setUsesNetworkProcess() API. 19618 19619 * UIProcess/API/gtk/WebKitWebContext.cpp: 19620 (createDefaultWebContext): 19621 * UIProcess/gtk/WebContextGtk.cpp: 19622 (WebKit::WebContext::platformInitializeWebProcess): 19623 196242013-12-10 Brian Holt <brian.holt@samsung.com> 19625 19626 [WK2][SOUP] initialise the Network Process with ignoreTLSErrors 19627 https://bugs.webkit.org/show_bug.cgi?id=125490 19628 19629 ResourceHandleSoup in the Network Process and is not initialised with 19630 a policy on ignoring TLS errors. This simply requires that the 19631 appropriate message is created for the Network Process and the 19632 parameter created for initialisation. 19633 19634 Reviewed by Gustavo Noronha Silva. 19635 19636 * NetworkProcess/NetworkProcess.h: 19637 * NetworkProcess/NetworkProcess.messages.in: 19638 * NetworkProcess/soup/NetworkProcessSoup.cpp: 19639 (WebKit::NetworkProcess::platformInitializeNetworkProcess): 19640 (WebKit::NetworkProcess::setIgnoreTLSErrors): 19641 * Shared/Network/NetworkProcessCreationParameters.cpp: 19642 (WebKit::NetworkProcessCreationParameters::encode): 19643 (WebKit::NetworkProcessCreationParameters::decode): 19644 * Shared/Network/NetworkProcessCreationParameters.h: 19645 * UIProcess/gtk/WebContextGtk.cpp: 19646 (WebKit::WebContext::platformInitializeWebProcess): 19647 * UIProcess/soup/WebContextSoup.cpp: 19648 (WebKit::WebContext::platformInitializeNetworkProcess): 19649 196502013-12-09 Anders Carlsson <andersca@apple.com> 19651 19652 Begin working on a UserData class intended to replace UserMessageCoders 19653 https://bugs.webkit.org/show_bug.cgi?id=125471 19654 19655 Reviewed by Sam Weinig. 19656 19657 * Shared/APIFrameHandle.cpp: Added. 19658 * Shared/APIFrameHandle.h: Added. 19659 Add a new API::FrameHandle class that represents a frame. 19660 19661 * Shared/APIObject.h: 19662 * Shared/APIPageHandle.cpp: Added. 19663 * Shared/APIPageHandle.h: Added. 19664 Add a new API::PageHandle class that represents a page. 19665 19666 * Shared/UserData.cpp: Added. 19667 (WebKit::UserData::UserData): 19668 (WebKit::UserData::~UserData): 19669 (WebKit::UserData::encode): 19670 (WebKit::UserData::decode): 19671 * Shared/UserData.h: Added. 19672 Add a UserData class that can be encoded and decoded. This will be used for sending data 19673 between the web process and UI process without doing any of the Page -> BundlePage etc conversions. 19674 * WebKit2.xcodeproj/project.pbxproj: 19675 196762013-12-09 Ryuan Choi <ryuan.choi@samsung.com> 19677 19678 [EFL][WK2] LayoutTests are broken after r160301 19679 https://bugs.webkit.org/show_bug.cgi?id=125447 19680 19681 Reviewed by Darin Adler. 19682 19683 r160301 moved FullScreenManagerProxyClient logic to WebViewEfl, child class 19684 of CoordinatedGraphics::WebView, because implementations are EFL specific. 19685 However, CoordinatedGraphics::WebView creates WebPageProxy in constructor and 19686 WebPageProxy requires FullScreenManagerProxyClient in constructor. 19687 So, All WK2/Efl based applications got crashed 19688 19689 This patch adds virtual methods for FullScreenManagerProxyClient to CoordinatedGraphics::WebView 19690 so that WebPageProxy can get FullScreenManagerProxyClient instance without 19691 pure viertual methods. 19692 19693 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 19694 (WKViewExitFullScreen): 19695 * UIProcess/CoordinatedGraphics/WebView.cpp: 19696 (WebKit::WebView::fullScreenManagerProxyClient): 19697 (WebKit::WebView::requestExitFullScreen): 19698 renamed from exitFullScreen not to conflict with methods of FullScreenManagerProxyClient. 19699 * UIProcess/CoordinatedGraphics/WebView.h: 19700 * UIProcess/efl/WebViewEfl.cpp: 19701 * UIProcess/efl/WebViewEfl.h: 19702 197032013-12-09 Sergio Villar Senin <svillar@igalia.com> 19704 19705 [WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess 19706 https://bugs.webkit.org/show_bug.cgi?id=110093 19707 19708 Reviewed by Martin Robinson. 19709 19710 Original patch by Balazs Kelemen <kbalazs@webkit.org>. 19711 19712 Adds the UNIX specific bits to support connections to the 19713 NetworkProcess. Since the process of creating the pair of sockets 19714 is exactly the same as in the PluginProcess, I've decided to 19715 refactor it in ConnectionUnix::createPlatformConnection(). This 19716 can be reused later to create a cross-platform solution and remove 19717 all the ifdefs (see bug 110978). 19718 19719 * NetworkProcess/NetworkProcess.cpp: 19720 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess): 19721 * Platform/CoreIPC/Connection.h: 19722 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 19723 (CoreIPC::Connection::createPlatformConnection): 19724 * PluginProcess/PluginProcess.cpp: 19725 (WebKit::PluginProcess::createWebProcessConnection): 19726 * UIProcess/Network/NetworkProcessProxy.cpp: 19727 (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): 19728 (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): 19729 * WebProcess/WebProcess.cpp: 19730 (WebKit::WebProcess::ensureNetworkProcessConnection): 19731 197322013-12-09 Kwang Yul Seo <skyul@company100.net> 19733 19734 [WK2][Soup] Support cache model in NetworkProcess 19735 https://bugs.webkit.org/show_bug.cgi?id=118343 19736 19737 Reviewed by Carlos Garcia Campos. 19738 19739 Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <ossy@webkit.org>. 19740 19741 Copied cache model code from WebProcess. 19742 NetworkProcess is configured not to use the WebCore memory cache. 19743 19744 * NetworkProcess/soup/NetworkProcessSoup.cpp: 19745 (WebKit::getCacheDiskFreeSize): 19746 (WebKit::getMemorySize): 19747 (WebKit::NetworkProcess::platformInitializeNetworkProcess): 19748 Initialize soup cache. 19749 (WebKit::NetworkProcess::platformSetCacheModel): 19750 Copied code from WebProcess::platformSetCacheModel but removed 19751 WebCore memory cache initialization because NetworkProcess does not use 19752 the WebCore memory cache. 19753 (WebKit::NetworkProcess::clearCacheForAllOrigins): 19754 Copied code from WebProcess::clearCacheForAllOrigins. 19755 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: 19756 Copied initialization code from WebProcessMainGtk.cpp. 19757 (WebKit::NetworkProcessMain): 19758 * WebProcess/soup/WebProcessSoup.cpp: 19759 (WebKit::WebProcess::platformSetCacheModel): 19760 Don't set the disk cache if NetworkProcess is used. 19761 (WebKit::WebProcess::platformClearResourceCaches): 19762 Don't clear the non-existing disk cache. (if NetworkProcess is used) 19763 (WebKit::WebProcess::platformInitializeWebProcess): 19764 Don't initialize the disk cache if NetworkProcess is used. 19765 197662013-12-09 Gustavo Noronha Silva <gns@gnome.org> 19767 19768 [GTK] run-webkit-tests may DOS the system, specially in debug builds 19769 https://bugs.webkit.org/show_bug.cgi?id=125436 19770 19771 Reviewed by Martin Robinson. 19772 19773 * GNUmakefile.am: use -no-fast-install for WebKitWebProcess and WebKitPluginProcess so 19774 they do not need to be relinked the first time they are executed in-tree. 19775 197762013-12-09 Zan Dobersek <zdobersek@igalia.com> 19777 19778 [GTK][WK2] Move WebFullScreenManagerProxyGtk logic to PageClientImpl 19779 https://bugs.webkit.org/show_bug.cgi?id=125440 19780 19781 Reviewed by Martin Robinson. 19782 19783 Make PageClientImpl a WebFullScreenManagerProxyClient. This brings the GTK port in line 19784 with changes in r160296 and fixes the WK2 build for that port. 19785 19786 * GNUmakefile.list.am: 19787 * UIProcess/API/gtk/PageClientImpl.cpp: 19788 (WebKit::PageClientImpl::fullScreenManagerProxyClient): 19789 (WebKit::PageClientImpl::closeFullScreenManager): 19790 (WebKit::PageClientImpl::isFullScreen): 19791 (WebKit::PageClientImpl::enterFullScreen): 19792 (WebKit::PageClientImpl::exitFullScreen): 19793 (WebKit::PageClientImpl::beganEnterFullScreen): 19794 (WebKit::PageClientImpl::beganExitFullScreen): 19795 * UIProcess/API/gtk/PageClientImpl.h: 19796 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 19797 (webkitWebViewBaseCreateWebPage): 19798 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: 19799 198002013-12-09 Brian Holt <brian.holt@samsung.com> 19801 19802 [WK2][Gtk] Add support for ENABLE_NETWORK_PROCESS to the build system 19803 https://bugs.webkit.org/show_bug.cgi?id=118231 19804 19805 Reviewed by Martin Robinson. 19806 19807 Original patch by Kwang Yul Seo <skyul@company100.net>. 19808 19809 Add source files to the build system and build NetworkProcess executable. 19810 19811 * GNUmakefile.am: 19812 * GNUmakefile.list.am: 19813 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: 19814 * UIProcess/gtk/WebContextGtk.cpp: 19815 (WebKit::WebContext::platformInitializeWebProcess): 19816 198172013-12-08 Ryuan Choi <ryuan.choi@samsung.com> 19818 19819 [EFL][WK2] Move FullScreenManager logic to WebViewEfl 19820 https://bugs.webkit.org/show_bug.cgi?id=125438 19821 19822 Reviewed by Gyuyoung Kim. 19823 19824 This patch fixed build break on EFL port Since r160296. 19825 19826 * PlatformEfl.cmake: Removed WebFullScreenManagerProxyEfl.cpp. 19827 * UIProcess/WebFullScreenManagerProxy.cpp: Removed EFL specific code. 19828 (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): 19829 * UIProcess/WebFullScreenManagerProxy.h: Ditto. 19830 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Removed file and moved logic to WebViewEfl. 19831 * UIProcess/efl/WebViewEfl.cpp: 19832 (WebKit::WebViewEfl::WebViewEfl): 19833 (WebKit::WebViewEfl::setEwkView): Removed call to setWebView(). 19834 (WebKit::WebViewEfl::fullScreenManagerProxyClient): 19835 (WebKit::WebViewEfl::isFullScreen): 19836 (WebKit::WebViewEfl::enterFullScreen): 19837 (WebKit::WebViewEfl::exitFullScreen): 19838 * UIProcess/efl/WebViewEfl.h: 19839 198402013-12-08 Sam Weinig <sam@webkit.org> 19841 19842 Remove WebContext::sharedProcessContext() 19843 https://bugs.webkit.org/show_bug.cgi?id=125437 19844 19845 Reviewed by Dan Bernstein. 19846 19847 * UIProcess/API/ios/WKGeolocationProviderIOS.mm: 19848 * UIProcess/WebContext.cpp: 19849 * UIProcess/WebContext.h: 19850 198512013-12-08 Sam Weinig <sam@webkit.org> 19852 19853 Fix the iOS build. 19854 19855 * UIProcess/API/ios/PageClientImplIOS.h: 19856 * UIProcess/API/ios/PageClientImplIOS.mm: 19857 * UIProcess/ios/WebFullScreenManagerProxyIOS.mm: Removed. 19858 198592013-12-08 Sam Weinig <sam@webkit.org> 19860 19861 [Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client 19862 https://bugs.webkit.org/show_bug.cgi?id=125427 19863 19864 Reviewed by Dan Bernstein. 19865 19866 * UIProcess/API/mac/PageClientImpl.h: 19867 * UIProcess/API/mac/PageClientImpl.mm: 19868 (WebKit::PageClientImpl::fullScreenManagerProxyClient): 19869 (WebKit::PageClientImpl::closeFullScreenManager): 19870 (WebKit::PageClientImpl::isFullScreen): 19871 (WebKit::PageClientImpl::enterFullScreen): 19872 (WebKit::PageClientImpl::exitFullScreen): 19873 (WebKit::PageClientImpl::beganEnterFullScreen): 19874 (WebKit::PageClientImpl::beganExitFullScreen): 19875 Implement the new client. 19876 19877 * UIProcess/API/mac/WKView.mm: 19878 Remove call to setWebView() and do some cleanup. 19879 19880 * UIProcess/API/mac/WKViewInternal.h: 19881 Convert to property syntax and re-arrange. 19882 19883 * UIProcess/PageClient.h: 19884 Expose access to the new client. 19885 19886 * UIProcess/WebFullScreenManagerProxy.cpp: 19887 (WebKit::WebFullScreenManagerProxy::create): 19888 (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): 19889 (WebKit::WebFullScreenManagerProxy::invalidate): 19890 (WebKit::WebFullScreenManagerProxy::close): 19891 (WebKit::WebFullScreenManagerProxy::isFullScreen): 19892 (WebKit::WebFullScreenManagerProxy::enterFullScreen): 19893 (WebKit::WebFullScreenManagerProxy::exitFullScreen): 19894 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): 19895 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): 19896 * UIProcess/WebFullScreenManagerProxy.h: 19897 Use the new client. 19898 19899 * UIProcess/WebPageProxy.cpp: 19900 Pass the new client. 19901 19902 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 19903 Removed. Now goes through the client. 19904 19905 * WebKit2.xcodeproj/project.pbxproj: 19906 Remove WebFullScreenManagerProxyMac.mm. 19907 199082013-12-07 Sam Weinig <sam@webkit.org> 19909 19910 [Cocoa] Remove webProcessPlugInInitialize: from the WKWebProcessPlugIn protocol 19911 https://bugs.webkit.org/show_bug.cgi?id=125405 19912 19913 Reviewed by Dan Bernstein. 19914 19915 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: 19916 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 19917 (WebKit::InjectedBundle::load): 19918 199192013-12-08 Brian Holt <brian.holt@samsung.com> 19920 19921 [WK2] Guard include of SecItemShim.h with ENABLE(SEC_ITEM_SHIM) 19922 https://bugs.webkit.org/show_bug.cgi?id=125415 19923 19924 Reviewed by Gustavo Noronha Silva. 19925 19926 * NetworkProcess/NetworkProcess.cpp: 19927 * UIProcess/Network/NetworkProcessProxy.cpp: 19928 199292013-12-07 Sam Weinig <sam@webkit.org> 19930 19931 [Cocoa] Make WKWebProcessPlugInController work with WKObject wrapping 19932 https://bugs.webkit.org/show_bug.cgi?id=125404 19933 19934 Reviewed by Dan Bernstein. 19935 19936 * Shared/Cocoa/APIObject.mm: 19937 (API::Object::newObject): 19938 * Shared/mac/ObjCObjectGraphCoders.mm: 19939 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 19940 (-[WKWebProcessPlugInController dealloc]): 19941 (didCreatePage): 19942 (willDestroyPage): 19943 (-[WKWebProcessPlugInController _setPrincipalClassInstance:]): 19944 (-[WKWebProcessPlugInController API::]): 19945 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: 19946 (WebKit::wrapper): 19947 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: 19948 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 19949 (WebKit::InjectedBundle::load): 19950 199512013-12-07 Dan Bernstein <mitz@apple.com> 19952 19953 [Cocoa] WebData has a generic wrapper 19954 https://bugs.webkit.org/show_bug.cgi?id=125402 19955 19956 Reviewed by Sam Weinig. 19957 19958 Added WKNSData, an NSData subclass that conforms to WKObject and wraps a WebData. 19959 19960 * Shared/Cocoa/APIObject.mm: 19961 (API::Object::newObject): Allocate a WKNSData if the API::Object is data. 19962 * Shared/Cocoa/WKNSData.h: Added. 19963 (WebKit::wrapper): Added. Returns a WebData’s wrapper as an NSData. 19964 * Shared/Cocoa/WKNSData.mm: Added. 19965 (-[WKNSData dealloc]): Calls the WebData destructor. 19966 (-[WKNSData length]): Added. 19967 (-[WKNSData bytes]): Added. 19968 (-[WKNSData copyWithZone:]): Retains self. 19969 (-[WKNSData _apiObject]): Returns the wrapped WebData. 19970 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 19971 199722013-12-07 Sam Weinig <sam@webkit.org> 19973 19974 [Cocoa] Make WKWebProcessPlugInBrowserContextController work with WKObject wrapping 19975 https://bugs.webkit.org/show_bug.cgi?id=125403 19976 19977 Reviewed by Dan Bernstein. 19978 19979 * Shared/Cocoa/APIObject.mm: 19980 (API::Object::newObject): 19981 * Shared/mac/ObjCObjectGraphCoders.mm: 19982 (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): 19983 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 19984 (didCreatePage): 19985 (willDestroyPage): 19986 (setUpBundleClient): 19987 (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundle:]): 19988 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 19989 (-[WKWebProcessPlugInBrowserContextController dealloc]): 19990 (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]): 19991 (-[WKWebProcessPlugInBrowserContextController selectedRange]): 19992 (-[WKWebProcessPlugInBrowserContextController API::]): 19993 (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]): 19994 (-[WKWebProcessPlugInBrowserContextController handle]): 19995 (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]): 19996 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h: 19997 (WebKit::wrapper): 19998 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: 19999 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 20000 (WebKit::InjectedBundle::load): 20001 200022013-12-07 Gustavo Noronha Silva <gns@gnome.org> 20003 20004 Fix API test expectation following 160220. 20005 20006 Rubber-stamped by Martin Robinson. 20007 20008 * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: 20009 (testAtspiBasicHierarchy): check for ATK_ROLE_DOCUMENT_WEB instead of ATK_ROLE_DOCUMENT_FRAME. 20010 200112013-12-06 Enrica Casucci <enrica@apple.com> 20012 20013 Make insertText message asynchronous for iOS. 20014 20015 Reviewed by Benjamin Poulain. 20016 20017 * UIProcess/ios/WebPageProxyIOS.mm: 20018 (WebKit::WebPageProxy::insertText): 20019 * WebProcess/WebPage/WebPage.h: 20020 * WebProcess/WebPage/WebPage.messages.in: 20021 * WebProcess/WebPage/ios/WebPageIOS.mm: 20022 (WebKit::WebPage::insertText): 20023 200242013-12-05 Jer Noble <jer.noble@apple.com> 20025 20026 [MSE] Add a runtime-setting for the MediaSource constructor. 20027 https://bugs.webkit.org/show_bug.cgi?id=125336 20028 20029 Reviewed by Eric Carlson. 20030 20031 Add a private WKPreferences API to control the WebCore mediaSourceEnabled setting. 20032 20033 * Shared/WebPreferencesStore.h: 20034 * UIProcess/API/C/WKPreferences.cpp: 20035 (WKPreferencesSetMediaSourceEnabled): 20036 (WKPreferencesGetMediaSourceEnabled): 20037 * UIProcess/API/C/WKPreferencesPrivate.h: 20038 * WebProcess/WebPage/WebPage.cpp: 20039 (WebKit::WebPage::updatePreferences): 20040 200412013-12-06 Dan Bernstein <mitz@apple.com> 20042 20043 <rdar://problem/15606872> REGRESSION (r160148): Mail throws an exception during launch 20044 https://bugs.webkit.org/show_bug.cgi?id=125362 20045 20046 Reviewed by Sam Weinig. 20047 20048 There were two problems in how WKConnection was made to work with WKObject: first, 20049 API::Object::newObject() was not updated to allocate the correct wrapper class, and second, 20050 WebConnection has subclasses with additional data members, which don’t fit in the object 20051 storage ivar. 20052 20053 * Shared/Cocoa/APIObject.mm: 20054 (API::Object::newObject): Changed to allocate a WKConnection of the required size. 20055 * UIProcess/API/Cocoa/WKConnection.mm: 20056 Removed _connection ivar. 20057 (-[WKConnection dealloc]): Changed to use -_connection accessor instead of ivar. 20058 (-[WKConnection setDelegate:]): Ditto. 20059 (-[WKConnection sendMessageWithName:body:]): Ditto. 20060 (-[WKConnection remoteObjectRegistry]): Ditto. 20061 (-[WKConnection _connection]): Added. 20062 (-[WKConnection _apiObject]): Changed to return the object in the instance extra storage. 20063 200642013-12-06 Dan Bernstein <mitz@apple.com> 20065 20066 [Cocoa] Add load delegate methods for responding to authentication challenges 20067 https://bugs.webkit.org/show_bug.cgi?id=125333 20068 20069 Reviewed by Darin Adler. 20070 20071 * Shared/Cocoa/APIObject.mm: 20072 (API::Object::newObject): Allocate a WKNSURLAuthenticationChallenge if the object is an 20073 AuthenticationChallengeProxy. 20074 20075 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 20076 (canAuthenticateAgainstProtectionSpaceInFrame): Implemented this WKPageLoaderClient callback 20077 by calling the load delegate. 20078 (didReceiveAuthenticationChallengeInFrame): Ditto. 20079 (setUpPageLoaderClient): Set the above callbacks in the client structure. 20080 20081 * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Added. Declares two new 20082 delegate methods. 20083 20084 * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.h: Added. 20085 (WebKit::wrapper): Added. Returns an AuthenticationChallengeProxy’s wrapper as an 20086 NSURLAuthenticationChallenge. 20087 * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm: Added. 20088 (-[WKNSURLAuthenticationChallenge _web_createTarget]): Override this WKObject method to 20089 return a copy of the challenge with the sender set to a shared instance of 20090 WKNSURLAuthenticationChallengeSender. 20091 (-[WKNSURLAuthenticationChallenge _web_authenticationChallengeProxy]): Added. Returns the 20092 wrapped object. 20093 (-[WKNSURLAuthenticationChallengeSender cancelAuthenticationChallenge:]): Added. Calls 20094 AuthenticationDecisionListener::cancel. 20095 (-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]): 20096 Added. Calls AuthenticationDecisionListener::useCredential, passing nullptr. 20097 (-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Added. 20098 Calls AuthenticationDecisionListener::useCredential, passing the credential. 20099 20100 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 20101 201022013-12-05 Gyuyoung Kim <gyuyoung.kim@samsung.com> 20103 20104 Introduce IMAGE_TYPE_CASTS, and use it 20105 https://bugs.webkit.org/show_bug.cgi?id=125330 20106 20107 Reviewed by Ryosuke Niwa. 20108 20109 As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS. 20110 BitmapImage, SVGImage can use it to generate toFoo() type case helper functions. 20111 20112 * WebProcess/Plugins/PluginView.cpp: 20113 (WebKit::PluginView::pluginSnapshotTimerFired): 20114 201152013-12-05 Mark Lam <mark.lam@apple.com> 20116 20117 C Loop LLINT layout test regressions. 20118 https://bugs.webkit.org/show_bug.cgi?id=125314. 20119 20120 Reviewed by Geoffrey Garen. 20121 20122 The regression was due to the ENABLE_LLINT_C_LOOP flag not being included 20123 in the build of the WebKit and WebKit2 components. As a result, some fields 20124 in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and 20125 WebKit2. This resulted in VM::m_initializingObjectClass having 2 different 20126 offsets depending on whether it is accessed from WebCore and JSC or from 20127 WebKit and WebKit2, and chaos ensued. 20128 20129 This issue will manifest when we pass --cloop to build-webkit. 20130 The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit 20131 and WebKit2. 20132 20133 * Configurations/FeatureDefines.xcconfig: 20134 201352013-12-04 Oliver Hunt <oliver@apple.com> 20136 20137 Refactor static getter function prototype to include thisValue in addition to the base object 20138 https://bugs.webkit.org/show_bug.cgi?id=124461 20139 20140 Reviewed by Geoffrey Garen. 20141 20142 Update the WK2 JSC usage to the new static getter API 20143 20144 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 20145 (WebKit::callMethod): 20146 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 20147 (WebKit::callNPJSObject): 20148 (WebKit::constructWithConstructor): 20149 (WebKit::JSNPObject::propertyGetter): 20150 (WebKit::JSNPObject::methodGetter): 20151 * WebProcess/Plugins/Netscape/JSNPObject.h: 20152 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 20153 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject): 20154 (WebKit::NPRuntimeObjectMap::finalize): 20155 * WebProcess/WebPage/WebFrame.cpp: 20156 (WebKit::WebFrame::frameForContext): 20157 (WebKit::WebFrame::counterValue): 20158 201592013-12-05 Commit Queue <commit-queue@webkit.org> 20160 20161 Unreviewed, rolling out r160133. 20162 http://trac.webkit.org/changeset/160133 20163 https://bugs.webkit.org/show_bug.cgi?id=125325 20164 20165 broke bindings tests on all the bots (Requested by thorton on 20166 #webkit). 20167 20168 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 20169 (WebKit::callMethod): 20170 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 20171 (WebKit::callNPJSObject): 20172 (WebKit::constructWithConstructor): 20173 (WebKit::JSNPObject::propertyGetter): 20174 (WebKit::JSNPObject::methodGetter): 20175 * WebProcess/Plugins/Netscape/JSNPObject.h: 20176 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 20177 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject): 20178 (WebKit::NPRuntimeObjectMap::finalize): 20179 * WebProcess/WebPage/WebFrame.cpp: 20180 (WebKit::WebFrame::counterValue): 20181 201822013-12-05 Chris Fleizach <cfleizach@apple.com> 20183 20184 AX: Seed: safari extension installation crashes safari under voice over and freezes voice over 20185 https://bugs.webkit.org/show_bug.cgi?id=125308 20186 20187 Reviewed by Anders Carlsson. 20188 20189 Much like Javascript alerts, we need to allow accessibility clients to continue to interact with the WebProcess thread 20190 when using dispatchDecidePolicyResponses. 20191 20192 * Platform/CoreIPC/MessageSender.h: 20193 (CoreIPC::MessageSender::sendSync): 20194 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 20195 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 20196 201972013-12-05 Anders Carlsson <andersca@apple.com> 20198 20199 "Use Selection for Find" doesn't work in PDF viewed in Safari 20200 https://bugs.webkit.org/show_bug.cgi?id=125319 20201 <rdar://problem/15486983> 20202 20203 Reviewed by Tim Horton. 20204 20205 * WebProcess/Plugins/PDF/PDFPlugin.h: 20206 * WebProcess/Plugins/PDF/PDFPlugin.mm: 20207 (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]): 20208 Pass NSGeneralPboard to writeItemsToPasteboard. 20209 20210 (WebKit::PDFPlugin::handleEditingCommand): 20211 Handle takeFindStringFromSelection by getting the current selection string and writing it to the find pasteboard. 20212 20213 (WebKit::PDFPlugin::isEditingCommandEnabled): 20214 Handle takeFindStringFromSelection. 20215 20216 (WebKit::PDFPlugin::writeItemsToPasteboard): 20217 Update this to take a pasteboard name. 20218 202192013-12-05 Anders Carlsson <andersca@apple.com> 20220 20221 WebKit2 API should use weak ownership for delegate properties rather than assign 20222 https://bugs.webkit.org/show_bug.cgi?id=125316 20223 <rdar://problem/15560614> 20224 20225 Reviewed by Dan Bernstein. 20226 20227 Use WeakObjCPtr for the delegates. 20228 20229 * UIProcess/API/Cocoa/WKBrowsingContextController.h: 20230 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 20231 (didStartProvisionalLoadForFrame): 20232 (didReceiveServerRedirectForProvisionalLoadForFrame): 20233 (didFailProvisionalLoadWithErrorForFrame): 20234 (didCommitLoadForFrame): 20235 (didFinishLoadForFrame): 20236 (didFailLoadWithErrorForFrame): 20237 (didStartProgress): 20238 (didChangeProgress): 20239 (didFinishProgress): 20240 (didChangeBackForwardList): 20241 (setUpPagePolicyClient): 20242 (-[WKBrowsingContextController loadDelegate]): 20243 (-[WKBrowsingContextController setLoadDelegate:]): 20244 (-[WKBrowsingContextController policyDelegate]): 20245 (-[WKBrowsingContextController setPolicyDelegate:]): 20246 (-[WKBrowsingContextController historyDelegate]): 20247 (-[WKBrowsingContextController setHistoryDelegate:]): 20248 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: 20249 * UIProcess/API/Cocoa/WKConnection.mm: 20250 (didReceiveMessage): 20251 (didClose): 20252 (-[WKConnection delegate]): 20253 (-[WKConnection setDelegate:]): 20254 * UIProcess/API/Cocoa/WKProcessGroup.mm: 20255 (didCreateConnection): 20256 (getInjectedBundleInitializationUserData): 20257 (didNavigateWithNavigationData): 20258 (didPerformClientRedirect): 20259 (didPerformServerRedirect): 20260 (didUpdateHistoryTitle): 20261 (-[WKProcessGroup delegate]): 20262 (-[WKProcessGroup setDelegate:]): 20263 202642013-12-05 Anders Carlsson <andersca@apple.com> 20265 20266 Tweak WeakObjCPtr 20267 https://bugs.webkit.org/show_bug.cgi?id=125311 20268 20269 Reviewed by Darin Adler. 20270 20271 Make it possible to use WeakObjCPtr with pointer types such as id. Also, 20272 add a getAutoreleased() member that will load the weak pointer and retain + autorelease it. 20273 20274 * Shared/mac/WeakObjCPtr.h: 20275 (WebKit::WeakObjCPtr::WeakObjCPtr): 20276 (WebKit::WeakObjCPtr::operator=): 20277 (WebKit::WeakObjCPtr::get): 20278 (WebKit::WeakObjCPtr::getAutoreleased): 20279 202802013-12-05 Zan Dobersek <zdobersek@igalia.com> 20281 20282 [GTK][WK2] Clean up WorkQueueGtk 20283 https://bugs.webkit.org/show_bug.cgi?id=125177 20284 20285 Reviewed by Carlos Garcia Campos. 20286 20287 Clean up the GTK implementation of the WorkQueue class a bit. 20288 - registerSocketEventHandler doesn't take a condition argument anymore -- G_IO_IN was the only condition ever passed into 20289 that method so that is now the hard-coded default. 20290 - Clean up the declarations of GTK-specific bits in the WorkQueue header file. SocketEventSourceIterator typedef is removed 20291 and auto will be used instead. 20292 - WorkQueue::dispatchOnTermination and WorkQueue::SocketEventSource::performWorkOnTermination methods were unused and now removed. 20293 - WorkQueue::SocketEventSource doesn't expect a GIO condition anymore, and WorkQueue::SocketEventSource::checkCondition is removed. 20294 G_IO_IN condition was the only one used is now hard-coded into the check in WorkQueue::SocketEventSource::eventCallback. 20295 - Removed an unnecessary non-null assertion for the heap-allocated SocketEventSource. 20296 - Removed a technically duplicated assertion that a file descriptor is already present in the event sources map. Moved the 20297 assertion before the HashMap::find() call. 20298 - Removed two unnecessary assertions that non-null values are being returned by g_idle_source_new() and g_timeout_source_new(). 20299 Both functions are guaranteed to return non-null values. 20300 20301 * Platform/CoreIPC/unix/ConnectionUnix.cpp: 20302 (CoreIPC::Connection::open): 20303 * Platform/WorkQueue.h: 20304 * Platform/gtk/WorkQueueGtk.cpp: 20305 (WorkQueue::SocketEventSource::SocketEventSource): 20306 (WorkQueue::SocketEventSource::eventCallback): 20307 (WorkQueue::registerSocketEventHandler): 20308 (WorkQueue::unregisterSocketEventHandler): 20309 (WorkQueue::dispatch): 20310 (WorkQueue::dispatchAfterDelay): 20311 203122013-12-04 Gergo Balogh <geryxyz@inf.u-szeged.hu> 20313 20314 Report error when #else is used in message receiver generator's input. 20315 https://bugs.webkit.org/show_bug.cgi?id=124147 20316 20317 Reviewed by Csaba Osztrogonác. 20318 20319 * Scripts/webkit2/messages_unittest.py: 20320 (UnsupportedPrecompilerDirectiveTest): 20321 (UnsupportedPrecompilerDirectiveTest.test_error_at_else): 20322 (UnsupportedPrecompilerDirectiveTest.test_error_at_elif): 20323 * Scripts/webkit2/parser.py: 20324 (parse): 20325 203262013-12-04 Sam Weinig <sam@webkit.org> 20327 20328 [Cocoa] Make WKConnection work with WKObject wrapping 20329 https://bugs.webkit.org/show_bug.cgi?id=125266 20330 20331 Reviewed by Dan Bernstein. 20332 20333 * UIProcess/API/Cocoa/WKConnection.mm: 20334 (-[WKConnection dealloc]): 20335 (didReceiveMessage): 20336 (didClose): 20337 (setUpClient): 20338 (-[WKConnection delegate]): 20339 (-[WKConnection setDelegate:]): 20340 (-[WKConnection sendMessageWithName:body:]): 20341 (-[WKConnection remoteObjectRegistry]): 20342 (-[WKConnection API::]): 20343 * UIProcess/API/Cocoa/WKConnectionInternal.h: 20344 (WebKit::wrapper): 20345 * UIProcess/API/Cocoa/WKProcessGroup.mm: 20346 (didCreateConnection): 20347 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 20348 (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]): 20349 (-[WKWebProcessPlugInController connection]): 20350 (-[WKWebProcessPlugInController _bundleRef]): 20351 203522013-12-04 Anders Carlsson <andersca@apple.com> 20353 20354 Add a WeakObjCPtr class 20355 https://bugs.webkit.org/show_bug.cgi?id=125267 20356 20357 Reviewed by Geoffrey Garen. 20358 20359 WeakObjCPtr is a zeroing weak reference class template that will be used for delegates. 20360 20361 * Shared/mac/WeakObjCPtr.h: Added. 20362 (WebKit::WeakObjCPtr::WeakObjCPtr): 20363 (WebKit::WeakObjCPtr::~WeakObjCPtr): 20364 (WebKit::WeakObjCPtr::operator=): 20365 (WebKit::WeakObjCPtr::get): 20366 * WebKit2.xcodeproj/project.pbxproj: 20367 203682013-12-04 Ryuan Choi <ryuan.choi@samsung.com> 20369 20370 Unreviewed EFL build fix after r160135 20371 20372 * CMakeLists.txt: Added rendering/line to include lists. 20373 203742013-12-04 Anders Carlsson <andersca@apple.com> 20375 20376 Make the estimatedProgress property observable using KVO 20377 https://bugs.webkit.org/show_bug.cgi?id=125259 20378 20379 Reviewed by Dan Bernstein. 20380 20381 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 20382 * UIProcess/PageLoadState.cpp: 20383 (WebKit::PageLoadState::PageLoadState): 20384 (WebKit::PageLoadState::reset): 20385 (WebKit::PageLoadState::activeURL): 20386 (WebKit::PageLoadState::estimatedProgress): 20387 (WebKit::PageLoadState::setPendingAPIRequestURL): 20388 (WebKit::PageLoadState::clearPendingAPIRequestURL): 20389 (WebKit::PageLoadState::didStartProgress): 20390 (WebKit::PageLoadState::didChangeProgress): 20391 (WebKit::PageLoadState::didFinishProgress): 20392 * UIProcess/PageLoadState.h: 20393 Move m_estimatedProgress to the page load state and call the observers when it changes. 20394 20395 * UIProcess/WebPageProxy.cpp: 20396 (WebKit::WebPageProxy::WebPageProxy): 20397 (WebKit::WebPageProxy::estimatedProgress): 20398 (WebKit::WebPageProxy::didStartProgress): 20399 (WebKit::WebPageProxy::didChangeProgress): 20400 (WebKit::WebPageProxy::didFinishProgress): 20401 (WebKit::WebPageProxy::resetState): 20402 Call through to m_pageLoadState. 20403 20404 * UIProcess/WebPageProxy.h: 20405 204062013-12-04 Nick Diego Yamane <nick.yamane@openbossa.org> 20407 20408 [WK2] Including SecItemShim.h should be guarded by ENABLE(SEC_ITEM_SHIM) 20409 https://bugs.webkit.org/show_bug.cgi?id=125255 20410 20411 Reviewed by Anders Carlsson. 20412 20413 * UIProcess/WebProcessProxy.cpp: 20414 * WebProcess/WebProcess.cpp: 20415 204162013-12-04 Oliver Hunt <oliver@apple.com> 20417 20418 Refactor static getter function prototype to include thisValue in addition to the base object 20419 https://bugs.webkit.org/show_bug.cgi?id=124461 20420 20421 Reviewed by Geoffrey Garen. 20422 20423 Update the WK2 JSC usage to the new static getter API 20424 20425 * WebProcess/Plugins/Netscape/JSNPMethod.cpp: 20426 (WebKit::callMethod): 20427 * WebProcess/Plugins/Netscape/JSNPObject.cpp: 20428 (WebKit::callNPJSObject): 20429 (WebKit::constructWithConstructor): 20430 (WebKit::JSNPObject::propertyGetter): 20431 (WebKit::JSNPObject::methodGetter): 20432 * WebProcess/Plugins/Netscape/JSNPObject.h: 20433 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: 20434 (WebKit::NPRuntimeObjectMap::getOrCreateNPObject): 20435 (WebKit::NPRuntimeObjectMap::finalize): 20436 * WebProcess/WebPage/WebFrame.cpp: 20437 (WebKit::WebFrame::frameForContext): 20438 (WebKit::WebFrame::counterValue): 20439 204402013-12-04 Anders Carlsson <andersca@apple.com> 20441 20442 Add a loading property to WKBrowsingContextController 20443 https://bugs.webkit.org/show_bug.cgi?id=125256 20444 20445 Reviewed by Dan Bernstein. 20446 20447 * UIProcess/API/Cocoa/WKBrowsingContextController.h: 20448 Add loading property. 20449 20450 * UIProcess/API/Cocoa/WKBrowsingContextConteroller.mm: 20451 Implement willChangeIsLoading and didChangeIsLoading and call the relevant KVO methods. 20452 20453 (-[WKBrowsingContextController isLoading]): 20454 Call through to the PageLoadState. 20455 20456 * UIProcess/PageLoadState.cpp: 20457 (WebKit::PageLoadState::reset): 20458 Use setState. 20459 20460 (WebKit::PageLoadState::isLoading): 20461 Call isLoadingState. 20462 20463 (WebKit::PageLoadState::didStartProvisionalLoad): 20464 Use setState. 20465 20466 (WebKit::PageLoadState::didFailProvisionalLoad): 20467 Use setState. 20468 20469 (WebKit::PageLoadState::didCommitLoad): 20470 Use setState. 20471 20472 (WebKit::PageLoadState::didFinishLoad): 20473 Use setState. 20474 20475 (WebKit::PageLoadState::didFailLoad): 20476 Use setState. 20477 20478 (WebKit::PageLoadState::isLoadingState): 20479 Helper function for determining whether a state is a loading state or not. 20480 20481 (WebKit::PageLoadState::setState): 20482 If setting the state will cause "isLoading" to change, call out to the observers. 20483 20484 * UIProcess/PageLoadState.h: 20485 204862013-12-04 Nick Diego Yamane <nick.yamane@openbossa.org> 20487 20488 [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting API clients 20489 https://bugs.webkit.org/show_bug.cgi?id=125231 20490 20491 Reviewed by Anders Carlsson. 20492 20493 After r159988, WKClients have to be instantiated with a specific 20494 version of that client and its Base field has to used when setting it. 20495 Eg: 20496 20497 WKFullScreenClientV0 wkClient = { 20498 { 20499 0, // version 20500 this, // clientInfo 20501 }, 20502 willEnterFullScreen, 20503 willExitFullScreen 20504 }; 20505 WKViewSetFullScreenClientGtk(this, &wkClient.base); 20506 20507 So we don't need the reinterpret_casts introduced in r160075. 20508 20509 * UIProcess/API/gtk/WebKitFullscreenClient.cpp: 20510 (attachFullScreenClientToView): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base 20511 * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: 20512 (attachRequestManagerClientToContext): Ditto. 20513 * UIProcess/API/gtk/WebKitTextChecker.cpp: 20514 (WebKitTextChecker::WebKitTextChecker): Ditto. 20515 * UIProcess/API/gtk/WebKitWebInspector.cpp: 20516 (webkitWebInspectorCreate): Ditto. 20517 * UIProcess/efl/BatteryProvider.cpp: 20518 (BatteryProvider::BatteryProvider): Ditto. 20519 * UIProcess/efl/NetworkInfoProvider.cpp: 20520 (NetworkInfoProvider::NetworkInfoProvider): Ditto. 20521 * UIProcess/efl/PageUIClientEfl.cpp: 20522 (WebKit::PageUIClientEfl::PageUIClientEfl): Ditto. 20523 * UIProcess/efl/RequestManagerClientEfl.cpp: 20524 (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): Ditto. 20525 * UIProcess/efl/TextCheckerClientEfl.cpp: 20526 (TextCheckerClientEfl::TextCheckerClientEfl): Ditto. 20527 * UIProcess/efl/VibrationClientEfl.cpp: 20528 (VibrationClientEfl::VibrationClientEfl): Ditto. 20529 * UIProcess/efl/ViewClientEfl.cpp: 20530 (WebKit::ViewClientEfl::ViewClientEfl): Ditto. 20531 205322013-12-04 Nick Diego Yamane <nick.yamane@openbossa.org> 20533 20534 [GTK][WK2] Fix build after r160104 20535 https://bugs.webkit.org/show_bug.cgi?id=125240 20536 20537 Reviewed by Anders Carlsson. 20538 20539 Using specific version of API client when instantiating them. 20540 Applied that same change to the following files: 20541 20542 * UIProcess/API/gtk/WebKitContextMenuClient.cpp: 20543 * UIProcess/API/gtk/WebKitCookieManager.cpp: 20544 * UIProcess/API/gtk/WebKitDownloadClient.cpp: 20545 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 20546 * UIProcess/API/gtk/WebKitFindController.cpp: 20547 * UIProcess/API/gtk/WebKitFormClient.cpp: 20548 * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: 20549 * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: 20550 * UIProcess/API/gtk/WebKitLoaderClient.cpp: 20551 * UIProcess/API/gtk/WebKitPolicyClient.cpp: 20552 * UIProcess/API/gtk/WebKitUIClient.cpp: 20553 * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp: 20554 * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp: 20555 205562013-12-04 Dan Bernstein <mitz@apple.com> 20557 20558 Fixed the 32-bit Mac build. 20559 20560 * Shared/mac/WebCoreArgumentCodersMac.mm: 20561 (CoreIPC::::encodePlatformData): 20562 205632013-12-04 Dan Bernstein <mitz@apple.com> 20564 20565 [Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder should extract it from NSURLErrorFailingURLPeerTrustErrorKey 20566 https://bugs.webkit.org/show_bug.cgi?id=125251 20567 20568 Reviewed by Anders Carlsson. 20569 20570 * Shared/mac/WebCoreArgumentCodersMac.mm: 20571 (CoreIPC::::encodePlatformData): If the user info doesn’t include 20572 NSURLErrorFailingURLPeerTrustErrorKey, copy the peer certificate chain from the peer trust 20573 under NSURLErrorFailingURLPeerTrustErrorKey. On the decoding side, it will appear under the 20574 NSURLErrorFailingURLPeerTrustErrorKey, because a trust object can’t be fully serialized. 20575 205762013-12-04 Dan Bernstein <mitz@apple.com> 20577 20578 Replace USE(SECURITY_FRAMEWORK) with finer-grained defines 20579 https://bugs.webkit.org/show_bug.cgi?id=125242 20580 20581 Reviewed by Sam Weinig. 20582 20583 * Configurations/WebKit2.xcconfig: Removed “-framework Security” from the linker flags, now 20584 that it’s included in the target’s Link Binary with Libraries build phase. 20585 * NetworkProcess/NetworkProcess.cpp: 20586 (WebKit::NetworkProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM). 20587 * NetworkProcess/mac/NetworkProcessMac.mm: 20588 (WebKit::NetworkProcess::platformInitializeNetworkProcess): Ditto. 20589 * Shared/Authentication/AuthenticationManager.cpp: Changed to use HAVE(SEC_IDENTITY). 20590 * Shared/Authentication/mac/AuthenticationManager.mac.mm: Ditto. 20591 * Shared/cf/ArgumentCodersCF.cpp: 20592 (CoreIPC::typeFromCFTypeRef): Removed use of USE(SECURITY_FRAMEWORK) since all CF platforms 20593 use it. Added HAVE(SEC_KEYCHAIN) where needed. 20594 (CoreIPC::encode): Ditto. 20595 (CoreIPC::decode): Ditto. 20596 * Shared/cf/ArgumentCodersCF.h: Ditto. 20597 * Shared/mac/SecItemShim.cpp: Chanegd to use ENABLE(SEC_ITEM_SHIM). 20598 * Shared/mac/SecItemShim.h: Ditto. 20599 * Shared/mac/SecItemShim.messages.in: Ditto. 20600 * UIProcess/Network/NetworkProcessProxy.cpp: 20601 (WebKit::NetworkProcessProxy::connectionWillOpen): Ditto. 20602 * UIProcess/WebProcessProxy.cpp: 20603 (WebKit::WebProcessProxy::connectionWillOpen): Ditto. 20604 * UIProcess/mac/SecItemShimProxy.cpp: Ditto. 20605 * UIProcess/mac/SecItemShimProxy.h: Ditto, 20606 * UIProcess/mac/SecItemShimProxy.messages.in: Ditto. 20607 * WebKit2.xcodeproj/project.pbxproj: Link Security.framework unconditionally. 20608 * WebProcess/WebProcess.cpp: 20609 (WebKit::WebProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM). 20610 * WebProcess/mac/WebProcessMac.mm: 20611 (WebKit::WebProcess::platformInitializeProcess): Ditto. 20612 * config.h: Defined ENABLE_SEC_ITEM_SHIM. 20613 206142013-12-04 Csaba Osztrogonác <ossy@webkit.org> 20615 20616 [EFL][WK2] Buildfix after r160104 20617 https://bugs.webkit.org/show_bug.cgi?id=125233 20618 20619 Reviewed by Anders Carlsson. 20620 20621 * UIProcess/API/efl/ewk_cookie_manager.cpp: 20622 (EwkCookieManager::EwkCookieManager): 20623 * UIProcess/API/efl/ewk_favicon_database.cpp: 20624 (EwkFaviconDatabase::EwkFaviconDatabase): 20625 * UIProcess/efl/ContextHistoryClientEfl.cpp: 20626 (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl): 20627 * UIProcess/efl/ContextMenuClientEfl.cpp: 20628 (ContextMenuClientEfl::ContextMenuClientEfl): 20629 * UIProcess/efl/DownloadManagerEfl.cpp: 20630 (WebKit::DownloadManagerEfl::DownloadManagerEfl): 20631 * UIProcess/efl/FindClientEfl.cpp: 20632 (WebKit::FindClientEfl::FindClientEfl): 20633 * UIProcess/efl/FormClientEfl.cpp: 20634 (WebKit::FormClientEfl::FormClientEfl): 20635 * UIProcess/efl/PageLoadClientEfl.cpp: 20636 (WebKit::PageLoadClientEfl::PageLoadClientEfl): 20637 * UIProcess/efl/PagePolicyClientEfl.cpp: 20638 (WebKit::PagePolicyClientEfl::PagePolicyClientEfl): 20639 * UIProcess/efl/PageUIClientEfl.cpp: 20640 (WebKit::PageUIClientEfl::PageUIClientEfl): 20641 206422013-12-03 Anders Carlsson <andersca@apple.com> 20643 20644 Deprecate all unversioned client structs in favor of having explicit versioned structs 20645 https://bugs.webkit.org/show_bug.cgi?id=125203 20646 20647 Reviewed by Dan Bernstein. 20648 20649 Deprecate all the "current version" enums and unversioned client structs. 20650 20651 * Shared/API/c/WKConnectionRef.cpp: 20652 (WKConnectionSetConnectionClient): 20653 * Shared/API/c/WKConnectionRef.h: 20654 * UIProcess/API/C/WKContext.cpp: 20655 (WKContextSetClient): 20656 (WKContextSetInjectedBundleClient): 20657 (WKContextSetHistoryClient): 20658 (WKContextSetDownloadClient): 20659 (WKContextSetConnectionClient): 20660 * UIProcess/API/C/WKContext.h: 20661 * UIProcess/API/C/WKContextConnectionClient.h: 20662 * UIProcess/API/C/WKContextDownloadClient.h: 20663 * UIProcess/API/C/WKContextHistoryClient.h: 20664 * UIProcess/API/C/WKContextInjectedBundleClient.h: 20665 * UIProcess/API/C/WKCookieManager.cpp: 20666 (WKCookieManagerSetClient): 20667 * UIProcess/API/C/WKCookieManager.h: 20668 * UIProcess/API/C/WKDatabaseManager.cpp: 20669 (WKDatabaseManagerSetClient): 20670 * UIProcess/API/C/WKDatabaseManager.h: 20671 * UIProcess/API/C/WKGeolocationManager.cpp: 20672 (WKGeolocationManagerSetProvider): 20673 * UIProcess/API/C/WKGeolocationManager.h: 20674 * UIProcess/API/C/WKIconDatabase.cpp: 20675 (WKIconDatabaseSetIconDatabaseClient): 20676 * UIProcess/API/C/WKIconDatabase.h: 20677 * UIProcess/API/C/WKOriginDataManager.cpp: 20678 (WKOriginDataManagerSetChangeClient): 20679 * UIProcess/API/C/WKOriginDataManager.h: 20680 * UIProcess/API/C/WKPage.cpp: 20681 (WKPageSetPageContextMenuClient): 20682 (WKPageSetPageFindClient): 20683 (WKPageSetPageFindMatchesClient): 20684 (WKPageSetPageFormClient): 20685 (WKPageSetPageLoaderClient): 20686 (WKPageSetPagePolicyClient): 20687 (WKPageSetPageUIClient): 20688 * UIProcess/API/C/WKPage.h: 20689 * UIProcess/API/C/WKPageContextMenuClient.h: 20690 * UIProcess/API/C/WKPageFindClient.h: 20691 * UIProcess/API/C/WKPageFindMatchesClient.h: 20692 * UIProcess/API/C/WKPageFormClient.h: 20693 * UIProcess/API/C/WKPageLoaderClient.h: 20694 * UIProcess/API/C/WKPagePolicyClient.h: 20695 * UIProcess/API/C/WKPageUIClient.h: 20696 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 20697 (setUpPagePolicyClient): 20698 * UIProcess/API/Cocoa/WKConnection.mm: 20699 (setUpClient): 20700 * UIProcess/API/Cocoa/WKProcessGroup.mm: 20701 (setUpConnectionClient): 20702 (setUpInectedBundleClient): 20703 (setUpHistoryClient): 20704 * UIProcess/WebInspectorProxy.cpp: 20705 (WebKit::WebInspectorProxy::createInspectorPage): 20706 * UIProcess/WebUIClient.cpp: 20707 (WebKit::WebUIClient::createNewPage): 20708 (WebKit::WebUIClient::mouseDidMoveOverElement): 20709 * UIProcess/mac/WebInspectorProxyMac.mm: 20710 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 20711 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 20712 (WKBundleSetClient): 20713 * WebProcess/InjectedBundle/API/c/WKBundle.h: 20714 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 20715 (WKBundlePageSetContextMenuClient): 20716 (WKBundlePageSetEditorClient): 20717 (WKBundlePageSetFormClient): 20718 (WKBundlePageSetPageLoaderClient): 20719 (WKBundlePageSetResourceLoadClient): 20720 (WKBundlePageSetPolicyClient): 20721 (WKBundlePageSetUIClient): 20722 (WKBundlePageSetFullScreenClient): 20723 (WKBundlePageSetDiagnosticLoggingClient): 20724 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 20725 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: 20726 * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: 20727 * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: 20728 * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: 20729 * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: 20730 * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: 20731 * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: 20732 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 20733 (WKBundlePageOverlayCreate): 20734 (WKBundlePageOverlaySetAccessibilityClient): 20735 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 20736 * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: 20737 * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: 20738 * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: 20739 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h: 20740 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: 20741 (WKBundlePageBannerCreateBannerWithCALayer): 20742 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 20743 (setUpBundleClient): 20744 207452013-12-04 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 20746 20747 Fix build warnings in DownloadAuthenticationClient.cpp 20748 https://bugs.webkit.org/show_bug.cgi?id=124920 20749 20750 Reviewed by Alexey Proskuryakov. 20751 20752 Fix unused parameter warnings in DownloadAuthenticationClient.cpp 20753 20754 * Shared/Downloads/DownloadAuthenticationClient.cpp: 20755 (WebKit::DownloadAuthenticationClient::receivedCredential): 20756 (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential): 20757 (WebKit::DownloadAuthenticationClient::receivedCancellation): 20758 207592013-12-03 Joseph Pecoraro <pecoraro@apple.com> 20760 20761 Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore 20762 https://bugs.webkit.org/show_bug.cgi?id=124613 20763 20764 Reviewed by Timothy Hatcher. 20765 20766 * WebProcess/WebCoreSupport/WebInspectorClient.h: 20767 * WebProcess/WebPage/WebInspector.cpp: 20768 Updated includes. 20769 20770 * WebProcess/WebPage/WebPage.cpp: 20771 (WebKit::WebPage::WebPage): 20772 * WebProcess/com.apple.WebProcess.sb.in: 20773 Allow the WebProcess to access the "com.apple.webinspector" named 20774 XPC service to expose its WebCore::Page's to remote debuggers. 20775 207762013-12-04 David Farler <dfarler@apple.com> 20777 20778 Use All-iOS target when building WK2 on iOS 20779 <rdar://problem/15574494> 20780 20781 Reviewed by David Kilzer. 20782 20783 * Makefile: 20784 Add -target All-iOS to OTHER_OPTIONS if iphoneos or iphonesimulator 20785 is in the SDKROOT make option. 20786 207872013-12-04 Nick Diego Yamane <nick.yamane@openbossa.org> 20788 20789 [EFL][WK2] Fix build after API::Client changes 20790 https://bugs.webkit.org/show_bug.cgi?id=125206 20791 20792 Reviewed by Csaba Osztrogonác. 20793 20794 * CMakeLists.txt: 20795 * GNUmakefile.list.am: 20796 * Shared/API/c/WKDeclarationSpecifiers.h: 20797 * UIProcess/API/C/CoordinatedGraphics/WKView.cpp: 20798 (WKViewSetViewClient): 20799 * UIProcess/API/C/CoordinatedGraphics/WKView.h: 20800 * UIProcess/API/C/WKBatteryManager.cpp: 20801 (WKBatteryManagerSetProvider): 20802 * UIProcess/API/C/WKBatteryManager.h: 20803 * UIProcess/API/C/WKNetworkInfoManager.cpp: 20804 (WKNetworkInfoManagerSetProvider): 20805 * UIProcess/API/C/WKNetworkInfoManager.h: 20806 * UIProcess/API/C/WKTextChecker.cpp: 20807 (WKTextCheckerSetClient): 20808 * UIProcess/API/C/WKTextChecker.h: 20809 * UIProcess/API/C/WKVibration.cpp: 20810 (WKVibrationSetProvider): 20811 * UIProcess/API/C/WKVibration.h: 20812 * UIProcess/API/C/efl/WKPageEfl.cpp: 20813 (WKPageSetUIPopupMenuClient): 20814 * UIProcess/API/C/efl/WKPageEfl.h: 20815 * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp: 20816 (WKViewSetFullScreenClientGtk): 20817 * UIProcess/API/C/gtk/WKFullScreenClientGtk.h: 20818 * UIProcess/API/C/gtk/WKInspectorClientGtk.cpp: 20819 (WKInspectorSetInspectorClientGtk): 20820 * UIProcess/API/C/gtk/WKInspectorClientGtk.h: 20821 * UIProcess/API/C/soup/WKSoupRequestManager.cpp: 20822 (WKSoupRequestManagerSetClient): 20823 * UIProcess/API/C/soup/WKSoupRequestManager.h: 20824 * UIProcess/API/gtk/WebKitFullscreenClient.cpp: 20825 (attachFullScreenClientToView): 20826 * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: 20827 (attachRequestManagerClientToContext): 20828 * UIProcess/API/gtk/WebKitTextChecker.cpp: 20829 (WebKitTextChecker::WebKitTextChecker): 20830 * UIProcess/API/gtk/WebKitWebInspector.cpp: 20831 (webkitWebInspectorCreate): 20832 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 20833 (webkitWebViewBaseInitializeFullScreenClient): 20834 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 20835 * UIProcess/CoordinatedGraphics/WebView.cpp: 20836 (WebKit::WebView::initializeClient): 20837 * UIProcess/CoordinatedGraphics/WebView.h: 20838 * UIProcess/CoordinatedGraphics/WebViewClient.cpp: 20839 (WebKit::WebViewClient::viewNeedsDisplay): 20840 (WebKit::WebViewClient::didChangeContentsSize): 20841 (WebKit::WebViewClient::webProcessCrashed): 20842 (WebKit::WebViewClient::webProcessDidRelaunch): 20843 (WebKit::WebViewClient::didChangeContentsPosition): 20844 (WebKit::WebViewClient::didRenderFrame): 20845 (WebKit::WebViewClient::didCompletePageTransition): 20846 (WebKit::WebViewClient::didChangeViewportAttributes): 20847 (WebKit::WebViewClient::didChangeTooltip): 20848 (WebKit::WebViewClient::didFindZoomableArea): 20849 (WebKit::WebViewClient::doneWithTouchEvent): 20850 * UIProcess/CoordinatedGraphics/WebViewClient.h: 20851 * UIProcess/WebBatteryManagerProxy.cpp: 20852 (WebKit::WebBatteryManagerProxy::initializeProvider): 20853 * UIProcess/WebBatteryManagerProxy.h: 20854 * UIProcess/WebBatteryProvider.cpp: 20855 (WebKit::WebBatteryProvider::startUpdating): 20856 (WebKit::WebBatteryProvider::stopUpdating): 20857 * UIProcess/WebBatteryProvider.h: 20858 * UIProcess/WebInspectorProxy.h: 20859 * UIProcess/WebNetworkInfoManagerProxy.cpp: 20860 (WebKit::WebNetworkInfoManagerProxy::initializeProvider): 20861 * UIProcess/WebNetworkInfoManagerProxy.h: 20862 * UIProcess/WebNetworkInfoProvider.cpp: 20863 (WebKit::WebNetworkInfoProvider::startUpdating): 20864 (WebKit::WebNetworkInfoProvider::stopUpdating): 20865 (WebKit::WebNetworkInfoProvider::bandwidth): 20866 (WebKit::WebNetworkInfoProvider::isMetered): 20867 * UIProcess/WebNetworkInfoProvider.h: 20868 * UIProcess/WebPageProxy.h: 20869 * UIProcess/WebTextChecker.cpp: 20870 (WebKit::WebTextChecker::setClient): 20871 * UIProcess/WebTextChecker.h: 20872 * UIProcess/WebTextCheckerClient.cpp: 20873 (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed): 20874 (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled): 20875 (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled): 20876 (WebKit::WebTextCheckerClient::grammarCheckingEnabled): 20877 (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled): 20878 (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag): 20879 (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag): 20880 (WebKit::WebTextCheckerClient::checkSpellingOfString): 20881 (WebKit::WebTextCheckerClient::checkGrammarOfString): 20882 (WebKit::WebTextCheckerClient::spellingUIIsShowing): 20883 (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing): 20884 (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord): 20885 (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString): 20886 (WebKit::WebTextCheckerClient::guessesForWord): 20887 (WebKit::WebTextCheckerClient::learnWord): 20888 (WebKit::WebTextCheckerClient::ignoreWord): 20889 * UIProcess/WebTextCheckerClient.h: 20890 * UIProcess/WebVibrationProvider.cpp: 20891 (WebKit::WebVibrationProvider::vibrate): 20892 (WebKit::WebVibrationProvider::cancelVibration): 20893 * UIProcess/WebVibrationProvider.h: 20894 * UIProcess/WebVibrationProxy.cpp: 20895 (WebKit::WebVibrationProxy::initializeProvider): 20896 * UIProcess/WebVibrationProxy.h: 20897 * UIProcess/efl/BatteryProvider.cpp: 20898 (BatteryProvider::BatteryProvider): 20899 * UIProcess/efl/NetworkInfoProvider.cpp: 20900 (NetworkInfoProvider::NetworkInfoProvider): 20901 * UIProcess/efl/PageUIClientEfl.cpp: 20902 (WebKit::PageUIClientEfl::PageUIClientEfl): 20903 * UIProcess/efl/RequestManagerClientEfl.cpp: 20904 (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): 20905 * UIProcess/efl/TextCheckerClientEfl.cpp: 20906 (TextCheckerClientEfl::TextCheckerClientEfl): 20907 * UIProcess/efl/VibrationClientEfl.cpp: 20908 (VibrationClientEfl::VibrationClientEfl): 20909 * UIProcess/efl/ViewClientEfl.cpp: 20910 (WebKit::ViewClientEfl::ViewClientEfl): 20911 * UIProcess/efl/WebPageProxyEfl.cpp: 20912 (WebKit::WebPageProxy::initializeUIPopupMenuClient): 20913 * UIProcess/efl/WebUIPopupMenuClient.cpp: 20914 (WebUIPopupMenuClient::showPopupMenu): 20915 (WebUIPopupMenuClient::hidePopupMenu): 20916 * UIProcess/efl/WebUIPopupMenuClient.h: 20917 * UIProcess/gtk/WebFullScreenClientGtk.cpp: 20918 (WebKit::WebFullScreenClientGtk::willEnterFullScreen): 20919 (WebKit::WebFullScreenClientGtk::willExitFullScreen): 20920 * UIProcess/gtk/WebFullScreenClientGtk.h: 20921 * UIProcess/gtk/WebInspectorClientGtk.cpp: 20922 (WebKit::WebInspectorClientGtk::openWindow): 20923 (WebKit::WebInspectorClientGtk::didClose): 20924 (WebKit::WebInspectorClientGtk::bringToFront): 20925 (WebKit::WebInspectorClientGtk::inspectedURLChanged): 20926 (WebKit::WebInspectorClientGtk::attach): 20927 (WebKit::WebInspectorClientGtk::detach): 20928 (WebKit::WebInspectorClientGtk::didChangeAttachedHeight): 20929 * UIProcess/gtk/WebInspectorClientGtk.h: 20930 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 20931 (WebKit::WebInspectorProxy::initializeInspectorClientGtk): 20932 * UIProcess/soup/WebSoupRequestManagerClient.cpp: 20933 (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): 20934 (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest): 20935 * UIProcess/soup/WebSoupRequestManagerClient.h: 20936 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 20937 (WebKit::WebSoupRequestManagerProxy::initializeClient): 20938 * UIProcess/soup/WebSoupRequestManagerProxy.h: 20939 209402013-12-03 Simon Fraser <simon.fraser@apple.com> 20941 20942 WKContentView should just use InitializeWebKit2() 20943 https://bugs.webkit.org/show_bug.cgi?id=125209 20944 20945 Reviewed by Benjamin Poulain. 20946 20947 Rather than calling an motley selection of init fuctions, 20948 WKContentView should use the one true init function, InitializeWebKit2(). 20949 20950 * Shared/WebKit2Initialize.cpp: On iOS, we need to call InitWebCoreThreadSystemInterface(). 20951 (WebKit::InitializeWebKit2): 20952 * UIProcess/API/ios/WKContentView.mm: Remove various unused #imports. 20953 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 20954 209552013-12-03 Anders Carlsson <andersca@apple.com> 20956 20957 PageOverlayClientImpl should be a proper API::Client 20958 https://bugs.webkit.org/show_bug.cgi?id=125199 20959 20960 Reviewed by Tim Horton. 20961 20962 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp: 20963 (PageOverlayClientImpl::PageOverlayClientImpl): 20964 (PageOverlayClientImpl::setAccessibilityClient): 20965 (PageOverlayClientImpl::willMoveToWebPage): 20966 (PageOverlayClientImpl::didMoveToWebPage): 20967 (PageOverlayClientImpl::drawRect): 20968 (PageOverlayClientImpl::mouseEvent): 20969 (PageOverlayClientImpl::copyAccessibilityAttributeValue): 20970 (PageOverlayClientImpl::copyAccessibilityAttributeNames): 20971 (WKBundlePageOverlayCreate): 20972 (WKBundlePageOverlaySetAccessibilityClient): 20973 209742013-12-03 Anders Carlsson <andersca@apple.com> 20975 20976 Initialize the PageBannerClientImpl API::Client 20977 https://bugs.webkit.org/show_bug.cgi?id=125198 20978 20979 Reviewed by Tim Horton. 20980 20981 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: 20982 (PageBannerClientImpl::PageBannerClientImpl): 20983 209842013-12-03 Tim Horton <timothy_horton@apple.com> 20985 20986 Remote Layer Tree: Force repaint 20987 https://bugs.webkit.org/show_bug.cgi?id=125189 20988 <rdar://problem/15541789> 20989 20990 Reviewed by Anders Carlsson. 20991 20992 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 20993 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 20994 (WebKit::RemoteLayerTreeContext::forceRepaint): 20995 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 20996 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 20997 (WebKit::RemoteLayerTreeDrawingArea::forceRepaint): 20998 Implement WebProcess-synchronous force repaint. 20999 We don't need the async variant because it is only needed 21000 to synchronize with the WebProcess-side threaded scrolling 21001 tree, which is not a component of the remote layer tree model. 21002 The UI process will not handle the callback until after 21003 RemoteLayerTreeHost::commit is complete, ensuring that the commit 21004 is actually done. 21005 210062013-12-03 Simon Fraser <simon.fraser@apple.com> 21007 21008 Remove some iOS-related documentScale code 21009 https://bugs.webkit.org/show_bug.cgi?id=125194 21010 21011 Reviewed by Enrica Casucci. 21012 21013 Upstream bits of removal of Frame::documentScale on iOS. 21014 21015 * WebProcess/WebPage/WebPage.cpp: 21016 (WebKit::WebPage::updatePreferences): Whitespace. 21017 * WebProcess/WebPage/ios/WebPageIOS.mm: 21018 (WebKit::WebPage::didFinishZooming): Don't call setDocumentScale(). 21019 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Remove minimumDocumentScale(). 21020 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: Ditto. 21021 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): We delegate page scaling on iOS. 21022 (WebKit::RemoteLayerTreeDrawingArea::setDeviceScaleFactor): 21023 210242013-12-03 Anders Carlsson <andersca@apple.com> 21025 21026 PageBannerClientImpl should be an API::Client 21027 https://bugs.webkit.org/show_bug.cgi?id=125190 21028 21029 Reviewed by Tim Horton. 21030 21031 * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: 21032 (PageBannerClientImpl::PageBannerClientImpl): 21033 (PageBannerClientImpl::~PageBannerClientImpl): 21034 (WKBundlePageBannerCreateBannerWithCALayer): 21035 210362013-12-03 Dan Bernstein <mitz@apple.com> 21037 21038 [Cocoa] Give two load delegate methods more conventional names 21039 https://bugs.webkit.org/show_bug.cgi?id=125183 21040 21041 Reviewed by Anders Carlsson. 21042 21043 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 21044 (didFailProvisionalLoadWithErrorForFrame): Updated for rename. 21045 (didFailLoadWithErrorForFrame): Ditto. 21046 * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Renamed 21047 -browsingContextControllerDidFailProvisionalLoad:withError: to 21048 -browsingContextController:didFailProvisionalLoadWithError: and 21049 -browsingContextControllerDidFailLoad:withError: to 21050 -browsingContextController:didFailLoadWithError:. 21051 210522013-12-03 Anders Carlsson <andersca@apple.com> 21053 21054 Deprecate WKNotificationProvider 21055 https://bugs.webkit.org/show_bug.cgi?id=125178 21056 21057 Reviewed by Sam Weinig. 21058 21059 * Shared/API/c/WKDeclarationSpecifiers.h: 21060 Add WK_DEPRECATED and WK_ENUM_DEPRECATED macros so we can things as deprecated. 21061 21062 * UIProcess/API/C/WKNotificationManager.cpp: 21063 (WKNotificationManagerSetProvider): 21064 * UIProcess/API/C/WKNotificationManager.h: 21065 WKNotificationManagerSetProvider now takes a WKNotificationProviderBase. 21066 21067 * UIProcess/API/C/WKNotificationProvider.h: 21068 Deprecate WKNotificationProvider and kWKNotificationProviderCurrentVersion. 21069 210702013-12-03 Brady Eidson <beidson@apple.com> 21071 21072 Indexed Database work should be done on a non-main queue 21073 https://bugs.webkit.org/show_bug.cgi?id=125127 21074 21075 Reviewed by Darin Adler. 21076 21077 Add a non-main WorkQueue to the DatabaseProcess: 21078 * DatabaseProcess/DatabaseProcess.cpp: 21079 (WebKit::DatabaseProcess::DatabaseProcess): 21080 (WebKit::DatabaseProcess::queue): 21081 * DatabaseProcess/DatabaseProcess.h: 21082 21083 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 21084 (WebKit::UniqueIDBDatabase::UniqueIDBDatabase): 21085 (WebKit::UniqueIDBDatabase::enqueueDatabaseQueueRequest): Add an AsyncRequest to the deque then schedule performing 21086 the requests on the background WorkQueue. 21087 (WebKit::UniqueIDBDatabase::processDatabaseRequestQueue): Processes all enqueued database requests. 21088 (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Renamed from getIDBDatabaseMetadata(). 21089 (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadataInternal): For doing i/o on a background queue/thread. 21090 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 21091 21092 Add a creator that takes the abort handler as an argument, and rename requestedCompleted() 21093 to completeRequest(). This makes more sense in more situations: 21094 * Shared/AsyncRequest.cpp: 21095 (WebKit::AsyncRequest::AsyncRequest): 21096 (WebKit::AsyncRequest::setAbortHandler): 21097 * Shared/AsyncRequest.h: 21098 (WebKit::AsyncRequest::completeRequest): 21099 21100 Update for the AsyncRequest rename: 21101 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 21102 (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): 21103 21104 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 21105 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): 21106 211072013-12-03 Tim Horton <timothy_horton@apple.com> 21108 21109 Remove TiledCoreAnimationDrawingArea(Proxy)IOS 21110 https://bugs.webkit.org/show_bug.cgi?id=125176 21111 21112 Reviewed by Simon Fraser. 21113 21114 Remove unused code. 21115 21116 * UIProcess/API/ios/WKContentView.mm: 21117 * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.h: Removed. 21118 * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm: Removed. 21119 * Shared/DrawingAreaInfo.h: 21120 * WebProcess/WebPage/DrawingArea.cpp: 21121 (WebKit::DrawingArea::create): 21122 * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.h: Removed. 21123 * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.mm: Removed. 21124 211252013-12-03 Anders Carlsson <andersca@apple.com> 21126 21127 Remove old WebKit::APIClient cruft 21128 https://bugs.webkit.org/show_bug.cgi?id=125173 21129 21130 Reviewed by Antti Koivisto. 21131 21132 * Shared/APIClient.h: 21133 * Shared/APIClientTraits.cpp: Removed. 21134 * Shared/APIClientTraits.h: Removed. 21135 * WebKit2.xcodeproj/project.pbxproj: 21136 * WebProcess/Plugins/PDF/PDFPlugin.mm: 21137 211382013-12-03 Enrica Casucci <enrica@apple.com> 21139 21140 Build fix for iOS. 21141 21142 Reviewed by Tim Horton. 21143 21144 * Shared/WebCoreArgumentCoders.cpp: Added missing header. 21145 211462013-12-03 Tamas Gergely <tgergely.u-szeged@partner.samsung.com> 21147 21148 Remove WTF:: prefix from types in messages.in files. 21149 https://bugs.webkit.org/show_bug.cgi?id=124578 21150 21151 Reviewed by Anders Carlsson. 21152 21153 The WTF:: prefixes are removed from the messages.in files, and the 21154 messages.py now handles unprefixed non-template WTF classes (only 21155 the WTF::String class is used currently). Tests are also updated. 21156 21157 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 21158 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 21159 * NetworkProcess/NetworkProcess.messages.in: 21160 * PluginProcess/PluginControllerProxy.messages.in: 21161 * PluginProcess/PluginProcess.messages.in: 21162 * Scripts/webkit2/messages.py: 21163 (forward_declarations_and_headers): 21164 (class_template_headers): 21165 (argument_coder_headers_for_type): 21166 * Scripts/webkit2/messages_unittest.py: 21167 (std): 21168 * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: 21169 * UIProcess/Downloads/DownloadProxy.messages.in: 21170 * UIProcess/Plugins/PluginProcessProxy.messages.in: 21171 * UIProcess/Storage/StorageManager.messages.in: 21172 * UIProcess/WebContext.messages.in: 21173 * UIProcess/WebCookieManagerProxy.messages.in: 21174 * UIProcess/WebDatabaseManagerProxy.messages.in: 21175 * UIProcess/WebIconDatabase.messages.in: 21176 * UIProcess/WebInspectorProxy.messages.in: 21177 * UIProcess/WebMediaCacheManagerProxy.messages.in: 21178 * UIProcess/WebPageProxy.messages.in: 21179 * UIProcess/WebProcessProxy.messages.in: 21180 * WebProcess/Cookies/WebCookieManager.messages.in: 21181 * WebProcess/Geolocation/WebGeolocationManager.messages.in: 21182 * WebProcess/MediaCache/WebMediaCacheManager.messages.in: 21183 * WebProcess/Notifications/WebNotificationManager.messages.in: 21184 * WebProcess/Plugins/PluginProcessConnection.messages.in: 21185 * WebProcess/Plugins/PluginProxy.messages.in: 21186 * WebProcess/Storage/StorageAreaMap.messages.in: 21187 * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in: 21188 * WebProcess/WebPage/WebInspector.messages.in: 21189 * WebProcess/WebPage/WebPage.messages.in: 21190 * WebProcess/WebProcess.messages.in: 21191 * WebProcess/soup/WebSoupRequestManager.messages.in: 21192 211932013-12-03 Anders Carlsson <andersca@apple.com> 21194 21195 Tweak build fixes. 21196 21197 * Shared/APIClient.h: 21198 211992013-12-03 Laszlo Vidacs <lac@inf.u-szeged.hu> 21200 21201 Fix EFL build error in WK2 (159965) 21202 https://bugs.webkit.org/show_bug.cgi?id=125153 21203 21204 Reviewed by Darin Adler. 21205 21206 * Shared/APIClient.h: 21207 212082013-12-03 Seokju Kwon <seokju@webkit.org> 21209 21210 Debug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965. 21211 https://bugs.webkit.org/show_bug.cgi?id=125140 21212 21213 Reviewed by Csaba Osztrogonác. 21214 21215 * Shared/APIClient.h: 21216 212172013-12-03 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 21218 21219 Fix EFL build with INPUT_TYPE_COLOR disabled. 21220 https://bugs.webkit.org/show_bug.cgi?id=125065 21221 21222 Reviewed by Zoltan Herczeg. 21223 21224 * UIProcess/API/efl/ewk_color_picker.cpp: 21225 212262013-12-03 Dariusz Frankiewicz <d.frankiewic@samsung.com> 21227 21228 Add spatial navigation API in EFL port 21229 https://bugs.webkit.org/show_bug.cgi?id=125002 21230 21231 Reviewed by Gyuyoung Kim. 21232 21233 API enables capability of turning on and off spatial navigation 21234 and check is state. 21235 Spatial navigation is the ability to navigate between focusable 21236 elements by keyboard. 21237 21238 * UIProcess/API/efl/ewk_settings.cpp: 21239 (ewk_settings_spatial_navigation_enabled_set): 21240 (ewk_settings_spatial_navigation_enabled_get): 21241 * UIProcess/API/efl/ewk_settings.h: 21242 * UIProcess/API/efl/tests/test_ewk2_settings.cpp: 21243 (TEST_F): 21244 212452013-12-02 Zan Dobersek <zdobersek@igalia.com> 21246 21247 Build fixes for GCC-using ports after r159965 and later 21248 https://bugs.webkit.org/show_bug.cgi?id=125136 21249 21250 GCC doesn't process API::ClientTraits template instantiations unless they're done 21251 inside the API namespace. 21252 21253 * Shared/WebConnectionClient.h: 21254 * UIProcess/Notifications/WebNotificationProvider.h: 21255 * UIProcess/WebContextClient.h: 21256 * UIProcess/WebContextConnectionClient.h: 21257 * UIProcess/WebContextInjectedBundleClient.h: 21258 * UIProcess/WebCookieManagerProxyClient.h: 21259 * UIProcess/WebDatabaseManagerProxyClient.h: 21260 * UIProcess/WebDownloadClient.h: 21261 * UIProcess/WebFindClient.h: 21262 * UIProcess/WebFormClient.h: 21263 * UIProcess/WebGeolocationProvider.h: 21264 * UIProcess/WebHistoryClient.h: 21265 * UIProcess/WebIconDatabaseClient.h: 21266 * UIProcess/WebLoaderClient.h: 21267 * UIProcess/WebOriginDataManagerProxyChangeClient.h: 21268 * UIProcess/WebPageContextMenuClient.h: 21269 * UIProcess/WebPolicyClient.h: 21270 * UIProcess/WebUIClient.h: 21271 * WebProcess/InjectedBundle/InjectedBundleClient.h: 21272 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 21273 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: 21274 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 21275 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 21276 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: 21277 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 21278 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 21279 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: 21280 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 21281 212822013-12-02 Dan Bernstein <mitz@apple.com> 21283 21284 Build fix. 21285 21286 * UIProcess/API/ios/WKGeolocationProviderIOS.mm: 21287 (-[WKGeolocationProviderIOS initWithContext:]): 21288 212892013-12-02 Martin Hock <mhock@apple.com> 21290 21291 Add ability to iterate over API::Array 21292 https://bugs.webkit.org/show_bug.cgi?id=124533 21293 21294 Reviewed by Sam Weinig. 21295 21296 * GNUmakefile.list.am: 21297 * Shared/APIArray.h: 21298 * Shared/FilterIterator.h: 21299 * Shared/IteratorPair.h: 21300 * WebKit2.xcodeproj/project.pbxproj: 21301 * WebProcess/InjectedBundle/InjectedBundle.cpp: 21302 (WebKit::toStringVector): 21303 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 21304 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): 21305 213062013-12-02 Dan Bernstein <mitz@apple.com> 21307 21308 [Cocoa] WebProtectionSpace has a generic wrapper 21309 https://bugs.webkit.org/show_bug.cgi?id=125125 21310 21311 Reviewed by Anders Carlsson. 21312 21313 Added WKNSURLProtectionSpace. 21314 21315 * Shared/Cocoa/APIObject.mm: 21316 (API::Object::newObject): Allocate a WKNSURLProtectionSpace if the object is a 21317 WebProtectionSpace. 21318 * Shared/Cocoa/WKNSURLProtectionSpace.h: Added. 21319 (WebKit::wrapper): Added. Returns a WebProtecitonSpace’s wrapper as an NSURLProtectionSpace. 21320 * Shared/Cocoa/WKNSURLProtectionSpace.mm: Added. 21321 (-[WKNSURLProtectionSpace copyWithZone:]): Retains self. 21322 * UIProcess/Authentication/WebProtectionSpace.h: 21323 (WebKit::WebProtectionSpace::protectionSpace): Added an accessor for the 21324 WebCore::ProtectionSpace. 21325 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 21326 213272013-12-02 Anders Carlsson <andersca@apple.com> 21328 21329 Replace uses of WebKit::APIClient with API::Client 21330 https://bugs.webkit.org/show_bug.cgi?id=125129 21331 21332 Reviewed by Andreas Kling. 21333 21334 * Shared/API/c/WKConnectionRef.cpp: 21335 (WKConnectionSetConnectionClient): 21336 * Shared/WebConnection.cpp: 21337 (WebKit::WebConnection::initializeConnectionClient): 21338 * Shared/WebConnection.h: 21339 * Shared/WebConnectionClient.cpp: 21340 (WebKit::WebConnectionClient::didReceiveMessage): 21341 (WebKit::WebConnectionClient::didClose): 21342 * Shared/WebConnectionClient.h: 21343 * UIProcess/API/C/WKContext.cpp: 21344 (WKContextSetClient): 21345 (WKContextSetInjectedBundleClient): 21346 (WKContextSetHistoryClient): 21347 (WKContextSetDownloadClient): 21348 (WKContextSetConnectionClient): 21349 * UIProcess/API/C/WKCookieManager.cpp: 21350 (WKCookieManagerSetClient): 21351 * UIProcess/API/C/WKDatabaseManager.cpp: 21352 (WKDatabaseManagerSetClient): 21353 * UIProcess/API/C/WKGeolocationManager.cpp: 21354 (WKGeolocationManagerSetProvider): 21355 * UIProcess/API/C/WKIconDatabase.cpp: 21356 (WKIconDatabaseSetIconDatabaseClient): 21357 * UIProcess/API/C/WKNotificationManager.cpp: 21358 (WKNotificationManagerSetProvider): 21359 * UIProcess/API/C/WKOriginDataManager.cpp: 21360 (WKOriginDataManagerSetChangeClient): 21361 * UIProcess/API/C/WKPage.cpp: 21362 (WKPageSetPageContextMenuClient): 21363 (WKPageSetPageFindClient): 21364 (WKPageSetPageFindMatchesClient): 21365 (WKPageSetPageFormClient): 21366 (WKPageSetPagePolicyClient): 21367 (WKPageSetPageUIClient): 21368 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 21369 (setUpPagePolicyClient): 21370 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 21371 (WebKit::WebNotificationManagerProxy::initializeProvider): 21372 * UIProcess/Notifications/WebNotificationManagerProxy.h: 21373 * UIProcess/Notifications/WebNotificationProvider.cpp: 21374 (WebKit::WebNotificationProvider::show): 21375 (WebKit::WebNotificationProvider::cancel): 21376 (WebKit::WebNotificationProvider::didDestroyNotification): 21377 (WebKit::WebNotificationProvider::clearNotifications): 21378 (WebKit::WebNotificationProvider::addNotificationManager): 21379 (WebKit::WebNotificationProvider::removeNotificationManager): 21380 (WebKit::WebNotificationProvider::notificationPermissions): 21381 * UIProcess/Notifications/WebNotificationProvider.h: 21382 * UIProcess/WebContext.cpp: 21383 (WebKit::WebContext::initializeClient): 21384 (WebKit::WebContext::initializeInjectedBundleClient): 21385 (WebKit::WebContext::initializeConnectionClient): 21386 (WebKit::WebContext::initializeHistoryClient): 21387 (WebKit::WebContext::initializeDownloadClient): 21388 * UIProcess/WebContext.h: 21389 * UIProcess/WebContextClient.cpp: 21390 (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged): 21391 (WebKit::WebContextClient::networkProcessDidCrash): 21392 (WebKit::WebContextClient::plugInInformationBecameAvailable): 21393 * UIProcess/WebContextClient.h: 21394 * UIProcess/WebContextConnectionClient.cpp: 21395 (WebKit::WebContextConnectionClient::didCreateConnection): 21396 * UIProcess/WebContextConnectionClient.h: 21397 * UIProcess/WebContextInjectedBundleClient.cpp: 21398 (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): 21399 (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle): 21400 (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData): 21401 * UIProcess/WebContextInjectedBundleClient.h: 21402 * UIProcess/WebCookieManagerProxy.cpp: 21403 (WebKit::WebCookieManagerProxy::initializeClient): 21404 * UIProcess/WebCookieManagerProxy.h: 21405 * UIProcess/WebCookieManagerProxyClient.cpp: 21406 (WebKit::WebCookieManagerProxyClient::cookiesDidChange): 21407 * UIProcess/WebCookieManagerProxyClient.h: 21408 * UIProcess/WebDatabaseManagerProxy.cpp: 21409 (WebKit::WebDatabaseManagerProxy::initializeClient): 21410 * UIProcess/WebDatabaseManagerProxy.h: 21411 * UIProcess/WebDatabaseManagerProxyClient.cpp: 21412 (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin): 21413 (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase): 21414 * UIProcess/WebDatabaseManagerProxyClient.h: 21415 * UIProcess/WebDownloadClient.cpp: 21416 (WebKit::WebDownloadClient::didStart): 21417 (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge): 21418 (WebKit::WebDownloadClient::didReceiveResponse): 21419 (WebKit::WebDownloadClient::didReceiveData): 21420 (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType): 21421 (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename): 21422 (WebKit::WebDownloadClient::didCreateDestination): 21423 (WebKit::WebDownloadClient::didFinish): 21424 (WebKit::WebDownloadClient::didFail): 21425 (WebKit::WebDownloadClient::didCancel): 21426 (WebKit::WebDownloadClient::processDidCrash): 21427 * UIProcess/WebDownloadClient.h: 21428 * UIProcess/WebFindClient.cpp: 21429 (WebKit::WebFindClient::didFindString): 21430 (WebKit::WebFindClient::didFailToFindString): 21431 (WebKit::WebFindClient::didCountStringMatches): 21432 (WebKit::WebFindMatchesClient::didFindStringMatches): 21433 (WebKit::WebFindMatchesClient::didGetImageForMatchResult): 21434 * UIProcess/WebFindClient.h: 21435 * UIProcess/WebFormClient.cpp: 21436 (WebKit::WebFormClient::willSubmitForm): 21437 * UIProcess/WebFormClient.h: 21438 * UIProcess/WebGeolocationManagerProxy.cpp: 21439 (WebKit::WebGeolocationManagerProxy::initializeProvider): 21440 * UIProcess/WebGeolocationManagerProxy.h: 21441 * UIProcess/WebGeolocationProvider.cpp: 21442 (WebKit::WebGeolocationProvider::startUpdating): 21443 (WebKit::WebGeolocationProvider::stopUpdating): 21444 (WebKit::WebGeolocationProvider::setEnableHighAccuracy): 21445 * UIProcess/WebGeolocationProvider.h: 21446 * UIProcess/WebHistoryClient.cpp: 21447 (WebKit::WebHistoryClient::didNavigateWithNavigationData): 21448 (WebKit::WebHistoryClient::didPerformClientRedirect): 21449 (WebKit::WebHistoryClient::didPerformServerRedirect): 21450 (WebKit::WebHistoryClient::didUpdateHistoryTitle): 21451 (WebKit::WebHistoryClient::populateVisitedLinks): 21452 * UIProcess/WebHistoryClient.h: 21453 * UIProcess/WebIconDatabase.cpp: 21454 (WebKit::WebIconDatabase::initializeIconDatabaseClient): 21455 * UIProcess/WebIconDatabase.h: 21456 * UIProcess/WebIconDatabaseClient.cpp: 21457 (WebKit::WebIconDatabaseClient::didChangeIconForPageURL): 21458 (WebKit::WebIconDatabaseClient::didRemoveAllIcons): 21459 (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL): 21460 * UIProcess/WebIconDatabaseClient.h: 21461 * UIProcess/WebInspectorProxy.cpp: 21462 (WebKit::WebInspectorProxy::createInspectorPage): 21463 * UIProcess/WebLoaderClient.h: 21464 * UIProcess/WebOriginDataManagerProxy.cpp: 21465 (WebKit::WebOriginDataManagerProxy::setChangeClient): 21466 * UIProcess/WebOriginDataManagerProxy.h: 21467 * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: 21468 (WebKit::WebOriginDataManagerProxyChangeClient::didChange): 21469 * UIProcess/WebOriginDataManagerProxyChangeClient.h: 21470 * UIProcess/WebPageContextMenuClient.cpp: 21471 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu): 21472 (WebKit::WebPageContextMenuClient::customContextMenuItemSelected): 21473 (WebKit::WebPageContextMenuClient::contextMenuDismissed): 21474 (WebKit::WebPageContextMenuClient::showContextMenu): 21475 (WebKit::WebPageContextMenuClient::hideContextMenu): 21476 * UIProcess/WebPageContextMenuClient.h: 21477 * UIProcess/WebPageProxy.cpp: 21478 (WebKit::WebPageProxy::initializePolicyClient): 21479 (WebKit::WebPageProxy::initializeFormClient): 21480 (WebKit::WebPageProxy::initializeUIClient): 21481 (WebKit::WebPageProxy::initializeFindClient): 21482 (WebKit::WebPageProxy::initializeFindMatchesClient): 21483 (WebKit::WebPageProxy::initializeContextMenuClient): 21484 * UIProcess/WebPageProxy.h: 21485 * UIProcess/WebPolicyClient.cpp: 21486 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 21487 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 21488 (WebKit::WebPolicyClient::decidePolicyForResponse): 21489 (WebKit::WebPolicyClient::unableToImplementPolicy): 21490 * UIProcess/WebPolicyClient.h: 21491 * UIProcess/WebUIClient.cpp: 21492 (WebKit::WebUIClient::createNewPage): 21493 (WebKit::WebUIClient::showPage): 21494 (WebKit::WebUIClient::close): 21495 (WebKit::WebUIClient::takeFocus): 21496 (WebKit::WebUIClient::focus): 21497 (WebKit::WebUIClient::unfocus): 21498 (WebKit::WebUIClient::runJavaScriptAlert): 21499 (WebKit::WebUIClient::runJavaScriptConfirm): 21500 (WebKit::WebUIClient::runJavaScriptPrompt): 21501 (WebKit::WebUIClient::setStatusText): 21502 (WebKit::WebUIClient::mouseDidMoveOverElement): 21503 (WebKit::WebUIClient::unavailablePluginButtonClicked): 21504 (WebKit::WebUIClient::didNotHandleKeyEvent): 21505 (WebKit::WebUIClient::didNotHandleWheelEvent): 21506 (WebKit::WebUIClient::toolbarsAreVisible): 21507 (WebKit::WebUIClient::setToolbarsAreVisible): 21508 (WebKit::WebUIClient::menuBarIsVisible): 21509 (WebKit::WebUIClient::setMenuBarIsVisible): 21510 (WebKit::WebUIClient::statusBarIsVisible): 21511 (WebKit::WebUIClient::setStatusBarIsVisible): 21512 (WebKit::WebUIClient::isResizable): 21513 (WebKit::WebUIClient::setIsResizable): 21514 (WebKit::WebUIClient::setWindowFrame): 21515 (WebKit::WebUIClient::windowFrame): 21516 (WebKit::WebUIClient::runBeforeUnloadConfirmPanel): 21517 (WebKit::WebUIClient::didDraw): 21518 (WebKit::WebUIClient::pageDidScroll): 21519 (WebKit::WebUIClient::exceededDatabaseQuota): 21520 (WebKit::WebUIClient::runOpenPanel): 21521 (WebKit::WebUIClient::decidePolicyForGeolocationPermissionRequest): 21522 (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest): 21523 (WebKit::WebUIClient::headerHeight): 21524 (WebKit::WebUIClient::footerHeight): 21525 (WebKit::WebUIClient::drawHeader): 21526 (WebKit::WebUIClient::drawFooter): 21527 (WebKit::WebUIClient::printFrame): 21528 (WebKit::WebUIClient::runModal): 21529 (WebKit::WebUIClient::saveDataToFileInDownloadsFolder): 21530 (WebKit::WebUIClient::shouldInterruptJavaScript): 21531 (WebKit::WebUIClient::showColorPicker): 21532 (WebKit::WebUIClient::hideColorPicker): 21533 * UIProcess/WebUIClient.h: 21534 * UIProcess/mac/WebInspectorProxyMac.mm: 21535 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 21536 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 21537 (WKBundleSetClient): 21538 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 21539 (WKBundlePageSetContextMenuClient): 21540 (WKBundlePageSetEditorClient): 21541 (WKBundlePageSetFormClient): 21542 (WKBundlePageSetPageLoaderClient): 21543 (WKBundlePageSetResourceLoadClient): 21544 (WKBundlePageSetPolicyClient): 21545 (WKBundlePageSetUIClient): 21546 (WKBundlePageSetFullScreenClient): 21547 (WKBundlePageSetDiagnosticLoggingClient): 21548 * WebProcess/InjectedBundle/InjectedBundle.cpp: 21549 (WebKit::InjectedBundle::initializeClient): 21550 * WebProcess/InjectedBundle/InjectedBundle.h: 21551 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: 21552 (WebKit::InjectedBundleClient::didCreatePage): 21553 (WebKit::InjectedBundleClient::willDestroyPage): 21554 (WebKit::InjectedBundleClient::didInitializePageGroup): 21555 (WebKit::InjectedBundleClient::didReceiveMessage): 21556 (WebKit::InjectedBundleClient::didReceiveMessageToPage): 21557 * WebProcess/InjectedBundle/InjectedBundleClient.h: 21558 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 21559 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): 21560 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 21561 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: 21562 (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): 21563 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: 21564 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 21565 (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing): 21566 (WebKit::InjectedBundlePageEditorClient::shouldEndEditing): 21567 (WebKit::InjectedBundlePageEditorClient::shouldInsertNode): 21568 (WebKit::InjectedBundlePageEditorClient::shouldInsertText): 21569 (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange): 21570 (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange): 21571 (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle): 21572 (WebKit::InjectedBundlePageEditorClient::didBeginEditing): 21573 (WebKit::InjectedBundlePageEditorClient::didEndEditing): 21574 (WebKit::InjectedBundlePageEditorClient::didChange): 21575 (WebKit::InjectedBundlePageEditorClient::didChangeSelection): 21576 (WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard): 21577 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): 21578 (WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard): 21579 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: 21580 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 21581 (WebKit::InjectedBundlePageFormClient::didFocusTextField): 21582 (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing): 21583 (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing): 21584 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField): 21585 (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea): 21586 (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField): 21587 (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent): 21588 (WebKit::InjectedBundlePageFormClient::willSubmitForm): 21589 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 21590 (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges): 21591 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 21592 * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: 21593 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 21594 (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest): 21595 (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest): 21596 (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem): 21597 (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame): 21598 (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 21599 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame): 21600 (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame): 21601 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame): 21602 (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame): 21603 (WebKit::InjectedBundlePageLoaderClient::didFinishProgress): 21604 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame): 21605 (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame): 21606 (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame): 21607 (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy): 21608 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): 21609 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): 21610 (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame): 21611 (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame): 21612 (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 21613 (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame): 21614 (WebKit::InjectedBundlePageLoaderClient::didLayout): 21615 (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame): 21616 (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame): 21617 (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame): 21618 (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame): 21619 (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): 21620 (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject): 21621 (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject): 21622 (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension): 21623 (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL): 21624 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): 21625 (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): 21626 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 21627 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 21628 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction): 21629 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction): 21630 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse): 21631 (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy): 21632 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 21633 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp: 21634 (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource): 21635 (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): 21636 (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource): 21637 (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource): 21638 (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource): 21639 (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource): 21640 (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): 21641 (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): 21642 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: 21643 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 21644 (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole): 21645 (WebKit::InjectedBundlePageUIClient::willSetStatusbarText): 21646 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert): 21647 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm): 21648 (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt): 21649 (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement): 21650 (WebKit::InjectedBundlePageUIClient::pageDidScroll): 21651 (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload): 21652 (WebKit::InjectedBundlePageUIClient::generateFileForUpload): 21653 (WebKit::InjectedBundlePageUIClient::statusBarIsVisible): 21654 (WebKit::InjectedBundlePageUIClient::menuBarIsVisible): 21655 (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible): 21656 (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota): 21657 (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota): 21658 (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle): 21659 (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle): 21660 (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet): 21661 (WebKit::InjectedBundlePageUIClient::plugInExtraScript): 21662 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 21663 * WebProcess/WebPage/WebPage.cpp: 21664 (WebKit::WebPage::initializeInjectedBundleContextMenuClient): 21665 (WebKit::WebPage::initializeInjectedBundleEditorClient): 21666 (WebKit::WebPage::initializeInjectedBundleFormClient): 21667 (WebKit::WebPage::initializeInjectedBundleLoaderClient): 21668 (WebKit::WebPage::initializeInjectedBundlePolicyClient): 21669 (WebKit::WebPage::initializeInjectedBundleResourceLoadClient): 21670 (WebKit::WebPage::initializeInjectedBundleUIClient): 21671 (WebKit::WebPage::initializeInjectedBundleFullScreenClient): 21672 (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient): 21673 * WebProcess/WebPage/WebPage.h: 21674 216752013-12-02 Enrica Casucci <enrica@apple.com> 21676 21677 Merging some more iOS WebKit2 stuff. 21678 https://bugs.webkit.org/show_bug.cgi?id=125119 21679 21680 Reviewed by Tim Horton. 21681 21682 * Shared/EditorState.h: 21683 * Shared/NativeWebKeyboardEvent.h: 21684 * Shared/NativeWebMouseEvent.h: 21685 * Shared/NativeWebTouchEvent.h: 21686 * Shared/mac/RemoteLayerBackingStore.h: 21687 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 21688 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 21689 * UIProcess/PageClient.h: 21690 * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm: 21691 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 21692 * UIProcess/mac/SecItemShimProxy.messages.in: 21693 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 21694 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: 21695 * WebProcess/WebPage/WebPage.cpp: 21696 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 21697 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 21698 216992013-12-02 Anders Carlsson <andersca@apple.com> 21700 21701 Add versioned structs for the remaining clients 21702 https://bugs.webkit.org/show_bug.cgi?id=125123 21703 21704 Reviewed by Andreas Kling. 21705 21706 * UIProcess/API/C/WKContext.h: 21707 * UIProcess/API/C/WKContextConnectionClient.h: 21708 * UIProcess/API/C/WKContextDownloadClient.h: 21709 * UIProcess/API/C/WKContextHistoryClient.h: 21710 * UIProcess/API/C/WKContextInjectedBundleClient.h: 21711 * UIProcess/API/C/WKOriginDataManager.h: 21712 217132013-12-02 Anders Carlsson <andersca@apple.com> 21714 21715 Move WKContext clients to separate files 21716 https://bugs.webkit.org/show_bug.cgi?id=125121 21717 21718 Reviewed by Andreas Kling. 21719 21720 * UIProcess/API/C/WKContext.h: 21721 * UIProcess/API/C/WKContextConnectionClient.h: Added. 21722 * UIProcess/API/C/WKContextDownloadClient.h: Added. 21723 * UIProcess/API/C/WKContextHistoryClient.h: Added. 21724 * UIProcess/API/C/WKContextInjectedBundleClient.h: Added. 21725 * WebKit2.xcodeproj/project.pbxproj: 21726 217272013-12-02 Sam Weinig <sam@webkit.org> 21728 21729 WebPageGroups should keep track of what processes they are being used by 21730 https://bugs.webkit.org/show_bug.cgi?id=124556 21731 21732 Reviewed by Anders Carlsson. 21733 21734 * UIProcess/WebContextUserMessageCoders.h: 21735 (WebKit::WebContextUserMessageEncoder::encode): 21736 (WebKit::WebContextUserMessageDecoder::decode): 21737 * UIProcess/WebPageGroup.cpp: 21738 (WebKit::WebPageGroup::addProcess): 21739 (WebKit::WebPageGroup::disconnectProcess): 21740 * UIProcess/WebPageGroup.h: 21741 (WebKit::WebPageGroup::sendToAllProcessesInGroup): 21742 * UIProcess/WebPageProxy.cpp: 21743 (WebKit::WebPageProxy::initializeWebPage): 21744 * UIProcess/WebProcessProxy.cpp: 21745 (WebKit::WebProcessProxy::disconnect): 21746 (WebKit::WebProcessProxy::webPageGroup): 21747 (WebKit::WebProcessProxy::addWebPageGroup): 21748 * UIProcess/WebProcessProxy.h: 21749 * WebProcess/WebProcess.cpp: 21750 (WebKit::WebProcess::webPageGroup): 21751 217522013-12-02 Anders Carlsson <andersca@apple.com> 21753 21754 Add versioned structs for all clients except the ones in WKContext.h 21755 https://bugs.webkit.org/show_bug.cgi?id=125120 21756 21757 Reviewed by Andreas Kling. 21758 21759 * Shared/API/c/WKConnectionRef.h: 21760 * UIProcess/API/C/WKCookieManager.h: 21761 * UIProcess/API/C/WKDatabaseManager.h: 21762 * UIProcess/API/C/WKGeolocationManager.h: 21763 * UIProcess/API/C/WKIconDatabase.h: 21764 * UIProcess/API/C/WKNotificationProvider.h: 21765 * UIProcess/API/C/WKPageContextMenuClient.h: 21766 * UIProcess/API/C/WKPageFindClient.h: 21767 * UIProcess/API/C/WKPageFindMatchesClient.h: 21768 * UIProcess/API/C/WKPageFormClient.h: 21769 * UIProcess/API/C/WKPageLoaderClient.h: 21770 * UIProcess/API/C/WKPagePolicyClient.h: 21771 * UIProcess/API/C/WKPageUIClient.h: 21772 * WebProcess/InjectedBundle/API/c/WKBundle.h: 21773 * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h: 21774 * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: 21775 * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: 21776 * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: 21777 * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: 21778 * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: 21779 * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: 21780 * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 21781 * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: 21782 * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: 21783 * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: 21784 217852013-12-02 Anders Carlsson <andersca@apple.com> 21786 21787 Split bundle page clients out into separate headers 21788 https://bugs.webkit.org/show_bug.cgi?id=125115 21789 21790 Reviewed by Andreas Kling. 21791 21792 * WebKit2.xcodeproj/project.pbxproj: 21793 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 21794 * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Added. 21795 * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Added. 21796 * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Added. 21797 * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Added. 21798 * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Added. 21799 * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Added. 21800 * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Added. 21801 * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Added. 21802 * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Added. 21803 218042013-12-02 Nick Diego Yamane <nick.yamane@openbossa.org> 21805 21806 [WK2] Improve readability of 'generate_message_handler' function 21807 https://bugs.webkit.org/show_bug.cgi?id=125085 21808 21809 Reviewed by Sam Weinig. 21810 21811 * Scripts/webkit2/messages.py: 21812 (generate_message_handler): 21813 218142013-12-02 Tim Horton <timothy_horton@apple.com> 21815 21816 Remote Layer Tree: Support cloning layers 21817 https://bugs.webkit.org/show_bug.cgi?id=124874 21818 <rdar://problem/15349468> 21819 21820 Reviewed by Simon Fraser. 21821 21822 We use PlatformCALayer::clone for CSS reflections, so implement it. 21823 21824 Also, since many reflections testcases also use masks, 21825 working on this revealed that masks weren't working, because 21826 we weren't flushing mask layers. 21827 21828 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 21829 (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): 21830 * Shared/mac/RemoteLayerTreeTransaction.mm: 21831 (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): 21832 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 21833 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 21834 Rename maskLayer->maskLayerID since it's a LayerID. 21835 21836 * UIProcess/mac/RemoteLayerTreeHost.mm: 21837 (WebKit::RemoteLayerTreeHost::commit): 21838 Don't try to look up the layer if it's null. 21839 21840 * Shared/mac/RemoteLayerTreeTransaction.h: 21841 (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged): 21842 * Shared/mac/RemoteLayerTreeTransaction.mm: 21843 (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties): 21844 Keep track of all properties that have ever been changed on a layer. 21845 21846 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 21847 (PlatformCALayerRemote::create): 21848 (PlatformCALayerRemote::PlatformCALayerRemote): 21849 (PlatformCALayerRemote::clone): 21850 Copy all of the layer properties from the original to the clone, 21851 and mark all properties that have ever been modified as 21852 needing to be flushed to the UI process. 21853 21854 (PlatformCALayerRemote::recursiveBuildTransaction): 21855 Flush our mask layer, if we have one. 21856 21857 (PlatformCALayerRemote::setMask): 21858 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 21859 Store the mask layer we're given. Our owning GraphicsLayer will 21860 hold on to it for us. 21861 218622013-12-02 Anders Carlsson <andersca@apple.com> 21863 21864 WKPageLoaderClient should be versioned 21865 https://bugs.webkit.org/show_bug.cgi?id=125104 21866 21867 Reviewed by Sam Weinig. 21868 21869 Add multiple versions of the WKPageLoaderClient struct. In a subsequent patch, 21870 WKPageLoaderClient and kWKPageLoaderClientCurrentVersion will be deprecated. Instead, 21871 users of the API are supposed to explicitly choose a version and a versioned struct. 21872 21873 * Shared/APIClient.h: 21874 Add a new API::Client class with a new ClientTraits template that uses std::tuple for versions. 21875 21876 * Shared/APIClientTraits.cpp: 21877 * Shared/APIClientTraits.h: 21878 Remove WKPageLoaderClient interface sizes. 21879 21880 * UIProcess/API/C/WKPage.cpp: 21881 (WKPageSetPageLoaderClient): 21882 Add an explicit cast to WKPageLoaderClientBase. In an upcoming patch, WKPageSetPageLoaderClient 21883 will be changed to take a WKPageLoaderClientBase instead. 21884 21885 * UIProcess/API/C/WKPageLoaderClient.h: 21886 Add new versions. 21887 21888 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 21889 (setUpPageLoaderClient): 21890 Use an explicit version. 21891 21892 * UIProcess/WebLoaderClient.cpp: 21893 (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame): 21894 (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 21895 (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame): 21896 (WebKit::WebLoaderClient::didCommitLoadForFrame): 21897 (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): 21898 (WebKit::WebLoaderClient::didFinishLoadForFrame): 21899 (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame): 21900 (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame): 21901 (WebKit::WebLoaderClient::didReceiveTitleForFrame): 21902 (WebKit::WebLoaderClient::didFirstLayoutForFrame): 21903 (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 21904 (WebKit::WebLoaderClient::didLayout): 21905 (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy): 21906 (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame): 21907 (WebKit::WebLoaderClient::didRunInsecureContentForFrame): 21908 (WebKit::WebLoaderClient::didDetectXSSForFrame): 21909 (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): 21910 (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame): 21911 (WebKit::WebLoaderClient::didStartProgress): 21912 (WebKit::WebLoaderClient::didChangeProgress): 21913 (WebKit::WebLoaderClient::didFinishProgress): 21914 (WebKit::WebLoaderClient::processDidBecomeUnresponsive): 21915 (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive): 21916 (WebKit::WebLoaderClient::processDidBecomeResponsive): 21917 (WebKit::WebLoaderClient::processDidCrash): 21918 (WebKit::WebLoaderClient::didChangeBackForwardList): 21919 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): 21920 (WebKit::WebLoaderClient::willGoToBackForwardListItem): 21921 (WebKit::WebLoaderClient::didFailToInitializePlugin): 21922 (WebKit::WebLoaderClient::didBlockInsecurePluginVersion): 21923 (WebKit::WebLoaderClient::pluginLoadPolicy): 21924 Go through client.base everywhere. 21925 21926 * UIProcess/WebLoaderClient.h: 21927 Add API::ClientTraits specialization. Change WebLoaderClient to derive from API::Client<WKPageLoaderClientBase>. 21928 21929 * UIProcess/WebPageProxy.cpp: 21930 (WebKit::WebPageProxy::initializeLoaderClient): 21931 This now takes a WKPageLoaderClientBase*. 21932 219332013-12-02 Beth Dakin <bdakin@apple.com> 21934 21935 Add a setting to opt into a mode where the background extends and fixed elements 21936 don't move on rubber-band 21937 https://bugs.webkit.org/show_bug.cgi?id=124745 21938 21939 Reviewed by Tim Horton. 21940 21941 Add SPI to enable the new setting. 21942 21943 * Shared/WebPreferencesStore.h: 21944 * UIProcess/API/C/WKPreferences.cpp: 21945 (WKPreferencesSetBackgroundShouldExtendBeyondPage): 21946 (WKPreferencesGetBackgroundShouldExtendBeyondPage): 21947 * UIProcess/API/C/WKPreferencesPrivate.h: 21948 * WebProcess/WebPage/WebPage.cpp: 21949 (WebKit::WebPage::updatePreferences): 21950 219512013-12-02 Tim Horton <timothy_horton@apple.com> 21952 21953 Remote Layer Tree: Hook up setLayerTreeStateIsFrozen 21954 https://bugs.webkit.org/show_bug.cgi?id=124872 21955 21956 Reviewed by Brent Fulgham. 21957 21958 setLayerTreeStateIsFrozen is the mechanism used to ensure that 21959 layer property changes (including new backing store) aren't committed 21960 while e.g. the page is reconfigured for printing. 21961 21962 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 21963 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 21964 (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext): 21965 (WebKit::RemoteLayerTreeContext::flushLayers): 21966 (WebKit::RemoteLayerTreeContext::setIsFlushingSuspended): 21967 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 21968 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 21969 (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen): 21970 219712013-12-02 Tim Horton <timothy_horton@apple.com> 21972 21973 Remote Layer Tree: Disable direct image compositing 21974 https://bugs.webkit.org/show_bug.cgi?id=124875 21975 <rdar://problem/15446024> 21976 21977 Reviewed by Simon Fraser. 21978 21979 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 21980 Image-as-layer-contents is not implemented for the remote layer tree. 21981 219822013-12-01 ChangSeok Oh <changseok.oh@collabora.com> 21983 21984 Unreviewed Gtk port Build fix after r159903 21985 21986 * UIProcess/DrawingAreaProxyImpl.cpp: 21987 (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange): 21988 (WebKit::DrawingAreaProxyImpl::update): 21989 (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): 21990 (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): 21991 (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState): 21992 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: 21993 (WebKit::WebFullScreenManagerProxy::invalidate): 21994 * UIProcess/gtk/WebInspectorProxyGtk.cpp: 21995 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 21996 * UIProcess/gtk/WebPageProxyGtk.cpp: 21997 (WebKit::WebPageProxy::setAcceleratedCompositingWindowId): 21998 219992013-12-01 Sam Weinig <sam@webkit.org> 22000 22001 Give UserMessageEncoders WebProcessProxy reference (like the decoders already have) 22002 https://bugs.webkit.org/show_bug.cgi?id=125053 22003 22004 Reviewed by Dan Bernstein. 22005 22006 - Give the UserMessageEncoders a process reference. 22007 - Switch UserMessageDecoders to storing a process reference, rather than pointer. 22008 22009 * Shared/UserMessageCoders.h: 22010 * Shared/mac/ObjCObjectGraphCoders.h: 22011 * Shared/mac/ObjCObjectGraphCoders.mm: 22012 * UIProcess/WebConnectionToWebProcess.cpp: 22013 * UIProcess/WebContext.cpp: 22014 * UIProcess/WebContextUserMessageCoders.h: 22015 * UIProcess/WebPageProxy.cpp: 22016 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 22017 220182013-12-01 Sam Weinig <sam@webkit.org> 22019 22020 [Cocoa] The PageLoadState::Observer is not being set on iOS 22021 https://bugs.webkit.org/show_bug.cgi?id=125051 22022 22023 Reviewed by Dan Bernstein. 22024 22025 * UIProcess/ios/WebPageProxyIOS.mm: 22026 (WebKit::WebPageProxy::platformInitialize): 22027 Add missing call to _finishInitialization. 22028 220292013-12-01 Ryuan Choi <ryuan.choi@samsung.com> 22030 22031 Unreviewed EFL Build fix attempt after r159903 22032 22033 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 22034 (WebKit::CoordinatedDrawingAreaProxy::layerHostingModeDidChange): 22035 (WebKit::CoordinatedDrawingAreaProxy::update): 22036 (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState): 22037 (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState): 22038 (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): 22039 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 22040 (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy): 22041 (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy): 22042 (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect): 22043 (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame): 22044 (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores): 22045 (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset): 22046 * UIProcess/WebTextChecker.cpp: 22047 (WebKit::WebTextChecker::checkSpelling): 22048 (WebKit::WebTextChecker::changeSpellingToWord): 22049 * UIProcess/WebTextChecker.h: 22050 * UIProcess/WebVibrationProxy.cpp: 22051 (WebKit::WebVibrationProxy::WebVibrationProxy): 22052 (WebKit::WebVibrationProxy::~WebVibrationProxy): 22053 * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: 22054 (WebKit::WebFullScreenManagerProxy::invalidate): 22055 * UIProcess/efl/WebInspectorProxyEfl.cpp: 22056 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 22057 * UIProcess/efl/WebPageProxyEfl.cpp: 22058 (WebKit::WebPageProxy::setThemePath): 22059 (WebKit::WebPageProxy::confirmComposition): 22060 (WebKit::WebPageProxy::setComposition): 22061 (WebKit::WebPageProxy::cancelComposition): 22062 220632013-12-01 Sam Weinig <sam@webkit.org> 22064 22065 Fix the iOS build. 22066 22067 * UIProcess/API/ios/WKContentView.mm: 22068 * UIProcess/API/ios/WKInteractionView.mm: 22069 * UIProcess/ios/WebPageProxyIOS.mm: 22070 220712013-12-01 Sam Weinig <sam@webkit.org> 22072 22073 [CTTE] The WebPageProxy's WebProcessProxy is never null so it should be stored in a Ref 22074 https://bugs.webkit.org/show_bug.cgi?id=125047 22075 22076 Reviewed by Dan Bernstein. 22077 22078 * UIProcess/API/C/WKPage.cpp: 22079 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 22080 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22081 * UIProcess/API/mac/WKView.mm: 22082 * UIProcess/Downloads/DownloadProxy.cpp: 22083 * UIProcess/Downloads/DownloadProxy.h: 22084 * UIProcess/Downloads/DownloadProxyMap.cpp: 22085 * UIProcess/Downloads/DownloadProxyMap.h: 22086 * UIProcess/DrawingAreaProxy.cpp: 22087 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 22088 * UIProcess/Network/NetworkProcessProxy.cpp: 22089 * UIProcess/Network/NetworkProcessProxy.h: 22090 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 22091 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 22092 * UIProcess/WebContext.cpp: 22093 * UIProcess/WebContext.h: 22094 * UIProcess/WebEditCommandProxy.cpp: 22095 * UIProcess/WebFrameProxy.cpp: 22096 * UIProcess/WebFullScreenManagerProxy.cpp: 22097 * UIProcess/WebInspectorProxy.cpp: 22098 * UIProcess/WebPageGroup.h: 22099 * UIProcess/WebPageProxy.cpp: 22100 * UIProcess/WebPageProxy.h: 22101 * UIProcess/WebProcessProxy.cpp: 22102 * UIProcess/WebProcessProxy.h: 22103 * UIProcess/cf/WebPageProxyCF.cpp: 22104 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 22105 * UIProcess/mac/RemoteLayerTreeHost.mm: 22106 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 22107 * UIProcess/mac/WebFullScreenManagerProxyMac.mm: 22108 * UIProcess/mac/WebInspectorProxyMac.mm: 22109 * UIProcess/mac/WebPageProxyMac.mm: 22110 221112013-12-01 Ryuan Choi <ryuan.choi@samsung.com> 22112 22113 [EFL][CoordinatedGraphics] Clear m_contentsSize when new contents are loaded 22114 https://bugs.webkit.org/show_bug.cgi?id=125033 22115 22116 Reviewed by Gyuyoung Kim. 22117 22118 m_contentsSize should be cleared when new contents are loaded so that PageViewportController 22119 would take care of newly loaded contents with same size as previous one. 22120 It's because PageViewportController is cleared not to make wrong behaviour 22121 while loading when new contents are committed. 22122 22123 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 22124 (TEST_F): 22125 Improve tests to check contents,size,changed signal when loaded contents having 22126 same size with previous one. 22127 * UIProcess/CoordinatedGraphics/WebView.cpp: 22128 (WebKit::WebView::didCommitLoadForMainFrame): Cleared m_contentsSize. 22129 221302013-12-01 Philippe Normand <pnormand@igalia.com> 22131 22132 Unreviewed GTK build fix after r159896. 22133 22134 * UIProcess/API/gtk/WebKitWebContext.cpp: 22135 (webkitWebContextCreatePageForWebView): 22136 * UIProcess/API/gtk/WebKitWebView.cpp: 22137 (webkitWebViewConstructed): 22138 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 22139 (webkitWebViewBaseUpdatePreferences): 22140 221412013-12-01 Ryuan Choi <ryuan.choi@samsung.com> 22142 22143 Unreviewed build fix after r159896. 22144 22145 * UIProcess/API/efl/ewk_settings.cpp: 22146 (EwkSettings::preferences): 22147 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 22148 (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy): 22149 * UIProcess/CoordinatedGraphics/WebView.cpp: 22150 (WebKit::WebView::WebView): 22151 221522013-11-30 Sam Weinig <sam@webkit.org> 22153 22154 [CTTE] The WebPageProxy's WebPageGroup is never null so it should be stored in a Ref 22155 https://bugs.webkit.org/show_bug.cgi?id=125038 22156 22157 Reviewed by Dan Bernstein. 22158 22159 * UIProcess/API/C/WKPage.cpp: 22160 (WKPageGetPageGroup): 22161 * UIProcess/API/C/mac/WKPagePrivateMac.cpp: 22162 (WKPageIsURLKnownHSTSHost): 22163 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22164 (-[WKBrowsingContextController browsingContextGroup]): 22165 * UIProcess/API/mac/WKView.mm: 22166 (-[WKView _preferencesDidChange]): 22167 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 22168 * UIProcess/WebContext.cpp: 22169 (WebKit::WebContext::WebContext): 22170 (WebKit::WebContext::createWebPage): 22171 * UIProcess/WebContext.h: 22172 * UIProcess/WebInspectorProxy.cpp: 22173 (WebKit::WebInspectorPageGroups::inspectorLevel): 22174 (WebKit::WebInspectorPageGroups::isInspectorPageGroup): 22175 (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel): 22176 (WebKit::WebInspectorProxy::isInspectorPage): 22177 * UIProcess/WebInspectorProxy.h: 22178 * UIProcess/WebPageGroup.cpp: 22179 (WebKit::WebPageGroup::createNonNull): 22180 * UIProcess/WebPageGroup.h: 22181 * UIProcess/WebPageProxy.cpp: 22182 (WebKit::WebPageProxy::create): 22183 (WebKit::WebPageProxy::WebPageProxy): 22184 (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): 22185 (WebKit::WebPageProxy::preferencesDidChange): 22186 * UIProcess/WebPageProxy.h: 22187 (WebKit::WebPageProxy::pageGroup): 22188 * UIProcess/WebProcessProxy.cpp: 22189 (WebKit::WebProcessProxy::createWebPage): 22190 * UIProcess/WebProcessProxy.h: 22191 * UIProcess/mac/WebInspectorProxyMac.mm: 22192 (WebKit::WebInspectorProxy::createInspectorWindow): 22193 (WebKit::WebInspectorProxy::platformCreateInspectorPage): 22194 (WebKit::WebInspectorProxy::windowFrameDidChange): 22195 * UIProcess/mac/WebProcessProxyMac.mm: 22196 (WebKit::WebProcessProxy::pageIsProcessSuppressible): 22197 221982013-11-30 Dan Bernstein <mitz@apple.com> 22199 22200 Added a version of +[NSURL _web_URLWithWTFString:relativeToURL:] that doesn’t take a base URL and switched all callers to it. 22201 https://bugs.webkit.org/show_bug.cgi?id=125040 22202 22203 Reviewed by Sam Weinig. 22204 22205 * Shared/Cocoa/WKNSURLExtras.h: Declared new method. 22206 * Shared/Cocoa/WKNSURLExtras.mm: 22207 (urlWithWTFString): Added helper function. 22208 (+[NSURL _web_URLWithWTFString:]): Added. 22209 (+[NSURL _web_URLWithWTFString:relativeToURL:]): Changed to use helper function. 22210 * UIProcess/API/Cocoa/WKBackForwardListItem.mm: 22211 (-[WKBackForwardListItem URL]): Changed to call new method. 22212 (-[WKBackForwardListItem originalURL]): Ditto. 22213 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22214 (-[WKBrowsingContextController activeURL]): Ditto. 22215 (-[WKBrowsingContextController provisionalURL]): Ditto. 22216 (-[WKBrowsingContextController committedURL]): Ditto. 22217 (-[WKBrowsingContextController unreachableURL]): Ditto. 22218 (setUpPagePolicyClient): Ditto. 22219 * UIProcess/API/Cocoa/WKNavigationData.mm: 22220 (-[WKNavigationData destinationURL]): Ditto. 22221 222222013-11-30 Dan Bernstein <mitz@apple.com> 22223 22224 [Cocoa] Stop using the WKPageRef API in WKBrowsingContextController 22225 https://bugs.webkit.org/show_bug.cgi?id=125036 22226 22227 Reviewed by Sam Weinig. 22228 22229 * Shared/Cocoa/WKNSURLExtras.h: Declared new method. 22230 * Shared/Cocoa/WKNSURLExtras.mm: 22231 (-[NSURL _web_originalDataAsWTFString]): Added. Returns a WTF::String with the receiver’s 22232 bytes. 22233 22234 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22235 (-[WKBrowsingContextController loadRequest:userData:]): 22236 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): 22237 (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): 22238 (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]): 22239 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): 22240 (-[WKBrowsingContextController stopLoading]): 22241 (-[WKBrowsingContextController reload]): 22242 (-[WKBrowsingContextController reloadFromOrigin]): 22243 (-[WKBrowsingContextController goForward]): 22244 (-[WKBrowsingContextController canGoForward]): 22245 (-[WKBrowsingContextController goBack]): 22246 (-[WKBrowsingContextController canGoBack]): 22247 (-[WKBrowsingContextController activeURL]): 22248 (-[WKBrowsingContextController provisionalURL]): 22249 (-[WKBrowsingContextController committedURL]): 22250 (-[WKBrowsingContextController title]): 22251 (-[WKBrowsingContextController textZoom]): 22252 (-[WKBrowsingContextController setTextZoom:]): 22253 (-[WKBrowsingContextController pageZoom]): 22254 (-[WKBrowsingContextController setPageZoom:]): 22255 (setUpPageLoaderClient): 22256 (setUpPagePolicyClient): 22257 (-[WKBrowsingContextController setLoadDelegate:]): 22258 (-[WKBrowsingContextController setPolicyDelegate:]): 22259 (-[WKBrowsingContextController _pageRef]): 22260 (-[WKBrowsingContextController setPaginationMode:]): 22261 (-[WKBrowsingContextController paginationMode]): 22262 (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): 22263 (-[WKBrowsingContextController paginationBehavesLikeColumns]): 22264 (-[WKBrowsingContextController setPageLength:]): 22265 (-[WKBrowsingContextController pageLength]): 22266 (-[WKBrowsingContextController setGapBetweenPages:]): 22267 (-[WKBrowsingContextController gapBetweenPages]): 22268 (-[WKBrowsingContextController pageCount]): 22269 222702013-11-30 Commit Queue <commit-queue@webkit.org> 22271 22272 Unreviewed, rolling out r159865. 22273 http://trac.webkit.org/changeset/159865 22274 https://bugs.webkit.org/show_bug.cgi?id=125037 22275 22276 the position of mouse events are wrong at MiniBrowser/efl 22277 (Requested by ryuan on #webkit). 22278 22279 * UIProcess/API/efl/EwkView.cpp: 22280 (EwkView::displayTimerFired): 22281 (EwkView::createGLSurface): 22282 (EwkView::handleEvasObjectCalculate): 22283 222842013-11-30 Sam Weinig <sam@webkit.org> 22285 22286 [CTTE] The WebPageProxy's WebBackForwardList is never null so it should be stored in a Ref 22287 https://bugs.webkit.org/show_bug.cgi?id=125035 22288 22289 Reviewed by Dan Bernstein. 22290 22291 * UIProcess/API/C/WKPage.cpp: 22292 (WKPageGetBackForwardList): 22293 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22294 (-[WKBrowsingContextController backForwardList]): Remove null check. 22295 * UIProcess/WebBackForwardList.cpp: 22296 (WebKit::WebBackForwardList::WebBackForwardList): 22297 (WebKit::WebBackForwardList::currentItem): Constify. 22298 (WebKit::WebBackForwardList::backItem): Constify. 22299 (WebKit::WebBackForwardList::forwardItem): Constify. 22300 (WebKit::WebBackForwardList::itemAtIndex): Constify. 22301 * UIProcess/WebBackForwardList.h: 22302 (WebKit::WebBackForwardList::create): 22303 * UIProcess/WebPageProxy.cpp: 22304 (WebKit::WebPageProxy::WebPageProxy): 22305 * UIProcess/WebPageProxy.h: 22306 (WebKit::WebPageProxy::backForwardList): 22307 223082013-11-30 Zan Dobersek <zdobersek@igalia.com> 22309 22310 Unreviewed GTK build fix after r159889. 22311 22312 * UIProcess/gtk/WebPageProxyGtk.cpp: 22313 (WebKit::WebPageProxy::viewWidget): Adjust the static cast of the PageClient reference to PageClientImpl. 22314 223152013-11-30 Sam Weinig <sam@webkit.org> 22316 22317 [CTTE] WebPageProxy should store the PageClient as a reference 22318 https://bugs.webkit.org/show_bug.cgi?id=125030 22319 22320 Reviewed by Dan Bernstein. 22321 22322 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 22323 (webkitWebViewBaseCreateWebPage): 22324 * UIProcess/API/ios/WKContentView.mm: 22325 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 22326 * UIProcess/API/mac/WKView.mm: 22327 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 22328 * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp: 22329 (WebKit::WebPageProxy::didFindZoomableArea): 22330 * UIProcess/CoordinatedGraphics/WebView.cpp: 22331 (WebKit::WebView::WebView): 22332 * UIProcess/WebContext.cpp: 22333 (WebKit::WebContext::createWebPage): 22334 * UIProcess/WebContext.h: 22335 * UIProcess/WebPageProxy.cpp: 22336 (WebKit::WebPageProxy::create): 22337 (WebKit::WebPageProxy::WebPageProxy): 22338 (WebKit::WebPageProxy::reattachToWebProcess): 22339 (WebKit::WebPageProxy::initializeWebPage): 22340 (WebKit::WebPageProxy::close): 22341 (WebKit::WebPageProxy::setViewNeedsDisplay): 22342 (WebKit::WebPageProxy::displayView): 22343 (WebKit::WebPageProxy::canScrollView): 22344 (WebKit::WebPageProxy::scrollView): 22345 (WebKit::WebPageProxy::updateViewState): 22346 (WebKit::WebPageProxy::viewStateDidChange): 22347 (WebKit::WebPageProxy::viewSize): 22348 (WebKit::WebPageProxy::startDrag): 22349 (WebKit::WebPageProxy::handleTouchEvent): 22350 (WebKit::WebPageProxy::preferencesDidChange): 22351 (WebKit::WebPageProxy::didCommitLoadForFrame): 22352 (WebKit::WebPageProxy::closePage): 22353 (WebKit::WebPageProxy::setWindowFrame): 22354 (WebKit::WebPageProxy::getWindowFrame): 22355 (WebKit::WebPageProxy::screenToWindow): 22356 (WebKit::WebPageProxy::windowToScreen): 22357 (WebKit::WebPageProxy::pageDidRequestScroll): 22358 (WebKit::WebPageProxy::pageTransitionViewportReady): 22359 (WebKit::WebPageProxy::didRenderFrame): 22360 (WebKit::WebPageProxy::didChangeViewportProperties): 22361 (WebKit::WebPageProxy::handleDownloadRequest): 22362 (WebKit::WebPageProxy::didChangeContentSize): 22363 (WebKit::WebPageProxy::showColorPicker): 22364 (WebKit::WebPageProxy::editorStateChanged): 22365 (WebKit::WebPageProxy::canUndoRedo): 22366 (WebKit::WebPageProxy::executeUndoRedo): 22367 (WebKit::WebPageProxy::clearAllEditCommands): 22368 (WebKit::WebPageProxy::setFindIndicator): 22369 (WebKit::WebPageProxy::showPopupMenu): 22370 (WebKit::WebPageProxy::internalShowContextMenu): 22371 (WebKit::WebPageProxy::registerEditCommand): 22372 (WebKit::WebPageProxy::setToolTip): 22373 (WebKit::WebPageProxy::setCursor): 22374 (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): 22375 (WebKit::WebPageProxy::didReceiveEvent): 22376 (WebKit::WebPageProxy::processDidCrash): 22377 (WebKit::WebPageProxy::resetStateAfterProcessExited): 22378 (WebKit::WebPageProxy::initializeCreationParameters): 22379 (WebKit::WebPageProxy::enterAcceleratedCompositingMode): 22380 (WebKit::WebPageProxy::exitAcceleratedCompositingMode): 22381 (WebKit::WebPageProxy::updateAcceleratedCompositingMode): 22382 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 22383 (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange): 22384 (WebKit::WebPageProxy::updateBackingStoreDiscardableState): 22385 (WebKit::WebPageProxy::showCorrectionPanel): 22386 (WebKit::WebPageProxy::dismissCorrectionPanel): 22387 (WebKit::WebPageProxy::dismissCorrectionPanelSoon): 22388 (WebKit::WebPageProxy::recordAutocorrectionResponse): 22389 (WebKit::WebPageProxy::showDictationAlternativeUI): 22390 (WebKit::WebPageProxy::removeDictationAlternatives): 22391 (WebKit::WebPageProxy::dictationAlternatives): 22392 * UIProcess/WebPageProxy.h: 22393 * UIProcess/WebProcessProxy.cpp: 22394 (WebKit::WebProcessProxy::createWebPage): 22395 * UIProcess/WebProcessProxy.h: 22396 * UIProcess/gtk/WebPageProxyGtk.cpp: 22397 (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): 22398 * UIProcess/ios/WebPageProxyIOS.mm: 22399 (WebKit::WebPageProxy::interpretKeyEvent): 22400 (WebKit::WebPageProxy::mainDocumentDidReceiveMobileDocType): 22401 (WebKit::WebPageProxy::didGetTapHighlightGeometries): 22402 (WebKit::WebPageProxy::didChangeViewportArguments): 22403 (WebKit::WebPageProxy::startAssistingNode): 22404 (WebKit::WebPageProxy::stopAssistingNode): 22405 (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): 22406 * UIProcess/mac/WebPageProxyMac.mm: 22407 (WebKit::WebPageProxy::windowAndViewFramesChanged): 22408 (WebKit::WebPageProxy::insertDictatedText): 22409 (WebKit::WebPageProxy::setDragImage): 22410 (WebKit::WebPageProxy::setPromisedData): 22411 (WebKit::WebPageProxy::interpretQueuedKeyEvent): 22412 (WebKit::WebPageProxy::didPerformDictionaryLookup): 22413 (WebKit::WebPageProxy::registerWebProcessAccessibilityToken): 22414 (WebKit::WebPageProxy::makeFirstResponder): 22415 (WebKit::WebPageProxy::colorSpace): 22416 (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged): 22417 (WebKit::WebPageProxy::setPluginComplexTextInputState): 22418 (WebKit::WebPageProxy::executeSavedCommandBySelector): 22419 (WebKit::WebPageProxy::wkView): 22420 (WebKit::WebPageProxy::intrinsicContentSizeDidChange): 22421 (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): 22422 224232013-11-30 Sam Weinig <sam@webkit.org> 22424 22425 [RTTE] The PermissionRequestManagerProxies should use WebPageProxy references. 22426 https://bugs.webkit.org/show_bug.cgi?id=125029 22427 22428 Reviewed by Dan Bernstein. 22429 22430 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp: 22431 (WebKit::GeolocationPermissionRequestManagerProxy::GeolocationPermissionRequestManagerProxy): 22432 (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): 22433 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision): 22434 * UIProcess/GeolocationPermissionRequestManagerProxy.h: 22435 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: 22436 (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy): 22437 (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): 22438 (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision): 22439 * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: 22440 * UIProcess/WebPageProxy.cpp: 22441 (WebKit::WebPageProxy::WebPageProxy): 22442 Do some additional modernization while we are here. 22443 224442013-11-30 Dan Bernstein <mitz@apple.com> 22445 22446 <rdar://problem/15560240> ResourceError encoding drops NSURL-valued keys in the NSError’s userInfo, including NSErrorFailingURLKey 22447 https://bugs.webkit.org/show_bug.cgi?id=125016 22448 22449 Reviewed by Anders “happy name day” Carlsson. 22450 22451 * Shared/mac/WebCoreArgumentCodersMac.mm: 22452 (CoreIPC::::encodePlatformData): Encode all string- and URL-valued keys as a dictionary. 22453 (CoreIPC::::decodePlatformData): Decode user info as a dictionary. 22454 224552013-11-29 Zan Dobersek <zdobersek@igalia.com> 22456 22457 Unreviewed build fix for EFL and GTK WK2 builds. 22458 22459 * Scripts/generate-forwarding-headers.pl: Add Cocoa to the list of platform prefixes. 22460 224612013-11-29 Tibor Meszaros <mtibor@inf.u-szeged.hu> 22462 22463 Fix build warnings in WebKit2 22464 https://bugs.webkit.org/show_bug.cgi?id=125012 22465 22466 Reviewed by Anders Carlsson. 22467 22468 fix unused parameter warnings in the following files: 22469 22470 * Platform/gtk/WorkQueueGtk.cpp: 22471 (WorkQueue::SocketEventSource::eventCallback): 22472 * Shared/API/c/WKDeprecatedFunctions.cpp: 22473 (WKArrayIsMutable): 22474 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 22475 (WebKit::WebChromeClient::unavailablePluginButtonClicked): 22476 (WebKit::WebChromeClient::didAddHeaderLayer): 22477 (WebKit::WebChromeClient::didAddFooterLayer): 22478 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 22479 (WebKit::WebFrameLoaderClient::createJavaAppletWidget): 22480 224812013-11-29 Sam Weinig <sam@webkit.org> 22482 22483 [Cocoa] Add a little template magic to the inline API::Object storage to remove the need for all the reinterpret_casts 22484 https://bugs.webkit.org/show_bug.cgi?id=125024 22485 22486 Reviewed by Dan Bernstein. 22487 22488 Introduce API::ObjectStorage which wraps std::aligned_storage and adds some convenience functions 22489 to reinterpret the data as the corresponding type. Deploy it everywhere we were previously using 22490 std::aligned_storage. 22491 22492 * Shared/Cocoa/WKNSArray.mm: 22493 * Shared/Cocoa/WKNSDictionary.mm: 22494 * Shared/Cocoa/WKObject.h: 22495 * UIProcess/API/Cocoa/WKBackForwardList.mm: 22496 * UIProcess/API/Cocoa/WKBackForwardListItem.mm: 22497 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22498 * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: 22499 * UIProcess/API/Cocoa/WKNavigationData.mm: 22500 * UIProcess/API/Cocoa/WKProcessGroup.mm: 22501 225022013-11-29 Sam Weinig <sam@webkit.org> 22503 22504 Fix crashing API tests. 22505 22506 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22507 (-[WKBrowsingContextController dealloc]): 22508 225092013-11-29 Sam Weinig <sam@webkit.org> 22510 22511 Fix some style boo-boos. 22512 22513 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22514 (-[WKBrowsingContextController loadDelegate]): 22515 (-[WKBrowsingContextController setLoadDelegate:]): 22516 (-[WKBrowsingContextController policyDelegate]): 22517 (-[WKBrowsingContextController setPolicyDelegate:]): 22518 225192013-11-29 Sam Weinig <sam@webkit.org> 22520 22521 Fix the iOS build. 22522 22523 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22524 (-[WKBrowsingContextController loadDelegate]): 22525 (-[WKBrowsingContextController policyDelegate]): 22526 (-[WKBrowsingContextController setPolicyDelegate:]): 22527 225282013-11-29 Sam Weinig <sam@webkit.org> 22529 22530 [Cocoa] Make WKBrowsingContextController work with WKObject wrapping 22531 https://bugs.webkit.org/show_bug.cgi?id=125022 22532 22533 Reviewed by Dan Bernstein. 22534 22535 * Shared/Cocoa/APIObject.mm: 22536 (API::Object::newObject): 22537 22538 * Shared/mac/ObjCObjectGraphCoders.mm: 22539 Add support for WKProcessGroup. 22540 22541 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): 22542 Replace call to _browsingContextControllerForPageRef: with wrapper. 22543 22544 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22545 Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline. 22546 22547 (-[WKBrowsingContextController dealloc]): 22548 Add explicit destructor call. 22549 22550 (-[WKBrowsingContextController setLoadDelegate:]): 22551 (-[WKBrowsingContextController setPolicyDelegate:]): 22552 Lazily set up the load and policy clients only once a delegate has been set to allow 22553 continued use of the C-SPI clients for WebKitTestRunner. 22554 22555 (-[WKBrowsingContextController _finishInitialization]): 22556 Move remaining work that was done in the initialize (setting up the observer) here, 22557 and have the WebPageProxy call it. 22558 22559 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: 22560 (WebKit::wrapper): 22561 Add wrapper() helper and declare conformance to the WKObject protocol. Remove no longer used 22562 _initWithPageRef: and _browsingContextControllerForPageRef: helpers. 22563 22564 * UIProcess/API/Cocoa/WKProcessGroup.mm: 22565 (didNavigateWithNavigationData): 22566 (didPerformClientRedirect): 22567 (didPerformServerRedirect): 22568 (didUpdateHistoryTitle): 22569 Switch to using wrapper(). 22570 22571 * UIProcess/API/ios/WKContentView.mm: 22572 * UIProcess/API/mac/WKView.mm: 22573 Stop caching the WKBrowsingContextController, as it no long makes sense since it is the same object 22574 as the WebPageProxy. 22575 22576 * UIProcess/mac/WebPageProxyMac.mm: 22577 (WebKit::WebPageProxy::platformInitialize): 22578 Inform the wrapper that it is safe to finish initialization. 22579 225802013-11-29 Dan Bernstein <mitz@apple.com> 22581 22582 [Cocoa] Add a way to recover from load errors 22583 https://bugs.webkit.org/show_bug.cgi?id=125020 22584 22585 Reviewed by Sam Weinig. 22586 22587 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22588 (createErrorWithRecoveryAttempter): Added this helper function. It creates an NSError from 22589 the given error, adding two keys to the user info dictionary: the context controller under 22590 the recovery attempter key, and the frame under a private key. 22591 (didFailProvisionalLoadWithErrorForFrame): Changed to use createErrorWithRecoveryAttempter. 22592 (didFailLoadWithErrorForFrame): Ditto. 22593 (-[WKBrowsingContextController attemptRecoveryFromError:]): Implemented this 22594 WKErrorRecoveryAttempting protocol method by loading the failing URL from the error into the 22595 frame from the error. 22596 22597 * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Added. Defines a protocol for attempting 22598 recovery from errors and declares the error user info dictionary key under which an object 22599 conforming to this protocol may be stored. 22600 * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Added. Defines 22601 WKRecoveryAttempterErrorKey. 22602 22603 * UIProcess/WebFrameProxy.cpp: 22604 (WebKit::WebFrameProxy::loadURL): Added. Sends the LoadURLInFrame message to the page. 22605 * UIProcess/WebFrameProxy.h: 22606 22607 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 22608 22609 * WebProcess/WebPage/WebPage.cpp: 22610 (WebKit::WebPage::loadURLInFrame): Added. Loads the URL in the given frame. 22611 * WebProcess/WebPage/WebPage.h: 22612 * WebProcess/WebPage/WebPage.messages.in: Added LoadURLInFrame. 22613 226142013-11-29 Dan Bernstein <mitz@apple.com> 22615 22616 [Cocoa] Expose loadAlternateHTMLString via the API 22617 https://bugs.webkit.org/show_bug.cgi?id=125019 22618 22619 Reviewed by Sam Weinig. 22620 22621 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new method. 22622 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: 22623 (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]): Added. 22624 Calls WebPageProxy::loadAlternateHTMLString. 22625 226262013-11-29 Sam Weinig <sam@webkit.org> 22627 22628 Move API files shared between Mac and iOS to the Cocoa directory 22629 https://bugs.webkit.org/show_bug.cgi?id=125017 22630 22631 Reviewed by Dan Bernstein. 22632 22633 * UIProcess/API/Cocoa/WKBrowsingContextController.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h. 22634 * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm. 22635 * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h. 22636 * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h. 22637 * UIProcess/API/Cocoa/WKBrowsingContextGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h. 22638 * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm. 22639 * UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h. 22640 * UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h. 22641 * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h. 22642 * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h. 22643 * UIProcess/API/Cocoa/WKConnection.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.h. 22644 * UIProcess/API/Cocoa/WKConnection.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.mm. 22645 * UIProcess/API/Cocoa/WKConnectionInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h. 22646 * UIProcess/API/Cocoa/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h. 22647 * UIProcess/API/Cocoa/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm. 22648 * UIProcess/API/Cocoa/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h. 22649 * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h. 22650 * UIProcess/API/Cocoa/WKTypeRefWrapper.h: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h. 22651 * UIProcess/API/Cocoa/WKTypeRefWrapper.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm. 22652 * UIProcess/API/Cocoa/WKView.h: Copied from Source/WebKit2/UIProcess/API/mac/WKView.h. 22653 * UIProcess/API/Cocoa/WKViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h. 22654 * UIProcess/API/Cocoa/WebKit2.h: Copied from Source/WebKit2/UIProcess/API/mac/WebKit2.h. 22655 * UIProcess/API/mac/WKBrowsingContextController.h: Removed. 22656 * UIProcess/API/mac/WKBrowsingContextController.mm: Removed. 22657 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Removed. 22658 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Removed. 22659 * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed. 22660 * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed. 22661 * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Removed. 22662 * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Removed. 22663 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed. 22664 * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Removed. 22665 * UIProcess/API/mac/WKConnection.h: Removed. 22666 * UIProcess/API/mac/WKConnection.mm: Removed. 22667 * UIProcess/API/mac/WKConnectionInternal.h: Removed. 22668 * UIProcess/API/mac/WKProcessGroup.h: Removed. 22669 * UIProcess/API/mac/WKProcessGroup.mm: Removed. 22670 * UIProcess/API/mac/WKProcessGroupInternal.h: Removed. 22671 * UIProcess/API/mac/WKProcessGroupPrivate.h: Removed. 22672 * UIProcess/API/mac/WKTypeRefWrapper.h: Removed. 22673 * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed. 22674 * UIProcess/API/mac/WKView.h: Removed. 22675 * UIProcess/API/mac/WKViewPrivate.h: Removed. 22676 * UIProcess/API/mac/WebKit2.h: Removed. 22677 * WebKit2.xcodeproj/project.pbxproj: 22678 226792013-11-29 Hunseop Jeong <hs85.jeong@samsung.com> 22680 22681 [EFL] viewport must be same with the size of webview 22682 https://bugs.webkit.org/show_bug.cgi?id=124965 22683 22684 Reviewed by Gyuyoung Kim. 22685 22686 Currently, size of the viewport is larger than size of webview. 22687 Changed the size of viewport with size of webview, because viewport is translated by wrong calculation. 22688 22689 * UIProcess/API/efl/EwkView.cpp: 22690 (EwkView::displayTimerFired): Changed to use the (0,0). 22691 (EwkView::createGLSurface): Modified to use the viewSize instead of the boundsEnd. 22692 (EwkView::handleEvasObjectCalculate): Removed the WKViewSetUserViewportTranslation. 22693 226942013-11-28 Eunmi Lee <eunmi15.lee@samsung.com> 22695 22696 [CoordinatedGraphics][WK2] Correct wrong usage of m_contentPosition variable in the WebView. 22697 https://bugs.webkit.org/show_bug.cgi?id=118548 22698 22699 Reviewed by Noam Rosenthal. 22700 22701 CoordinatedGraphics uses its own scaling logic - contents scaling - and 22702 WebView of CoordinatedGraphics maintains contents position by scaling 22703 with contents scaling factor. 22704 However transformToScene() and updateViewportSize() of WebView regard 22705 the contents position as a non-scaled value, so it should be fixed. 22706 22707 * UIProcess/CoordinatedGraphics/WebView.cpp: 22708 (WebKit::WebView::transformToScene): 22709 (WebKit::WebView::updateViewportSize): 22710 227112013-11-28 Ryuan Choi <ryuan.choi@samsung.com> 22712 22713 [EFL] PageViewportController does not need to be unique_ptr instance 22714 https://bugs.webkit.org/show_bug.cgi?id=124993 22715 22716 Reviewed by Gyuyoung Kim. 22717 22718 PageViewportController and PageViewportControllerEfl have same life cycle 22719 with EwkView. So, we don't need to make them as unique_ptr instance. 22720 22721 * UIProcess/API/efl/EwkView.cpp: 22722 (EwkView::EwkView): 22723 (EwkView::handleEvasObjectCalculate): 22724 (EwkView::scrollBy): 22725 * UIProcess/API/efl/EwkView.h: 22726 (EwkView::pageViewportController): 22727 * UIProcess/efl/PageLoadClientEfl.cpp: 22728 (WebKit::PageLoadClientEfl::didCommitLoadForFrame): 22729 * UIProcess/efl/ViewClientEfl.cpp: 22730 (WebKit::ViewClientEfl::didChangeContentsSize): 22731 (WebKit::ViewClientEfl::didChangeContentsPosition): 22732 (WebKit::ViewClientEfl::didRenderFrame): 22733 (WebKit::ViewClientEfl::didCompletePageTransition): 22734 (WebKit::ViewClientEfl::didChangeViewportAttributes): 22735 227362013-11-28 Nick Diego Yamane <nick.yamane@openbossa.org> 22737 22738 [GTK] Build fix after r159859 22739 https://bugs.webkit.org/show_bug.cgi?id=124992 22740 22741 Reviewed by Gyuyoung Kim. 22742 22743 * UIProcess/API/gtk/PageClientImpl.cpp: 22744 (WebKit::PageClientImpl::didCommitLoadForMainFrame): Added. 22745 * UIProcess/API/gtk/PageClientImpl.h: 22746 227472013-11-28 Jinwoo Song <jinwoo7.song@samsung.com> 22748 22749 [EFL] Build fix after r159859 22750 https://bugs.webkit.org/show_bug.cgi?id=124991 22751 22752 Reviewed by Gyuyoung Kim. 22753 22754 Redefined newly added pure virtual function in PageClient class after r159859. 22755 22756 * UIProcess/CoordinatedGraphics/WebView.cpp: 22757 (WebKit::WebView::didCommitLoadForMainFrame): 22758 * UIProcess/CoordinatedGraphics/WebView.h: 22759 227602013-11-27 Sam Weinig <sam@webkit.org> 22761 22762 Perform some spring cleaning to WKContentView and WKView 22763 https://bugs.webkit.org/show_bug.cgi?id=124961 22764 22765 Reviewed by Dan Bernstein. 22766 22767 - Store the PageClientImpl in a std::unique_ptr. 22768 - Remove the WKBrowsingContextController internal load delegate. Replace its use with 22769 a new PageClient function, didCommitLoadForMainFrame. 22770 - Fix typo in the WKContentViewDelegate. contentViewdidCommitLoadForMainFrame -> contentViewDidCommitLoadForMainFrame. 22771 - Add initializers for WKContentView and WKView that take WKContextRefs and WKPageGroupRefs to match the Mac WKView. 22772 These are needed for WebKitTestRunner. 22773 - Require a WKProcessGroup (or WKContextRef) and a WKBrowsingContextGroup (or WKPageGroupRef). 22774 - Stop caching the WKProcessGroup and WKBrowsingContextGroup on the WKContentView. 22775 - Remove incorrect implementations of initWithCoder. 22776 - Make WKContentView lazily create its WKBrowsingContextController wrapper. 22777 22778 * UIProcess/API/ios/PageClientImplIOS.h: 22779 * UIProcess/API/ios/PageClientImplIOS.mm: 22780 (WebKit::PageClientImpl::PageClientImpl): 22781 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 22782 (WebKit::PageClientImpl::mainDocumentDidReceiveMobileDocType): 22783 * UIProcess/API/ios/WKContentView.h: 22784 * UIProcess/API/ios/WKContentView.mm: 22785 (-[WKContentView initWithCoder:]): 22786 (-[WKContentView initWithFrame:processGroup:browsingContextGroup:]): 22787 (-[WKContentView browsingContextController]): 22788 (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 22789 (-[WKContentView _didCommitLoadForMainFrame]): 22790 (-[WKContentView _didReceiveMobileDocTypeForMainFrame]): 22791 (-[WKContentView _didChangeViewportArguments:WebCore::]): 22792 (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): 22793 (-[WKContentView _pageRef]): 22794 (-[WKContentView initWithFrame:contextRef:pageGroupRef:]): 22795 (-[WKContentView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 22796 * UIProcess/API/ios/WKContentViewInternal.h: 22797 * UIProcess/API/ios/WKContentViewPrivate.h: Added. 22798 * UIProcess/API/ios/WKView.mm: 22799 (-[WKView initWithFrame:processGroup:browsingContextGroup:]): 22800 (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]): 22801 (-[WKView contentViewDidCommitLoadForMainFrame:]): 22802 (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]): 22803 (-[WKView pageRef]): 22804 (-[WKView initWithFrame:contextRef:pageGroupRef:]): 22805 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 22806 * UIProcess/API/mac/PageClientImpl.h: 22807 * UIProcess/API/mac/PageClientImpl.mm: 22808 (WebKit::PageClientImpl::didCommitLoadForMainFrame): 22809 * UIProcess/API/mac/WKBrowsingContextController.mm: 22810 (didCommitLoadForFrame): 22811 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: 22812 * UIProcess/API/mac/WKViewPrivate.h: 22813 * UIProcess/PageClient.h: 22814 * UIProcess/WebPageProxy.cpp: 22815 (WebKit::WebPageProxy::didCommitLoadForFrame): 22816 228172013-11-28 Éva Balázsfalvi <balazsfalvi.eva@stud.u-szeged.hu> 22818 22819 Buildfix after r159824 for GCC 4.6 22820 https://bugs.webkit.org/show_bug.cgi?id=124968 22821 22822 Reviewed by Csaba Osztrogonác. 22823 22824 Added explicit "friend class", because GCC 4.6 doesn't support extended friend declaration (c++11) 22825 22826 * Shared/APIObject.h: 22827 228282013-11-28 Antti Koivisto <antti@apple.com> 22829 22830 Remove feature: CSS variables 22831 https://bugs.webkit.org/show_bug.cgi?id=114119 22832 22833 Reviewed by Andreas Kling. 22834 22835 * Configurations/FeatureDefines.xcconfig: 22836 228372013-11-27 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 22838 22839 [GTK] Support custom types for drag and drop data 22840 https://bugs.webkit.org/show_bug.cgi?id=124659 22841 22842 Reviewed by Martin Robinson. 22843 22844 * Shared/gtk/ArgumentCodersGtk.cpp: 22845 (CoreIPC::encodeDataObject): encode the unknown types data. 22846 (CoreIPC::decodeDataObject): decode the unknown types data. 22847 228482013-11-27 Sam Weinig <sam@webkit.org> 22849 22850 Give the PageClient a chance to handle geolocation permission requests if the UIClient doesn't handle it 22851 https://bugs.webkit.org/show_bug.cgi?id=124955 22852 22853 Reviewed by Dan Bernstein. 22854 22855 Use the new PageClient function to remove the need for WKContentView to take over the WKPageUIClient. 22856 22857 * UIProcess/API/ios/PageClientImplIOS.h: 22858 * UIProcess/API/ios/PageClientImplIOS.mm: 22859 (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest): 22860 * UIProcess/API/ios/WKContentView.mm: 22861 (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): 22862 (-[WKContentView _commonInitWithProcessGroup:browsingContextGroup:]): 22863 * UIProcess/API/ios/WKContentViewInternal.h: 22864 * UIProcess/PageClient.h: 22865 (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest): 22866 * UIProcess/WebPageProxy.cpp: 22867 (WebKit::WebPageProxy::requestGeolocationPermissionForFrame): 22868 228692013-11-27 Sam Weinig <sam@webkit.org> 22870 22871 Fix the iOS build. 22872 22873 * UIProcess/API/ios/WKGeolocationProviderIOS.mm: 22874 * UIProcess/API/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm: 22875 228762013-11-27 Sam Weinig <sam@webkit.org> 22877 22878 Add accessors for the WKProcessGroup and WKBrowsingContextGroup on the WKBrowsingContextController 22879 https://bugs.webkit.org/show_bug.cgi?id=124953 22880 22881 Reviewed by Dan Bernstein. 22882 22883 * UIProcess/API/mac/WKBrowsingContextController.h: 22884 * UIProcess/API/mac/WKBrowsingContextController.mm: 22885 (-[WKBrowsingContextController processGroup]): 22886 (-[WKBrowsingContextController browsingContextGroup]): 22887 Add accessors. 22888 228892013-11-27 Sam Weinig <sam@webkit.org> 22890 22891 Make WKProcessGroup work with WKObject wrapping 22892 https://bugs.webkit.org/show_bug.cgi?id=124952 22893 22894 Reviewed by Dan Bernstein. 22895 22896 * Shared/Cocoa/APIObject.mm: 22897 (API::Object::newObject): 22898 Add support for WKProcessGroup. 22899 22900 * UIProcess/API/mac/WKProcessGroup.mm: 22901 (-[WKProcessGroup initWithInjectedBundleURL:]): 22902 (-[WKProcessGroup dealloc]): 22903 (-[WKProcessGroup API::]): 22904 (-[WKProcessGroup _contextRef]): 22905 (-[WKProcessGroup _geolocationProvider]): 22906 Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline 22907 22908 * UIProcess/API/mac/WKProcessGroupInternal.h: Added. 22909 (WebKit::wrapper): 22910 Add wrapper() helper and declare conformance to the WKObject protocol. 22911 22912 * UIProcess/WebContext.cpp: 22913 (WebKit::WebContext::create): 22914 (WebKit::WebContext::WebContext): 22915 * UIProcess/WebContext.h: 22916 Make the WebContext constructor public (for use with Object::constructInWrapper) and remove unused ProcessModel parameter. 22917 22918 * WebKit2.xcodeproj/project.pbxproj: 22919 Add new file. 22920 229212013-11-27 Sam Weinig <sam@webkit.org> 22922 22923 Make WKBrowsingContextGroup work with WKObject wrapping 22924 https://bugs.webkit.org/show_bug.cgi?id=124948 22925 22926 Reviewed by Dan Bernstein. 22927 22928 - Adds mechanism to use the inline data wrapping mechanism when the Objective-C wrapper is created 22929 by the caller (rather than by Object::newObject). 22930 - Adopts the mechanism for WKBrowsingContextGroup. 22931 22932 * Shared/APIObject.h: 22933 (API::Object::constructInWrapper): 22934 Add a helper which does a forwarding placement-new into the API::Object of the passed in wrapper, after which it sets up m_wrapper. 22935 22936 (API::TypedObject::operator new): 22937 Add a operator new to for placement-new. Also make TypedObject friends with Object so that constructInWrapper can call this. 22938 22939 * Shared/Cocoa/APIObject.mm: 22940 (API::Object::newObject): 22941 Add support for WKBrowsingContextGroup. 22942 22943 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 22944 (-[WKBrowsingContextGroup API::]): 22945 (-[WKBrowsingContextGroup dealloc]): 22946 (-[WKBrowsingContextGroup initWithIdentifier:]): 22947 (-[WKBrowsingContextGroup allowsJavaScript]): 22948 (-[WKBrowsingContextGroup setAllowsJavaScript:]): 22949 (-[WKBrowsingContextGroup allowsJavaScriptMarkup]): 22950 (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]): 22951 (-[WKBrowsingContextGroup allowsPlugIns]): 22952 (-[WKBrowsingContextGroup setAllowsPlugIns:]): 22953 (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): 22954 (-[WKBrowsingContextGroup removeAllUserStyleSheets]): 22955 (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): 22956 (-[WKBrowsingContextGroup removeAllUserScripts]): 22957 (-[WKBrowsingContextGroup _pageGroupRef]): 22958 Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline (modeled on WKBackForwardList). 22959 22960 * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added. 22961 (WebKit::wrapper): 22962 Add wrapper() helper and declare conformance to the WKObject protocol. 22963 22964 * UIProcess/WebPageGroup.cpp: 22965 (WebKit::WebPageGroup::create): 22966 (WebKit::WebPageGroup::WebPageGroup): 22967 * UIProcess/WebPageGroup.h: 22968 Make the WebPageGroup constructor public (for use with Object::constructInWrapper) and move being set in the webPageGroupMap() 22969 to the constructor. 22970 22971 * WebKit2.xcodeproj/project.pbxproj: 22972 Add new file. 22973 229742013-11-27 Nick Diego Yamane <nick.yamane@openbossa.org> 22975 22976 Remove Qt-specific .qrc files 22977 https://bugs.webkit.org/show_bug.cgi?id=124944 22978 22979 Reviewed by Andreas Kling. 22980 22981 * WebKit2.qrc: Removed. 22982 229832013-11-27 Zan Dobersek <zdobersek@igalia.com> 22984 22985 [GTK] Programs/WebKit2APITests/TestWebKitSettings unit test is failing 22986 https://bugs.webkit.org/show_bug.cgi?id=124924 22987 22988 Reviewed by Carlos Garcia Campos. 22989 22990 'Chrome'/'Chromium' substrings were removed from the user agent string in r159572, meaning the unit 22991 test shouldn't check for those two substrings anymore. Instead, 'Safari' (as until now) and 'AppleWebKit' 22992 substrings should be checked for. 22993 22994 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 22995 (testWebKitSettingsUserAgent): 22996 229972013-11-26 Nick Diego Yamane <nick.yamane@openbossa.org> 22998 22999 [MediaStream API] HTMLMediaElement should be able to use MediaStream as source 23000 https://bugs.webkit.org/show_bug.cgi?id=121943 23001 23002 Reviewed by Eric Carlson. 23003 23004 Add mediastream module and platform to cmake include directories. 23005 23006 * CMakeLists.txt: 23007 230082013-11-26 Dan Bernstein <mitz@apple.com> 23009 23010 Some WebKit2 headers are not self-contained 23011 https://bugs.webkit.org/show_bug.cgi?id=124884 23012 23013 Reviewed by Anders Carlsson. 23014 23015 * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added import. 23016 * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Ditto. 23017 * Shared/API/c/WKContextMenuItemTypes.h: Added include. 23018 * Shared/API/c/WKFindOptions.h: Ditto. 23019 * Shared/API/c/WKMutableArray.h: Ditto. 23020 * Shared/API/c/WKPageLoadTypes.h: Ditto. 23021 * Shared/API/c/WKPageVisibilityTypes.h: Ditto. 23022 23023 * Shared/API/c/WKPluginInformation.cpp: 23024 (WKPluginInformationBundleIdentifierKey): Made this API function always be defined. When 23025 the Netscape plug-in API is not enabled, it returns 0. 23026 (WKPluginInformationBundleVersionKey): Ditto. 23027 (WKPluginInformationBundleShortVersionKey): Ditto. 23028 (WKPluginInformationPathKey): Ditto. 23029 (WKPluginInformationDisplayNameKey): Ditto. 23030 (WKPluginInformationDefaultLoadPolicyKey): Ditto. 23031 (WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey): Ditto. 23032 (WKPluginInformationHasSandboxProfileKey): Ditto. 23033 (WKPluginInformationFrameURLKey): Ditto. 23034 (WKPluginInformationMIMETypeKey): Ditto. 23035 (WKPluginInformationPageURLKey): Ditto. 23036 (WKPluginInformationPluginspageAttributeURLKey): Ditto. 23037 (WKPluginInformationPluginURLKey): Ditto. 23038 (WKPlugInInformationReplacementObscuredKey): Ditto. 23039 23040 * Shared/API/c/WKString.h: Added include. 23041 * UIProcess/API/C/WKCredentialTypes.h: Ditto. 23042 * UIProcess/API/C/WKPageContextMenuClient.h: Ditto. 23043 * UIProcess/API/C/WKPageLoaderClient.h: Added includes. 23044 * UIProcess/API/C/WKPagePolicyClient.h: Ditto. 23045 * UIProcess/API/C/WKPageUIClient.h: Ditto. 23046 23047 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 23048 (WKPluginSiteDataManagerGetTypeID): Fixed the !ENABLE(NETSCAPE_PLUGIN_API) build. 23049 23050 * UIProcess/API/C/mac/WKContextPrivateMac.h: Removed use of ENABLE() from this private 23051 header. 23052 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 23053 (WKContextCopyPlugInInfoForBundleIdentifier): Made this API function always be defined. 23054 When the Netscape plug-in API is not enabled, it returns 0. 23055 (WKContextGetInfoForInstalledPlugIns): Made this API function always be defined. 23056 23057 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Added imports. 23058 * UIProcess/API/C/mac/WKPagePrivateMac.h: Added include. 23059 * UIProcess/API/Cocoa/WKBackForwardListItem.h: Added import. 23060 * UIProcess/API/Cocoa/WKNavigationData.h: Ditto. 23061 * UIProcess/API/cpp/WKRetainPtr.h: Replaced use of WARN_UNUSED_RETURN in this private header 23062 with an equivalent macro defined in the header. 23063 23064 * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Added include. 23065 * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp: 23066 (WKBundleInspectorGetTypeID): Made this API function always be defined. When the Inspector 23067 is not enabled, it returns the Null type. 23068 (WKBundleInspectorShow): Made this API function always be defined. 23069 (WKBundleInspectorClose): Ditto. 23070 (WKBundleInspectorEvaluateScriptForTest): Ditto. 23071 (WKBundleInspectorSetPageProfilingEnabled): Ditto. 23072 * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Removed use of ENABLE() from this 23073 private header. 23074 23075 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added includes. 23076 * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added include. 23077 23078 * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm: 23079 (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): Fixed the !ENABLE(NETSCAPE_PLUGIN_API) 23080 build. 23081 23082 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 23083 (WebKit::WebFrameLoaderClient::createJavaAppletWidget): Ditto. 23084 23085 * WebProcess/WebPage/mac/WebInspectorMac.mm: Fixed the !ENABLE(INSPECTOR) build. 23086 230872013-11-25 Dan Bernstein <mitz@apple.com> 23088 23089 [Cocoa] Use class extensions for IPI 23090 https://bugs.webkit.org/show_bug.cgi?id=124870 23091 23092 Reviewed by Sam Weinig. 23093 23094 * UIProcess/API/mac/WKBrowsingContextController.mm: Reordered methods so that the Private 23095 cateogry isn’t stuck between the API methods and the internal methods. 23096 (-[WKBrowsingContextController setPaginationMode:]): 23097 (-[WKBrowsingContextController paginationMode]): 23098 (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): 23099 (-[WKBrowsingContextController paginationBehavesLikeColumns]): 23100 (-[WKBrowsingContextController setPageLength:]): 23101 (-[WKBrowsingContextController pageLength]): 23102 (-[WKBrowsingContextController setGapBetweenPages:]): 23103 (-[WKBrowsingContextController gapBetweenPages]): 23104 (-[WKBrowsingContextController pageCount]): 23105 (-[WKBrowsingContextController handle]): 23106 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Changed Internal category into 23107 a class extension. 23108 23109 * UIProcess/API/mac/WKConnection.mm: 23110 * UIProcess/API/mac/WKConnectionInternal.h: Changed Internal category into a class 23111 extension. 23112 23113 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 23114 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Ditto. 23115 231162013-11-25 Dan Bernstein <mitz@apple.com> 23117 23118 Fixed the iOS build. 23119 23120 * UIProcess/API/mac/WKBrowsingContextController.mm: 23121 (-[WKBrowsingContextController loadDelegateInternal]): 23122 (-[WKBrowsingContextController setLoadDelegateInternal:]): 23123 231242013-11-25 Dan Bernstein <mitz@apple.com> 23125 23126 [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime 23127 https://bugs.webkit.org/show_bug.cgi?id=123065 23128 23129 Reviewed by Sam Weinig. 23130 23131 * UIProcess/API/mac/WKBrowsingContextController.h: Removed _data ivar and 23132 WKBrowsingContextControllerData class declaration. 23133 * UIProcess/API/mac/WKBrowsingContextController.mm: 23134 (-[WKBrowsingContextController dealloc]): Removed 23135 WKBrowsingContextControllerData class and moved ivars directly into 23136 WKBrowsingContextController, declaring them in the @implementation. Removed ivar and 23137 accessors for the delegate properties, letting the compiler synthesize them. 23138 (-[WKBrowsingContextController _pageRef]): Removed indirection via _data. 23139 (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef. 23140 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto. 23141 (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto. 23142 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): Ditto. 23143 (-[WKBrowsingContextController stopLoading]): Ditto. 23144 (-[WKBrowsingContextController reload]): Ditto. 23145 (-[WKBrowsingContextController reloadFromOrigin]): Ditto. 23146 (-[WKBrowsingContextController goForward]): Ditto. 23147 (-[WKBrowsingContextController canGoForward]): Ditto. 23148 (-[WKBrowsingContextController goBack]): Ditto. 23149 (-[WKBrowsingContextController canGoBack]): Ditto. 23150 (-[WKBrowsingContextController goToBackForwardListItem:]): Ditto. 23151 (-[WKBrowsingContextController backForwardList]): Ditto. 23152 (-[WKBrowsingContextController activeURL]): Ditto. 23153 (-[WKBrowsingContextController provisionalURL]): Ditto. 23154 (-[WKBrowsingContextController committedURL]): Ditto. 23155 (-[WKBrowsingContextController unreachableURL]): Removed idirection via _data. 23156 (-[WKBrowsingContextController estimatedProgress]): Removed indirection via -_pageRef. 23157 (-[WKBrowsingContextController title]): Ditto. 23158 (-[WKBrowsingContextController textZoom]): Ditto. 23159 (-[WKBrowsingContextController setTextZoom:]): Ditto. 23160 (-[WKBrowsingContextController pageZoom]): Ditto. 23161 (-[WKBrowsingContextController setPageZoom:]): Ditto. 23162 (-[WKBrowsingContextController setPaginationMode:]): Ditto. 23163 (-[WKBrowsingContextController paginationMode]): Ditto. 23164 (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto. 23165 (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto. 23166 (-[WKBrowsingContextController setPageLength:]): Ditto. 23167 (-[WKBrowsingContextController pageLength]): Ditto. 23168 (-[WKBrowsingContextController setGapBetweenPages:]): Ditto. 23169 (-[WKBrowsingContextController gapBetweenPages]): Ditto. 23170 (-[WKBrowsingContextController pageCount]): Ditto. 23171 (-[WKBrowsingContextController handle]): Ditto. 23172 (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data. 23173 23174 * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed _data ivar and 23175 WKBrowsingContextGroupData class declaration. 23176 * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed WKBrowsingContextGroupData class and 23177 moved _pageGroupRef ivar directly into WKBrowsingContextGroup, declaring it in the 23178 @implementation. 23179 (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data. 23180 (-[WKBrowsingContextGroup allowsJavaScript]): Removed indirection via -_pageGroupRef. 23181 (-[WKBrowsingContextGroup setAllowsJavaScript:]): Ditto. 23182 (-[WKBrowsingContextGroup allowsJavaScriptMarkup]): Ditto. 23183 (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]): Ditto. 23184 (-[WKBrowsingContextGroup allowsPlugIns]): Ditto. 23185 (-[WKBrowsingContextGroup setAllowsPlugIns:]): Ditto. 23186 (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): Ditto. 23187 (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto. 23188 (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): Ditto. 23189 (-[WKBrowsingContextGroup removeAllUserScripts]): Ditto. 23190 (-[WKBrowsingContextGroup _pageGroupRef]): Removed indirection via _data. 23191 23192 * UIProcess/API/mac/WKConnection.h: Removed _data ivar and WKConnectionData class declaration. 23193 * UIProcess/API/mac/WKConnection.mm: Removed WKConnectionData class and moved _connectionRef 23194 ivar directly into WKConnection, declaring it in the @implementation. Removed ivar and 23195 accessors for the delegate property, letting the compiler synthesize them. 23196 (-[WKConnection dealloc]): Removed indirection via _data. 23197 (-[WKConnection sendMessageWithName:body:]): Ditto. 23198 (-[WKConnection remoteObjectRegistry]): Ditto. 23199 (didReceiveMessage): Ditto. 23200 (-[WKConnection _initWithConnectionRef:]): Ditto. 23201 23202 * UIProcess/API/mac/WKProcessGroup.h: Replaced forward declaration of WKConnection with an 23203 import. Removed _data ivar and WKProcessGroupData class declaration. 23204 * UIProcess/API/mac/WKProcessGroup.mm: Removed WKProcessGroupData class and moved 23205 _contextRef ivar directly into WKProcessGroup, declaring it in the @implementation. Removed 23206 ivar and accessors for the delegate property, letting the compiler synthesize them. 23207 (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data. 23208 (-[WKProcessGroup dealloc]): Ditto. 23209 (-[WKProcessGroup _contextRef]): Ditto. 23210 (-[WKProcessGroup _geolocationProvider]): Ditto. 23211 232122013-11-25 Commit Queue <commit-queue@webkit.org> 23213 23214 Unreviewed, rolling out r159740. 23215 http://trac.webkit.org/changeset/159740 23216 https://bugs.webkit.org/show_bug.cgi?id=124859 23217 23218 Crashing xmlhttprequest/access-control-repeated-failed- 23219 preflight-crash.html on Mavericks and Mountain Lion - 23220 ASSERT(m_pageGroup) WebPage.cpp:352 (Requested by dino_ on 23221 #webkit). 23222 23223 * Scripts/webkit2/messages.py: 23224 (struct_or_class): 23225 * Shared/UserMessageCoders.h: 23226 (WebKit::UserMessageEncoder::baseEncode): 23227 * Shared/WebPageCreationParameters.cpp: 23228 (WebKit::WebPageCreationParameters::encode): 23229 (WebKit::WebPageCreationParameters::decode): 23230 * Shared/WebPageCreationParameters.h: 23231 * Shared/mac/ObjCObjectGraphCoders.h: 23232 * Shared/mac/ObjCObjectGraphCoders.mm: 23233 (WebKit::ObjCObjectGraphEncoder::baseEncode): 23234 (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl): 23235 (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): 23236 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): 23237 (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder): 23238 (WebKit::WebContextObjCObjectGraphEncoder::encode): 23239 * UIProcess/WebConnectionToWebProcess.cpp: 23240 (WebKit::WebConnectionToWebProcess::encodeMessageBody): 23241 * UIProcess/WebContext.cpp: 23242 (WebKit::WebContext::createNewWebProcess): 23243 (WebKit::WebContext::createWebPage): 23244 (WebKit::WebContext::postMessageToInjectedBundle): 23245 (WebKit::WebContext::didReceiveSyncMessage): 23246 * UIProcess/WebContextUserMessageCoders.h: 23247 (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder): 23248 (WebKit::WebContextUserMessageEncoder::encode): 23249 (WebKit::WebContextUserMessageDecoder::decode): 23250 * UIProcess/WebPageGroup.cpp: 23251 * UIProcess/WebPageGroup.h: 23252 (WebKit::WebPageGroup::sendToAllProcessesInGroup): 23253 * UIProcess/WebPageProxy.cpp: 23254 (WebKit::WebPageProxy::create): 23255 (WebKit::WebPageProxy::WebPageProxy): 23256 (WebKit::WebPageProxy::initializeWebPage): 23257 (WebKit::WebPageProxy::loadURL): 23258 (WebKit::WebPageProxy::loadURLRequest): 23259 (WebKit::WebPageProxy::loadFile): 23260 (WebKit::WebPageProxy::loadData): 23261 (WebKit::WebPageProxy::loadHTMLString): 23262 (WebKit::WebPageProxy::loadAlternateHTMLString): 23263 (WebKit::WebPageProxy::loadPlainTextString): 23264 (WebKit::WebPageProxy::loadWebArchiveData): 23265 (WebKit::WebPageProxy::postMessageToInjectedBundle): 23266 (WebKit::WebPageProxy::initializeCreationParameters): 23267 * UIProcess/WebPageProxy.h: 23268 * UIProcess/WebProcessProxy.cpp: 23269 (WebKit::WebProcessProxy::disconnect): 23270 (WebKit::WebProcessProxy::createWebPage): 23271 * UIProcess/WebProcessProxy.h: 23272 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 23273 (WebKit::InjectedBundleUserMessageEncoder::encode): 23274 (WebKit::InjectedBundleUserMessageDecoder::decode): 23275 * WebProcess/WebPage/WebPage.cpp: 23276 (WebKit::WebPage::WebPage): 23277 * WebProcess/WebProcess.cpp: 23278 (WebKit::WebProcess::webPageGroup): 23279 * WebProcess/WebProcess.h: 23280 * WebProcess/WebProcess.messages.in: 23281 232822013-11-25 Dan Bernstein <mitz@apple.com> 23283 23284 [Cocoa] Put most of the Cocoa API behind WK_API_ENABLED guards 23285 https://bugs.webkit.org/show_bug.cgi?id=124850 23286 23287 Reviewed by Brady Eidson. 23288 23289 Guarded all Cocoa API headers and implementations with WK_API_ENABLED. Left the WKView class 23290 unguarded, but limited its API. 23291 23292 * Shared/API/Cocoa/WKFoundation.h: Replaced OBJ_VISIBLE with an explicit attribute. 23293 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Moved #if WK_API_ENABLED before the rest of the 23294 imports. 23295 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Ditto. 23296 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Ditto. 23297 * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Ditto. 23298 * UIProcess/API/mac/WKBrowsingContextController.h: Guarded all declarations with 23299 WK_API_ENABLED, changed to use WK_API_CLASS instead of WK_EXPORT. 23300 * UIProcess/API/mac/WKBrowsingContextController.mm: Guarded everything with WK_API_ENABLED. 23301 (-[WKBrowsingContextController dealloc]): 23302 (-[WKBrowsingContextController setPolicyDelegate:]): 23303 (-[WKBrowsingContextController backForwardList]): 23304 (didChangeBackForwardList): 23305 (setUpPageLoaderClient): 23306 (setUpPagePolicyClient): 23307 (-[WKBrowsingContextController _initWithPageRef:]): 23308 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Ditto. 23309 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto. 23310 * UIProcess/API/mac/WKBrowsingContextGroup.h: Guarded all declarations with WK_API_ENABLED, 23311 chanegd to use WK_API_CLASS instead of WK_EXPORT. 23312 * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed redundant import, guarded everything 23313 with WK_API_ENABLED. 23314 * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Guarded with WK_API_ENABLED. 23315 * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Added necessary import. 23316 * UIProcess/API/mac/WKConnection.h: Guarded all declarations with WK_API_ENABLED, chanegd to 23317 use WK_API_CLASS instead of WK_EXPORT. 23318 * UIProcess/API/mac/WKConnection.mm: Guarded everything with WK_API_ENABLED. 23319 (-[WKConnection remoteObjectRegistry]): 23320 (didReceiveMessage): 23321 * UIProcess/API/mac/WKConnectionInternal.h: Guarded the delcarations with WK_API_ENABLED. 23322 * UIProcess/API/mac/WKProcessGroup.h: Ditto. Also changed to use WK_API_CLASS instead of 23323 WK_EXPORT. 23324 * UIProcess/API/mac/WKProcessGroup.mm: Guarded everything with WK_API_ENABLED. 23325 (-[WKProcessGroup initWithInjectedBundleURL:]): 23326 * UIProcess/API/mac/WKProcessGroupPrivate.h: Guarded the declarations with WK_API_ENABLED. 23327 * UIProcess/API/mac/WKTypeRefWrapper.h: Moved #if WK_API_ENABLED before the rest of the 23328 imports, changed to use WK_API_CLASS instead of WK_EXPORT. 23329 * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed empty line after #import "config.h". 23330 * UIProcess/API/mac/WKView.h: Added #if WK_API_ENABLED around API that uses other Cocoa API 23331 types. 23332 * UIProcess/API/mac/WKView.mm: Added #if WK_API_ENABLED around implementations of methods 23333 that are only declared when the API is enabled. 23334 * UIProcess/API/mac/WKViewInternal.h: Reordered imports. 23335 * UIProcess/mac/WKFullScreenWindowController.mm: Added comment to #endif. 23336 * UIProcess/mac/WebContextMac.mm: 23337 (WebKit::WebContext::platformInitializeWebProcess): Guarded use of 23338 WKBrowsingContextController with WK_API_ENABLED. 23339 (WebKit::WebContext::platformInitializeNetworkProcess): Ditto. 23340 * UIProcess/mac/WebContextMenuProxyMac.mm: Removed newline between imports. 23341 * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Moved #if WK_API_ENABLED before the 23342 rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT. 23343 * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Removed newline after #import 23344 "config.h". 23345 * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Moved #if WK_API_ENABLED before the 23346 rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT. 23347 * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Removed newline after #import 23348 "config.h". 23349 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Ditto. 23350 * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Moved #if WK_API_ENABLED before the 23351 rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT. 23352 * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Removed redundant import. 23353 * WebProcess/InjectedBundle/API/mac/WKDOMRange.h: Moved #if WK_API_ENABLED before the 23354 rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT. 23355 * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: Removed newline and redundant import. 23356 * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Moved #if WK_API_ENABLED before the 23357 rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT. 23358 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Ditto. 23359 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: Removed newline after 23360 #import "config.h". 23361 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Moved #if WK_API_ENABLED before 23362 the rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT. 23363 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Removed newline and redundant 23364 imports. 23365 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Moved #if 23366 WK_API_ENABLED before the rest of the imports, and changed to use WK_API_CLASS instead of 23367 WK_EXPORT. 23368 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Removed 23369 newline after #import "config.h". 23370 233712013-11-22 Sam Weinig <sam@webkit.org> 23372 23373 WebPageGroup's should keep track of what processes they are being used by 23374 https://bugs.webkit.org/show_bug.cgi?id=124556 23375 23376 Reviewed by Dan Bernstein. 23377 23378 * Scripts/webkit2/messages.py: 23379 (struct_or_class): 23380 Mark WebPageGroupData as a struct. 23381 23382 * Shared/UserMessageCoders.h: 23383 * Shared/mac/ObjCObjectGraphCoders.h: 23384 * Shared/mac/ObjCObjectGraphCoders.mm: 23385 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 23386 * UIProcess/WebConnectionToWebProcess.cpp: 23387 * UIProcess/WebContext.cpp: 23388 * UIProcess/WebContextUserMessageCoders.h: 23389 * UIProcess/WebPageProxy.cpp: 23390 * UIProcess/WebPageProxy.h: 23391 Pass the WebProcess/WebProcessProxy to both encode and decode. 23392 23393 * Shared/WebPageCreationParameters.h: 23394 Pass the page group by ID when creating a page, as it will have had its own 23395 creation message sent already. 23396 23397 * UIProcess/WebPageGroup.cpp: 23398 * UIProcess/WebPageGroup.h: 23399 Keep track of processes. 23400 23401 * UIProcess/WebProcessProxy.cpp: 23402 * UIProcess/WebProcessProxy.h: 23403 Keep track of the page groups used by the process. 23404 23405 * WebProcess/WebPage/WebPage.cpp: 23406 Get the already create page group on creation. 23407 23408 * WebProcess/WebProcess.cpp: 23409 * WebProcess/WebProcess.h: 23410 * WebProcess/WebProcess.messages.in: 23411 Explicitly create page groups in the WebProcess. 23412 234132013-11-24 Brady Eidson <beidson@apple.com> 23414 23415 DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to 23416 https://bugs.webkit.org/show_bug.cgi?id=124819 23417 23418 Reviewed by Dan Bernstein. 23419 23420 UniqueIDBDatabase instances are per-DatabaseProcess, so it manages the set of them. 23421 * DatabaseProcess/DatabaseProcess.cpp: 23422 (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase): 23423 (WebKit::DatabaseProcess::removeUniqueIDBDatabase): 23424 * DatabaseProcess/DatabaseProcess.h: 23425 23426 * DatabaseProcess/DatabaseToWebProcessConnection.h: 23427 23428 Start forwarding things along to the appropriate UniqueIDBDatabase. 23429 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 23430 (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection): 23431 (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): 23432 (WebKit::DatabaseProcessIDBConnection::establishConnection): 23433 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): 23434 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 23435 23436 A class that represents a single concrete IDB database that multiple WebProcesses can connect to. 23437 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp: 23438 (WebKit::UniqueIDBDatabase::UniqueIDBDatabase): 23439 (WebKit::UniqueIDBDatabase::~UniqueIDBDatabase): 23440 (WebKit::UniqueIDBDatabase::registerConnection): 23441 (WebKit::UniqueIDBDatabase::unregisterConnection): 23442 (WebKit::UniqueIDBDatabase::getIDBDatabaseMetadata): 23443 * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: 23444 (WebKit::UniqueIDBDatabase::create): 23445 (WebKit::UniqueIDBDatabase::identifier): 23446 23447 A class to help uniquely identify an IDBDatabase that can be expanded as needed. 23448 Importantly, it knows how to be used as a key in a HashMap. 23449 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp: Added. 23450 (WebKit::UniqueIDBDatabaseIdentifier::UniqueIDBDatabaseIdentifier): 23451 (WebKit::UniqueIDBDatabaseIdentifier::isHashTableDeletedValue): 23452 (WebKit::UniqueIDBDatabaseIdentifier::hash): 23453 (WebKit::UniqueIDBDatabaseIdentifier::isNull): 23454 (WebKit::operator==): 23455 * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h: Added. 23456 (WebKit::UniqueIDBDatabaseIdentifier::databaseName): 23457 (WebKit::UniqueIDBDatabaseIdentifier::openingOrigin): 23458 (WebKit::UniqueIDBDatabaseIdentifier::mainFrameOrigin): 23459 (WebKit::UniqueIDBDatabaseIdentifierHash::hash): 23460 (WebKit::UniqueIDBDatabaseIdentifierHash::equal): 23461 (WebKit::UniqueIDBDatabaseIdentifierHashTraits::isEmptyValue): 23462 23463 * Shared/SecurityOriginData.cpp: 23464 (WebKit::operator==): 23465 * Shared/SecurityOriginData.h: 23466 23467 * UIProcess/WebContext.cpp: 23468 23469 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 23470 (WebKit::WebIDBFactoryBackend::open): 23471 (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): 23472 23473 * WebKit2.xcodeproj/project.pbxproj: 23474 234752013-11-24 Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>, Arunprasad Rajkumar <arurajku@cisco.com> 23476 23477 [WK2][GTK] Adding SpatialNavigation setting to webkit2 23478 https://bugs.webkit.org/show_bug.cgi?id=114298 23479 23480 Reviewed by Anders Carlsson. 23481 23482 Adding SpatialNavigation support to WebPreferencesStore allows us 23483 to toggle that feature on WebKitSettings. 23484 23485 * Shared/WebPreferencesStore.h: 23486 * UIProcess/API/C/WKPreferences.cpp: 23487 (WKPreferencesSetSpatialNavigationEnabled): 23488 (WKPreferencesGetSpatialNavigationEnabled): 23489 * UIProcess/API/C/WKPreferences.h: 23490 * UIProcess/API/gtk/WebKitSettings.cpp: 23491 (webKitSettingsSetProperty): 23492 (webKitSettingsGetProperty): 23493 (webkit_settings_class_init): 23494 (webkit_settings_set_enable_spatial_navigation): 23495 (webkit_settings_get_enable_spatial_navigation): 23496 * UIProcess/API/gtk/WebKitSettings.h: 23497 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 23498 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 23499 (testWebKitSettings): 23500 * WebProcess/WebPage/WebPage.cpp: 23501 (WebKit::WebPage::updatePreferences): 23502 235032013-11-22 Brady Eidson <beidson@apple.com> 23504 23505 Add DatabaseProcessCreationParameters, starting with the database path. 23506 https://bugs.webkit.org/show_bug.cgi?id=124804 23507 23508 Reviewed by Dean Jackson and Benjamin Poulain. 23509 23510 * DatabaseProcess/DatabaseProcess.cpp: 23511 (WebKit::DatabaseProcess::initializeDatabaseProcess): 23512 * DatabaseProcess/DatabaseProcess.h: 23513 (WebKit::DatabaseProcess::indexedDatabaseDirectory): 23514 * DatabaseProcess/DatabaseProcess.messages.in: 23515 23516 * Shared/Databases/DatabaseProcessCreationParameters.cpp: Added. 23517 (WebKit::DatabaseProcessCreationParameters::DatabaseProcessCreationParameters): 23518 (WebKit::DatabaseProcessCreationParameters::encode): 23519 (WebKit::DatabaseProcessCreationParameters::decode): 23520 * Shared/Databases/DatabaseProcessCreationParameters.h: Added. 23521 23522 * UIProcess/WebContext.cpp: 23523 (WebKit::WebContext::ensureDatabaseProcess): 23524 23525 * WebKit2.xcodeproj/project.pbxproj: 23526 * Scripts/webkit2/messages.py: 23527 (struct_or_class): 23528 235292013-11-22 Ryuan Choi <ryuan.choi@samsung.com> 23530 23531 [EFL] Build break after r159724 23532 https://bugs.webkit.org/show_bug.cgi?id=124806 23533 23534 Reviewed by Tim Horton. 23535 23536 * Platform/CoreIPC/Connection.h: Include atomic header. 23537 * UIProcess/CoordinatedGraphics/WebView.cpp: Rename didChangeContentsSize to didChangeContentSize. 23538 (WebKit::WebView::didChangeContentSize): 23539 * UIProcess/CoordinatedGraphics/WebView.h: Ditto. 23540 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Adjust TARGET_OS_IPHONE macro. 23541 235422013-11-22 Tim Horton <timothy_horton@apple.com> 23543 23544 Attempt build fixes for 32-bit after 159724. 23545 23546 There's probably a better fix, but this will work for now. 23547 23548 * UIProcess/API/mac/WKView.h: 23549 235502013-11-22 Enrica Casucci <enrica@apple.com> 23551 23552 Upstream iOS WebKit2 to OpenSource (part 3). 23553 https://bugs.webkit.org/show_bug.cgi?id=124803 23554 23555 Reviewed by Anders Carlsson and Tim Horton. 23556 23557 235582013-11-22 Jer Noble <jer.noble@apple.com> 23559 23560 [Mac] Can't drag full-screen video to another monitor 23561 https://bugs.webkit.org/show_bug.cgi?id=124798 23562 23563 Reviewed by Geoffrey Garen. 23564 23565 Make full screen windows resizable by default. This allows the window to be resized when 23566 moved between monitors with different resolutions. 23567 23568 * UIProcess/API/mac/WKView.mm: 23569 (-[WKView createFullScreenWindow]): 23570 235712013-11-22 Benjamin Poulain <bpoulain@apple.com> 23572 23573 [WK2] Another build fix for NetworkProcess on iOS 23574 https://bugs.webkit.org/show_bug.cgi?id=124797 23575 23576 Reviewed by Alexey Proskuryakov. 23577 23578 * NetworkProcess/NetworkResourceLoader.h: 23579 235802013-11-22 Benjamin Poulain <bpoulain@apple.com> 23581 23582 [WK2] Fix the build of the NetworkProcess on iOS 23583 https://bugs.webkit.org/show_bug.cgi?id=124794 23584 23585 Reviewed by Alexey Proskuryakov. 23586 23587 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 23588 (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer): 23589 * NetworkProcess/NetworkResourceLoader.h: 23590 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: 23591 (WebKit::SynchronousNetworkLoaderClient::willSendRequest): 23592 235932013-11-22 Anders Carlsson <andersca@apple.com> 23594 23595 Move the remaining page loader clients out into separate files 23596 https://bugs.webkit.org/show_bug.cgi?id=124792 23597 23598 Reviewed by Dan Bernstein. 23599 23600 * UIProcess/API/C/WKPage.h: 23601 * UIProcess/API/C/WKPageContextMenuClient.h: Added. 23602 * UIProcess/API/C/WKPageFindClient.h: Added. 23603 * UIProcess/API/C/WKPageFindMatchesClient.h: Added. 23604 * UIProcess/API/C/WKPageFormClient.h: Added. 23605 * UIProcess/API/C/WKPageLoaderClient.h: 23606 * UIProcess/API/C/WKPagePolicyClient.h: Added. 23607 * UIProcess/API/C/WKPageUIClient.h: Added. 23608 * WebKit2.xcodeproj/project.pbxproj: 23609 236102013-11-22 Anders Carlsson <andersca@apple.com> 23611 23612 Move WKPageLoaderClient out into a separate header 23613 https://bugs.webkit.org/show_bug.cgi?id=124790 23614 23615 Reviewed by Dan Bernstein. 23616 23617 * UIProcess/API/C/WKPage.h: 23618 * UIProcess/API/C/WKPageLoaderClient.h: Added. 23619 * WebKit2.xcodeproj/project.pbxproj: 23620 236212013-11-22 Anders Carlsson <andersca@apple.com> 23622 23623 Fix 32-bit build. 23624 23625 * UIProcess/API/mac/WKBrowsingContextController.mm: 23626 (-[WKBrowsingContextController dealloc]): 23627 (-[WKBrowsingContextController _initWithPageRef:]): 23628 236292013-11-22 Dan Bernstein <mitz@apple.com> 23630 23631 Debug builds unconditionally dump remote layer tree transactions to stderr. 23632 23633 Reviewed by Sam Weinig. 23634 23635 * Platform/Logging.h: Declared RemoteLayerTree logging channel. 23636 * Shared/mac/RemoteLayerTreeTransaction.h: Declared description(). 23637 * Shared/mac/RemoteLayerTreeTransaction.mm: 23638 (WebKit::RemoteLayerTreeTransaction::dump): Changed to use description(). 23639 (WebKit::RemoteLayerTreeTransaction::description): Returns a CString with the description. 23640 * UIProcess/mac/RemoteLayerTreeHost.mm: 23641 (WebKit::RemoteLayerTreeHost::commit): Changed to use logging instead of calling dump(). 23642 236432013-11-21 Anders Carlsson <andersca@apple.com> 23644 23645 Send out the right KVO callbacks when the page title changes 23646 https://bugs.webkit.org/show_bug.cgi?id=124753 23647 23648 Reviewed by Simon Fraser. 23649 23650 * UIProcess/API/mac/WKBrowsingContextController.mm: 23651 (PageLoadStateObserver::PageLoadStateObserver): 23652 New class that sends the right KVO notifications when the load state changes. 23653 23654 (-[WKBrowsingContextController dealloc]): 23655 Remove the observer. 23656 23657 (-[WKBrowsingContextController _initWithPageRef:]): 23658 Allocate the observer and add it. 23659 23660 * UIProcess/PageLoadState.cpp: 23661 (WebKit::PageLoadState::~PageLoadState): 23662 Assert that we don't have any observers left. 23663 23664 (WebKit::PageLoadState::addObserver): 23665 Add the observer to the list. 23666 23667 (WebKit::PageLoadState::removeObserver): 23668 Remove the observer from the list. 23669 23670 (WebKit::PageLoadState::reset): 23671 Call title change callbacks. 23672 23673 (WebKit::PageLoadState::setTitle): 23674 Ditto. 23675 23676 (WebKit::PageLoadState::callObserverCallback): 23677 Helper function to dispatch callbacks to observers. 23678 23679 * UIProcess/PageLoadState.h: 23680 Add new members. 23681 236822013-11-21 Sergio Correia <sergio.correia@openbossa.org> 23683 23684 [EFL][WK2] Fix build after r159656 23685 https://bugs.webkit.org/show_bug.cgi?id=124755 23686 23687 Reviewed by Gyuyoung Kim. 23688 23689 Page title was moved to page load state. 23690 23691 * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: 23692 (WebKit::WebInspectorServer::buildPageList): 23693 236942013-11-21 Mark Rowe <mrowe@apple.com> 23695 23696 <https://webkit.org/b/124702> Stop overriding VALID_ARCHS. 23697 23698 All modern versions of Xcode set it appropriately for our needs. 23699 23700 Reviewed by Alexey Proskuryakov. 23701 23702 * Configurations/Base.xcconfig: 23703 237042013-11-21 Gwang Yoon Hwang <ryumiel@company100.net> 23705 23706 [GTK] Unreviewed buildfix after r159614 and r159656. 23707 23708 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 23709 (WebKit::WebInspectorServer::buildPageList): Use the page load state to get page title. 23710 237112013-11-21 Mark Rowe <mrowe@apple.com> 23712 23713 <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files. 23714 23715 Reviewed by Alexey Proskuryakov. 23716 23717 * Configurations/Base.xcconfig: 23718 237192013-11-21 Mark Rowe <mrowe@apple.com> 23720 23721 <https://webkit.org/b/124700> Fix some deprecation warnings. 23722 23723 Reviewed by Anders Carlsson. 23724 23725 * UIProcess/API/mac/WKView.mm: 23726 (-[WKView namesOfPromisedFilesDroppedAtDestination:]): Move off a deprecated NSFileWrapper method. 23727 237282013-11-21 Anders Carlsson <andersca@apple.com> 23729 23730 Didn't mean to commit this. 23731 23732 * UIProcess/PageLoadState.h: 23733 237342013-11-21 Anders Carlsson <andersca@apple.com> 23735 23736 Move page title handling to the page load state 23737 https://bugs.webkit.org/show_bug.cgi?id=124748 23738 23739 Reviewed by Dan Bernstein. 23740 23741 * UIProcess/API/C/WKPage.cpp: 23742 (WKPageCopyTitle): 23743 * UIProcess/PageLoadState.cpp: 23744 (WebKit::PageLoadState::reset): 23745 (WebKit::PageLoadState::didCommitLoad): 23746 (WebKit::PageLoadState::title): 23747 (WebKit::PageLoadState::setTitle): 23748 * UIProcess/PageLoadState.h: 23749 * UIProcess/WebPageProxy.cpp: 23750 (WebKit::WebPageProxy::didReceiveTitleForFrame): 23751 * UIProcess/WebPageProxy.h: 23752 237532013-11-21 Daniel Bates <dabates@apple.com> 23754 23755 Remove unused functions from WebCore and WebKit2 23756 https://bugs.webkit.org/show_bug.cgi?id=124739 23757 23758 Reviewed by Alexey Proskuryakov. 23759 23760 Remove unused functions autoreleased({WKURLRequestRef, WKURLResponseRef}). 23761 23762 * UIProcess/API/mac/WKBrowsingContextController.mm: 23763 237642013-11-21 Csaba Osztrogonác <ossy@webkit.org> 23765 23766 Rename PlatformCertificateInfo to CertificateInfo 23767 https://bugs.webkit.org/show_bug.cgi?id=124150 23768 23769 Reviewed by Darin Adler. 23770 23771 * GNUmakefile.list.am: 23772 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 23773 (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse): 23774 * NetworkProcess/NetworkProcess.h: 23775 * NetworkProcess/NetworkProcess.messages.in: 23776 * NetworkProcess/NetworkResourceLoader.cpp: 23777 * NetworkProcess/mac/NetworkProcessMac.mm: 23778 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): 23779 * NetworkProcess/soup/NetworkProcessSoup.cpp: 23780 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): 23781 * PlatformEfl.cmake: 23782 * PlatformGTK.cmake: 23783 * Shared/API/c/mac/WKCertificateInfoMac.mm: 23784 (WKCertificateInfoCreateWithCertficateChain): 23785 (WKCertificateInfoGetCertificateChain): 23786 * Shared/Authentication/AuthenticationManager.cpp: 23787 (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): 23788 (WebKit::AuthenticationManager::useCredentialForChallenge): 23789 * Shared/Authentication/AuthenticationManager.h: 23790 * Shared/Authentication/AuthenticationManager.messages.in: 23791 * Shared/Authentication/mac/AuthenticationManager.mac.mm: 23792 (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): 23793 * Shared/UserMessageCoders.h: 23794 (WebKit::UserMessageEncoder::baseEncode): 23795 (WebKit::UserMessageDecoder::baseDecode): 23796 * Shared/WebCertificateInfo.h: 23797 (WebKit::WebCertificateInfo::create): 23798 (WebKit::WebCertificateInfo::certificateInfo): 23799 (WebKit::WebCertificateInfo::WebCertificateInfo): 23800 * Shared/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.h. 23801 (WebKit::CertificateInfo::certificateChain): 23802 * Shared/mac/CertificateInfo.mm: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm. 23803 (WebKit::CertificateInfo::CertificateInfo): 23804 (WebKit::CertificateInfo::encode): 23805 (WebKit::CertificateInfo::decode): 23806 (WebKit::CertificateInfo::dump): 23807 * Shared/mac/WebCoreArgumentCodersMac.mm: 23808 (CoreIPC::::encodePlatformData): 23809 (CoreIPC::::decodePlatformData): 23810 * Shared/soup/CertificateInfo.cpp: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp. 23811 (WebKit::CertificateInfo::CertificateInfo): 23812 (WebKit::CertificateInfo::~CertificateInfo): 23813 (WebKit::CertificateInfo::encode): 23814 (WebKit::CertificateInfo::decode): 23815 * Shared/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.h. 23816 (WebKit::CertificateInfo::certificate): 23817 (WebKit::CertificateInfo::tlsErrors): 23818 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 23819 (CoreIPC::::encodePlatformData): 23820 (CoreIPC::::decodePlatformData): 23821 * UIProcess/API/gtk/WebKitCertificateInfo.cpp: 23822 (webkitCertificateInfoGetCertificateInfo): 23823 * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: 23824 * UIProcess/API/gtk/WebKitWebView.cpp: 23825 (webkit_web_view_get_tls_info): 23826 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 23827 (WebKit::AuthenticationChallengeProxy::useCredential): 23828 * UIProcess/WebContext.cpp: 23829 (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): 23830 * UIProcess/WebFrameProxy.cpp: 23831 (WebKit::WebFrameProxy::didCommitLoad): 23832 * UIProcess/WebFrameProxy.h: 23833 * UIProcess/WebPageProxy.cpp: 23834 (WebKit::WebPageProxy::didCommitLoadForFrame): 23835 * UIProcess/WebPageProxy.h: 23836 * UIProcess/WebPageProxy.messages.in: 23837 * WebKit2.xcodeproj/project.pbxproj: 23838 * WebProcess/Network/WebResourceLoader.cpp: 23839 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): 23840 * WebProcess/Network/WebResourceLoader.h: 23841 * WebProcess/Network/WebResourceLoader.messages.in: 23842 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 23843 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 23844 * WebProcess/WebProcess.h: 23845 * WebProcess/WebProcess.messages.in: 23846 * WebProcess/soup/WebProcessSoup.cpp: 23847 (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): 23848 238492013-11-21 Sergio Correia <sergio.correia@openbossa.org> 23850 23851 [EFL][GTK][WK2] Build fix after r159641 23852 https://bugs.webkit.org/show_bug.cgi?id=124742 23853 23854 Reviewed by Csaba Osztrogonác. 23855 23856 Should fetch activeURL from page load state. 23857 23858 * UIProcess/API/gtk/WebKitWebView.cpp: 23859 (webkitWebViewUpdateURI): 23860 * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: 23861 (WebKit::WebInspectorServer::buildPageList): 23862 * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: 23863 (WebKit::WebInspectorServer::buildPageList): 23864 238652013-11-21 Anders Carlsson <andersca@apple.com> 23866 23867 Fetch all page loading related URLs from the page load state 23868 https://bugs.webkit.org/show_bug.cgi?id=124732 23869 23870 Reviewed by Dan Bernstein. 23871 23872 * UIProcess/API/C/WKPage.cpp: 23873 (WKPageCopyActiveURL): 23874 (WKPageCopyProvisionalURL): 23875 (WKPageCopyCommittedURL): 23876 * UIProcess/API/mac/WKBrowsingContextController.mm: 23877 (-[WKBrowsingContextController unreachableURL]): 23878 * UIProcess/PageLoadState.h: 23879 (WebKit::PageLoadState::provisionalURL): 23880 (WebKit::PageLoadState::url): 23881 (WebKit::PageLoadState::unreachableURL): 23882 * UIProcess/WebPageProxy.cpp: 23883 * UIProcess/WebPageProxy.h: 23884 238852013-11-20 Brady Eidson <beidson@apple.com> 23886 23887 Hook up WebProcess-side of getOrEstablishIDBDatabaseMetadata 23888 https://bugs.webkit.org/show_bug.cgi?id=124698 23889 23890 Reviewed by Anders Carlsson. 23891 23892 With this change the IDB API in WebKit2 using the DatabaseProcess finally does something observable: 23893 window.indexedDB.open() sends an error to Javascript. 23894 23895 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 23896 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Continue calling back to the 23897 WebProcess with dummy data, but include the request ID for reference. 23898 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 23899 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 23900 23901 Add a new class that wraps a completion callback function and gives it a unique integer identifier. 23902 It also allows for wrapping an abort callback function (in case a connection is lost, for example). 23903 It is templated to flexibly handle any callback function signature. 23904 * Shared/AsyncRequest.cpp: Added. 23905 (WebKit::generateRequestID): 23906 (WebKit::AsyncRequest::AsyncRequest): 23907 (WebKit::AsyncRequest::~AsyncRequest): 23908 (WebKit::AsyncRequest::setAbortHandler): 23909 (WebKit::AsyncRequest::requestAborted): 23910 (WebKit::AsyncRequest::clearAbortHandler): 23911 * Shared/AsyncRequest.h: Added. 23912 (WebKit::AsyncRequest::requestID): 23913 (WebKit::AsyncRequest::requestCompleted): 23914 23915 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 23916 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): Wrap the completion handler in an 23917 AsyncRequest and save off the request for later use. 23918 (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Send the results to the AsyncRequest. 23919 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 23920 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: 23921 23922 * WebKit2.xcodeproj/project.pbxproj: 23923 239242013-11-20 Anders Carlsson <andersca@apple.com> 23925 23926 Move activeURL getter to PageLoadState 23927 https://bugs.webkit.org/show_bug.cgi?id=124690 23928 23929 Reviewed by Tim Horton. 23930 23931 * UIProcess/PageLoadState.cpp: 23932 (WebKit::PageLoadState::activeURL): 23933 * UIProcess/PageLoadState.h: 23934 * UIProcess/WebPageProxy.cpp: 23935 (WebKit::WebPageProxy::activeURL): 23936 239372013-11-20 Simon Fraser <simon.fraser@apple.com> 23938 23939 Clean up WebKit2 initialization 23940 https://bugs.webkit.org/show_bug.cgi?id=124696 23941 23942 Reviewed by Sam Weinig. 23943 23944 Call InitializeWebKit2() everywhere we need to do one-time 23945 initialization in WebKit2, rather than having a hotch-potch 23946 of init code. 23947 23948 * Shared/APIObject.cpp: 23949 (API::Object::Object): 23950 * UIProcess/API/mac/WKView.mm: 23951 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 23952 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Removed an unused #include. 23953 * UIProcess/WebContext.cpp: 23954 (WebKit::WebContext::create): 23955 239562013-11-21 Dan Bernstein <mitz@apple.com> 23957 23958 Reverted r159603, as it appears to have caused Safari’s Web processes to crash on launch. 23959 23960 Requested by Sam Weinig. 23961 23962 * Scripts/webkit2/messages.py: 23963 (struct_or_class): 23964 * Shared/UserMessageCoders.h: 23965 (WebKit::UserMessageEncoder::baseEncode): 23966 * Shared/WebPageCreationParameters.cpp: 23967 (WebKit::WebPageCreationParameters::encode): 23968 (WebKit::WebPageCreationParameters::decode): 23969 * Shared/WebPageCreationParameters.h: 23970 * Shared/mac/ObjCObjectGraphCoders.h: 23971 * Shared/mac/ObjCObjectGraphCoders.mm: 23972 (WebKit::ObjCObjectGraphEncoder::baseEncode): 23973 (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl): 23974 (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): 23975 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): 23976 (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder): 23977 (WebKit::WebContextObjCObjectGraphEncoder::encode): 23978 * UIProcess/WebConnectionToWebProcess.cpp: 23979 (WebKit::WebConnectionToWebProcess::encodeMessageBody): 23980 * UIProcess/WebContext.cpp: 23981 (WebKit::WebContext::createNewWebProcess): 23982 (WebKit::WebContext::createWebPage): 23983 (WebKit::WebContext::postMessageToInjectedBundle): 23984 (WebKit::WebContext::didReceiveSyncMessage): 23985 * UIProcess/WebContextUserMessageCoders.h: 23986 (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder): 23987 (WebKit::WebContextUserMessageEncoder::encode): 23988 (WebKit::WebContextUserMessageDecoder::decode): 23989 * UIProcess/WebPageGroup.cpp: 23990 * UIProcess/WebPageGroup.h: 23991 (WebKit::WebPageGroup::sendToAllProcessesInGroup): 23992 * UIProcess/WebPageProxy.cpp: 23993 (WebKit::WebPageProxy::create): 23994 (WebKit::WebPageProxy::WebPageProxy): 23995 (WebKit::WebPageProxy::initializeWebPage): 23996 (WebKit::WebPageProxy::loadURL): 23997 (WebKit::WebPageProxy::loadURLRequest): 23998 (WebKit::WebPageProxy::loadFile): 23999 (WebKit::WebPageProxy::loadData): 24000 (WebKit::WebPageProxy::loadHTMLString): 24001 (WebKit::WebPageProxy::loadAlternateHTMLString): 24002 (WebKit::WebPageProxy::loadPlainTextString): 24003 (WebKit::WebPageProxy::loadWebArchiveData): 24004 (WebKit::WebPageProxy::postMessageToInjectedBundle): 24005 (WebKit::WebPageProxy::initializeCreationParameters): 24006 * UIProcess/WebPageProxy.h: 24007 * UIProcess/WebProcessProxy.cpp: 24008 (WebKit::WebProcessProxy::disconnect): 24009 (WebKit::WebProcessProxy::createWebPage): 24010 * UIProcess/WebProcessProxy.h: 24011 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 24012 (WebKit::InjectedBundleUserMessageEncoder::encode): 24013 (WebKit::InjectedBundleUserMessageDecoder::decode): 24014 * WebProcess/WebPage/WebPage.cpp: 24015 (WebKit::WebPage::WebPage): 24016 * WebProcess/WebProcess.cpp: 24017 (WebKit::WebProcess::webPageGroup): 24018 * WebProcess/WebProcess.h: 24019 * WebProcess/WebProcess.messages.in: 24020 240212013-11-20 Brady Eidson <beidson@apple.com> 24022 24023 Add more infrastructure for ServerConnection communication between Web and Database processes 24024 https://bugs.webkit.org/show_bug.cgi?id=124693 24025 24026 Reviewed by Anders Carlsson. 24027 24028 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 24029 (WebKit::DatabaseToWebProcessConnection::establishIDBConnection): 24030 (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Added for WebProcess to be able 24031 to invalidate the DatabaseProcess side of a server connection. 24032 * DatabaseProcess/DatabaseToWebProcessConnection.h: 24033 * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: 24034 24035 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 24036 (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection): 24037 (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Added for future cleanup. 24038 (WebKit::DatabaseProcessIDBConnection::establishConnection): 24039 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Callback to the WebProcess, even if 24040 it is just dummy data for now. 24041 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 24042 (WebKit::DatabaseProcessIDBConnection::create): 24043 24044 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 24045 (WebKit::WebIDBServerConnection::create): Register the new object with the WebToDatabaseProcessConnection. 24046 (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Remove from the WebToDatabaseProcessConnection. 24047 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): 24048 (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Callback from the DatabaseProcess, 24049 a no-op for now. 24050 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 24051 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Copied from Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in. 24052 24053 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 24054 (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): 24055 (WebKit::WebToDatabaseProcessConnection::didClose): 24056 (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Hold a collection of all 24057 server connections for messaging. 24058 (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Remove a connection from the collection, 24059 and also message the DatabaseProcess that it’s gone away. 24060 * WebProcess/Databases/WebToDatabaseProcessConnection.h: 24061 24062 Project files, etc etc: 24063 * DerivedSources.make: 24064 * Scripts/webkit2/messages.py: 24065 (struct_or_class): 24066 * WebKit2.xcodeproj/project.pbxproj: 24067 240682013-11-18 Sam Weinig <sam@webkit.org> 24069 24070 WebPageGroup's should keep track of what processes they are being used by 24071 https://bugs.webkit.org/show_bug.cgi?id=124556 24072 24073 Reviewed by Dan Bernstein. 24074 24075 * Scripts/webkit2/messages.py: 24076 (struct_or_class): 24077 Mark WebPageGroupData as a struct. 24078 24079 * Shared/UserMessageCoders.h: 24080 * Shared/mac/ObjCObjectGraphCoders.h: 24081 * Shared/mac/ObjCObjectGraphCoders.mm: 24082 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 24083 * UIProcess/WebConnectionToWebProcess.cpp: 24084 * UIProcess/WebContext.cpp: 24085 * UIProcess/WebContextUserMessageCoders.h: 24086 * UIProcess/WebPageProxy.cpp: 24087 * UIProcess/WebPageProxy.h: 24088 Pass the WebProcess/WebProcessProxy to both encode and decode. 24089 24090 * Shared/WebPageCreationParameters.h: 24091 Pass the page group by ID when creating a page, as it will have had its own 24092 creation message sent already. 24093 24094 * UIProcess/WebPageGroup.cpp: 24095 * UIProcess/WebPageGroup.h: 24096 Keep track of processes. 24097 24098 * UIProcess/WebProcessProxy.cpp: 24099 * UIProcess/WebProcessProxy.h: 24100 Keep track of the page groups used by the process. 24101 24102 * WebProcess/WebPage/WebPage.cpp: 24103 Get the already created page group on creation. 24104 24105 * WebProcess/WebProcess.cpp: 24106 * WebProcess/WebProcess.h: 24107 * WebProcess/WebProcess.messages.in: 24108 Explicitly create page groups in the WebProcess. 24109 241102013-11-20 Brady Eidson <beidson@apple.com> 24111 24112 IDB related cleanup in WebKit2 24113 https://bugs.webkit.org/show_bug.cgi?id=124691 24114 24115 Reviewed by Enrica Casucci. 24116 24117 - WebIDBServerConnection.cpp should use the WebCore namespace and get rid of "WebCore::" throughout 24118 - "backendIndentifier" should be renamed to "serverConnectionIdentifier" throughout 24119 24120 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 24121 (WebKit::DatabaseToWebProcessConnection::establishIDBConnection): 24122 * DatabaseProcess/DatabaseToWebProcessConnection.h: 24123 * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: 24124 24125 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 24126 (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection): 24127 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 24128 (WebKit::DatabaseProcessIDBConnection::create): 24129 24130 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 24131 (WebKit::generateServerConnectionIdentifier): 24132 (WebKit::WebIDBServerConnection::WebIDBServerConnection): 24133 (WebKit::WebIDBServerConnection::openTransaction): 24134 (WebKit::WebIDBServerConnection::setIndexKeys): 24135 (WebKit::WebIDBServerConnection::createObjectStore): 24136 (WebKit::WebIDBServerConnection::createIndex): 24137 (WebKit::WebIDBServerConnection::deleteIndex): 24138 (WebKit::WebIDBServerConnection::get): 24139 (WebKit::WebIDBServerConnection::put): 24140 (WebKit::WebIDBServerConnection::openCursor): 24141 (WebKit::WebIDBServerConnection::count): 24142 (WebKit::WebIDBServerConnection::deleteRange): 24143 (WebKit::WebIDBServerConnection::clearObjectStore): 24144 (WebKit::WebIDBServerConnection::deleteObjectStore): 24145 (WebKit::WebIDBServerConnection::changeDatabaseVersion): 24146 (WebKit::WebIDBServerConnection::cursorAdvance): 24147 (WebKit::WebIDBServerConnection::cursorIterate): 24148 (WebKit::WebIDBServerConnection::cursorPrefetchIteration): 24149 (WebKit::WebIDBServerConnection::cursorPrefetchReset): 24150 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 24151 241522013-11-20 Brady Eidson <beidson@apple.com> 24153 24154 Add argument coders for IDBDatabaseMetadata classes 24155 https://bugs.webkit.org/show_bug.cgi?id=124689 24156 24157 Reviewed by Anders Carlsson. 24158 24159 Add coders for: 24160 - IDBDatabaseMetadata 24161 - IDBIndexMetadata 24162 - IDBKeyPath 24163 - IDBObjectStoreMetadata 24164 24165 * Shared/WebCoreArgumentCoders.cpp: 24166 (CoreIPC::::encode): 24167 (CoreIPC::::decode): 24168 * Shared/WebCoreArgumentCoders.h: 24169 241702013-11-20 Anders Carlsson <andersca@apple.com> 24171 24172 Enable PageLoadTest assertions again 24173 https://bugs.webkit.org/show_bug.cgi?id=124681 24174 24175 Reviewed by Tim Horton. 24176 24177 Remove an overzealous assertion and re-enable assertions in PageLoadState again. 24178 24179 * UIProcess/PageLoadState.cpp: 24180 (WebKit::PageLoadState::didCommitLoad): 24181 Remove assertion - it's fine for a page to have a null URL. 24182 24183 (WebKit::PageLoadState::didFinishLoad): 24184 Ditto. 24185 24186 (WebKit::PageLoadState::didFailLoad): 24187 Update the state. 24188 241892013-11-20 Anders Carlsson <andersca@apple.com> 24190 24191 PageLoadState should keep track of unreachable URLs 24192 https://bugs.webkit.org/show_bug.cgi?id=124677 24193 24194 Reviewed by Dan Bernstein. 24195 24196 * UIProcess/PageLoadState.cpp: 24197 (WebKit::PageLoadState::reset): 24198 (WebKit::PageLoadState::didStartProvisionalLoad): 24199 (WebKit::PageLoadState::didFailProvisionalLoad): 24200 (WebKit::PageLoadState::setUnreachableURL): 24201 * UIProcess/PageLoadState.h: 24202 * UIProcess/WebPageProxy.cpp: 24203 (WebKit::WebPageProxy::loadAlternateHTMLString): 24204 242052013-11-20 Tim Horton <timothy_horton@apple.com> 24206 24207 Remote Layer Tree: 100% repro crasher on the IPC thread when creating lots of layers 24208 https://bugs.webkit.org/show_bug.cgi?id=124643 24209 24210 Reviewed by Anders Carlsson. 24211 24212 * Platform/CoreIPC/mac/ConnectionMac.cpp: 24213 (CoreIPC::Connection::sendOutgoingMessage): 24214 Dynamically allocate storage for the message if needed. 24215 242162013-11-20 Tim Horton <timothy_horton@apple.com> 24217 24218 machMessageSize uses sizeof(mach_msg_ool_ports_descriptor_t) for out-of-line *memory* 24219 https://bugs.webkit.org/show_bug.cgi?id=124644 24220 24221 Reviewed by Anders Carlsson. 24222 24223 * Platform/CoreIPC/mac/ConnectionMac.cpp: 24224 (CoreIPC::machMessageSize): 24225 mach_msg_ool_descriptor_t is the correct type, given that 24226 out-of-line memory descriptors use the mach_msg_ool_descriptor_t 24227 member of the mach_msg_descriptor_t union. 24228 242292013-11-20 Brady Eidson <beidson@apple.com> 24230 24231 Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2 24232 https://bugs.webkit.org/show_bug.cgi?id=124635 24233 24234 Reviewed by Tim Horton. 24235 24236 Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess. 24237 24238 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: 24239 (WebKit::DatabaseProcessIDBConnection::establishConnection): 24240 (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): 24241 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: 24242 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: 24243 24244 * Shared/SecurityOriginData.cpp: 24245 (WebKit::SecurityOriginData::fromSecurityOrigin): 24246 * Shared/SecurityOriginData.h: 24247 24248 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: 24249 (WebKit::WebIDBServerConnection::WebIDBServerConnection): 24250 (WebKit::WebIDBServerConnection::deleteDatabase): 24251 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): 24252 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: 24253 242542013-11-20 Carlos Garcia Campos <cgarcia@igalia.com> 24255 24256 [GTK] Do not use deprecated callbacks in WebKitPolicyClient 24257 https://bugs.webkit.org/show_bug.cgi?id=124648 24258 24259 Reviewed by Philippe Normand. 24260 24261 Fixes compile warnings for uninitialized callbacks. 24262 24263 * UIProcess/API/gtk/WebKitPolicyClient.cpp: 24264 (decidePolicyForNavigationAction): Add originatingFrame parameter. 24265 (decidePolicyForNewWindowAction): Renamed for consistency. 24266 (decidePolicyForResponse): Add canShowMIMEType parameter. 24267 (attachPolicyClientToView): Add new callbacks. 24268 242692013-11-19 Ryosuke Niwa <rniwa@webkit.org> 24270 24271 Enable HTMLTemplateElement on Mac port 24272 https://bugs.webkit.org/show_bug.cgi?id=124637 24273 24274 Reviewed by Tim Horton. 24275 24276 * Configurations/FeatureDefines.xcconfig: 24277 242782013-11-19 Brady Eidson <beidson@apple.com> 24279 24280 Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs 24281 https://bugs.webkit.org/show_bug.cgi?id=124562 24282 24283 Reviewed by Alexey Proskuryakov. 24284 24285 Also remove Web/DatabaseProcessDatabaseBackend stubs, as that is no longer the abstraction layer. 24286 24287 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 24288 (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): 24289 (WebKit::DatabaseToWebProcessConnection::establishIDBConnection): 24290 * DatabaseProcess/DatabaseToWebProcessConnection.h: 24291 * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: 24292 24293 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp. 24294 (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection): 24295 (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection): 24296 (WebKit::DatabaseProcessIDBConnection::establishConnection): 24297 (WebKit::DatabaseProcessIDBConnection::messageSenderConnection): 24298 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h. 24299 (WebKit::DatabaseProcessIDBConnection::create): 24300 * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in. 24301 24302 * Shared/Databases/IndexedDB/IDBUtilities.cpp: 24303 (WebKit::uniqueDatabaseIdentifier): Modified to take two security origin arguments. 24304 * Shared/Databases/IndexedDB/IDBUtilities.h: 24305 24306 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 24307 (WebKit::WebIDBFactoryBackend::open): 24308 24309 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Added. Stubbed out all the pure virtual methods. 24310 (WebKit::generateBackendIdentifier): 24311 (WebKit::WebIDBServerConnection::WebIDBServerConnection): 24312 (WebKit::WebIDBServerConnection::~WebIDBServerConnection): 24313 (WebKit::WebIDBServerConnection::isClosed): 24314 (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): 24315 (WebKit::WebIDBServerConnection::deleteDatabase): 24316 (WebKit::WebIDBServerConnection::close): 24317 (WebKit::WebIDBServerConnection::openTransaction): 24318 (WebKit::WebIDBServerConnection::beginTransaction): 24319 (WebKit::WebIDBServerConnection::commitTransaction): 24320 (WebKit::WebIDBServerConnection::resetTransaction): 24321 (WebKit::WebIDBServerConnection::rollbackTransaction): 24322 (WebKit::WebIDBServerConnection::setIndexKeys): 24323 (WebKit::WebIDBServerConnection::createObjectStore): 24324 (WebKit::WebIDBServerConnection::createIndex): 24325 (WebKit::WebIDBServerConnection::deleteIndex): 24326 (WebKit::WebIDBServerConnection::get): 24327 (WebKit::WebIDBServerConnection::put): 24328 (WebKit::WebIDBServerConnection::openCursor): 24329 (WebKit::WebIDBServerConnection::count): 24330 (WebKit::WebIDBServerConnection::deleteRange): 24331 (WebKit::WebIDBServerConnection::clearObjectStore): 24332 (WebKit::WebIDBServerConnection::deleteObjectStore): 24333 (WebKit::WebIDBServerConnection::changeDatabaseVersion): 24334 (WebKit::WebIDBServerConnection::cursorAdvance): 24335 (WebKit::WebIDBServerConnection::cursorIterate): 24336 (WebKit::WebIDBServerConnection::cursorPrefetchIteration): 24337 (WebKit::WebIDBServerConnection::cursorPrefetchReset): 24338 (WebKit::WebIDBServerConnection::messageSenderConnection): 24339 * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Added. 24340 24341 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Removed. 24342 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Removed. 24343 24344 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 24345 24346 * DerivedSources.make: 24347 * WebKit2.xcodeproj/project.pbxproj: 24348 243492013-11-19 Michał Pakuła vel Rutka <m.pakula@samsung.com> 24350 24351 Unreviewed EFL and GTK build fix attempt after r159507 24352 24353 * CMakeLists.txt: Changed Platform/CoreIPC/DataReference.cpp to Platform/IPC/DataReference.cpp 24354 * GNUmakefile.list.am: Ditto 24355 243562013-11-19 Anders Carlsson <andersca@apple.com> 24357 24358 Move DataReference to Platform/IPC. 24359 24360 * Platform/IPC/DataReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.cpp. 24361 * Platform/IPC/DataReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.h. 24362 * WebKit2.xcodeproj/project.pbxproj: 24363 243642013-11-19 Anders Carlsson <andersca@apple.com> 24365 24366 Add and call PageLoadState::reset 24367 https://bugs.webkit.org/show_bug.cgi?id=124591 24368 24369 Reviewed by Dan Bernstein. 24370 24371 * UIProcess/PageLoadState.cpp: 24372 (WebKit::PageLoadState::reset): 24373 * UIProcess/PageLoadState.h: 24374 * UIProcess/WebPageProxy.cpp: 24375 (WebKit::WebPageProxy::processDidCrash): 24376 243772013-11-18 Ryuan Choi <ryuan.choi@samsung.com> 24378 24379 [EFL] Initialize efreet before getting directories 24380 https://bugs.webkit.org/show_bug.cgi?id=124560 24381 24382 Reviewed by Gyuyoung Kim. 24383 24384 efreet is used to get several directories including home dierectory since 24385 r123731, but it does not call efreet_init/efreet_shutdown explicitly. 24386 24387 * UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly. 24388 (ewk_init): 24389 (ewk_shutdown): 24390 243912013-11-18 Mark Rowe <mrowe@apple.com> 24392 24393 Use hw.activecpu for determining how many processes to spawn. 24394 24395 It's documented as the preferred way to determine the number of threads 24396 or processes to create in a SMP aware application. 24397 24398 Rubber-stamped by Tim Horton. 24399 24400 * WebKit2.xcodeproj/project.pbxproj: 24401 244022013-11-18 Anders Carlsson <andersca@apple.com> 24403 24404 Let's try this again. 24405 24406 * UIProcess/PageLoadState.cpp: 24407 244082013-11-18 Anders Carlsson <andersca@apple.com> 24409 24410 Disable assertions in PageLoadState.cpp for now. 24411 24412 * UIProcess/PageLoadState.cpp: 24413 244142013-11-18 Anders Carlsson <andersca@apple.com> 24415 24416 TestWebKitAPI crashes when running under GuardMalloc 24417 https://bugs.webkit.org/show_bug.cgi?id=124546 24418 24419 Reviewed by Tim Horton. 24420 24421 * UIProcess/Downloads/DownloadProxyMap.cpp: 24422 (WebKit::DownloadProxyMap::downloadFinished): 24423 Grab the download ID before removing the DownloadProxy from the map. 24424 244252013-11-18 Ryuan Choi <ryuan.choi@samsung.com> 24426 24427 Unreviewed build fix attempt on GTK and EFL port after r159461 24428 24429 * CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp 24430 * GNUmakefile.list.am: Ditto. 24431 244322013-11-18 Anders Carlsson <andersca@apple.com> 24433 24434 Rename WebNavigationData to API::NavigationData 24435 https://bugs.webkit.org/show_bug.cgi?id=124542 24436 24437 Reviewed by Dan Bernstein. 24438 24439 * UIProcess/API/C/WKAPICast.h: 24440 * UIProcess/API/C/WKNavigationDataRef.cpp: 24441 (WKNavigationDataGetTypeID): 24442 * UIProcess/API/Cocoa/WKNavigationData.mm: 24443 (-[WKNavigationData dealloc]): 24444 (-[WKNavigationData title]): 24445 (-[WKNavigationData originalRequest]): 24446 (-[WKNavigationData destinationURL]): 24447 (-[WKNavigationData response]): 24448 * UIProcess/API/Cocoa/WKNavigationDataInternal.h: 24449 (WebKit::wrapper): 24450 * UIProcess/API/mac/WKProcessGroup.mm: 24451 * UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp. 24452 (API::NavigationData::NavigationData): 24453 (API::NavigationData::~NavigationData): 24454 * UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h. 24455 (API::NavigationData::create): 24456 (API::NavigationData::title): 24457 (API::NavigationData::url): 24458 (API::NavigationData::originalRequest): 24459 (API::NavigationData::response): 24460 * UIProcess/WebHistoryClient.cpp: 24461 (WebKit::WebHistoryClient::didNavigateWithNavigationData): 24462 * WebKit2.xcodeproj/project.pbxproj: 24463 244642013-11-18 David Hyatt <hyatt@apple.com> 24465 24466 Add a quirk to not respect center text-align when positioning 24467 24468 <rdar://problem/15427571> 24469 https://bugs.webkit.org/show_bug.cgi?id=124522 24470 24471 Reviewed by Simon Fraser. 24472 24473 Added fast/block/legacy-text-align-position-quirk.html 24474 24475 * Shared/WebPreferencesStore.h: 24476 * UIProcess/API/C/WKPreferences.cpp: 24477 (WKPreferencesUseLegacyTextAlignPositionedElementBehavior): 24478 (WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior): 24479 * UIProcess/API/C/WKPreferencesPrivate.h: 24480 * WebProcess/WebPage/WebPage.cpp: 24481 (WebKit::WebPage::updatePreferences): 24482 244832013-11-18 Anders Carlsson <andersca@apple.com> 24484 24485 Add State to PageLoadState 24486 https://bugs.webkit.org/show_bug.cgi?id=124538 24487 24488 Reviewed by Tim Horton. 24489 24490 * UIProcess/PageLoadState.cpp: 24491 (WebKit::PageLoadState::PageLoadState): 24492 (WebKit::PageLoadState::didStartProvisionalLoad): 24493 (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): 24494 (WebKit::PageLoadState::didFailProvisionalLoad): 24495 (WebKit::PageLoadState::didCommitLoad): 24496 (WebKit::PageLoadState::didFinishLoad): 24497 (WebKit::PageLoadState::didSameDocumentNavigation): 24498 * UIProcess/PageLoadState.h: 24499 245002013-11-18 Anders Carlsson <andersca@apple.com> 24501 24502 The PageLoadState object should keep track of the current URL 24503 https://bugs.webkit.org/show_bug.cgi?id=124536 24504 24505 Reviewed by Dan Bernstein. 24506 24507 * UIProcess/PageLoadState.cpp: 24508 (WebKit::PageLoadState::didCommitLoad): 24509 (WebKit::PageLoadState::didFinishLoad): 24510 (WebKit::PageLoadState::didFailLoad): 24511 (WebKit::PageLoadState::didSameDocumentNavigation): 24512 * UIProcess/PageLoadState.h: 24513 * UIProcess/WebPageProxy.cpp: 24514 (WebKit::WebPageProxy::didFinishLoadForFrame): 24515 (WebKit::WebPageProxy::didFailLoadForFrame): 24516 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 24517 245182013-11-18 Csaba Osztrogonác <ossy@webkit.org> 24519 24520 URTBF after r159444. 24521 24522 * GNUmakefile.list.am: 24523 245242013-11-18 Anders Carlsson <andersca@apple.com> 24525 24526 PageLoadState should keep track of the provisional URL 24527 https://bugs.webkit.org/show_bug.cgi?id=124535 24528 24529 Reviewed by Dan Bernstein. 24530 24531 * UIProcess/PageLoadState.cpp: 24532 (WebKit::PageLoadState::didStartProvisionalLoad): 24533 (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): 24534 (WebKit::PageLoadState::didCommitLoad): 24535 * UIProcess/PageLoadState.h: 24536 * UIProcess/WebPageProxy.cpp: 24537 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 24538 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 24539 (WebKit::WebPageProxy::didCommitLoadForFrame): 24540 245412013-11-18 Anders Carlsson <andersca@apple.com> 24542 24543 Move m_pendingAPIRequestURL to PageLoadState 24544 https://bugs.webkit.org/show_bug.cgi?id=124531 24545 24546 Reviewed by Tim Horton. 24547 24548 * UIProcess/API/C/WKPage.cpp: 24549 (WKPageCopyPendingAPIRequestURL): 24550 * UIProcess/PageLoadState.cpp: 24551 (WebKit::PageLoadState::pendingAPIRequestURL): 24552 (WebKit::PageLoadState::setPendingAPIRequestURL): 24553 (WebKit::PageLoadState::clearPendingAPIRequestURL): 24554 * UIProcess/PageLoadState.h: 24555 * UIProcess/WebPageProxy.cpp: 24556 (WebKit::WebPageProxy::loadURL): 24557 (WebKit::WebPageProxy::loadURLRequest): 24558 (WebKit::WebPageProxy::reload): 24559 (WebKit::WebPageProxy::goForward): 24560 (WebKit::WebPageProxy::goBack): 24561 (WebKit::WebPageProxy::goToBackForwardItem): 24562 (WebKit::WebPageProxy::activeURL): 24563 (WebKit::WebPageProxy::receivedPolicyDecision): 24564 (WebKit::WebPageProxy::estimatedProgress): 24565 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 24566 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 24567 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 24568 * UIProcess/WebPageProxy.h: 24569 (WebKit::WebPageProxy::pageLoadState): 24570 * UIProcess/cf/WebPageProxyCF.cpp: 24571 (WebKit::WebPageProxy::sessionStateData): 24572 (WebKit::WebPageProxy::restoreFromSessionStateData): 24573 245742013-11-18 Michał Pakuła vel Rutka <m.pakula@samsung.com> 24575 24576 Unreviewed EFL build fix after r159444 24577 24578 * CMakeLists.txt: Added PageLoadState.cpp. 24579 245802013-11-18 Anders Carlsson <andersca@apple.com> 24581 24582 Add PageLoadState class 24583 https://bugs.webkit.org/show_bug.cgi?id=124528 24584 24585 Reviewed by Dan Bernstein. 24586 24587 Trying to use the main frame load state as the page load state was a bad idea, 24588 add a new PageLoadState and use it instead. Ultimately the long term plan is to 24589 transition away from FrameLoadState entirely. 24590 24591 * UIProcess/PageLoadState.cpp: Added. 24592 (WebKit::PageLoadState::PageLoadState): 24593 (WebKit::PageLoadState::~PageLoadState): 24594 (WebKit::PageLoadState::didStartProvisionalLoad): 24595 * UIProcess/PageLoadState.h: Added. 24596 * UIProcess/WebPageProxy.cpp: 24597 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 24598 * UIProcess/WebPageProxy.h: 24599 * WebKit2.xcodeproj/project.pbxproj: 24600 246012013-11-14 David Farler <dfarler@apple.com> 24602 24603 [ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code 24604 https://bugs.webkit.org/show_bug.cgi?id=124367 24605 24606 Reviewed by Alexey Proskuryakov. 24607 24608 * Shared/Downloads/DownloadAuthenticationClient.cpp: 24609 (WebKit::DownloadAuthenticationClient::receivedCredential): 24610 (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential): 24611 (WebKit::DownloadAuthenticationClient::receivedCancellation): 24612 Remove calls to nowhere: 24613 WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&) 24614 WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&) 24615 WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&) 24616 246172013-11-18 Anders Carlsson <andersca@apple.com> 24618 24619 Use a strong enum for frame load states 24620 https://bugs.webkit.org/show_bug.cgi?id=124524 24621 24622 Reviewed by Dan Bernstein. 24623 24624 * UIProcess/API/C/WKFrame.cpp: 24625 (WKFrameGetFrameLoadState): 24626 * UIProcess/FrameLoadState.cpp: 24627 (WebKit::FrameLoadState::FrameLoadState): 24628 (WebKit::FrameLoadState::didStartProvisionalLoad): 24629 (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad): 24630 (WebKit::FrameLoadState::didFailProvisionalLoad): 24631 (WebKit::FrameLoadState::didCommitLoad): 24632 (WebKit::FrameLoadState::didFinishLoad): 24633 (WebKit::FrameLoadState::didFailLoad): 24634 * UIProcess/FrameLoadState.h: 24635 * UIProcess/WebFrameProxy.h: 24636 * UIProcess/WebPageProxy.cpp: 24637 (WebKit::WebPageProxy::WebPageProxy): 24638 (WebKit::WebPageProxy::activeURL): 24639 (WebKit::WebPageProxy::resetStateAfterProcessExited): 24640 * UIProcess/WebPageProxy.h: 24641 (WebKit::WebPageProxy::loadStateAtProcessExit): 24642 246432013-11-18 Anders Carlsson <andersca@apple.com> 24644 24645 Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code 24646 https://bugs.webkit.org/show_bug.cgi?id=124523 24647 24648 Reviewed by Dan Bernstein. 24649 24650 * PluginProcess/mac/PluginProcessMac.mm: 24651 (WebKit::beginModal): 24652 * PluginProcess/mac/PluginProcessShim.mm: 24653 * Shared/Plugins/Netscape/NetscapePluginModule.cpp: 24654 (WebKit::NetscapePluginModule::tryLoad): 24655 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: 24656 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 24657 (WebKit::PluginProcessProxy::getPluginProcessSerialNumber): 24658 (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess): 24659 (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess): 24660 (WebKit::PluginProcessProxy::exitFullscreen): 24661 246622013-11-18 Ryuan Choi <ryuan.choi@samsung.com> 24663 24664 [EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake 24665 https://bugs.webkit.org/show_bug.cgi?id=124478 24666 24667 Reviewed by Gyuyoung Kim. 24668 24669 EWebKit is built using CMake but applications use *.pc to use it. 24670 This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake 24671 for applications which use EWebkit and is compiled by CMake. 24672 24673 * PlatformEfl.cmake: 24674 Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake 24675 * efl/EWebKit2Config.cmake.in: Added. 24676 * efl/EWebKit2ConfigVersion.cmake.in: Added. 24677 246782013-11-18 Eunmi Lee <eunmi15.lee@samsung.com> 24679 24680 [EFL][WK2] Process single tap using mouse move, down and up event. 24681 https://bugs.webkit.org/show_bug.cgi?id=106864 24682 24683 Reviewed by Christophe Dumez. 24684 24685 Send mouse events to the web process to perform the clicking when 24686 single tap gesture is recognized. 24687 Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent() 24688 and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL 24689 API implementation. 24690 24691 * UIProcess/API/C/efl/WKViewEfl.cpp: 24692 (WKViewSendMouseDownEvent): 24693 (WKViewSendMouseUpEvent): 24694 (WKViewSendMouseMoveEvent): 24695 * UIProcess/API/C/efl/WKViewEfl.h: 24696 * UIProcess/API/efl/GestureRecognizer.cpp: 24697 (WebKit::GestureHandler::handleSingleTap): 24698 * UIProcess/efl/WebViewEfl.cpp: 24699 (WebKit::WebViewEfl::sendMouseEvent): 24700 * UIProcess/efl/WebViewEfl.h: 24701 247022013-11-17 Dan Bernstein <mitz@apple.com> 24703 24704 Try to fix the EFL build. 24705 24706 * UIProcess/efl/PagePolicyClientEfl.cpp: 24707 (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call 24708 WKFrameCanShowMIMEType now that this information is passed in as a parameter. 24709 247102013-11-16 Dan Bernstein <mitz@apple.com> 24711 24712 No way for policy client to determine if a the response’s MIME type can be shown 24713 https://bugs.webkit.org/show_bug.cgi?id=124445 24714 24715 Reviewed by Sam Weinig. 24716 24717 * Platform/CoreIPC/HandleMessage.h: 24718 (CoreIPC::callMemberFunction): Added a fifth message parameter to this template. 24719 24720 * UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to 24721 WKPageDecidePolicyForResponseCallback and deprecated the old version. 24722 24723 * UIProcess/API/mac/WKBrowsingContextController.mm: 24724 (setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key 24725 in the action information dictionary. 24726 * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared 24727 WKActionCanShowMIMETypeKey. 24728 24729 * UIProcess/WebInspectorProxy.cpp: 24730 (WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client. 24731 24732 * UIProcess/WebPageProxy.cpp: 24733 (WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is 24734 passed to the policy client. 24735 (WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which 24736 is passed to the above function. 24737 * UIProcess/WebPageProxy.h: 24738 * UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to 24739 DecidePolicyForResponseSync. 24740 24741 * UIProcess/WebPolicyClient.cpp: 24742 (WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which 24743 is passed to the client callback. 24744 * UIProcess/WebPolicyClient.h: 24745 24746 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24747 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response 24748 MIME type can be shown and pass this information along in the message to the UI process. 24749 247502013-11-15 Ryuan Choi <ryuan.choi@samsung.com> 24751 24752 Unreviewed EFL build fix after r159358. 24753 24754 * UIProcess/efl/PagePolicyClientEfl.cpp: 24755 (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction): 24756 * UIProcess/efl/PagePolicyClientEfl.h: 24757 247582013-11-15 Brady Eidson <beidson@apple.com> 24759 24760 Let IDBDatabaseBackend create IDBTransactionBackend's directly 24761 https://bugs.webkit.org/show_bug.cgi?id=124438 24762 24763 Reviewed by Beth Dakin. 24764 24765 Remove maybeCreateTransactionBackend(): 24766 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 24767 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 24768 247692013-11-15 Brady Eidson <beidson@apple.com> 24770 24771 Remove last vestiges of IDBBackingStore* from IDBTransactionBackend. 24772 https://bugs.webkit.org/show_bug.cgi?id=124436 24773 24774 Reviewed by Tim Horton. 24775 24776 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend. 24777 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 24778 247792013-11-15 Dan Bernstein <mitz@apple.com> 24780 24781 Give the policy client the originating frame of a navigation action 24782 https://bugs.webkit.org/show_bug.cgi?id=124431 24783 24784 Reviewed by Anders Carlsson. 24785 24786 * Platform/CoreIPC/HandleMessage.h: 24787 (CoreIPC::callMemberFunction): Added a seventh message parameter to this template. 24788 24789 * Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two 24790 versions. 24791 * Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>. 24792 24793 * UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to 24794 WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the 24795 policy client version to 1. 24796 24797 * UIProcess/API/mac/WKBrowsingContextController.mm: 24798 (setUpPagePolicyClient): Include the originating frame’s URL under a new key in the 24799 action information dictionary. 24800 * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared 24801 WKActionOriginatingFrameURLKey. 24802 24803 * UIProcess/WebInspectorProxy.cpp: 24804 (WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter. 24805 (WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy 24806 client interface. 24807 24808 * UIProcess/WebPageProxy.cpp: 24809 (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter 24810 and passing the originating frame to the policy client. 24811 * UIProcess/WebPageProxy.h: 24812 * UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to 24813 DecidePolicyForNavigationAction. 24814 24815 * UIProcess/WebPolicyClient.cpp: 24816 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Added originatingFrame 24817 parameter, which is passed to the client callback. 24818 * UIProcess/WebPolicyClient.h: 24819 24820 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 24821 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the 24822 originating frame for link activation and form submission actions and send its ID in the 24823 DecidePolicyForNavigationAction message. 24824 248252013-11-15 Brady Eidson <beidson@apple.com> 24826 24827 Move execution of IDBTransactionBackendOperations to the IDBServerConnection 24828 https://bugs.webkit.org/show_bug.cgi?id=124385 24829 24830 Reviewed by Tim Horton. 24831 24832 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 24833 248342013-11-15 Peter Molnar <pmolnar.u-szeged@partner.samsung.com> 24835 24836 Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp 24837 https://bugs.webkit.org/show_bug.cgi?id=124398 24838 24839 Reviewed by Brady Eidson. 24840 24841 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 24842 248432013-11-15 Tibor Meszaros <mtibor@inf.u-szeged.hu> 24844 24845 Cleanup the build from unused parameters in WebKit2 24846 https://bugs.webkit.org/show_bug.cgi?id=124201 24847 24848 Reviewed by Darin Adler. 24849 24850 * Shared/Plugins/Netscape/PluginInformation.cpp: 24851 (WebKit::getPluginModuleInformation): 24852 * UIProcess/API/C/WKBatteryManager.cpp: 24853 (WKBatteryManagerSetProvider): 24854 (WKBatteryManagerProviderDidChangeBatteryStatus): 24855 (WKBatteryManagerProviderUpdateBatteryStatus): 24856 * UIProcess/API/C/WKBatteryStatus.cpp: 24857 (WKBatteryStatusCreate): 24858 * UIProcess/API/C/WKColorPickerResultListener.cpp: 24859 (WKColorPickerResultListenerSetColor): 24860 * UIProcess/API/C/WKContext.cpp: 24861 (WKContextGetBatteryManager): 24862 (WKContextGetDatabaseManager): 24863 (WKContextGetNetworkInfoManager): 24864 * UIProcess/API/C/WKDatabaseManager.cpp: 24865 (WKDatabaseManagerSetClient): 24866 (WKDatabaseManagerGetDatabasesByOrigin): 24867 (WKDatabaseManagerGetDatabaseOrigins): 24868 (WKDatabaseManagerDeleteDatabasesWithNameForOrigin): 24869 (WKDatabaseManagerDeleteDatabasesForOrigin): 24870 (WKDatabaseManagerDeleteAllDatabases): 24871 (WKDatabaseManagerSetQuotaForOrigin): 24872 * UIProcess/API/C/WKNetworkInfo.cpp: 24873 (WKNetworkInfoCreate): 24874 * UIProcess/API/C/WKNetworkInfoManager.cpp: 24875 (WKNetworkInfoManagerSetProvider): 24876 (WKNetworkInfoManagerProviderDidChangeNetworkInformation): 24877 * UIProcess/API/C/WKOpenPanelParameters.cpp: 24878 (WKOpenPanelParametersCopyCapture): 24879 * UIProcess/API/C/WKVibration.cpp: 24880 (WKVibrationSetProvider): 24881 * UIProcess/API/efl/EwkView.cpp: 24882 (EwkView::createNewPage): 24883 * UIProcess/WebPageProxy.cpp: 24884 (WebKit::WebPageProxy::setVisibilityState): 24885 (WebKit::WebPageProxy::unavailablePluginButtonClicked): 24886 * UIProcess/efl/ViewClientEfl.cpp: 24887 (WebKit::ViewClientEfl::didChangeContentsPosition): 24888 (WebKit::ViewClientEfl::didRenderFrame): 24889 (WebKit::ViewClientEfl::didChangeViewportAttributes): 24890 * WebProcess/InjectedBundle/InjectedBundle.cpp: 24891 (WebKit::InjectedBundle::setDatabaseQuota): 24892 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 24893 (WebKit::WebChromeClient::createWindow): 24894 248952013-11-14 Dan Bernstein <mitz@apple.com> 24896 24897 [Cocoa] WKBrowsingContextController's policy client implementation over-releases WKURLRequests and WKURLResponses 24898 https://bugs.webkit.org/show_bug.cgi?id=124386 24899 24900 Reviewed by Sam Weinig. 24901 24902 * UIProcess/API/mac/WKBrowsingContextController.mm: 24903 (setUpPagePolicyClient): Changed to release the Cocoa objects we copy out of the WK objects 24904 passed into the client callbacks, but not the WK objects themselves, which are not owned by 24905 the callbacks. 24906 249072013-11-14 Andy Estes <aestes@apple.com> 24908 24909 Replace calls to deprecated CFPropertyList functions in WebKit2 24910 https://bugs.webkit.org/show_bug.cgi?id=124384 24911 24912 Reviewed by Anders Carlsson. 24913 24914 * UIProcess/cf/WebPageProxyCF.cpp: 24915 (WebKit::WebPageProxy::sessionStateData): Replaced CFPropertyListWriteToStream() with CFPropertyListWrite(). 24916 (WebKit::WebPageProxy::restoreFromSessionStateData): Replaced CFPropertyListCreateFromXMLData() with CFPropertyListCreateWithData(). 24917 249182013-11-14 Gergo Balogh <geryxyz@inf.u-szeged.hu> 24919 24920 generate-message-receiver.py can't handle nested #ifs 24921 https://bugs.webkit.org/show_bug.cgi?id=121877 24922 24923 Reviewed by Darin Adler. 24924 24925 parser.py was modifieded to collect and combine conditions of nested #ifs. 24926 messages_unittest.py extended to check these modifications. 24927 24928 * Scripts/webkit2/messages_unittest.py: 24929 (LoadSomething): 24930 (std): 24931 (AddEvent): 24932 (LoadSomethingElse): 24933 * Scripts/webkit2/parser.py: 24934 (combine_condition): 24935 (bracket_if_needed): 24936 (parse): 24937 249382013-11-14 Dan Bernstein <mitz@apple.com> 24939 24940 [Cocoa] WKAction keys are not exported 24941 https://bugs.webkit.org/show_bug.cgi?id=124378 24942 24943 Reviewed by Anders Carlsson. 24944 24945 * UIProcess/API/mac/WKBrowsingContextController.mm: Made the keys constant pointers. 24946 * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Exported the keys. 24947 249482013-11-14 Ryuan Choi <ryuan.choi@samsung.com> 24949 24950 [WK2] Move Coordinated Graphics related code out of DrawingAreaProxy 24951 https://bugs.webkit.org/show_bug.cgi?id=124328 24952 24953 Reviewed by Andreas Kling. 24954 24955 Refactored for DrawingAreaProxy not to include Coordinated Graphics specific code. 24956 24957 * PlatformEfl.cmake: 24958 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Moved from DrawingAreaProxy.cpp. 24959 (WebKit::CoordinatedDrawingAreaProxy::updateViewport): 24960 (WebKit::CoordinatedDrawingAreaProxy::contentsRect): 24961 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Ditto. 24962 (WebKit::CoordinatedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Refactored to return reference instead of pointer. 24963 (WebKit::CoordinatedDrawingAreaProxy::viewportVisibleRect): 24964 (WebKit::CoordinatedDrawingAreaProxy::page): 24965 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp: 24966 (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy): 24967 * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h: 24968 * UIProcess/CoordinatedGraphics/PageViewportController.cpp: 24969 Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics. 24970 (WebKit::fuzzyCompare): 24971 (WebKit::PageViewportController::PageViewportController): 24972 (WebKit::PageViewportController::innerBoundedViewportScale): 24973 (WebKit::PageViewportController::outerBoundedViewportScale): 24974 (WebKit::PageViewportController::deviceScaleFactor): 24975 (WebKit::isIntegral): 24976 (WebKit::PageViewportController::pixelAlignedFloatPoint): 24977 (WebKit::PageViewportController::boundContentsPositionAtScale): 24978 (WebKit::PageViewportController::boundContentsPosition): 24979 (WebKit::PageViewportController::didCommitLoad): 24980 (WebKit::PageViewportController::didChangeContentsSize): 24981 (WebKit::PageViewportController::didRenderFrame): 24982 (WebKit::PageViewportController::pageTransitionViewportReady): 24983 (WebKit::PageViewportController::pageDidRequestScroll): 24984 (WebKit::PageViewportController::didChangeViewportSize): 24985 (WebKit::PageViewportController::didChangeContentsVisibility): 24986 (WebKit::PageViewportController::syncVisibleContents): Added cast to access CoordinatedDrawingAreaProxy method. 24987 (WebKit::PageViewportController::didChangeViewportAttributes): 24988 (WebKit::PageViewportController::visibleContentsSize): 24989 (WebKit::PageViewportController::applyScaleAfterRenderingContents): 24990 (WebKit::PageViewportController::applyPositionAfterRenderingContents): 24991 (WebKit::PageViewportController::updateMinimumScaleToFit): 24992 * UIProcess/CoordinatedGraphics/PageViewportController.h: 24993 Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics. 24994 (WebKit::PageViewportController::~PageViewportController): 24995 (WebKit::PageViewportController::hadUserInteraction): 24996 (WebKit::PageViewportController::allowsUserScaling): 24997 (WebKit::PageViewportController::contentsLayoutSize): 24998 (WebKit::PageViewportController::minimumScale): 24999 (WebKit::PageViewportController::maximumScale): 25000 (WebKit::PageViewportController::currentScale): 25001 (WebKit::PageViewportController::setHadUserInteraction): 25002 * UIProcess/CoordinatedGraphics/WebView.cpp: Added some casts to access CoordinatedDrawingAreaProxy methods. 25003 (WebKit::WebView::coordinatedGraphicsScene): Simplified code using reference. 25004 (WebKit::WebView::updateViewportSize): 25005 * UIProcess/DrawingAreaProxy.cpp: Removed Coordinated Graphics macro and related codes. 25006 * UIProcess/DrawingAreaProxy.h: Ditto. 25007 250082013-11-13 Nick Diego Yamane <nick.yamane@openbossa.org> 25009 25010 Rename some ImmutableArray leftovers 25011 https://bugs.webkit.org/show_bug.cgi?id=124320 25012 25013 Reviewed by Anders Carlsson. 25014 25015 ImmutableArray has been renamed to API::Array in r159234. 25016 25017 * Shared/API/c/WKContextMenuItem.cpp: 25018 * Shared/WebContextMenuItem.cpp: 25019 * Shared/WebContextMenuItem.h: 25020 * UIProcess/API/C/WKBackForwardListRef.cpp: 25021 * UIProcess/API/Cocoa/WKBackForwardList.mm: 25022 * UIProcess/API/gtk/WebKitBackForwardList.cpp: 25023 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 25024 * UIProcess/WebBackForwardList.cpp: 25025 * UIProcess/WebBackForwardList.h: 25026 250272013-11-13 Dan Bernstein <mitz@apple.com> 25028 25029 REGRESSION (r159263): caused 50+ crashes on all mac webkit2 bots 25030 https://bugs.webkit.org/show_bug.cgi?id=124327 25031 25032 Reviewed by Tim Horton. 25033 25034 * Shared/Cocoa/APIObject.mm: 25035 (API::Object::newObject): Allocate extra memory for the WebError inside the WKNSError. 25036 250372013-11-13 Dan Bernstein <mitz@apple.com> 25038 25039 [Cocoa] Add WKNSError 25040 https://bugs.webkit.org/show_bug.cgi?id=124295 25041 25042 Reviewed by Anders Carlsson. 25043 25044 * Shared/Cocoa/APIObject.mm: 25045 (API::Object::newObject): Allocate a WKNSError if the object is a WebError. 25046 * Shared/Cocoa/WKNSError.h: Added. 25047 (WebKit::wrapper): Added. Returns a WebError’s wrapper as an NSError. 25048 * Shared/Cocoa/WKNSError.mm: Added. 25049 (-[WKNSError _web_createTarget]): Override this WKObject method to return a copy of the 25050 underlying CFError. 25051 (-[WKNSError copyWithZone:]): Retains self. 25052 * WebKit2.xcodeproj/project.pbxproj: Added new files. 25053 250542013-11-13 Simon Fraser <simon.fraser@apple.com> 25055 25056 Tweak the property syntax after https://bugs.webkit.org/show_bug.cgi?id=124317 25057 25058 Reviewed by Dan Bernstein. 25059 25060 * UIProcess/API/mac/WKViewPrivate.h: 25061 250622013-11-13 Anders Carlsson <andersca@apple.com> 25063 25064 Move more state tracking to FrameLoadState 25065 https://bugs.webkit.org/show_bug.cgi?id=124316 25066 25067 Reviewed by Simon Fraser. 25068 25069 * UIProcess/FrameLoadState.cpp: 25070 (WebKit::FrameLoadState::didStartProvisionalLoad): 25071 (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad): 25072 (WebKit::FrameLoadState::didFailProvisionalLoad): 25073 (WebKit::FrameLoadState::didCommitLoad): 25074 (WebKit::FrameLoadState::didFinishLoad): 25075 (WebKit::FrameLoadState::didFailLoad): 25076 (WebKit::FrameLoadState::didSameDocumentNotification): 25077 (WebKit::FrameLoadState::setUnreachableURL): 25078 * UIProcess/FrameLoadState.h: 25079 * UIProcess/WebFrameProxy.cpp: 25080 (WebKit::WebFrameProxy::didCommitLoad): 25081 (WebKit::WebFrameProxy::didFinishLoad): 25082 (WebKit::WebFrameProxy::didFailLoad): 25083 (WebKit::WebFrameProxy::didSameDocumentNavigation): 25084 (WebKit::WebFrameProxy::setUnreachableURL): 25085 250862013-11-13 Simon Fraser <simon.fraser@apple.com> 25087 25088 Expose a private flag on WKView to indicate whether it's using a remote layer tree drawing area 25089 https://bugs.webkit.org/show_bug.cgi?id=124317 25090 25091 Reviewed by Anders Carlsson. 25092 25093 Expose isUsingUISideCompositing on WKView in the private header, 25094 which returns YES if the view is using a DrawingAreaTypeRemoteLayerTree. 25095 25096 * UIProcess/API/mac/WKView.mm: 25097 (-[WKView isUsingUISideCompositing]): 25098 * UIProcess/API/mac/WKViewPrivate.h: 25099 251002013-11-13 Csaba Osztrogonác <ossy@webkit.org> 25101 25102 Maybe the last attempt to fix the GTK build. 25103 25104 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: 25105 * UIProcess/API/gtk/WebKitContextMenuPrivate.h: 25106 251072013-11-13 Csaba Osztrogonác <ossy@webkit.org> 25108 25109 One more attempt to fix the GTK build. 25110 25111 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 25112 251132013-11-13 Anders Carlsson <andersca@apple.com> 25114 25115 Plug-in processes hang around for 10 sec after Safari quits 25116 https://bugs.webkit.org/show_bug.cgi?id=124314 25117 <rdar://problem/15460613> 25118 25119 Reviewed by Simon Fraser. 25120 25121 Call stopRunLoop instead of instead of RunLoop::stop(). 25122 25123 * PluginProcess/PluginProcess.cpp: 25124 (WebKit::PluginProcess::didClose): 25125 251262013-11-13 Csaba Osztrogonác <ossy@webkit.org> 25127 25128 URTBF after r159234. 25129 25130 * CMakeLists.txt: 25131 * GNUmakefile.list.am: 25132 * Shared/efl/WebEventFactory.cpp: 25133 (WebKit::WebEventFactory::createWebTouchEvent): 25134 * UIProcess/API/C/WKGrammarDetail.cpp: 25135 * UIProcess/API/C/efl/WKEventEfl.cpp: 25136 * UIProcess/API/gtk/WebKitBackForwardList.cpp: 25137 (webkitBackForwardListCreateList): 25138 (webkitBackForwardListChanged): 25139 (webkit_back_forward_list_get_back_list_with_limit): 25140 (webkit_back_forward_list_get_forward_list_with_limit): 25141 * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: 25142 * UIProcess/API/gtk/WebKitContextMenu.cpp: 25143 (webkitContextMenuCreate): 25144 * UIProcess/API/gtk/WebKitContextMenuItem.cpp: 25145 (webkitContextMenuItemCreate): 25146 * UIProcess/API/gtk/WebKitContextMenuPrivate.h: 25147 * UIProcess/API/gtk/WebKitCookieManager.cpp: 25148 (webkitCookieManagerGetDomainsWithCookiesCallback): 25149 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: 25150 (webkit_file_chooser_request_get_mime_types): 25151 (webkit_file_chooser_request_get_mime_types_filter): 25152 (webkit_file_chooser_request_select_files): 25153 (webkit_file_chooser_request_get_selected_files): 25154 * UIProcess/API/gtk/WebKitWebView.cpp: 25155 (webkitWebViewPopulateContextMenu): 25156 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 25157 (toImmutableArray): 25158 (webkit_web_view_group_add_user_style_sheet): 25159 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 25160 * UIProcess/WebGrammarDetail.cpp: 25161 (WebKit::WebGrammarDetail::create): 25162 (WebKit::WebGrammarDetail::WebGrammarDetail): 25163 (WebKit::WebGrammarDetail::guesses): 25164 * UIProcess/WebGrammarDetail.h: 25165 * UIProcess/WebTextCheckerClient.cpp: 25166 (WebKit::WebTextCheckerClient::checkGrammarOfString): 25167 (WebKit::WebTextCheckerClient::guessesForWord): 25168 * UIProcess/efl/WebUIPopupMenuClient.cpp: 25169 (WebUIPopupMenuClient::showPopupMenu): 25170 251712013-11-13 Anders Carlsson <andersca@apple.com> 25172 25173 Fix build. 25174 25175 Not sure why these weren't added. 25176 25177 * Shared/APIArray.cpp: Added. 25178 * Shared/APIArray.h: Added. 25179 251802013-11-13 Anders Carlsson <andersca@apple.com> 25181 25182 Rename ImmutableArray to API::Array 25183 https://bugs.webkit.org/show_bug.cgi?id=124307 25184 25185 Reviewed by Andreas Kling. 25186 25187 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 25188 (ensureObjectStream): 25189 (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]): 25190 * Shared/API/c/WKArray.cpp: 25191 (WKArrayGetTypeID): 25192 (WKArrayCreate): 25193 (WKArrayCreateAdoptingValues): 25194 * Shared/API/c/WKContextMenuItem.cpp: 25195 * Shared/API/c/WKDictionary.cpp: 25196 (WKDictionaryCopyKeys): 25197 * Shared/API/c/WKMutableArray.cpp: 25198 (WKMutableArrayCreate): 25199 * Shared/API/c/WKRenderObject.cpp: 25200 (WKRenderObjectGetChildren): 25201 * Shared/API/c/WKSharedAPICast.h: 25202 (WebKit::toImpl): 25203 * Shared/API/c/mac/WKWebArchive.cpp: 25204 (WKWebArchiveCopySubresources): 25205 (WKWebArchiveCopySubframeArchives): 25206 * Shared/APIArray.cpp: Renamed from Source/WebKit2/Shared/ImmutableArray.cpp. 25207 (API::Array::create): 25208 (API::Array::createStringArray): 25209 (API::Array::Array): 25210 (API::Array::~Array): 25211 * Shared/APIArray.h: Renamed from Source/WebKit2/Shared/ImmutableArray.h. 25212 * Shared/Cocoa/WKNSArray.h: 25213 (wrapper): 25214 * Shared/Cocoa/WKNSArray.mm: 25215 (-[WKNSArray dealloc]): 25216 (-[WKNSArray count]): 25217 (-[WKNSArray objectAtIndex:]): 25218 (-[WKNSArray API::]): 25219 * Shared/ImmutableDictionary.cpp: 25220 (WebKit::ImmutableDictionary::keys): 25221 * Shared/ImmutableDictionary.h: 25222 * Shared/SecurityOriginData.cpp: 25223 (WebKit::performAPICallbackWithSecurityOriginDataVector): 25224 * Shared/UserMessageCoders.h: 25225 (WebKit::UserMessageEncoder::baseEncode): 25226 (WebKit::UserMessageDecoder::baseDecode): 25227 * Shared/WebArchive.cpp: 25228 (WebKit::WebArchive::create): 25229 (WebKit::WebArchive::WebArchive): 25230 (WebKit::WebArchive::subresources): 25231 (WebKit::WebArchive::subframeArchives): 25232 * Shared/WebArchive.h: 25233 * Shared/WebContextMenuItem.cpp: 25234 (WebKit::WebContextMenuItem::create): 25235 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray): 25236 * Shared/WebContextMenuItem.h: 25237 * Shared/WebOpenPanelParameters.cpp: 25238 (WebKit::WebOpenPanelParameters::acceptMIMETypes): 25239 (WebKit::WebOpenPanelParameters::selectedFileNames): 25240 * Shared/WebOpenPanelParameters.h: 25241 * Shared/WebRenderLayer.cpp: 25242 (WebKit::WebRenderLayer::create): 25243 (WebKit::WebRenderLayer::createArrayFromLayerList): 25244 (WebKit::WebRenderLayer::WebRenderLayer): 25245 * Shared/WebRenderLayer.h: 25246 (WebKit::WebRenderLayer::negativeZOrderList): 25247 (WebKit::WebRenderLayer::normalFlowList): 25248 (WebKit::WebRenderLayer::positiveZOrderList): 25249 * Shared/WebRenderObject.cpp: 25250 (WebKit::WebRenderObject::create): 25251 (WebKit::WebRenderObject::WebRenderObject): 25252 (WebKit::WebRenderObject::~WebRenderObject): 25253 * Shared/WebRenderObject.h: 25254 (WebKit::WebRenderObject::children): 25255 (WebKit::WebRenderObject::elementClassNames): 25256 * UIProcess/API/C/WKBackForwardListRef.cpp: 25257 * UIProcess/API/C/WKOpenPanelParameters.cpp: 25258 * UIProcess/API/C/WKPage.cpp: 25259 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 25260 (WKContextGetInfoForInstalledPlugIns): 25261 * UIProcess/API/Cocoa/WKBackForwardList.mm: 25262 (-[WKBackForwardList backListWithLimit:]): 25263 (-[WKBackForwardList forwardListWithLimit:]): 25264 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 25265 (createWKArray): 25266 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 25267 (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): 25268 (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): 25269 (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): 25270 * UIProcess/Notifications/WebNotificationManagerProxy.h: 25271 * UIProcess/Notifications/WebNotificationProvider.cpp: 25272 (WebKit::WebNotificationProvider::clearNotifications): 25273 * UIProcess/Plugins/PlugInAutoStartProvider.cpp: 25274 (WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray): 25275 * UIProcess/Plugins/PlugInAutoStartProvider.h: 25276 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 25277 (WebKit::WebPluginSiteDataManager::didGetSitesWithData): 25278 (WebKit::WebPluginSiteDataManager::clearSiteData): 25279 * UIProcess/Plugins/WebPluginSiteDataManager.h: 25280 * UIProcess/StatisticsRequest.cpp: 25281 (WebKit::StatisticsRequest::completedRequest): 25282 * UIProcess/WebApplicationCacheManagerProxy.h: 25283 * UIProcess/WebBackForwardList.cpp: 25284 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 25285 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 25286 * UIProcess/WebBackForwardList.h: 25287 * UIProcess/WebContext.cpp: 25288 (WebKit::WebContext::setPlugInAutoStartOrigins): 25289 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 25290 * UIProcess/WebContext.h: 25291 * UIProcess/WebContextClient.cpp: 25292 (WebKit::WebContextClient::plugInInformationBecameAvailable): 25293 * UIProcess/WebContextClient.h: 25294 * UIProcess/WebCookieManagerProxy.cpp: 25295 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): 25296 * UIProcess/WebCookieManagerProxy.h: 25297 * UIProcess/WebDatabaseManagerProxy.cpp: 25298 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 25299 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 25300 * UIProcess/WebFindClient.cpp: 25301 (WebKit::WebFindMatchesClient::didFindStringMatches): 25302 * UIProcess/WebFindClient.h: 25303 * UIProcess/WebFrameProxy.h: 25304 * UIProcess/WebKeyValueStorageManager.cpp: 25305 (WebKit::didGetKeyValueStorageOrigins): 25306 * UIProcess/WebKeyValueStorageManager.h: 25307 * UIProcess/WebLoaderClient.cpp: 25308 (WebKit::WebLoaderClient::didChangeBackForwardList): 25309 * UIProcess/WebMediaCacheManagerProxy.cpp: 25310 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): 25311 * UIProcess/WebMediaCacheManagerProxy.h: 25312 * UIProcess/WebOpenPanelResultListenerProxy.cpp: 25313 (WebKit::WebOpenPanelResultListenerProxy::chooseFiles): 25314 * UIProcess/WebOpenPanelResultListenerProxy.h: 25315 * UIProcess/WebOriginDataManagerProxy.h: 25316 * UIProcess/WebPageContextMenuClient.cpp: 25317 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu): 25318 (WebKit::WebPageContextMenuClient::showContextMenu): 25319 * UIProcess/WebPageGroup.cpp: 25320 (WebKit::toStringVector): 25321 (WebKit::WebPageGroup::addUserStyleSheet): 25322 (WebKit::WebPageGroup::addUserScript): 25323 * UIProcess/WebPageGroup.h: 25324 * UIProcess/WebPageProxy.cpp: 25325 (WebKit::WebPageProxy::relatedPages): 25326 (WebKit::WebPageProxy::didFindStringMatches): 25327 * UIProcess/WebPageProxy.h: 25328 * UIProcess/WebResourceCacheManagerProxy.cpp: 25329 * WebKit2.xcodeproj/project.pbxproj: 25330 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 25331 (WKBundleCopyOriginsWithApplicationCache): 25332 * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp: 25333 * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: 25334 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 25335 (contextMenuItems): 25336 * WebProcess/InjectedBundle/InjectedBundle.cpp: 25337 (WebKit::InjectedBundle::originsWithApplicationCache): 25338 (WebKit::toStringVector): 25339 (WebKit::InjectedBundle::addUserScript): 25340 (WebKit::InjectedBundle::addUserStyleSheet): 25341 * WebProcess/InjectedBundle/InjectedBundle.h: 25342 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 25343 (WebKit::InjectedBundleBackForwardListItem::children): 25344 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: 25345 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 25346 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): 25347 * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp: 25348 (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange): 25349 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 25350 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 25351 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 25352 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): 25353 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 25354 (WebKit::findLargestFrameInFrameSet): 25355 * WebProcess/WebPage/WebFrame.cpp: 25356 (WebKit::WebFrame::childFrames): 25357 * WebProcess/WebPage/WebFrame.h: 25358 * WebProcess/WebPage/WebPage.cpp: 25359 (WebKit::WebPage::trackedRepaintRects): 25360 * WebProcess/WebPage/WebPage.h: 25361 253622013-11-13 Nick Diego Yamane <nick.yamane@openbossa.org> 25363 25364 [GTK] Fix build after r159222 25365 https://bugs.webkit.org/show_bug.cgi?id=124305 25366 25367 Reviewed by Tim Horton. 25368 25369 WebGraphicsContext and its API has been removed. 25370 25371 * CMakeLists.txt: 25372 * GNUmakefile.list.am: 25373 * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Removed. 25374 * Shared/API/c/gtk/WKGraphicsContextGtk.h: Removed. 25375 253762013-11-13 Tim Horton <timothy_horton@apple.com> 25377 25378 Remove redundant return after r159173 25379 https://bugs.webkit.org/show_bug.cgi?id=124303 25380 25381 Reviewed by Geoff Garen. 25382 25383 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 25384 (WebKit::WebPlatformStrategies::loadResourceSynchronously): 25385 Remove redundant return. 25386 253872013-11-13 Michał Pakuła vel Rutka <m.pakula@samsung.com> 25388 25389 Unreviewed EFL build fix after r159222. 25390 25391 * CMakeLists.txt: 25392 253932013-11-13 Anders Carlsson <andersca@apple.com> 25394 25395 Remove WebGraphicsContext 25396 https://bugs.webkit.org/show_bug.cgi?id=124302 25397 25398 Reviewed by Dan Bernstein. 25399 25400 WebGraphicsContext and its API "object", WKGraphicsContextRef was only used 25401 for the overhang paint callback which has been removed. 25402 25403 * Shared/API/c/WKDeprecatedFunctions.cpp: 25404 (WKGraphicsContextGetCGContext): 25405 * Shared/API/c/WKGraphicsContext.cpp: Removed. 25406 * Shared/API/c/WKGraphicsContext.h: Removed. 25407 * Shared/API/c/cg/WKGraphicsContextCG.cpp: Removed. 25408 * Shared/API/c/cg/WKGraphicsContextCG.h: Removed. 25409 * Shared/APIObject.h: 25410 * Shared/WebGraphicsContext.cpp: Removed. 25411 * Shared/WebGraphicsContext.h: Removed. 25412 * UIProcess/API/C/WebKit2_C.h: 25413 * WebKit2.xcodeproj/project.pbxproj: 25414 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 25415 254162013-11-13 Anders Carlsson <andersca@apple.com> 25417 25418 WKArrayIsMutable should not be mangled 25419 https://bugs.webkit.org/show_bug.cgi?id=124299 25420 25421 Reviewed by Andreas Kling. 25422 25423 * Shared/API/c/WKDeprecatedFunctions.cpp: 25424 254252013-11-13 Anders Carlsson <andersca@apple.com> 25426 25427 Move provisional load state handling to FrameLoadState 25428 https://bugs.webkit.org/show_bug.cgi?id=124291 25429 25430 Reviewed by Dan Bernstein. 25431 25432 * UIProcess/FrameLoadState.cpp: 25433 (WebKit::FrameLoadState::didStartProvisionalLoad): 25434 (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad): 25435 (WebKit::FrameLoadState::didFailProvisionalLoad): 25436 * UIProcess/FrameLoadState.h: 25437 * UIProcess/WebFrameProxy.cpp: 25438 (WebKit::WebFrameProxy::didStartProvisionalLoad): 25439 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): 25440 (WebKit::WebFrameProxy::didFailProvisionalLoad): 25441 254422013-11-13 Csaba Osztrogonác <ossy@webkit.org> 25443 25444 One more fix after r159197. 25445 25446 * UIProcess/efl/EwkTouchEvent.h: 25447 * UIProcess/efl/EwkTouchPoint.h: 25448 254492013-11-13 Brendan Long <b.long@cablelabs.com> 25450 25451 [Gtk][EFL] Fix builds by updating Object::TypeX to Object::Type::X 25452 https://bugs.webkit.org/show_bug.cgi?id=124289 25453 25454 Reviewed by Alexey Proskuryakov. 25455 25456 * Shared/API/c/WKContextMenuItem.cpp: 25457 (WKContextMenuItemGetTypeID): 25458 * Shared/WebBatteryStatus.h: 25459 * Shared/WebNetworkInfo.h: 25460 * UIProcess/API/C/WKGrammarDetail.cpp: 25461 (WKGrammarDetailGetTypeID): 25462 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 25463 (WKPluginSiteDataManagerGetTypeID): 25464 * UIProcess/CoordinatedGraphics/WebView.h: 25465 * UIProcess/WebBatteryManagerProxy.h: 25466 * UIProcess/WebNetworkInfoManagerProxy.h: 25467 * UIProcess/WebTextChecker.h: 25468 * UIProcess/WebVibrationProxy.h: 25469 * UIProcess/WebViewportAttributes.h: 25470 * UIProcess/efl/WebPopupItemEfl.h: 25471 * UIProcess/soup/WebSoupRequestManagerProxy.h: 25472 254732013-11-13 Tamas Gergely <gertom@inf.u-szeged.hu> 25474 25475 Remove prefixed template class processing from message receiver generator. 25476 https://bugs.webkit.org/show_bug.cgi?id=123095 25477 25478 Reviewed by Anders Carlsson. 25479 25480 There was a FIXME in messages.py to remove unprefixed WTF template classes, 25481 but in the discussion of the bug report we concluded that in the messages.in 25482 files we should follow the C++ naming convention where none of the WTF 25483 classes require the WTF prefix. 25484 25485 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 25486 * Scripts/webkit2/messages.py: 25487 (class_template_headers): 25488 * Scripts/webkit2/messages_unittest.py: 25489 (std): 25490 * UIProcess/Storage/StorageManager.messages.in: 25491 * UIProcess/WebPageProxy.messages.in: 25492 * WebProcess/WebPage/WebPage.messages.in: 25493 254942013-11-13 Csaba Osztrogonác <ossy@webkit.org> 25495 25496 URTBF after r159199 to make cmake and GTK build happy. 25497 25498 * CMakeLists.txt: 25499 * GNUmakefile.list.am: 25500 255012013-11-13 Anders Carlsson <andersca@apple.com> 25502 25503 Add WKDeprecatedFunctions.cpp and move WKArrayIsMutable there 25504 https://bugs.webkit.org/show_bug.cgi?id=124284 25505 25506 Reviewed by Andreas Kling. 25507 25508 * Shared/API/c/WKDeprecatedFunctions.cpp: Copied from Source/WebKit2/Shared/API/c/WKMutableArray.h. 25509 (WKArrayIsMutable): 25510 * Shared/API/c/WKMutableArray.cpp: 25511 * Shared/API/c/WKMutableArray.h: 25512 * WebKit2.xcodeproj/project.pbxproj: 25513 255142013-11-12 Anders Carlsson <andersca@apple.com> 25515 25516 API::Object::Type should be a strongly typed enum 25517 https://bugs.webkit.org/show_bug.cgi?id=124258 25518 25519 Reviewed by Tim Horton. 25520 25521 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 25522 (-[WKRemoteObjectRegistry _handleMessageWithName:body:]): 25523 * Shared/APIObject.h: 25524 * Shared/Cocoa/APIObject.mm: 25525 (API::Object::newObject): 25526 * Shared/ImmutableArray.h: 25527 * Shared/ImmutableDictionary.h: 25528 * Shared/UserMessageCoders.h: 25529 (WebKit::UserMessageEncoder::baseEncode): 25530 (WebKit::UserMessageDecoder::baseDecode): 25531 * Shared/WebArchive.h: 25532 * Shared/WebArchiveResource.h: 25533 * Shared/WebBackForwardListItem.h: 25534 * Shared/WebCertificateInfo.h: 25535 * Shared/WebConnection.h: 25536 * Shared/WebContextMenuItem.h: 25537 * Shared/WebData.h: 25538 * Shared/WebError.h: 25539 * Shared/WebGeolocationPosition.h: 25540 * Shared/WebGeometry.h: 25541 * Shared/WebGraphicsContext.h: 25542 * Shared/WebHitTestResult.h: 25543 * Shared/WebImage.h: 25544 * Shared/WebNumber.h: 25545 * Shared/WebOpenPanelParameters.h: 25546 * Shared/WebRenderLayer.h: 25547 * Shared/WebRenderObject.h: 25548 * Shared/WebSecurityOrigin.h: 25549 * Shared/WebSerializedScriptValue.h: 25550 * Shared/WebString.h: 25551 * Shared/WebURL.h: 25552 * Shared/WebURLRequest.h: 25553 * Shared/WebURLResponse.h: 25554 * Shared/WebUserContentURLPattern.h: 25555 * Shared/mac/ObjCObjectGraph.h: 25556 * UIProcess/Authentication/AuthenticationChallengeProxy.h: 25557 * UIProcess/Authentication/AuthenticationDecisionListener.h: 25558 * UIProcess/Authentication/WebCredential.h: 25559 * UIProcess/Authentication/WebProtectionSpace.h: 25560 * UIProcess/Downloads/DownloadProxy.h: 25561 * UIProcess/GeolocationPermissionRequestProxy.h: 25562 * UIProcess/Notifications/NotificationPermissionRequest.h: 25563 * UIProcess/Notifications/WebNotification.h: 25564 * UIProcess/Notifications/WebNotificationManagerProxy.h: 25565 * UIProcess/Plugins/WebPluginSiteDataManager.h: 25566 * UIProcess/WebApplicationCacheManagerProxy.h: 25567 * UIProcess/WebBackForwardList.h: 25568 * UIProcess/WebColorPickerResultListenerProxy.h: 25569 * UIProcess/WebContext.h: 25570 * UIProcess/WebContextUserMessageCoders.h: 25571 (WebKit::WebContextUserMessageEncoder::encode): 25572 (WebKit::WebContextUserMessageDecoder::decode): 25573 * UIProcess/WebCookieManagerProxy.h: 25574 * UIProcess/WebDatabaseManagerProxy.h: 25575 * UIProcess/WebEditCommandProxy.h: 25576 * UIProcess/WebFormSubmissionListenerProxy.h: 25577 * UIProcess/WebFramePolicyListenerProxy.h: 25578 * UIProcess/WebFrameProxy.h: 25579 * UIProcess/WebGeolocationManagerProxy.h: 25580 * UIProcess/WebGrammarDetail.h: 25581 * UIProcess/WebIconDatabase.h: 25582 * UIProcess/WebInspectorProxy.h: 25583 * UIProcess/WebKeyValueStorageManager.h: 25584 * UIProcess/WebMediaCacheManagerProxy.h: 25585 * UIProcess/WebNavigationData.h: 25586 * UIProcess/WebOpenPanelResultListenerProxy.h: 25587 * UIProcess/WebOriginDataManagerProxy.h: 25588 * UIProcess/WebPageGroup.h: 25589 * UIProcess/WebPageProxy.h: 25590 * UIProcess/WebPreferences.h: 25591 * UIProcess/WebResourceCacheManagerProxy.h: 25592 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 25593 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: 25594 * WebProcess/InjectedBundle/InjectedBundle.h: 25595 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h: 25596 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: 25597 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: 25598 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 25599 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: 25600 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: 25601 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 25602 (WebKit::InjectedBundleUserMessageEncoder::encode): 25603 (WebKit::InjectedBundleUserMessageDecoder::decode): 25604 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 25605 (WebKit::InjectedBundle::load): 25606 * WebProcess/WebPage/PageBanner.h: 25607 * WebProcess/WebPage/PageOverlay.h: 25608 * WebProcess/WebPage/WebFrame.h: 25609 * WebProcess/WebPage/WebInspector.h: 25610 * WebProcess/WebPage/WebPage.h: 25611 * WebProcess/WebPage/WebPageGroupProxy.h: 25612 * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: 25613 (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]): 25614 (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]): 25615 256162013-11-13 Anders Carlsson <andersca@apple.com> 25617 25618 Remove custom overhang area painting code 25619 https://bugs.webkit.org/show_bug.cgi?id=124282 25620 25621 Reviewed by Andreas Kling. 25622 25623 This code was only used by the Mac port, to draw the linen background color on Lion. 25624 We now do that on the GPU instead so get rid of this code. 25625 25626 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 25627 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 25628 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 25629 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 25630 * WebProcess/WebCoreSupport/WebChromeClient.h: 25631 256322013-11-13 Sergio Correia <sergio.correia@openbossa.org> 25633 25634 [EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr 25635 https://bugs.webkit.org/show_bug.cgi?id=124241 25636 25637 Reviewed by Gyuyoung Kim. 25638 25639 The modified files are located under UIProcess/{efl,API/efl}. 25640 25641 * UIProcess/API/efl/EwkView.cpp: 25642 * UIProcess/API/efl/EwkView.h: 25643 * UIProcess/API/efl/GestureRecognizer.cpp: 25644 * UIProcess/API/efl/GestureRecognizer.h: 25645 * UIProcess/API/efl/ewk_back_forward_list_private.h: 25646 * UIProcess/API/efl/ewk_color_picker_private.h: 25647 * UIProcess/API/efl/ewk_context.cpp: 25648 * UIProcess/API/efl/ewk_context_menu.cpp: 25649 * UIProcess/API/efl/ewk_context_menu_item.cpp: 25650 * UIProcess/API/efl/ewk_context_menu_item_private.h: 25651 * UIProcess/API/efl/ewk_context_private.h: 25652 * UIProcess/API/efl/ewk_cookie_manager.cpp: 25653 * UIProcess/API/efl/ewk_cookie_manager_private.h: 25654 * UIProcess/API/efl/ewk_database_manager_private.h: 25655 * UIProcess/API/efl/ewk_favicon_database_private.h: 25656 * UIProcess/API/efl/ewk_popup_menu.cpp: 25657 * UIProcess/API/efl/ewk_popup_menu_item_private.h: 25658 * UIProcess/API/efl/ewk_popup_menu_private.h: 25659 * UIProcess/API/efl/ewk_settings_private.h: 25660 * UIProcess/API/efl/ewk_storage_manager.cpp: 25661 * UIProcess/API/efl/ewk_storage_manager_private.h: 25662 * UIProcess/API/efl/ewk_view.cpp: 25663 * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: 25664 * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp: 25665 * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp: 25666 * UIProcess/API/efl/tests/test_ewk2_download_job.cpp: 25667 * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp: 25668 * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: 25669 * UIProcess/API/efl/tests/test_ewk2_view.cpp: 25670 * UIProcess/efl/ContextHistoryClientEfl.h: 25671 * UIProcess/efl/ContextMenuClientEfl.h: 25672 * UIProcess/efl/DownloadManagerEfl.h: 25673 * UIProcess/efl/FindClientEfl.h: 25674 * UIProcess/efl/FormClientEfl.h: 25675 * UIProcess/efl/PageLoadClientEfl.h: 25676 * UIProcess/efl/PagePolicyClientEfl.h: 25677 * UIProcess/efl/PageUIClientEfl.h: 25678 * UIProcess/efl/PageViewportControllerClientEfl.h: 25679 * UIProcess/efl/RequestManagerClientEfl.h: 25680 * UIProcess/efl/VibrationClientEfl.cpp: 25681 * UIProcess/efl/VibrationClientEfl.h: 25682 * UIProcess/efl/ViewClientEfl.h: 25683 256842013-11-12 Alexey Proskuryakov <ap@apple.com> 25685 25686 Disable WebCrypto on Mountain Lion 25687 https://bugs.webkit.org/show_bug.cgi?id=124261 25688 25689 Rubber-stamped by Sam Weinig. 25690 25691 * Configurations/FeatureDefines.xcconfig: 25692 256932013-11-12 Nick Diego Yamane <nick.yamane@openbossa.org> 25694 25695 [GTK][EFL] More on renaming WebKit::APIObject to API::Object 25696 https://bugs.webkit.org/show_bug.cgi?id=124255 25697 25698 Reviewed by Anders Carlsson. 25699 25700 In r159163 WebKit::APIObject has been renamed to API::Object. 25701 This patch refactors the remaining files which were still 25702 using WebKit::APIObject and WebKit::TypedAPIObject. 25703 25704 * Shared/WebBatteryStatus.h: 25705 * Shared/WebNetworkInfo.h: 25706 * UIProcess/API/C/WKGrammarDetail.cpp: 25707 * UIProcess/API/gtk/WebKitContextMenuItem.cpp: 25708 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: 25709 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 25710 * UIProcess/CoordinatedGraphics/WebView.h: 25711 * UIProcess/WebBatteryManagerProxy.cpp: 25712 * UIProcess/WebBatteryManagerProxy.h: 25713 * UIProcess/WebGrammarDetail.cpp: 25714 * UIProcess/WebNetworkInfoManagerProxy.cpp: 25715 * UIProcess/WebNetworkInfoManagerProxy.h: 25716 * UIProcess/WebTextChecker.h: 25717 * UIProcess/WebVibrationProxy.h: 25718 * UIProcess/WebViewportAttributes.h: 25719 * UIProcess/efl/EwkTouchEvent.h: 25720 * UIProcess/efl/EwkTouchPoint.h: 25721 * UIProcess/efl/WebPopupItemEfl.h: 25722 * UIProcess/efl/WebUIPopupMenuClient.cpp: 25723 * UIProcess/gtk/WebFullScreenClientGtk.h: 25724 * UIProcess/gtk/WebInspectorClientGtk.h: 25725 * UIProcess/soup/WebSoupRequestManagerProxy.cpp: 25726 * UIProcess/soup/WebSoupRequestManagerProxy.h: 25727 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: 25728 * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: 25729 257302013-11-12 Anders Carlsson <andersca@apple.com> 25731 25732 fast/canvas/webgl/draw-arrays-out-of-bounds.html is flaky on Mavericks WK2 testers, fails about 20% of the time 25733 https://bugs.webkit.org/show_bug.cgi?id=124223 25734 <rdar://problem/15333977> 25735 25736 Reviewed by Tim Horton. 25737 25738 It's wrong to use DataReferences in sync IPC replies; the underlying MessageDecoder will be freed after the call to 25739 sendSync returns and the DataReference will point to freed memory. Use a Vector<char> instead. 25740 25741 * NetworkProcess/NetworkConnectionToWebProcess.messages.in: 25742 * NetworkProcess/SynchronousNetworkLoaderClient.cpp: 25743 (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer): 25744 (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply): 25745 * NetworkProcess/SynchronousNetworkLoaderClient.h: 25746 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 25747 (WebKit::WebPlatformStrategies::loadResourceSynchronously): 25748 257492013-11-12 Gustavo Noronha Silva <gns@gnome.org> 25750 25751 Unreviewed try at fixing the GTK+ build. 25752 25753 * UIProcess/soup/WebSoupRequestManagerProxy.h: rename TypedAPIObject to API:TypedObject. 25754 257552013-11-12 Nick Diego Yamane <nick.yamane@openbossa.org> 25756 25757 [EFL][GTK] Remove MutableArray leftovers from build systems 25758 https://bugs.webkit.org/show_bug.cgi?id=124248 25759 25760 Reviewed by Anders Carlsson. 25761 25762 MutableArray.cpp and .h file has been removed by r159155. 25763 25764 * CMakeLists.txt: 25765 * GNUmakefile.list.am: 25766 257672013-11-12 Anders Carlsson <andersca@apple.com> 25768 25769 Rename APIObject to API::Object 25770 https://bugs.webkit.org/show_bug.cgi?id=124247 25771 25772 Reviewed by Tim Horton. 25773 25774 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 25775 (-[WKRemoteObjectRegistry _handleMessageWithName:body:]): 25776 * Shared/API/c/WKArray.cpp: 25777 (WKArrayCreate): 25778 (WKArrayCreateAdoptingValues): 25779 * Shared/API/c/WKContextMenuItem.cpp: 25780 (WKContextMenuItemGetTypeID): 25781 * Shared/API/c/WKSharedAPICast.h: 25782 (WebKit::toAPI): 25783 * Shared/API/c/WKType.cpp: 25784 (WKGetTypeID): 25785 (WKRetain): 25786 (WKRelease): 25787 * Shared/APIObject.cpp: 25788 (API::Object::Object): 25789 * Shared/APIObject.h: 25790 (API::Object::~Object): 25791 (API::TypedObject::~TypedObject): 25792 (API::TypedObject::TypedObject): 25793 * Shared/Cocoa/APIObject.mm: 25794 (API::Object::ref): 25795 (API::Object::deref): 25796 (API::Object::newObject): 25797 * Shared/Cocoa/WKNSArray.mm: 25798 (-[WKNSArray objectAtIndex:]): 25799 (-[WKNSArray API::]): 25800 * Shared/Cocoa/WKNSDictionary.mm: 25801 (-[WKNSDictionary objectForKey:]): 25802 (-[WKNSDictionary API::]): 25803 * Shared/Cocoa/WKObject.h: 25804 * Shared/Cocoa/WKObject.mm: 25805 (-[WKObject dealloc]): 25806 (-[WKObject API::]): 25807 * Shared/ImmutableArray.cpp: 25808 (WebKit::ImmutableArray::create): 25809 (WebKit::ImmutableArray::createStringArray): 25810 (WebKit::ImmutableArray::ImmutableArray): 25811 * Shared/ImmutableArray.h: 25812 * Shared/ImmutableDictionary.cpp: 25813 (WebKit::ImmutableDictionary::keys): 25814 * Shared/ImmutableDictionary.h: 25815 (WebKit::ImmutableDictionary::get): 25816 * Shared/MutableDictionary.cpp: 25817 (WebKit::MutableDictionary::add): 25818 (WebKit::MutableDictionary::set): 25819 * Shared/MutableDictionary.h: 25820 * Shared/SecurityOriginData.cpp: 25821 (WebKit::performAPICallbackWithSecurityOriginDataVector): 25822 * Shared/UserMessageCoders.h: 25823 (WebKit::UserMessageEncoder::baseEncode): 25824 (WebKit::UserMessageEncoder::UserMessageEncoder): 25825 (WebKit::UserMessageDecoder::baseDecode): 25826 (WebKit::UserMessageDecoder::UserMessageDecoder): 25827 * Shared/WebArchive.cpp: 25828 (WebKit::WebArchive::subresources): 25829 (WebKit::WebArchive::subframeArchives): 25830 * Shared/WebArchive.h: 25831 * Shared/WebArchiveResource.h: 25832 * Shared/WebBackForwardListItem.h: 25833 * Shared/WebCertificateInfo.h: 25834 * Shared/WebConnection.cpp: 25835 (WebKit::WebConnection::postMessage): 25836 (WebKit::WebConnection::handleMessage): 25837 * Shared/WebConnection.h: 25838 * Shared/WebConnectionClient.cpp: 25839 (WebKit::WebConnectionClient::didReceiveMessage): 25840 * Shared/WebConnectionClient.h: 25841 * Shared/WebContextMenuItem.cpp: 25842 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray): 25843 (WebKit::WebContextMenuItem::userData): 25844 (WebKit::WebContextMenuItem::setUserData): 25845 * Shared/WebContextMenuItem.h: 25846 * Shared/WebContextMenuItemData.cpp: 25847 (WebKit::WebContextMenuItemData::userData): 25848 (WebKit::WebContextMenuItemData::setUserData): 25849 * Shared/WebContextMenuItemData.h: 25850 * Shared/WebData.h: 25851 * Shared/WebError.h: 25852 * Shared/WebGeolocationPosition.h: 25853 * Shared/WebGeometry.h: 25854 * Shared/WebGraphicsContext.h: 25855 * Shared/WebHitTestResult.h: 25856 * Shared/WebImage.h: 25857 * Shared/WebNumber.h: 25858 * Shared/WebOpenPanelParameters.h: 25859 * Shared/WebRenderLayer.cpp: 25860 (WebKit::WebRenderLayer::createArrayFromLayerList): 25861 * Shared/WebRenderLayer.h: 25862 * Shared/WebRenderObject.cpp: 25863 (WebKit::WebRenderObject::WebRenderObject): 25864 * Shared/WebRenderObject.h: 25865 * Shared/WebSecurityOrigin.h: 25866 * Shared/WebSerializedScriptValue.h: 25867 * Shared/WebString.h: 25868 * Shared/WebURL.h: 25869 * Shared/WebURLRequest.h: 25870 * Shared/WebURLResponse.h: 25871 * Shared/WebUserContentURLPattern.h: 25872 * Shared/mac/ObjCObjectGraph.h: 25873 * Shared/mac/ObjCObjectGraphCoders.mm: 25874 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): 25875 (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): 25876 * UIProcess/API/C/WKPluginSiteDataManager.cpp: 25877 (WKPluginSiteDataManagerGetTypeID): 25878 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 25879 (WKContextGetInfoForInstalledPlugIns): 25880 * UIProcess/API/Cocoa/WKBackForwardList.mm: 25881 (-[WKBackForwardList API::]): 25882 * UIProcess/API/Cocoa/WKBackForwardListItem.mm: 25883 (-[WKBackForwardListItem API::]): 25884 * UIProcess/API/Cocoa/WKNavigationData.mm: 25885 (-[WKNavigationData API::]): 25886 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 25887 (createWKArray): 25888 * UIProcess/Authentication/AuthenticationChallengeProxy.h: 25889 * UIProcess/Authentication/AuthenticationDecisionListener.h: 25890 * UIProcess/Authentication/WebCredential.h: 25891 * UIProcess/Authentication/WebProtectionSpace.h: 25892 * UIProcess/Downloads/DownloadProxy.h: 25893 * UIProcess/GeolocationPermissionRequestProxy.h: 25894 * UIProcess/Notifications/NotificationPermissionRequest.h: 25895 * UIProcess/Notifications/WebNotification.h: 25896 * UIProcess/Notifications/WebNotificationManagerProxy.cpp: 25897 (WebKit::WebNotificationManagerProxy::refWebContextSupplement): 25898 (WebKit::WebNotificationManagerProxy::derefWebContextSupplement): 25899 * UIProcess/Notifications/WebNotificationManagerProxy.h: 25900 * UIProcess/Notifications/WebNotificationProvider.cpp: 25901 (WebKit::WebNotificationProvider::clearNotifications): 25902 * UIProcess/Plugins/WebPluginSiteDataManager.h: 25903 * UIProcess/StatisticsRequest.cpp: 25904 (WebKit::StatisticsRequest::completedRequest): 25905 * UIProcess/WebApplicationCacheManagerProxy.cpp: 25906 (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement): 25907 (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement): 25908 * UIProcess/WebApplicationCacheManagerProxy.h: 25909 * UIProcess/WebBackForwardList.cpp: 25910 (WebKit::WebBackForwardList::addItem): 25911 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 25912 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 25913 (WebKit::WebBackForwardList::clear): 25914 * UIProcess/WebBackForwardList.h: 25915 * UIProcess/WebColorPickerResultListenerProxy.h: 25916 * UIProcess/WebConnectionToWebProcess.cpp: 25917 (WebKit::WebConnectionToWebProcess::encodeMessageBody): 25918 (WebKit::WebConnectionToWebProcess::decodeMessageBody): 25919 * UIProcess/WebConnectionToWebProcess.h: 25920 * UIProcess/WebContext.cpp: 25921 (WebKit::WebContext::createNewWebProcess): 25922 (WebKit::WebContext::postMessageToInjectedBundle): 25923 (WebKit::WebContext::didReceiveMessageFromInjectedBundle): 25924 (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle): 25925 (WebKit::WebContext::didReceiveMessage): 25926 (WebKit::WebContext::didReceiveSyncMessage): 25927 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 25928 * UIProcess/WebContext.h: 25929 (WebKit::WebContext::setInjectedBundleInitializationUserData): 25930 * UIProcess/WebContextInjectedBundleClient.cpp: 25931 (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle): 25932 (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle): 25933 (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData): 25934 * UIProcess/WebContextInjectedBundleClient.h: 25935 * UIProcess/WebContextUserMessageCoders.h: 25936 (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder): 25937 (WebKit::WebContextUserMessageEncoder::encode): 25938 (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder): 25939 (WebKit::WebContextUserMessageDecoder::decode): 25940 * UIProcess/WebCookieManagerProxy.cpp: 25941 (WebKit::WebCookieManagerProxy::refWebContextSupplement): 25942 (WebKit::WebCookieManagerProxy::derefWebContextSupplement): 25943 * UIProcess/WebCookieManagerProxy.h: 25944 * UIProcess/WebDatabaseManagerProxy.cpp: 25945 (WebKit::WebDatabaseManagerProxy::refWebContextSupplement): 25946 (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement): 25947 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 25948 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 25949 * UIProcess/WebDatabaseManagerProxy.h: 25950 * UIProcess/WebEditCommandProxy.h: 25951 * UIProcess/WebFormClient.cpp: 25952 (WebKit::WebFormClient::willSubmitForm): 25953 * UIProcess/WebFormClient.h: 25954 * UIProcess/WebFrameListenerProxy.h: 25955 * UIProcess/WebFrameProxy.h: 25956 * UIProcess/WebGeolocationManagerProxy.cpp: 25957 (WebKit::WebGeolocationManagerProxy::refWebContextSupplement): 25958 (WebKit::WebGeolocationManagerProxy::derefWebContextSupplement): 25959 * UIProcess/WebGeolocationManagerProxy.h: 25960 * UIProcess/WebGrammarDetail.h: 25961 * UIProcess/WebIconDatabase.h: 25962 * UIProcess/WebIconDatabaseClient.h: 25963 * UIProcess/WebInspectorProxy.h: 25964 * UIProcess/WebKeyValueStorageManager.cpp: 25965 (WebKit::WebKeyValueStorageManager::refWebContextSupplement): 25966 (WebKit::WebKeyValueStorageManager::derefWebContextSupplement): 25967 (WebKit::didGetKeyValueStorageOrigins): 25968 * UIProcess/WebKeyValueStorageManager.h: 25969 * UIProcess/WebLoaderClient.cpp: 25970 (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame): 25971 (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 25972 (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame): 25973 (WebKit::WebLoaderClient::didCommitLoadForFrame): 25974 (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame): 25975 (WebKit::WebLoaderClient::didFinishLoadForFrame): 25976 (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame): 25977 (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame): 25978 (WebKit::WebLoaderClient::didReceiveTitleForFrame): 25979 (WebKit::WebLoaderClient::didFirstLayoutForFrame): 25980 (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 25981 (WebKit::WebLoaderClient::didLayout): 25982 (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy): 25983 (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame): 25984 (WebKit::WebLoaderClient::didRunInsecureContentForFrame): 25985 (WebKit::WebLoaderClient::didDetectXSSForFrame): 25986 (WebKit::WebLoaderClient::didChangeBackForwardList): 25987 (WebKit::WebLoaderClient::willGoToBackForwardListItem): 25988 * UIProcess/WebLoaderClient.h: 25989 * UIProcess/WebMediaCacheManagerProxy.cpp: 25990 (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement): 25991 (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement): 25992 * UIProcess/WebMediaCacheManagerProxy.h: 25993 * UIProcess/WebNavigationData.h: 25994 * UIProcess/WebOpenPanelResultListenerProxy.h: 25995 * UIProcess/WebOriginDataManagerProxy.cpp: 25996 (WebKit::WebOriginDataManagerProxy::refWebContextSupplement): 25997 (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement): 25998 * UIProcess/WebOriginDataManagerProxy.h: 25999 * UIProcess/WebPageContextMenuClient.cpp: 26000 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu): 26001 (WebKit::WebPageContextMenuClient::showContextMenu): 26002 * UIProcess/WebPageContextMenuClient.h: 26003 * UIProcess/WebPageGroup.h: 26004 * UIProcess/WebPageProxy.cpp: 26005 (WebKit::WebPageProxy::relatedPages): 26006 (WebKit::WebPageProxy::loadURL): 26007 (WebKit::WebPageProxy::loadURLRequest): 26008 (WebKit::WebPageProxy::loadFile): 26009 (WebKit::WebPageProxy::loadData): 26010 (WebKit::WebPageProxy::loadHTMLString): 26011 (WebKit::WebPageProxy::loadAlternateHTMLString): 26012 (WebKit::WebPageProxy::loadPlainTextString): 26013 (WebKit::WebPageProxy::loadWebArchiveData): 26014 (WebKit::WebPageProxy::didChangeBackForwardList): 26015 (WebKit::WebPageProxy::willGoToBackForwardListItem): 26016 (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 26017 (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): 26018 (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): 26019 (WebKit::WebPageProxy::didCommitLoadForFrame): 26020 (WebKit::WebPageProxy::didFinishDocumentLoadForFrame): 26021 (WebKit::WebPageProxy::didFinishLoadForFrame): 26022 (WebKit::WebPageProxy::didFailLoadForFrame): 26023 (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): 26024 (WebKit::WebPageProxy::didReceiveTitleForFrame): 26025 (WebKit::WebPageProxy::didFirstLayoutForFrame): 26026 (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame): 26027 (WebKit::WebPageProxy::didLayout): 26028 (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): 26029 (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): 26030 (WebKit::WebPageProxy::didRunInsecureContentForFrame): 26031 (WebKit::WebPageProxy::didDetectXSSForFrame): 26032 (WebKit::WebPageProxy::decidePolicyForNavigationAction): 26033 (WebKit::WebPageProxy::decidePolicyForNewWindowAction): 26034 (WebKit::WebPageProxy::decidePolicyForResponse): 26035 (WebKit::WebPageProxy::unableToImplementPolicy): 26036 (WebKit::WebPageProxy::willSubmitForm): 26037 (WebKit::WebPageProxy::mouseDidMoveOverElement): 26038 (WebKit::WebPageProxy::didFindStringMatches): 26039 (WebKit::WebPageProxy::postMessageToInjectedBundle): 26040 (WebKit::WebPageProxy::internalShowContextMenu): 26041 * UIProcess/WebPageProxy.h: 26042 * UIProcess/WebPolicyClient.cpp: 26043 (WebKit::WebPolicyClient::decidePolicyForNavigationAction): 26044 (WebKit::WebPolicyClient::decidePolicyForNewWindowAction): 26045 (WebKit::WebPolicyClient::decidePolicyForResponse): 26046 (WebKit::WebPolicyClient::unableToImplementPolicy): 26047 * UIProcess/WebPolicyClient.h: 26048 * UIProcess/WebPreferences.h: 26049 * UIProcess/WebResourceCacheManagerProxy.cpp: 26050 (WebKit::WebResourceCacheManagerProxy::refWebContextSupplement): 26051 (WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement): 26052 * UIProcess/WebResourceCacheManagerProxy.h: 26053 * UIProcess/WebUIClient.cpp: 26054 (WebKit::WebUIClient::mouseDidMoveOverElement): 26055 * UIProcess/WebUIClient.h: 26056 * UIProcess/mac/WebContextMenuProxyMac.mm: 26057 (-[WKUserDataWrapper initWithUserData:API::]): 26058 (-[WKUserDataWrapper API::]): 26059 * WebProcess/InjectedBundle/API/c/WKBundle.cpp: 26060 (WKBundlePostSynchronousMessage): 26061 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 26062 (contextMenuItems): 26063 * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: 26064 * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h: 26065 * WebProcess/InjectedBundle/InjectedBundle.cpp: 26066 (WebKit::InjectedBundle::postMessage): 26067 (WebKit::InjectedBundle::postSynchronousMessage): 26068 (WebKit::InjectedBundle::originsWithApplicationCache): 26069 (WebKit::InjectedBundle::didReceiveMessage): 26070 (WebKit::InjectedBundle::didReceiveMessageToPage): 26071 * WebProcess/InjectedBundle/InjectedBundle.h: 26072 * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h: 26073 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 26074 (WebKit::InjectedBundleBackForwardListItem::children): 26075 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h: 26076 * WebProcess/InjectedBundle/InjectedBundleClient.cpp: 26077 (WebKit::InjectedBundleClient::didReceiveMessage): 26078 (WebKit::InjectedBundleClient::didReceiveMessageToPage): 26079 * WebProcess/InjectedBundle/InjectedBundleClient.h: 26080 * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: 26081 * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h: 26082 * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h: 26083 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 26084 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): 26085 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: 26086 * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: 26087 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 26088 (WebKit::InjectedBundlePageFormClient::willSubmitForm): 26089 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 26090 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: 26091 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 26092 (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest): 26093 (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest): 26094 (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem): 26095 (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame): 26096 (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame): 26097 (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame): 26098 (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame): 26099 (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame): 26100 (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame): 26101 (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame): 26102 (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame): 26103 (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame): 26104 (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy): 26105 (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame): 26106 (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame): 26107 (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame): 26108 (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame): 26109 (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame): 26110 (WebKit::InjectedBundlePageLoaderClient::didLayout): 26111 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: 26112 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp: 26113 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction): 26114 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction): 26115 (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse): 26116 (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy): 26117 * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: 26118 * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: 26119 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: 26120 (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement): 26121 * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 26122 * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h: 26123 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 26124 (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder): 26125 (WebKit::InjectedBundleUserMessageEncoder::encode): 26126 (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder): 26127 (WebKit::InjectedBundleUserMessageDecoder::decode): 26128 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 26129 (WebKit::InjectedBundle::load): 26130 * WebProcess/WebConnectionToUIProcess.cpp: 26131 (WebKit::WebConnectionToUIProcess::encodeMessageBody): 26132 (WebKit::WebConnectionToUIProcess::decodeMessageBody): 26133 * WebProcess/WebConnectionToUIProcess.h: 26134 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 26135 (WebKit::WebChromeClient::mouseDidMoveOverElement): 26136 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 26137 (WebKit::WebFrameLoaderClient::detachedFromParent2): 26138 (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): 26139 (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage): 26140 (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage): 26141 (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage): 26142 (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage): 26143 (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad): 26144 (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle): 26145 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 26146 (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): 26147 (WebKit::WebFrameLoaderClient::dispatchDidFailLoad): 26148 (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad): 26149 (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad): 26150 (WebKit::WebFrameLoaderClient::dispatchDidLayout): 26151 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 26152 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): 26153 (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): 26154 (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy): 26155 (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm): 26156 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): 26157 (WebKit::WebFrameLoaderClient::didDisplayInsecureContent): 26158 (WebKit::WebFrameLoaderClient::didRunInsecureContent): 26159 (WebKit::WebFrameLoaderClient::didDetectXSS): 26160 * WebProcess/WebPage/PageBanner.h: 26161 * WebProcess/WebPage/PageOverlay.h: 26162 * WebProcess/WebPage/WebContextMenu.cpp: 26163 (WebKit::WebContextMenu::show): 26164 (WebKit::WebContextMenu::menuItemsWithUserData): 26165 (WebKit::WebContextMenu::items): 26166 * WebProcess/WebPage/WebContextMenu.h: 26167 * WebProcess/WebPage/WebFrame.cpp: 26168 (WebKit::WebFrame::childFrames): 26169 * WebProcess/WebPage/WebFrame.h: 26170 * WebProcess/WebPage/WebInspector.h: 26171 * WebProcess/WebPage/WebPage.cpp: 26172 (WebKit::WebPage::trackedRepaintRects): 26173 (WebKit::WebPage::loadURLRequest): 26174 (WebKit::WebPage::loadDataImpl): 26175 (WebKit::WebPage::postInjectedBundleMessage): 26176 * WebProcess/WebPage/WebPage.h: 26177 * WebProcess/WebPage/WebPageGroupProxy.h: 26178 * WebProcess/WebProcess.cpp: 26179 (WebKit::WebProcess::initializeWebProcess): 26180 (WebKit::WebProcess::postInjectedBundleMessage): 26181 261822013-11-12 Nick Diego Yamane <nick.yamane@openbossa.org> 26183 26184 Fix GTK build after r159142 26185 https://bugs.webkit.org/show_bug.cgi?id=124243 26186 26187 Reviewed by Anders Carlsson. 26188 26189 Use Vector + ImmutableArray instead of MutableArray 26190 26191 * UIProcess/API/gtk/WebKitContextMenuItem.cpp: 26192 (webkitContextMenuItemCreate): 26193 261942013-11-12 Anders Carlsson <andersca@apple.com> 26195 26196 Remove ImmutableArray::isMutable 26197 https://bugs.webkit.org/show_bug.cgi?id=124242 26198 26199 Reviewed by Dan Bernstein. 26200 26201 * Shared/API/c/WKMutableArray.cpp: 26202 (WKArrayIsMutable): 26203 * Shared/Cocoa/WKNSArray.mm: 26204 (-[WKNSArray copyWithZone:]): 26205 * Shared/ImmutableArray.h: 26206 262072013-11-12 Anders Carlsson <andersca@apple.com> 26208 26209 WKMutableArrayRef should be an ImmutableArray 26210 https://bugs.webkit.org/show_bug.cgi?id=124239 26211 26212 Reviewed by Sam Weinig. 26213 26214 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 26215 (ensureObjectStream): 26216 * Shared/API/c/WKMutableArray.cpp: 26217 (WKMutableArrayCreate): 26218 * Shared/API/c/WKSharedAPICast.h: 26219 262202013-11-12 Anders Carlsson <andersca@apple.com> 26221 26222 Remove more functionality from MutableArray 26223 https://bugs.webkit.org/show_bug.cgi?id=124235 26224 26225 Reviewed by Beth Dakin. 26226 26227 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 26228 (encodeToObjectStream): 26229 * Shared/API/c/WKMutableArray.cpp: 26230 (WKArrayAppendItem): 26231 (WKArrayRemoveItemAtIndex): 26232 * Shared/Cocoa/WKNSArray.mm: 26233 (-[WKNSArray copyWithZone:]): 26234 * Shared/ImmutableArray.h: 26235 (WebKit::ImmutableArray::elements): 26236 * Shared/MutableArray.cpp: 26237 * Shared/MutableArray.h: 26238 262392013-11-12 Anders Carlsson <andersca@apple.com> 26240 26241 Remove most uses of MutableArray 26242 https://bugs.webkit.org/show_bug.cgi?id=124232 26243 26244 Reviewed by Sam Weinig. 26245 26246 * Shared/API/c/WKMutableArray.cpp: 26247 (WKMutableArrayCreate): 26248 * Shared/UserMessageCoders.h: 26249 (WebKit::UserMessageDecoder::baseDecode): 26250 * Shared/WebRenderLayer.h: 26251 (WebKit::WebRenderLayer::create): 26252 (WebKit::WebRenderLayer::WebRenderLayer): 26253 * Shared/WebRenderObject.cpp: 26254 (WebKit::WebRenderObject::WebRenderObject): 26255 * Shared/WebRenderObject.h: 26256 (WebKit::WebRenderObject::create): 26257 (WebKit::WebRenderObject::WebRenderObject): 26258 * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp: 26259 (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems): 26260 262612013-11-12 Anders Carlsson <andersca@apple.com> 26262 26263 Use Vector + ImmutableArray instead of MutableArray 26264 https://bugs.webkit.org/show_bug.cgi?id=124221 26265 26266 Reviewed by Andreas Kling. 26267 26268 * Shared/WebRenderLayer.cpp: 26269 (WebKit::WebRenderLayer::createArrayFromLayerList): 26270 * Shared/WebRenderLayer.h: 26271 * UIProcess/Notifications/WebNotificationProvider.cpp: 26272 (WebKit::WebNotificationProvider::clearNotifications): 26273 * UIProcess/WebPageContextMenuClient.cpp: 26274 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu): 26275 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 26276 (contextMenuItems): 26277 (WKBundlePageCopyContextMenuItems): 26278 (WKBundlePageCopyContextMenuAtPointInWindow): 26279 262802013-11-12 Zan Dobersek <zdobersek@igalia.com> 26281 26282 Unreviewed GTK build fix after r159129. 26283 26284 * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: 26285 (webkit_file_chooser_request_select_files): Use ImmutableArray::create() instead. 26286 * UIProcess/API/gtk/WebKitWebViewGroup.cpp: 26287 (toImmutableArray): Ditto. 26288 262892013-11-12 Anders Carlsson <andersca@apple.com> 26290 26291 Stop using WKArrayCreate internally 26292 https://bugs.webkit.org/show_bug.cgi?id=124217 26293 26294 Reviewed by Andreas Kling. 26295 26296 * UIProcess/API/mac/WKBrowsingContextGroup.mm: 26297 (createWKArray): 26298 (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): 26299 (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): 26300 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 26301 (WKBundlePageCopyContextMenuItems): 26302 263032013-11-12 Csaba Osztrogonác <ossy@webkit.org> 26304 26305 URTBF after r159129, use create() instead of adopt() everywhere. 26306 26307 * UIProcess/WebGrammarDetail.cpp: 26308 (WebKit::WebGrammarDetail::guesses): 26309 * UIProcess/efl/WebUIPopupMenuClient.cpp: 26310 (WebUIPopupMenuClient::showPopupMenu): 26311 263122013-11-12 Anders Carlsson <andersca@apple.com> 26313 26314 Simplify ImmutableArray creation 26315 https://bugs.webkit.org/show_bug.cgi?id=124213 26316 26317 Reviewed by Andreas Kling. 26318 26319 Get rid of the various ImmutableArray::adopt functions and have a single create function instead. 26320 Use std::move to avoid unnecessarily copying vector data. 26321 26322 * Shared/API/c/WKArray.cpp: 26323 (WKArrayCreate): 26324 (WKArrayCreateAdoptingValues): 26325 * Shared/Cocoa/WKNSArray.mm: 26326 (-[WKNSArray copyWithZone:]): 26327 * Shared/ImmutableArray.cpp: 26328 (WebKit::ImmutableArray::create): 26329 (WebKit::ImmutableArray::createStringArray): 26330 (WebKit::ImmutableArray::ImmutableArray): 26331 * Shared/ImmutableArray.h: 26332 (WebKit::ImmutableArray::at): 26333 (WebKit::ImmutableArray::size): 26334 (WebKit::ImmutableArray::entries): 26335 * Shared/ImmutableDictionary.cpp: 26336 (WebKit::ImmutableDictionary::keys): 26337 * Shared/MutableArray.cpp: 26338 (WebKit::MutableArray::MutableArray): 26339 (WebKit::MutableArray::append): 26340 (WebKit::MutableArray::reserveCapacity): 26341 (WebKit::MutableArray::removeItemAtIndex): 26342 * Shared/SecurityOriginData.cpp: 26343 (WebKit::performAPICallbackWithSecurityOriginDataVector): 26344 * Shared/UserMessageCoders.h: 26345 (WebKit::UserMessageDecoder::baseDecode): 26346 * Shared/WebArchive.cpp: 26347 (WebKit::WebArchive::subresources): 26348 (WebKit::WebArchive::subframeArchives): 26349 * Shared/WebContextMenuItem.cpp: 26350 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray): 26351 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 26352 (WKContextGetInfoForInstalledPlugIns): 26353 * UIProcess/StatisticsRequest.cpp: 26354 (WebKit::StatisticsRequest::completedRequest): 26355 * UIProcess/WebBackForwardList.cpp: 26356 (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit): 26357 (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit): 26358 * UIProcess/WebContext.cpp: 26359 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 26360 * UIProcess/WebDatabaseManagerProxy.cpp: 26361 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 26362 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 26363 * UIProcess/WebKeyValueStorageManager.cpp: 26364 (WebKit::didGetKeyValueStorageOrigins): 26365 * UIProcess/WebLoaderClient.cpp: 26366 (WebKit::WebLoaderClient::didChangeBackForwardList): 26367 * UIProcess/WebPageContextMenuClient.cpp: 26368 (WebKit::WebPageContextMenuClient::showContextMenu): 26369 * UIProcess/WebPageProxy.cpp: 26370 (WebKit::WebPageProxy::relatedPages): 26371 (WebKit::WebPageProxy::didFindStringMatches): 26372 * WebProcess/InjectedBundle/InjectedBundle.cpp: 26373 (WebKit::InjectedBundle::originsWithApplicationCache): 26374 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 26375 (WebKit::InjectedBundleBackForwardListItem::children): 26376 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 26377 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 26378 * WebProcess/WebPage/WebFrame.cpp: 26379 (WebKit::WebFrame::childFrames): 26380 * WebProcess/WebPage/WebPage.cpp: 26381 (WebKit::WebPage::trackedRepaintRects): 26382 263832013-11-12 Csaba Osztrogonác <ossy@webkit.org> 26384 26385 The last URTBF after r159108 to make GTK happy. 26386 26387 * GNUmakefile.am: 26388 263892013-11-12 Csaba Osztrogonác <ossy@webkit.org> 26390 26391 One more URTBF after r159108, I hope the last one. 26392 26393 * GNUmakefile.am: 26394 263952013-11-12 Tim Horton <timothy_horton@apple.com> 26396 26397 Remote Layer Tree: Assertions during layer flushing after replaceSublayer() 26398 https://bugs.webkit.org/show_bug.cgi?id=124194 26399 26400 Reviewed by Anders Carlsson. 26401 26402 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 26403 (PlatformCALayerRemote::replaceSublayer): 26404 Only remove the old layer from the children array once (via removeFromSuperlayer). 26405 Update the superlayer backpointer on the new layer. 26406 264072013-11-12 Anders Carlsson <andersca@apple.com> 26408 26409 Add ImmutableArray::createStringArray 26410 https://bugs.webkit.org/show_bug.cgi?id=124210 26411 26412 Reviewed by Andreas Kling. 26413 26414 Creating an ImmutableArray of WebStrings is a common operation, so add a 26415 helper function to ImmutableArray that does this from a Vector of Strings. 26416 26417 * Shared/ImmutableArray.cpp: 26418 (WebKit::ImmutableArray::createStringArray): 26419 * Shared/ImmutableArray.h: 26420 * Shared/ImmutableDictionary.cpp: 26421 (WebKit::ImmutableDictionary::keys): 26422 * Shared/WebOpenPanelParameters.cpp: 26423 (WebKit::WebOpenPanelParameters::acceptMIMETypes): 26424 (WebKit::WebOpenPanelParameters::selectedFileNames): 26425 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 26426 (WebKit::WebPluginSiteDataManager::didGetSitesWithData): 26427 * UIProcess/WebCookieManagerProxy.cpp: 26428 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): 26429 * UIProcess/WebMediaCacheManagerProxy.cpp: 26430 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): 26431 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 26432 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): 26433 264342013-11-12 Csaba Osztrogonác <ossy@webkit.org> 26435 26436 One more URTBF after r159108. 26437 26438 * GNUmakefile.am: 26439 264402013-11-12 Anders Carlsson <andersca@apple.com> 26441 26442 Begin cleaning up handling of ImmutableArray vectors 26443 https://bugs.webkit.org/show_bug.cgi?id=124208 26444 26445 Reviewed by Andreas Kling. 26446 26447 Use range based for to iterate the loops. Use reserveInitialCapacity + uncheckedAppend 26448 when appending vector elements. 26449 26450 * Shared/SecurityOriginData.cpp: 26451 (WebKit::performAPICallbackWithSecurityOriginDataVector): 26452 * Shared/WebArchive.cpp: 26453 (WebKit::WebArchive::subresources): 26454 (WebKit::WebArchive::subframeArchives): 26455 * Shared/WebContextMenuItem.cpp: 26456 (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray): 26457 * Shared/WebOpenPanelParameters.cpp: 26458 (WebKit::WebOpenPanelParameters::acceptMIMETypes): 26459 (WebKit::WebOpenPanelParameters::selectedFileNames): 26460 * UIProcess/API/C/mac/WKContextPrivateMac.mm: 26461 (WKContextGetInfoForInstalledPlugIns): 26462 * UIProcess/Plugins/WebPluginSiteDataManager.cpp: 26463 (WebKit::WebPluginSiteDataManager::didGetSitesWithData): 26464 * UIProcess/StatisticsRequest.cpp: 26465 (WebKit::StatisticsRequest::completedRequest): 26466 * UIProcess/WebContext.cpp: 26467 (WebKit::WebContext::pluginInfoStoreDidLoadPlugins): 26468 * UIProcess/WebCookieManagerProxy.cpp: 26469 (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): 26470 * UIProcess/WebDatabaseManagerProxy.cpp: 26471 (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin): 26472 (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins): 26473 * UIProcess/WebMediaCacheManagerProxy.cpp: 26474 (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): 26475 * UIProcess/WebPageContextMenuClient.cpp: 26476 (WebKit::WebPageContextMenuClient::showContextMenu): 26477 * UIProcess/WebPageProxy.cpp: 26478 (WebKit::WebPageProxy::relatedPages): 26479 (WebKit::WebPageProxy::didFindStringMatches): 26480 * WebProcess/InjectedBundle/InjectedBundle.cpp: 26481 (WebKit::InjectedBundle::originsWithApplicationCache): 26482 * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp: 26483 (WebKit::InjectedBundleBackForwardListItem::children): 26484 * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: 26485 (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): 26486 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: 26487 (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage): 26488 * WebProcess/WebPage/WebPage.cpp: 26489 (WebKit::WebPage::trackedRepaintRects): 26490 264912013-11-12 Csaba Osztrogonác <ossy@webkit.org> 26492 26493 One more URTBF after r159108. 26494 26495 * CMakeLists.txt: 26496 264972013-11-12 Csaba Osztrogonác <ossy@webkit.org> 26498 26499 URTBF after r159108. 26500 26501 * CMakeLists.txt: 26502 * GNUmakefile.list.am: 26503 265042013-11-12 Anders Carlsson <andersca@apple.com> 26505 26506 Move StringReference to Platform/IPC 26507 https://bugs.webkit.org/show_bug.cgi?id=124203 26508 26509 Reviewed by Antti Koivisto. 26510 26511 * Platform/IPC/StringReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.cpp. 26512 (CoreIPC::StringReference::toString): 26513 (CoreIPC::StringReference::encode): 26514 (CoreIPC::StringReference::decode): 26515 (CoreIPC::StringReference::Hash::hash): 26516 * Platform/IPC/StringReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.h. 26517 (CoreIPC::StringReference::StringReference): 26518 (CoreIPC::StringReference::isEmpty): 26519 (CoreIPC::StringReference::size): 26520 (CoreIPC::StringReference::data): 26521 (CoreIPC::StringReference::operator==): 26522 (CoreIPC::StringReference::Hash::equal): 26523 * WebKit2.xcodeproj/project.pbxproj: 26524 265252013-11-11 Tim Horton <timothy_horton@apple.com> 26526 26527 Remote Layer Tree: Sporadic memory corruption during painting 26528 https://bugs.webkit.org/show_bug.cgi?id=124191 26529 26530 Reviewed by Brady Eidson. 26531 26532 Fix a logic error (flipped the logic, didn't flip the operator) 26533 made in the last version of r158982 that caused some crashes because 26534 it allowed us to overrun the end of cgPaintingRects. 26535 26536 * Shared/mac/RemoteLayerBackingStore.mm: 26537 (RemoteLayerBackingStore::drawInContext): 26538 265392013-11-11 Commit Queue <commit-queue@webkit.org> 26540 26541 Unreviewed, rolling out r159088. 26542 http://trac.webkit.org/changeset/159088 26543 https://bugs.webkit.org/show_bug.cgi?id=124187 26544 26545 It broke the EFL build, because it removed a used function 26546 (rs=thorton) (Requested by Ossy_night on #webkit). 26547 26548 * UIProcess/WebPageProxy.cpp: 26549 (WebKit::WebPageProxy::WebPageProxy): 26550 (WebKit::WebPageProxy::resetStateAfterProcessExited): 26551 * UIProcess/WebPageProxy.h: 26552 (WebKit::WebPageProxy::urlAtProcessExit): 26553 (WebKit::WebPageProxy::loadStateAtProcessExit): 26554 265552013-11-11 Csaba Osztrogonác <ossy@webkit.org> 26556 26557 URTBF after r159077 to make GTK build happy. 26558 26559 * GNUmakefile.list.am: 26560 265612013-11-11 Gustavo Noronha Silva <gns@gnome.org> 26562 26563 REGRESSION(r158976): Web Inspector: unable to start docked or dock 26564 https://bugs.webkit.org/show_bug.cgi?id=124148 26565 26566 Reviewed by Timothy Hatcher. 26567 26568 * UIProcess/WebInspectorProxy.cpp: 26569 (WebKit::WebInspectorProxy::canAttach): check for a level that is greater than 1 rather than 0 26570 to deny attachment, since 1 is the first level of inspectors. 26571 265722013-11-11 Anders Carlsson <andersca@apple.com> 26573 26574 FrameFilter can just be an std::function instead 26575 https://bugs.webkit.org/show_bug.cgi?id=124176 26576 26577 Reviewed by Tim Horton. 26578 26579 * WebProcess/WebPage/WebFrame.cpp: 26580 (WebKit::WebFrame::webArchiveData): 26581 265822013-11-11 Anders Carlsson <andersca@apple.com> 26583 26584 Remove unused Qt cruft 26585 https://bugs.webkit.org/show_bug.cgi?id=124174 26586 26587 Reviewed by Tim Horton. 26588 26589 * UIProcess/WebPageProxy.cpp: 26590 (WebKit::WebPageProxy::WebPageProxy): 26591 (WebKit::WebPageProxy::resetStateAfterProcessExited): 26592 * UIProcess/WebPageProxy.h: 26593 265942013-11-11 Anders Carlsson <andersca@apple.com> 26595 26596 REGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2 26597 https://bugs.webkit.org/show_bug.cgi?id=124164 26598 26599 Reviewed by Alexey Proskuryakov. 26600 26601 Back out the change to use NSSecureCoding for encoding/decoding NSURLRequest and 26602 NSURLResponse objects; turns out the NSURL encoding/decoding doesn't preserve the raw URL bytes. 26603 26604 * Shared/mac/WebCoreArgumentCodersMac.mm: 26605 (CoreIPC::encodePlatformData): 26606 (CoreIPC::decodePlatformData): 26607 266082013-11-11 Ryuan Choi <ryuan.choi@samsung.com> 26609 26610 Unreviewed build fix on CMake Based port since r159077. 26611 26612 * CMakeLists.txt: 26613 266142013-11-11 Tim Horton <timothy_horton@apple.com> 26615 26616 Remote Layer Tree: Implement Page Overlays 26617 https://bugs.webkit.org/show_bug.cgi?id=124165 26618 <rdar://problem/15199056> 26619 26620 Reviewed by Anders Carlsson. 26621 26622 Implement page overlays, very similar to how they work in TiledCoreAnimationDrawingArea, 26623 but manipulating the PlatformCALayer tree instead of the CALayer tree directly. 26624 26625 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 26626 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 26627 (WebKit::RemoteLayerTreeContext::outOfTreeLayerWasAdded): 26628 (WebKit::RemoteLayerTreeContext::outOfTreeLayerWillBeRemoved): 26629 (WebKit::RemoteLayerTreeContext::flushLayers): 26630 Add a list of out-of-tree GraphicsLayers which are flushed in addition 26631 to the page's GraphicsLayer tree, and functions to manipulate this list. 26632 26633 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 26634 Make RemoteLayerTreeDrawingArea a GraphicsLayerClient, so we can get callbacks 26635 from the GraphicsLayers that drive our page overlays. 26636 Override the relevant page overlay functions. 26637 Add storage for the root layer, view size, and a map of PageOverlay->GraphicsLayer. 26638 26639 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 26640 (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer): 26641 Store the root GraphicsLayer for later use. 26642 26643 (WebKit::RemoteLayerTreeDrawingArea::updateGeometry): 26644 Update the size of the page overlays when the DrawingArea's geometry changes. 26645 26646 (WebKit::RemoteLayerTreeDrawingArea::updatePreferences): 26647 Update the page overlay settings when necessary. 26648 26649 (WebKit::RemoteLayerTreeDrawingArea::didInstallPageOverlay): 26650 Create a GraphicsLayer for our page overlay, set it up, and parent it. 26651 Inform the RemoteLayerTreeContext that it will need to flush this GraphicsLayer, 26652 since it's not a part of the page's GraphicsLayer tree. 26653 26654 (WebKit::RemoteLayerTreeDrawingArea::didUninstallPageOverlay): 26655 Tear down our page overlay's GraphicsLayer. 26656 26657 (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayNeedsDisplay): 26658 (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayOpacity): 26659 (WebKit::RemoteLayerTreeDrawingArea::paintContents): 26660 (WebKit::RemoteLayerTreeDrawingArea::deviceScaleFactor): 26661 266622013-11-11 Anders Carlsson <andersca@apple.com> 26663 26664 Add a FrameLoadState object and begin moving loading related members from WebFrameProxy 26665 https://bugs.webkit.org/show_bug.cgi?id=124163 26666 26667 Reviewed by Beth Dakin. 26668 26669 * UIProcess/API/C/WKFrame.cpp: 26670 (WKFrameGetFrameLoadState): 26671 * UIProcess/FrameLoadState.cpp: Added. 26672 (WebKit::FrameLoadState::FrameLoadState): 26673 (WebKit::FrameLoadState::~FrameLoadState): 26674 * UIProcess/FrameLoadState.h: Added. 26675 * UIProcess/WebFrameProxy.cpp: 26676 (WebKit::WebFrameProxy::WebFrameProxy): 26677 (WebKit::WebFrameProxy::didStartProvisionalLoad): 26678 (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad): 26679 (WebKit::WebFrameProxy::didFailProvisionalLoad): 26680 (WebKit::WebFrameProxy::didCommitLoad): 26681 (WebKit::WebFrameProxy::didFinishLoad): 26682 (WebKit::WebFrameProxy::didFailLoad): 26683 (WebKit::WebFrameProxy::didSameDocumentNavigation): 26684 (WebKit::WebFrameProxy::setUnreachableURL): 26685 * UIProcess/WebFrameProxy.h: 26686 (WebKit::WebFrameProxy::frameLoadState): 26687 (WebKit::WebFrameProxy::loadState): 26688 (WebKit::WebFrameProxy::url): 26689 (WebKit::WebFrameProxy::provisionalURL): 26690 (WebKit::WebFrameProxy::unreachableURL): 26691 * UIProcess/WebPageProxy.cpp: 26692 (WebKit::WebPageProxy::WebPageProxy): 26693 (WebKit::WebPageProxy::activeURL): 26694 * UIProcess/WebPageProxy.h: 26695 (WebKit::WebPageProxy::loadStateAtProcessExit): 26696 * WebKit2.xcodeproj/project.pbxproj: 26697 266982013-11-11 Gergo Balogh <geryxyz@inf.u-szeged.hu> 26699 26700 Remove #include from test input of the *Messages.in processing scripts. 26701 https://bugs.webkit.org/show_bug.cgi?id=123563 26702 26703 Reviewed by Darin Adler. 26704 26705 * Scripts/webkit2/messages_unittest.py: 26706 267072013-11-11 Anders Carlsson <andersca@apple.com> 26708 26709 Remove block based APIs from the WebKit2 C API 26710 https://bugs.webkit.org/show_bug.cgi?id=124157 26711 26712 Reviewed by Sam Weinig. 26713 26714 Remove most of the block based C APIs from WebKit2. We want to discourage people from using 26715 them since any C API "objects" captured by blocks won't be implicitly retained which 26716 can lead to dangling pointer bugs. 26717 26718 * UIProcess/API/C/WKDatabaseManager.cpp: 26719 * UIProcess/API/C/WKDatabaseManager.h: 26720 * UIProcess/API/C/WKFrame.cpp: 26721 * UIProcess/API/C/WKFrame.h: 26722 * UIProcess/API/C/WKPage.cpp: 26723 * UIProcess/API/C/WKPage.h: 26724 * UIProcess/API/C/WKPagePrivate.h: 26725 267262013-11-11 Carlos Garcia Campos <cgarcia@igalia.com> 26727 26728 [GTK] Crash when printing via javascript in WebKit2 26729 https://bugs.webkit.org/show_bug.cgi?id=124043 26730 26731 Reviewed by Martin Robinson. 26732 26733 It happens because the print operation when started by the 26734 WebProcess due to a DOM operation is supposed to be synchronous 26735 and our print operation is always asynchronous. This is currently 26736 handled only in the UI process because other ports print 26737 synchronously in the WebProcess. In the GTK+ port we need to 26738 notify the WebProcess that the print operation should run 26739 synchronously when request by a DOM operation. Together with the 26740 print settings and page setup we now send a print mode that can be 26741 sync or async. When printing in sync mode we run a nested main loop 26742 for the print operation, making sure that print sources have a 26743 higher priority. 26744 26745 * Shared/PrintInfo.cpp: 26746 (WebKit::PrintInfo::encode): Encode the print mode. 26747 (WebKit::PrintInfo::decode): Decode the print mode. 26748 * Shared/PrintInfo.h: Add PrintMode enum. 26749 * Shared/gtk/PrintInfoGtk.cpp: 26750 (WebKit::PrintInfo::PrintInfo): Initialize print mode. 26751 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 26752 (drawPagesForPrintingCompleted): Do not call endPrinting() when 26753 printing synchronously because WebPageProxy already calls it right 26754 after sending the message to the WebProcess. 26755 (webkitPrintOperationPrintPagesForFrame): Create the PrintInfo 26756 struct with a print mode. 26757 (webkitPrintOperationSetPrintMode): Helper private function to set 26758 the print mode of the print operation. 26759 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: 26760 * UIProcess/API/gtk/WebKitWebView.cpp: 26761 (webkitWebViewPrintFrame): Set sync print mode when printing due 26762 to a UIClient request. 26763 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: 26764 (WebKit::PrintPagesData::PrintPagesData): Create a main loop when 26765 printing synchronously. 26766 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize 26767 print mode. 26768 (WebKit::WebPrintOperationGtk::printPagesIdleDone): Finish the 26769 nested main loop when printing synchronously. 26770 (WebKit::WebPrintOperationGtk::print): Run a nested main loop when 26771 printing synchronously. 26772 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: 26773 (WebKit::WebPrintOperationGtk::printMode): Return the print mode. 26774 267752013-11-10 Carlos Garcia Campos <cgarcia@igalia.com> 26776 26777 [GTK] [WebKit2] Crash when printing to a file via javascript 26778 https://bugs.webkit.org/show_bug.cgi?id=122801 26779 26780 Reviewed by Martin Robinson. 26781 26782 This crash is caused by a GTK+ bug, but we can work around it by 26783 ensuring the print dialog is always shown with a valid 26784 GtkPrintSettings object. 26785 26786 * UIProcess/API/gtk/WebKitPrintOperation.cpp: 26787 (webkitPrintOperationRunDialog): 26788 267892013-11-09 Dan Bernstein <mitz@apple.com> 26790 26791 Use createCFURLFromBuffer when converting a String to a CFURL 26792 https://bugs.webkit.org/show_bug.cgi?id=124113 26793 26794 Reviewed by Anders Carlsson. 26795 26796 * Shared/API/c/cf/WKURLCF.mm: 26797 (WKURLCopyCFURL): Replaced some code with a call to createCFURLFromBuffer(), which does the 26798 same thing. 26799 26800 * Shared/Cocoa/WKNSURLExtras.h: Added. 26801 * Shared/Cocoa/WKNSURLExtras.mm: Added. 26802 (+[NSURL _web_URLWithWTFString:relativeToURL:]): Added. Returns nil for the null String, 26803 otherwise returns the result of createCFURLFromBuffer(). 26804 26805 * UIProcess/API/Cocoa/WKBackForwardListItem.mm: 26806 (-[WKBackForwardListItem URL]): Changed to use +_web_URLWithWTFString:relativeToURL:. 26807 (-[WKBackForwardListItem originalURL]): Ditto. 26808 26809 * UIProcess/API/Cocoa/WKNavigationData.mm: 26810 (-[WKNavigationData destinationURL]): Ditto. 26811 26812 * UIProcess/API/mac/WKBrowsingContextController.mm: 26813 (-[WKBrowsingContextController unreachableURL]): Ditto. 26814 26815 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 26816 268172013-11-09 Anders Carlsson <andersca@apple.com> 26818 26819 Encode form data using the KeyedEncoder 26820 https://bugs.webkit.org/show_bug.cgi?id=124107 26821 26822 Reviewed by Sam Weinig. 26823 26824 * Shared/cf/KeyedEncoder.cpp: 26825 (WebKit::KeyedEncoder::encodeBool): 26826 (WebKit::KeyedEncoder::encodeDouble): 26827 * Shared/cf/KeyedEncoder.h: 26828 268292013-11-09 Anders Carlsson <andersca@apple.com> 26830 26831 Remove an unused file. 26832 26833 Rubber-stamped by Andreas Kling. 26834 26835 * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Removed. 26836 268372013-11-09 Patrick Gansterer <paroga@webkit.org> 26838 26839 Move RunLoop from WebCore to WTF 26840 https://bugs.webkit.org/show_bug.cgi?id=116606 26841 26842 Reviewed by Anders Carlsson. 26843 26844 * DatabaseProcess/DatabaseProcess.cpp: 26845 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 26846 * NetworkProcess/NetworkConnectionToWebProcess.cpp: 26847 * NetworkProcess/NetworkProcess.cpp: 26848 * NetworkProcess/NetworkProcess.h: 26849 * NetworkProcess/NetworkResourceLoader.h: 26850 * NetworkProcess/mac/DiskCacheMonitor.h: 26851 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: 26852 * Platform/CoreIPC/Connection.cpp: 26853 * Platform/CoreIPC/Connection.h: 26854 * Platform/CoreIPC/mac/ConnectionMac.cpp: 26855 * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm: 26856 * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: 26857 * PluginProcess/PluginControllerProxy.h: 26858 * PluginProcess/PluginProcess.cpp: 26859 * PluginProcess/PluginProcess.h: 26860 * PluginProcess/WebProcessConnection.cpp: 26861 * PluginProcess/unix/PluginProcessMainUnix.cpp: 26862 * Shared/ChildProcess.cpp: 26863 * Shared/ChildProcess.h: 26864 * Shared/ChildProcessProxy.cpp: 26865 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 26866 * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 26867 * Shared/Plugins/NPObjectProxy.cpp: 26868 * Shared/WebKit2Initialize.cpp: 26869 (WebKit::InitializeWebKit2): 26870 * UIProcess/API/gtk/WebKitFaviconDatabase.cpp: 26871 * UIProcess/API/mac/FindIndicatorWindow.h: 26872 * UIProcess/API/mac/WKPrintingView.mm: 26873 * UIProcess/API/mac/WKView.mm: 26874 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: 26875 * UIProcess/DrawingAreaProxyImpl.h: 26876 * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: 26877 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 26878 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 26879 * UIProcess/Network/NetworkProcessProxy.cpp: 26880 * UIProcess/Plugins/PluginProcessProxy.cpp: 26881 * UIProcess/ResponsivenessTimer.cpp: 26882 * UIProcess/ResponsivenessTimer.h: 26883 * UIProcess/VisitedLinkProvider.h: 26884 * UIProcess/WebContext.cpp: 26885 * UIProcess/WebProcessProxy.cpp: 26886 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 26887 * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm: 26888 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: 26889 * WebProcess/Network/WebResourceLoadScheduler.h: 26890 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: 26891 * WebProcess/Plugins/Netscape/NetscapePlugin.h: 26892 * WebProcess/Plugins/Netscape/NetscapePluginStream.h: 26893 * WebProcess/Plugins/PluginView.h: 26894 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h: 26895 * WebProcess/WebPage/DrawingAreaImpl.h: 26896 * WebProcess/WebPage/EventDispatcher.cpp: 26897 * WebProcess/WebPage/PageOverlay.h: 26898 * WebProcess/WebPage/WebPage.cpp: 26899 * WebProcess/WebPage/WebPage.h: 26900 * WebProcess/WebProcess.cpp: 26901 * WebProcess/efl/WebProcessMainEfl.cpp: 26902 * WebProcess/gtk/WebProcessMainGtk.cpp: 26903 269042013-11-08 Brady Eidson <beidson@apple.com> 26905 26906 Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl 26907 https://bugs.webkit.org/show_bug.cgi?id=124088 26908 26909 Reviewed by Tim Horton. 26910 26911 This abstraction is no longer meaningful in its current form in WebCore. 26912 The current groundwork for the WK2 DatabaseProcess relied on this abstraction, 26913 but that will be reworked in a future patch. 26914 26915 * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: 26916 26917 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 26918 (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend): 26919 (WebKit::WebIDBFactoryBackend::createCursorBackend): 26920 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 26921 26922 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: 26923 (WebKit::WebProcessIDBDatabaseBackend::put): 26924 (WebKit::WebProcessIDBDatabaseBackend::openCursor): 26925 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 26926 269272013-11-08 Jaehun Lim <ljaehun.lim@samsung.com> 26928 26929 Unreviewed build fix after r158984. 26930 26931 No needs to include "KeyedEncoder.h". 26932 WebKit/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:31:26: fatal error: KeyedEncoder.h: No such file or directory 26933 26934 * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed #include line. 26935 269362013-11-08 Anders Carlsson <andersca@apple.com> 26937 26938 Implement encoding of arrays of objects 26939 https://bugs.webkit.org/show_bug.cgi?id=124091 26940 26941 Reviewed by Beth Dakin. 26942 26943 Add a new array stack and push and pop from it accordingly. 26944 26945 * Shared/cf/KeyedEncoder.cpp: 26946 (WebKit::KeyedEncoder::~KeyedEncoder): 26947 (WebKit::KeyedEncoder::encodeBytes): 26948 (WebKit::KeyedEncoder::encodeUInt32): 26949 (WebKit::KeyedEncoder::encodeInt32): 26950 (WebKit::KeyedEncoder::encodeInt64): 26951 (WebKit::KeyedEncoder::encodeFloat): 26952 (WebKit::KeyedEncoder::beginArray): 26953 (WebKit::KeyedEncoder::beginArrayElement): 26954 (WebKit::KeyedEncoder::endArrayElement): 26955 (WebKit::KeyedEncoder::endArray): 26956 * Shared/cf/KeyedEncoder.h: 26957 269582013-11-08 Tim Horton <timothy_horton@apple.com> 26959 26960 Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache 26961 https://bugs.webkit.org/show_bug.cgi?id=123944 26962 26963 Reviewed by Simon Fraser. 26964 26965 Rework RemoteLayerBackingStore painting to fix some rounding issues 26966 that would cause pixel cracks upon repaint, and to speed it up a bit. 26967 26968 * Shared/mac/RemoteLayerBackingStore.h: 26969 Redefine RepaintRectList because we can't include WebLayer.h here yet. 26970 Remove createBackingStore, which was never implemented. 26971 Remove mapToContentCoordinates, because we don't need it on Mac. 26972 26973 (WebKit::RemoteLayerBackingStore::paintingRects): Added. 26974 26975 * Shared/mac/RemoteLayerBackingStore.mm: 26976 (RemoteLayerBackingStore::setNeedsDisplay): 26977 (RemoteLayerBackingStore::display): 26978 Stop using mapToContentCoordinates. 26979 26980 (RemoteLayerBackingStore::drawInContext): 26981 Use clipping instead of painting the image multiple times. 26982 Never repaint more than the dirty region's bounds. 26983 Don't waste time with all of the drawNativeImage code, just use CG. 26984 Unindent the switch's cases. 26985 Store the rects we're painting so that enumerateRectsBeingDrawn can get them. 26986 Pixel-snap the rects we're painting. 26987 Clip the context before going to paint. 26988 26989 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 26990 (PlatformCALayerRemote::enumerateRectsBeingDrawn): 26991 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 26992 Retrieve the rects currently being painted from our backing store, and 26993 transform them (mostly) according to the CTM, to match the transformation 26994 that will have occurred underneath wkCALayerEnumerateRectsBeingDrawnWithBlock. 26995 269962013-11-08 Anders Carlsson <andersca@apple.com> 26997 26998 Implement more KeyedEncoder functionality 26999 https://bugs.webkit.org/show_bug.cgi?id=124089 27000 27001 Reviewed by Beth Dakin. 27002 27003 * Shared/cf/KeyedEncoder.cpp: 27004 (WebKit::KeyedEncoder::encodeBytes): 27005 (WebKit::KeyedEncoder::encodeInt32): 27006 (WebKit::KeyedEncoder::encodeFloat): 27007 * Shared/cf/KeyedEncoder.h: 27008 270092013-11-08 Anders Carlsson <andersca@apple.com> 27010 27011 KeyedEncoder should be able to encoder objects 27012 https://bugs.webkit.org/show_bug.cgi?id=124085 27013 27014 Reviewed by Sam Weinig. 27015 27016 Add a dictionary stack to KeyedEncoder that's pushed and popped by 27017 beginObject/endObject. 27018 27019 * Shared/cf/KeyedEncoder.cpp: 27020 (WebKit::KeyedEncoder::KeyedEncoder): 27021 (WebKit::KeyedEncoder::~KeyedEncoder): 27022 (WebKit::KeyedEncoder::encodeUInt32): 27023 (WebKit::KeyedEncoder::encodeString): 27024 (WebKit::KeyedEncoder::beginObject): 27025 (WebKit::KeyedEncoder::endObject): 27026 * Shared/cf/KeyedEncoder.h: 27027 270282013-11-08 Alexandru Chiculita <achicu@adobe.com> 27029 27030 Web Inspector: It should be possible to debug the Inspector code 27031 https://bugs.webkit.org/show_bug.cgi?id=124065 27032 27033 Reviewed by Timothy Hatcher. 27034 27035 When the script is paused, the debugger will pause all the pages in the same PageGroup. 27036 All the Inspector windows were created in the same PageGroup, so pausing one debugger 27037 would stop the other too. 27038 27039 Added WebInspectorPageGroups to manage the PageGroups created for the Inspectors. 27040 The WebInspectors will now use the inspection "level" to figure out which PageGroup to use. 27041 The inspector that debugs the main page will use "__WebInspectorPageGroupLevel1__", 27042 the second inspector (that debugs the first inspector) will use "__WebInspectorPageGroupLevel2__" ... 27043 27044 * UIProcess/WebInspectorProxy.cpp: 27045 (WebKit::WebInspectorPageGroups::shared): 27046 (WebKit::WebInspectorPageGroups::inspectorLevel): 27047 (WebKit::WebInspectorPageGroups::isInspectorPageGroup): 27048 (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel): 27049 (WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel): 27050 (WebKit::WebInspectorPageGroups::createInspectorPageGroup): 27051 (WebKit::WebInspectorProxy::WebInspectorProxy): 27052 (WebKit::WebInspectorProxy::inspectorPageGroup): 27053 (WebKit::WebInspectorProxy::isInspectorPage): 27054 (WebKit::WebInspectorProxy::canAttach): 27055 * UIProcess/WebInspectorProxy.h: 27056 270572013-11-08 Anders Carlsson <andersca@apple.com> 27058 27059 Begin stubbing out a KeyedEncoder class in WebCore 27060 https://bugs.webkit.org/show_bug.cgi?id=124079 27061 27062 Reviewed by Sam Weinig. 27063 27064 * Shared/KeyedEncoder.h: Removed. 27065 * Shared/cf/KeyedCodingValueCF.cpp: Removed. 27066 * Shared/cf/KeyedEncoder.cpp: Added. 27067 Remove old keyed encoders. 27068 27069 (WebKit::createDictionary): 27070 Helper function to create a mutable dictionary. 27071 (WebKit::KeyedEncoder::KeyedEncoder): 27072 Create the root dictionary. 27073 27074 (WebKit::KeyedEncoder::encodeUInt32): 27075 Create a CFNumberRef and add it to the dictionary. 27076 27077 * Shared/cf/KeyedEncoder.h: Added. 27078 * WebKit2.xcodeproj/project.pbxproj: 27079 Add new files. 27080 27081 * WebProcess/WebPage/WebBackForwardListProxy.cpp: 27082 (WebKit::updateBackForwardItem): 27083 Create a KeyedEncoder and encode the history tree. 27084 270852013-11-08 Brady Eidson <beidson@apple.com> 27086 27087 Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl 27088 https://bugs.webkit.org/show_bug.cgi?id=124077 27089 27090 Reviewed by Alexey Proskuryakov. 27091 27092 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 27093 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 27094 270952013-11-08 Brady Eidson <beidson@apple.com> 27096 27097 Merge IDBCursorBackendInterface and IDBCursorBackendImpl 27098 https://bugs.webkit.org/show_bug.cgi?id=124068 27099 27100 Reviewed by Anders Carlsson. 27101 27102 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 27103 (WebKit::WebIDBFactoryBackend::createCursorBackend): 27104 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 27105 271062013-11-08 Anders Carlsson <andersca@apple.com> 27107 27108 Remove a workaround for a bug in malloc on Symbian 27109 https://bugs.webkit.org/show_bug.cgi?id=124069 27110 27111 Reviewed by Sam Weinig. 27112 27113 * Platform/CoreIPC/ArgumentDecoder.cpp: 27114 (CoreIPC::ArgumentDecoder::~ArgumentDecoder): 27115 (CoreIPC::ArgumentDecoder::initialize): 27116 * Platform/CoreIPC/ArgumentDecoder.h: 27117 271182013-11-08 Anders Carlsson <andersca@apple.com> 27119 27120 More build fixes. 27121 27122 * UIProcess/API/mac/WKBrowsingContextController.mm: 27123 * UIProcess/API/mac/WKConnection.mm: 27124 (didReceiveMessage): 27125 271262013-11-08 Anders Carlsson <andersca@apple.com> 27127 27128 More build fixes. 27129 27130 * UIProcess/API/mac/WKConnection.h: 27131 * UIProcess/API/mac/WKConnection.mm: 27132 (didReceiveMessage): 27133 271342013-11-08 Anders Carlsson <andersca@apple.com> 27135 27136 Try to fix the 32-bit build. 27137 27138 * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h: 27139 271402013-11-08 Anders Carlsson <andersca@apple.com> 27141 27142 Replace __alignof with alignof. 27143 27144 Rubber-stamped by Beth Dakin. 27145 27146 * Platform/CoreIPC/ArgumentCoders.cpp: 27147 (CoreIPC::::encode): 27148 (CoreIPC::decodeStringText): 27149 * Platform/CoreIPC/ArgumentCoders.h: 27150 (CoreIPC::SimpleArgumentCoder::encode): 27151 (CoreIPC::SimpleArgumentCoder::decode): 27152 * Platform/CoreIPC/ArgumentDecoder.h: 27153 (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain): 27154 * WebProcess/WebPage/DecoderAdapter.cpp: 27155 (WebKit::DecoderAdapter::decodeString): 27156 * WebProcess/WebPage/EncoderAdapter.cpp: 27157 (WebKit::EncoderAdapter::encodeString): 27158 271592013-11-08 Anders Carlsson <andersca@apple.com> 27160 27161 Add a way to get a WKWebProcessPlugInBrowserContextController from a handle 27162 https://bugs.webkit.org/show_bug.cgi?id=124063 27163 27164 Reviewed by Beth Dakin. 27165 27166 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 27167 (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]): 27168 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: 27169 271702013-11-08 Anders Carlsson <andersca@apple.com> 27171 27172 More work on WKBrowsingContextHandle 27173 https://bugs.webkit.org/show_bug.cgi?id=124060 27174 27175 Reviewed by Beth Dakin. 27176 27177 Implement -hash and -isEqual: and add -[WKWebProcessPlugInBrowserContextController handle]. 27178 27179 * Shared/API/Cocoa/WKBrowsingContextHandle.mm: 27180 (-[WKBrowsingContextHandle hash]): 27181 (-[WKBrowsingContextHandle isEqual:]): 27182 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27183 (decodeInvocation): 27184 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 27185 (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]): 27186 (-[WKWebProcessPlugInBrowserContextController selectedRange]): 27187 (-[WKWebProcessPlugInBrowserContextController handle]): 27188 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h: 27189 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: 27190 271912013-11-08 Anders Carlsson <andersca@apple.com> 27192 27193 Add A WKBrowsingContextHandle class 27194 https://bugs.webkit.org/show_bug.cgi?id=124058 27195 27196 Reviewed by Sam Weinig. 27197 27198 The WKBrowsingContextHandle class represents a browsing context and can be sent across process boundaries. 27199 27200 * Shared/API/Cocoa/WKBrowsingContextHandle.h: Added. 27201 * Shared/API/Cocoa/WKBrowsingContextHandle.mm: Added. 27202 (-[WKBrowsingContextHandle _initWithPageID:]): 27203 (-[WKBrowsingContextHandle encodeWithCoder:]): 27204 (-[WKBrowsingContextHandle initWithCoder:]): 27205 (+[WKBrowsingContextHandle supportsSecureCoding]): 27206 * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h: Added. 27207 * UIProcess/API/mac/WKBrowsingContextController.mm: 27208 (-[WKBrowsingContextController handle]): 27209 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: 27210 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: 27211 (NS_ENUM): 27212 * WebKit2.xcodeproj/project.pbxproj: 27213 272142013-11-08 Anders Carlsson <andersca@apple.com> 27215 27216 Add WKRemoteObjectRegistry to WKConnection 27217 https://bugs.webkit.org/show_bug.cgi?id=124054 27218 27219 Reviewed by Sam Weinig. 27220 27221 * UIProcess/API/mac/WKConnection.h: 27222 * UIProcess/API/mac/WKConnection.mm: 27223 (-[WKConnection delegate]): 27224 (-[WKConnection setDelegate:]): 27225 (-[WKConnection remoteObjectRegistry]): 27226 (didReceiveMessage): 27227 272282013-11-08 Anders Carlsson <andersca@apple.com> 27229 27230 Encode and decode NSURLRequests using NSCoder 27231 https://bugs.webkit.org/show_bug.cgi?id=124051 27232 27233 Reviewed by Sam Weinig. 27234 27235 * Shared/mac/WebCoreArgumentCodersMac.mm: 27236 (CoreIPC::archiveAndEncodeObject): 27237 (CoreIPC::decodeAndUnarchiveObject): 27238 (CoreIPC::::encodePlatformData): 27239 (CoreIPC::::decodePlatformData): 27240 272412013-11-07 Anders Carlsson <andersca@apple.com> 27242 27243 Encode and decode NSURLResponse objects using NSCoder 27244 https://bugs.webkit.org/show_bug.cgi?id=124028 27245 27246 Reviewed by Andreas Kling. 27247 27248 * Shared/mac/WebCoreArgumentCodersMac.mm: 27249 (CoreIPC::::encodePlatformData): 27250 (CoreIPC::::decodePlatformData): 27251 272522013-11-07 Anders Carlsson <andersca@apple.com> 27253 27254 Move m_destinationID to MessageDecoder 27255 https://bugs.webkit.org/show_bug.cgi?id=124026 27256 27257 Reviewed by Andreas Kling. 27258 27259 * Platform/CoreIPC/ArgumentDecoder.h: 27260 * Platform/CoreIPC/MessageDecoder.h: 27261 (CoreIPC::MessageDecoder::destinationID): 27262 272632013-11-07 Anders Carlsson <andersca@apple.com> 27264 27265 Get rid of the out-of-line memory attachment type 27266 https://bugs.webkit.org/show_bug.cgi?id=124023 27267 27268 Reviewed by Andreas Kling. 27269 27270 We're only using out-of-line memory for when the message body is too big, so 27271 isolate that code in Connection and get rid of the out of line attachment type. 27272 27273 * Platform/CoreIPC/Attachment.cpp: 27274 (CoreIPC::Attachment::Attachment): 27275 * Platform/CoreIPC/Attachment.h: 27276 (CoreIPC::Attachment::port): 27277 (CoreIPC::Attachment::disposition): 27278 * Platform/CoreIPC/mac/ConnectionMac.cpp: 27279 (CoreIPC::Connection::sendOutgoingMessage): 27280 (CoreIPC::createMessageDecoder): 27281 272822013-11-07 Simon Fraser <simon.fraser@apple.com> 27283 27284 Lots of layers get solid color but transparent contents layers now 27285 https://bugs.webkit.org/show_bug.cgi?id=123537 27286 27287 Reviewed by Tim Horton. 27288 27289 Add some properties to the list of things not to implicitly animate. 27290 27291 * Shared/mac/RemoteLayerTreePropertyApplier.mm: 27292 (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer): 27293 272942013-11-07 Anders Carlsson <andersca@apple.com> 27295 27296 Remove more dead code 27297 https://bugs.webkit.org/show_bug.cgi?id=124016 27298 27299 Reviewed by Beth Dakin. 27300 27301 We're always layer backed now so we never scroll using the PageClient. 27302 27303 * UIProcess/API/mac/PageClientImpl.mm: 27304 (WebKit::PageClientImpl::canScrollView): 27305 (WebKit::PageClientImpl::scrollView): 27306 273072013-11-07 Anders Carlsson <andersca@apple.com> 27308 27309 Don't repaint the view when the web process crashes 27310 https://bugs.webkit.org/show_bug.cgi?id=124013 27311 27312 Reviewed by Dan Bernstein. 27313 27314 It's up to each individual port to decide whether the view should be repainted when the web process crashes. 27315 27316 * UIProcess/API/mac/PageClientImpl.mm: 27317 (WebKit::PageClientImpl::setViewNeedsDisplay): 27318 (WebKit::PageClientImpl::displayView): 27319 * UIProcess/WebPageProxy.cpp: 27320 (WebKit::WebPageProxy::resetStateAfterProcessExited): 27321 273222013-11-07 Tamas Gergely <gertom@inf.u-szeged.hu> 27323 27324 Report error on unknown template class usage. 27325 https://bugs.webkit.org/show_bug.cgi?id=123096 27326 27327 Reviewed by Darin Adler. 27328 27329 Report error when template class is not found in the dictionary. 27330 27331 * Scripts/webkit2/messages.py: 27332 (class_template_headers): 27333 (class_template_headers.template): 27334 273352013-11-07 Denis Nomiyama <d.nomiyama@samsung.com> 27336 27337 [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise 27338 https://bugs.webkit.org/show_bug.cgi?id=50619 27339 27340 Reviewed by Martin Robinson. 27341 27342 Added WebCore/platform/graphics/opentype to the include path. 27343 27344 * PlatformEfl.cmake: 27345 * PlatformGTK.cmake: 27346 273472013-11-07 Brendan Long <b.long@cablelabs.com> 27348 27349 [Gtk] Remove old takeFocus() method from PageClientImpl and mark methods as OVERRIDE 27350 https://bugs.webkit.org/show_bug.cgi?id=123919 27351 27352 Reviewed by Carlos Garcia Campos. 27353 27354 * UIProcess/API/gtk/PageClientImpl.cpp: Remove takeFocus(). 27355 * UIProcess/API/gtk/PageClientImpl.h: Remove takeFocus() and mark methods as OVERRIDE. 27356 273572013-11-06 Dan Bernstein <mitz@apple.com> 27358 27359 Moved UIProcess/Cocoa to UIProcess/API/Cocoa. 27360 27361 Rubber-stamped by Anders Carlsson. 27362 27363 * UIProcess/API/Cocoa: Copied from Source/WebKit2/UIProcess/Cocoa. 27364 * UIProcess/Cocoa: Removed. 27365 * UIProcess/Cocoa/WKBackForwardList.h: Removed. 27366 * UIProcess/Cocoa/WKBackForwardList.mm: Removed. 27367 * UIProcess/Cocoa/WKBackForwardListInternal.h: Removed. 27368 * UIProcess/Cocoa/WKBackForwardListItem.h: Removed. 27369 * UIProcess/Cocoa/WKBackForwardListItem.mm: Removed. 27370 * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Removed. 27371 * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Removed. 27372 * UIProcess/Cocoa/WKNavigationData.h: Removed. 27373 * UIProcess/Cocoa/WKNavigationData.mm: Removed. 27374 * UIProcess/Cocoa/WKNavigationDataInternal.h: Removed. 27375 * WebKit2.xcodeproj/project.pbxproj: 27376 273772013-11-06 Brendan Long <b.long@cablelabs.com> 27378 27379 [Gtk][EFL] Fix build after r158759 27380 https://bugs.webkit.org/show_bug.cgi?id=123910 27381 27382 Reviewed by Gyuyoung Kim. 27383 27384 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 27385 (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Remove call to flashBackingStoreUpdates(). 27386 273872013-11-06 Tim Horton <timothy_horton@apple.com> 27388 27389 Remote Layer Tree: RemoteLayerTreeDrawingArea doesn't make layers for fixedpos elements 27390 https://bugs.webkit.org/show_bug.cgi?id=123943 27391 27392 Reviewed by Simon Fraser. 27393 27394 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 27395 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 27396 (WebKit::RemoteLayerTreeDrawingArea::updatePreferences): 27397 Make fixed position elements create compositing layers and stacking contexts 27398 in the RemoteLayerTreeDrawingArea just like they do in TiledCoreAnimationDrawingArea. 27399 27400 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 27401 (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): 27402 Fix the comment, since we have long since achieved this goal. 27403 274042013-11-06 Anders Carlsson <andersca@apple.com> 27405 27406 Implement enough functionality so that NSURLRequest objects can be decoded 27407 https://bugs.webkit.org/show_bug.cgi?id=123942 27408 27409 Reviewed by Andreas Kling. 27410 27411 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27412 (-[WKRemoteObjectEncoder requiresSecureCoding]): 27413 Add new method. Return YES. 27414 27415 (-[WKRemoteObjectDecoder decodeValueOfObjCType:at:]): 27416 Add new method. This currently only handles 'i', but we'll add more variants as needed. 27417 27418 (-[WKRemoteObjectDecoder decodeBoolForKey:]): 27419 Get a WebBoolean from the dictionary and return its value. 27420 274212013-11-06 Anders Carlsson <andersca@apple.com> 27422 27423 Encoded object stream should be sequential 27424 https://bugs.webkit.org/show_bug.cgi?id=123939 27425 27426 Reviewed by Andreas Kling. 27427 27428 Reserve space in the object stream for objects that are to be encoded, otherwise 27429 the object stream will not be sequential. 27430 27431 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27432 (encodeToObjectStream): 27433 * Shared/ImmutableArray.h: 27434 (WebKit::ImmutableArray::entries): 27435 274362013-11-06 Anders Carlsson <andersca@apple.com> 27437 27438 Allow property list classes to exist in containers 27439 https://bugs.webkit.org/show_bug.cgi?id=123938 27440 27441 Reviewed by Andreas Kling. 27442 27443 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 27444 (isContainerClass): 27445 Return whether a given class is a container class. 27446 27447 (propertyListClasses): 27448 Return the set of property list classes. 27449 27450 (allowedArgumentClassesForMethod): 27451 Allow all property list classes for container type arguments. 27452 274532013-11-06 Daniel Bates <dabates@apple.com> 27454 27455 [iOS] Upstream Letterpress effect 27456 https://bugs.webkit.org/show_bug.cgi?id=123932 27457 27458 Reviewed by Sam Weinig. 27459 27460 Add feature define ENABLE_LETTERPRESS disabled by default. We only enable 27461 letterpress on iOS. 27462 27463 * Configurations/FeatureDefines.xcconfig: 27464 274652013-11-06 Dan Bernstein <mitz@apple.com> 27466 27467 Fixed multiple API test failures after r158764. 27468 27469 Reviewed by Sam Weinig. 27470 27471 * UIProcess/API/mac/WKBrowsingContextController.mm: 27472 (setUpPagePolicyClient): If the delegate isn’t set or doesn’t respond to a selector, respond 27473 with WKFramePolicyListenerUse(). 27474 274752013-11-06 Anders Carlsson <andersca@apple.com> 27476 27477 Move allowed classes handling to decodeObject 27478 https://bugs.webkit.org/show_bug.cgi?id=123930 27479 27480 Reviewed by Andreas Kling. 27481 27482 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27483 (decodeObjectFromObjectStream): 27484 Pass allowed classes through to decodeObject. 27485 27486 (decodeObject): 27487 Update to take an NSSet of allowed classes. If the set is nil, use the current set. 27488 27489 (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]): 27490 Pass classes to decodeObject. 27491 274922013-11-06 Sergio Correia <sergio.correia@openbossa.org> 27493 27494 Fix EFL build after r158753 27495 https://bugs.webkit.org/show_bug.cgi?id=123923 27496 27497 r158753 renamed WKNavigationData.h as WKNavigationDataRef.h, so 27498 update it in UIProcess/API/efl/ewk_navigation_data_private.h. 27499 27500 Reviewed by Csaba Osztrogonác. 27501 27502 * UIProcess/API/efl/ewk_navigation_data_private.h: 27503 275042013-11-06 Anders Carlsson <andersca@apple.com> 27505 27506 Implement more decoding methods 27507 https://bugs.webkit.org/show_bug.cgi?id=123922 27508 27509 Reviewed by Dan Bernstein. 27510 27511 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27512 (-[WKRemoteObjectDecoder decodeObjectForKey:]): 27513 Call decodeObjectOfClasses:forKey: passing nil as the classes set. 27514 27515 (-[WKRemoteObjectDecoder decodeInt64ForKey:]): 27516 Try to get a WebUInt64 and return its value. 27517 27518 (-[WKRemoteObjectDecoder decodeDoubleForKey:]): 27519 Try to get a WebDouble and return its value. 27520 27521 (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): 27522 Move this method next to the other decoding methods. 27523 27524 (-[WKRemoteObjectDecoder requiresSecureCoding]): 27525 Ditto. 27526 275272013-11-06 Brendan Long <b.long@cablelabs.com> 27528 27529 [Gtk][EFL] Fix build after r158759 27530 https://bugs.webkit.org/show_bug.cgi?id=123910 27531 27532 Reviewed by Gustavo Noronha Silva. 27533 27534 * UIProcess/API/gtk/PageClientImpl.cpp: Remove flashBackingStoreUpdates(). 27535 * UIProcess/API/gtk/PageClientImpl.h: Same. 27536 * UIProcess/CoordinatedGraphics/WebView.cpp: Same. 27537 * UIProcess/CoordinatedGraphics/WebView.h: Same. 27538 * UIProcess/DrawingAreaProxyImpl.cpp: 27539 (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Don't call flashBackingStoreUpdates(). 27540 275412013-11-06 Jer Noble <jer.noble@apple.com> 27542 27543 Unreviewed Mac build fix; include ResourceResponse. 27544 27545 * Shared/WebNavigationDataStore.h: 27546 275472013-11-06 Anders Carlsson <andersca@apple.com> 27548 27549 Decode invocation arguments 27550 https://bugs.webkit.org/show_bug.cgi?id=123917 27551 27552 Reviewed by Sam Weinig. 27553 27554 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27555 (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]): 27556 Initialize the object stream. 27557 27558 (decodeObjectFromObjectStream): 27559 Check that we're not reading past the end of the stream, then decode the object. 27560 27561 (decodeInvocationArguments): 27562 Decode arguments from the object stream. 27563 27564 (decodeInvocation): 27565 Call decodeInvocationArguments and set up the selector argument. 27566 27567 * Shared/ImmutableArray.h: 27568 (WebKit::ImmutableArray::at): 27569 (WebKit::ImmutableArray::size): 27570 (WebKit::ImmutableArray::entries): 27571 Constify. 27572 275732013-11-06 Dan Bernstein <mitz@apple.com> 27574 27575 [Cocoa] Add -[WKNavigationData response] 27576 https://bugs.webkit.org/show_bug.cgi?id=123918 27577 27578 Reviewed by Sam Weinig. 27579 27580 * Shared/WebNavigationDataStore.h: Added a ResourceResponse data member. 27581 (WebKit::WebNavigationDataStore::encode): Encode the response. 27582 (WebKit::WebNavigationDataStore::decode): Decode the response. 27583 * UIProcess/Cocoa/WKNavigationData.h: Declared new property. 27584 * UIProcess/Cocoa/WKNavigationData.mm: 27585 (-[WKNavigationData response]): Added. 27586 * UIProcess/WebNavigationData.h: 27587 (WebKit::WebNavigationData::response): Added. 27588 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 27589 (WebKit::WebFrameLoaderClient::updateGlobalHistory): Set the response in the data store. 27590 275912013-11-06 Sam Weinig <sam@webkit.org> 27592 27593 Fix the 32-bit build. 27594 27595 * UIProcess/API/mac/WKBrowsingContextController.h: 27596 * UIProcess/API/mac/WKBrowsingContextController.mm: 27597 (-[WKBrowsingContextController dealloc]): 27598 (-[WKBrowsingContextController _initWithPageRef:]): 27599 276002013-11-06 Dan Bernstein <mitz@apple.com> 27601 27602 [Cocoa] Add -[WKBrowsingContextController unreachableURL] 27603 https://bugs.webkit.org/show_bug.cgi?id=123909 27604 27605 Reviewed by Anders Carlsson. 27606 27607 * UIProcess/API/mac/WKBrowsingContextController.h: Declared unreachableURL property. 27608 * UIProcess/API/mac/WKBrowsingContextController.mm: 27609 (-[WKBrowsingContextController unreachableURL]): Added. 27610 * UIProcess/WebPageProxy.cpp: 27611 (WebKit::WebPageProxy::unreachableURL): Added. 27612 * UIProcess/WebPageProxy.h: 27613 276142013-11-06 Anders Carlsson <andersca@apple.com> 27615 27616 Encode parameters as objects 27617 https://bugs.webkit.org/show_bug.cgi?id=123912 27618 27619 Reviewed by Beth Dakin. 27620 27621 We want to ensure that the objects have the right types when decoded, so just encode them as objects. 27622 27623 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27624 (encodeInvocation): 27625 (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]): 27626 276272013-11-06 Sam Weinig <sam@webkit.org> 27628 27629 Add WKBrowsingContextPolicyDelegate 27630 https://bugs.webkit.org/show_bug.cgi?id=123904 27631 27632 Reviewed by Anders Carlsson. 27633 27634 * UIProcess/API/mac/WKBrowsingContextController.h: 27635 * UIProcess/API/mac/WKBrowsingContextController.mm: 27636 Implement a WKPagePolicyClient in terms of the new WKBrowsingContextPolicyDelegate protocol. 27637 27638 * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: 27639 Added. 27640 27641 * UIProcess/API/mac/WebKit2.h: 27642 Add new #include of WKBrowsingContextPolicyDelegate.h 27643 27644 * WebKit2.xcodeproj/project.pbxproj: 27645 Add new file. 27646 276472013-11-06 Anders Carlsson <andersca@apple.com> 27648 27649 WKRemoteObjectInterface should keep track of allowed decodable classes 27650 https://bugs.webkit.org/show_bug.cgi?id=123903 27651 27652 Reviewed by Sam Weinig. 27653 27654 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 27655 (allowedArgumentClassesForMethod): 27656 Helper function that returns a vector of sets of allowed classes for each method argument. 27657 27658 (initializeAllowedArgumentClasses): 27659 Iterate over the methods in the protocol, get the extended method type encoding and create an 27660 NSMethodSignature from it. Finally, pass the signature to allowedArgumentClassesForMethod. 27661 27662 (initializeAllowedArgumentClasses): 27663 Call the other initializeAllowedArgumentClasses twice, once for required methods, 27664 and once for optional methods. 27665 27666 (-[WKRemoteObjectInterface initWithProtocol:identifier:]): 27667 Call initializeAllowedArgumentClasses. 27668 27669 (-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]): 27670 Add new getter. 27671 27672 * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h: 27673 276742013-11-06 Anders Carlsson <andersca@apple.com> 27675 27676 Remove dead code 27677 https://bugs.webkit.org/show_bug.cgi?id=123902 27678 27679 Reviewed by Tim Horton. 27680 27681 Remove the PageClient::containingWindowGraphicsContext() as well as the 27682 WKPageSetDebugPaintFlags and WKPageGetDebugPaintFlags API functions. 27683 27684 * UIProcess/API/C/WKPage.cpp: 27685 * UIProcess/API/mac/PageClientImpl.h: 27686 * UIProcess/API/mac/PageClientImpl.mm: 27687 * UIProcess/PageClient.h: 27688 * UIProcess/WebPageProxy.cpp: 27689 * UIProcess/WebPageProxy.h: 27690 * UIProcess/mac/WebPageProxyMac.mm: 27691 (WebKit::WebPageProxy::searchTheWeb): 27692 276932013-11-06 Dan Bernstein <mitz@apple.com> 27694 27695 Promoted WKBrowsingContextHistoryDelegate.h to private. 27696 27697 Rubber-stamped by Sam Weinig. 27698 27699 * WebKit2.xcodeproj/project.pbxproj: 27700 277012013-11-06 Dan Bernstein <mitz@apple.com> 27702 27703 [Cocoa] History delegate 27704 https://bugs.webkit.org/show_bug.cgi?id=123837 27705 27706 Reviewed by Sam Weinig. 27707 27708 * Shared/Cocoa/APIObject.mm: 27709 (WebKit::APIObject::newObject): Allocate a WKNavigationData if the object is a 27710 WebNavigationData. 27711 27712 * Shared/Cocoa/WKNSString.h: 27713 (WebKit::wrapper): Added. Returns a WebString’s wrapper as an NSString. 27714 27715 * Shared/Cocoa/WKNSURL.h: 27716 (WebKit::wrapper): Added. Returns a WebURL’s wrapper as an NSURL. 27717 27718 * UIProcess/API/C/WKNavigationData.cpp: Renamed. 27719 * UIProcess/API/C/WKNavigationData.h: Renamed. 27720 * UIProcess/API/C/WKNavigationDataRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp. 27721 * UIProcess/API/C/WKNavigationDataRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.h. 27722 27723 * UIProcess/API/mac/WKBrowsingContextController.h: Declared historyDelegate property. 27724 27725 * UIProcess/API/mac/WKProcessGroup.mm: 27726 (didNavigateWithNavigationData): Added history client callback that calls the browsing 27727 context’s history delegate. 27728 (didPerformClientRedirect): Ditto. 27729 (didPerformServerRedirect): Ditto. 27730 (didUpdateHistoryTitle): Ditto. 27731 (setUpHistoryClient): Added. 27732 (-[WKProcessGroup initWithInjectedBundleURL:]): Added call to setUpHistoryClient. 27733 (-[WKProcessGroup dealloc]): Clear the history client. 27734 27735 * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Added. 27736 27737 * UIProcess/Cocoa/WKNavigationData.h: Added. 27738 * UIProcess/Cocoa/WKNavigationData.mm: Added. 27739 (-[WKNavigationData dealloc]): Calls the WebNavigationData destructor. 27740 (-[WKNavigationData title]): Added. 27741 (-[WKNavigationData originalRequest]): Added. 27742 (-[WKNavigationData destinationURL]): Added. 27743 (-[WKNavigationData _apiObject]): Returns the wrapped WebNavigationData. 27744 * UIProcess/Cocoa/WKNavigationDataInternal.h: Added. 27745 (WebKit::wrapper): Added. Returns a WebNavigationData’s wrapper as a WKNavigationData. 27746 * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions. 27747 277482013-11-05 Anders Carlsson <andersca@apple.com> 27749 27750 Begin work on decoding invocations 27751 https://bugs.webkit.org/show_bug.cgi?id=123838 27752 27753 Reviewed by Dan Bernstein. 27754 27755 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27756 (encodeInvocation): 27757 Declare the type string and selector keys as constants. 27758 27759 (encodeObject): 27760 Make sure to encode the class name for NSInvocations as well. 27761 27762 (decodeInvocation): 27763 Figure out the local and remove method signatures and make sure that they are equal. 27764 27765 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 27766 (methodArgumentTypeEncodingForSelector): 27767 Helper function that returns the type encoding for a given selector. 27768 27769 (-[WKRemoteObjectInterface _methodSignatureForSelector:]): 27770 Helper function that returns a method signature for the method with the name referred to by selector. 27771 27772 * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h: Added. 27773 Add internal header. 27774 27775 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 27776 (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): 27777 Pass the right object to the WKRemoteObjectDecoder initializer and decode the invocation. 27778 27779 * WebKit2.xcodeproj/project.pbxproj: 27780 Add internal header. 27781 277822013-11-05 Anders Carlsson <andersca@apple.com> 27783 27784 WKRemoteObjectDecoder should know which interface it's decoding for 27785 https://bugs.webkit.org/show_bug.cgi?id=123833 27786 27787 Reviewed by Andreas Kling. 27788 27789 Move the interface identifier out into the root object body dictionary and make 27790 the encoded invocation a sibling of it. That way we can look up the interface before 27791 creating the decoder. 27792 27793 Also, manage exported objects and interfaces in a separate hash map. 27794 27795 * Shared/API/Cocoa/WKRemoteObjectCoder.h: 27796 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27797 (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]): 27798 (decodeInvocation): 27799 (decodeObject): 27800 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 27801 (-[WKRemoteObjectRegistry registerExportedObject:interface:]): 27802 (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]): 27803 (-[WKRemoteObjectRegistry _sendInvocation:interface:]): 27804 (-[WKRemoteObjectRegistry _handleMessageWithName:body:]): 27805 (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): 27806 278072013-11-05 Anders Carlsson <andersca@apple.com> 27808 27809 Add support for decoding NSStrings 27810 https://bugs.webkit.org/show_bug.cgi?id=123829 27811 27812 Reviewed by Andreas Kling. 27813 27814 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27815 (encodeObject): 27816 (-[WKRemoteObjectDecoder allowsKeyedCoding]): 27817 Always return YES. 27818 27819 (-[WKRemoteObjectDecoder containsValueForKey:]): 27820 Look up the key in the current dictionary. 27821 27822 (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): 27823 Try to get the WebData object and return its data + size. 27824 27825 (-[WKRemoteObjectDecoder requiresSecureCoding]): 27826 Return YES. 27827 27828 (checkIfClassIsAllowed): 27829 Check if the class or any of its superclasses are are allowed. 27830 27831 (validateClass): 27832 Call checkIfClassIsAllowed and validate that the class conforms to NSSecureCoding. 27833 27834 (decodeObject): 27835 Get the class name, verify that the class exists and is allowed. 27836 Allocate and initialize an object using initWithCoder:. 27837 27838 (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]): 27839 Set the allowed classes, look up the object in _currentDictionary and call decodeObject. 27840 27841 (-[WKRemoteObjectDecoder allowedClasses]): 27842 Return _allowedClasses. 27843 27844 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 27845 (-[WKRemoteObjectRegistry _sendInvocation:interface:]): 27846 Declare interfaceIdentifier as a constant. 27847 27848 (-[WKRemoteObjectRegistry _invokeMessageWithBody:]): 27849 Decode the interface identifier. 27850 27851 * Shared/ImmutableDictionary.h: 27852 (WebKit::ImmutableDictionary::get): 27853 (WebKit::ImmutableDictionary::size): 27854 (WebKit::ImmutableDictionary::map): 27855 Make member functions const. 27856 278572013-11-05 Benjamin Poulain <benjamin@webkit.org> 27858 27859 Fix Mountain Lion Debug bot after r158689 27860 27861 Unreviewed. 27862 27863 It looks like WebGeolocationManagerProxy::stopUpdating() and WebGeolocationManagerProxy::processDidClose() 27864 are racing in some cases, causing the assertion to fail. 27865 27866 That case is handled properly in the last if() branch of WebGeolocationManagerProxy::removeRequester(). 27867 This patch remove the overzealous assertion. 27868 27869 * UIProcess/WebGeolocationManagerProxy.cpp: 27870 (WebKit::WebGeolocationManagerProxy::removeRequester): 27871 278722013-11-05 Tim Horton <timothy_horton@apple.com> 27873 27874 Remote Layer Tree: Apply layer changes to LayerTypeCustom layers to the custom layer in the Web process, not to the CALayerHost 27875 https://bugs.webkit.org/show_bug.cgi?id=123818 27876 27877 Reviewed by Anders Carlsson. 27878 27879 Changes to the properties of a PlatformCALayer of type LayerTypeCustom are intended 27880 to affect the custom CALayer; however, we were bundling them up with the transaction 27881 and applying them to the CALayerHost, leading to important properties being lost. 27882 27883 Instead, apply them to the Web-process-side CALayer when building the transaction. 27884 27885 * Shared/mac/RemoteLayerTreePropertyApplier.h: Added. 27886 * Shared/mac/RemoteLayerTreePropertyApplier.mm: Added. 27887 (WebKit::cgColorFromColor): 27888 (WebKit::toCAFilterType): 27889 (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): 27890 (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer): 27891 Move code to apply LayerProperties to a CALayer from RemoteLayerTreeHost. 27892 Move code to disable actions on a CALayer from RemoteLayerTreeHost. 27893 27894 * UIProcess/mac/RemoteLayerTreeHost.mm: 27895 (WebKit::RemoteLayerTreeHost::commit): 27896 (WebKit::RemoteLayerTreeHost::createLayer): 27897 Use RemoteLayerTreePropertyApplier. 27898 Hand it a map of LayerID->CALayer so that it can look up related layers 27899 for children and mask layers. 27900 27901 * WebKit2.xcodeproj/project.pbxproj: 27902 Add RemoteLayerTreePropertyApplier.{h,mm} 27903 27904 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 27905 (PlatformCALayerRemote::recursiveBuildTransaction): 27906 Upon commit, apply changes to LayerTypeCustom layers to the platform layer. 27907 Setting children or maskLayer won't work, since we don't know about other raw CALayers. 27908 This is OK, since nothing uses those properties on custom layers. 27909 27910 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: 27911 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): 27912 Disable actions on the root custom layer. 27913 279142013-11-05 Anders Carlsson <andersca@apple.com> 27915 27916 Begin work on a WKRemoteObjectDecoder object 27917 https://bugs.webkit.org/show_bug.cgi?id=123819 27918 27919 Reviewed by Dan Bernstein. 27920 27921 * Shared/API/Cocoa/WKRemoteObjectCoder.h: 27922 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27923 (-[WKRemoteObjectDecoder initWithRootObjectDictionary:]): 27924 Add designated initializer. 27925 27926 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 27927 (-[WKRemoteObjectRegistry _handleMessageWithName:body:]): 27928 If the message has the expected name and body type, pass it along to -_invokeMessageWithBody:. 27929 27930 (-[WKRemoteObjectRegistry _invokeMessageWithBody:]): 27931 Create a decoder. 27932 279332013-11-05 Benjamin Poulain <benjamin@webkit.org> 27934 27935 [WK2] Add a WebKit2 API for Geolocation's highAccuracy 27936 https://bugs.webkit.org/show_bug.cgi?id=123786 27937 27938 Reviewed by Darin Adler. 27939 27940 This adds support for highAccuracy Geolocation with WebKit2. 27941 27942 The key is to track which page/requester need what kind of geolocation 27943 in order to change between high and low accuracy as pages run and disappear. 27944 27945 WebGeolocationManager and WebGeolocationManagerProxy have very similar roles 27946 but for different sources: 27947 -WebGeolocationManager tracks which live page require high accuracy geolocation. 27948 When the state changes, it forward the information to the UIProcess. 27949 -WebGeolocationManagerProxy tracks which WebContent processes needs high accuracy. 27950 27951 * Shared/APIClientTraits.cpp: 27952 * Shared/APIClientTraits.h: 27953 * UIProcess/API/C/WKGeolocationManager.h: 27954 * UIProcess/WebGeolocationManagerProxy.cpp: 27955 (WebKit::WebGeolocationManagerProxy::startUpdating): 27956 (WebKit::WebGeolocationManagerProxy::removeRequester): 27957 (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy): 27958 * UIProcess/WebGeolocationManagerProxy.h: 27959 (WebKit::WebGeolocationManagerProxy::isUpdating): 27960 (WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled): 27961 * UIProcess/WebGeolocationManagerProxy.messages.in: 27962 * UIProcess/WebGeolocationProvider.cpp: 27963 (WebKit::WebGeolocationProvider::setEnableHighAccuracy): 27964 * UIProcess/WebGeolocationProvider.h: 27965 * WebProcess/Geolocation/WebGeolocationManager.cpp: 27966 (WebKit::WebGeolocationManager::registerWebPage): 27967 (WebKit::WebGeolocationManager::unregisterWebPage): 27968 (WebKit::WebGeolocationManager::setEnableHighAccuracyForPage): 27969 * WebProcess/Geolocation/WebGeolocationManager.h: 27970 (WebKit::WebGeolocationManager::isUpdating): 27971 (WebKit::WebGeolocationManager::isHighAccuracyEnabled): 27972 * WebProcess/WebCoreSupport/WebGeolocationClient.cpp: 27973 (WebKit::WebGeolocationClient::setEnableHighAccuracy): 27974 279752013-11-05 Anders Carlsson <andersca@apple.com> 27976 27977 Implement more NSCoder methods 27978 https://bugs.webkit.org/show_bug.cgi?id=123815 27979 27980 Reviewed by Dan Bernstein. 27981 27982 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 27983 (encodeObject): 27984 Assert that object is not nil. 27985 27986 (createEncodedObject): 27987 Handle nil objects. 27988 27989 (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]): 27990 Call the right object stream encoding function based on the object type. 27991 27992 (-[WKRemoteObjectEncoder encodeBool:forKey:]): 27993 (-[WKRemoteObjectEncoder encodeInt64:forKey:]): 27994 (-[WKRemoteObjectEncoder encodeDouble:forKey:]): 27995 Create APIObjects and add them to the current dictionary. 27996 279972013-11-05 Anders Carlsson <andersca@apple.com> 27998 27999 Encode the class name 28000 https://bugs.webkit.org/show_bug.cgi?id=123813 28001 28002 Reviewed by Dan Bernstein. 28003 28004 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28005 (encodeObject): 28006 Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary. 28007 280082013-11-05 Anders Carlsson <andersca@apple.com> 28009 28010 Clean up the WKRemoteObjectEncoder code 28011 https://bugs.webkit.org/show_bug.cgi?id=123811 28012 28013 Reviewed by Dan Bernstein. 28014 28015 Add a new object stream array to be used for the non-keyed encoding values 28016 and free functions for encoding values to the object stream. Simplify object encoding 28017 by moving the dictionary creation out into a separate function and ditching the block based methods. 28018 28019 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28020 (ensureObjectStream): 28021 Add helper function to create an object stream. 28022 28023 (encodeToObjectStream): 28024 Add overloads for encoding values into the object streams. 28025 28026 (encodeInvocation): 28027 Add helper function for encoding an NSInvocation. 28028 28029 (encodeObject): 28030 Call encodeInvocation if needed, otherwise just use encodeWithCoder:. 28031 28032 (createEncodedObject): 28033 Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary. 28034 28035 (-[WKRemoteObjectEncoder encodeObject:forKey:]): 28036 Call createEncodedObject. 28037 280382013-11-04 Brady Eidson <beidson@apple.com> 28039 28040 IDB: Split backend Cursors and Transactions into their own files 28041 https://bugs.webkit.org/show_bug.cgi?id=123789 28042 28043 Reviewed by Alexey Proskuryakov. 28044 28045 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 28046 (WebKit::WebIDBFactoryBackend::createCursorBackend): 28047 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 28048 280492013-11-04 Alexey Proskuryakov <ap@apple.com> 28050 28051 DumpRenderTree should reset its preferences file on launch 28052 https://bugs.webkit.org/show_bug.cgi?id=29751 28053 28054 Reviewed by Dan Bernstein. 28055 28056 * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: 28057 (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): 28058 Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication 28059 domain meant that current application's domain was explcitly ignored, and the only 28060 way to override the setting in WTR was through argument domain. 28061 280622013-11-04 Tim Horton <timothy_horton@apple.com> 28063 28064 Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process 28065 https://bugs.webkit.org/show_bug.cgi?id=123766 28066 28067 Reviewed by Anders Carlsson. 28068 28069 Put each LayerTypeCustom layer into a CAContext, so that we can 28070 host small CALayer trees (for video, plugins, etc.) from the Web process 28071 to the UI process without proxying their (more complex) content. 28072 28073 * Shared/mac/RemoteLayerTreeTransaction.h: 28074 * Shared/mac/RemoteLayerTreeTransaction.mm: 28075 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode): 28076 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode): 28077 (WebKit::RemoteLayerTreeTransaction::dump): 28078 Store, encode, and dump the CAContext ID of custom layers. 28079 28080 * UIProcess/mac/RemoteLayerTreeHost.mm: 28081 (WebKit::RemoteLayerTreeHost::createLayer): 28082 Create a CALayerHost with the CAContext ID from the Web process. 28083 28084 * WebKit2.xcodeproj/project.pbxproj: 28085 Add PlatformCALayerRemoteCustom. 28086 28087 * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: 28088 (WebKit::GraphicsLayerCARemote::createPlatformCALayer): 28089 Call the newly-added custom-layer constructor. 28090 28091 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 28092 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 28093 (PlatformCALayerRemote::create): 28094 (PlatformCALayerRemote::PlatformCALayerRemote): 28095 Move the call to layerWasCreated() out to ::create(), so that all of 28096 the constructors for this class and all subclasses have completed 28097 before we call it (so that layerWasCreated() can store the context ID 28098 in the created layer properties object). 28099 28100 (WebKit::PlatformCALayerRemote::hostingContextID): 28101 Should never be reached on the base class, only PlatformCALayerRemoteCustom. 28102 28103 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added. 28104 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): 28105 (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom): 28106 (PlatformCALayerRemoteCustom::hostingContextID): 28107 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added. 28108 Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext 28109 which it will use to share a custom CALayer tree with the UI process. 28110 28111 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: 28112 Drive-by remove an unnecessary include. 28113 28114 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 28115 (WebKit::RemoteLayerTreeContext::layerWasCreated): 28116 Store the CAContext ID with the layer creation properties so it can 28117 be used to create a CALayerHost upon commit in the UI process. 28118 281192013-11-04 Tim Horton <timothy_horton@apple.com> 28120 28121 Remove PlatformCALayer::playerLayer 28122 https://bugs.webkit.org/show_bug.cgi?id=123764 28123 28124 Reviewed by Sam Weinig. 28125 28126 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 28127 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 28128 Remove playerLayer(). 28129 281302013-11-04 Anders Carlsson <andersca@apple.com> 28131 28132 WKRemoteObjectEncoder should escape keys 28133 https://bugs.webkit.org/show_bug.cgi?id=123761 28134 28135 Reviewed by Tim Horton. 28136 28137 Keys that start with $ will be reserved for use by the coder, so prepend an extra 28138 $ to keys that already start with $ to avoid clashes. 28139 28140 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28141 (escapeKey): 28142 (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]): 28143 (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]): 28144 281452013-11-04 Benjamin Poulain <bpoulain@apple.com> 28146 28147 [WK2] Update WebGeolocationManager to support multiple WebContent processes 28148 https://bugs.webkit.org/show_bug.cgi?id=123658 28149 28150 Reviewed by Anders Carlsson. 28151 28152 Change WebGeolocationManagerProxy to track which WebProcessProxy needs geolocation. 28153 28154 * UIProcess/WebContext.cpp: 28155 (WebKit::WebContext::disconnectProcess): 28156 WebContext::disconnectProcess does not handle ContextSupplement yet when using multiple 28157 WebContent processes. Add an explicit call for WebGeolocationManagerProxy as a temporary 28158 solution. 28159 28160 * UIProcess/WebGeolocationManagerProxy.cpp: 28161 (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy): 28162 (WebKit::WebGeolocationManagerProxy::contextDestroyed): 28163 (WebKit::WebGeolocationManagerProxy::processDidClose): 28164 (WebKit::WebGeolocationManagerProxy::startUpdating): 28165 (WebKit::WebGeolocationManagerProxy::stopUpdating): 28166 (WebKit::WebGeolocationManagerProxy::removeRequester): 28167 * UIProcess/WebGeolocationManagerProxy.h: 28168 * UIProcess/WebGeolocationManagerProxy.messages.in: 28169 281702013-11-01 Jer Noble <jer.noble@apple.com> 28171 28172 [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement. 28173 https://bugs.webkit.org/show_bug.cgi?id=123621 28174 28175 Reviewed by Eric Carlson. 28176 28177 Add WebKit2 functions for setting then new isVideoPluginProxyEnabled preference. 28178 28179 * Shared/WebPreferencesStore.h: 28180 * UIProcess/API/C/WKPreferences.cpp: 28181 (WKPreferencesSetVideoPluginProxyEnabled): 28182 (WKPreferencesGetVideoPluginProxyEnabled): 28183 * UIProcess/API/C/WKPreferences.h: 28184 * WebProcess/WebPage/WebPage.cpp: 28185 (WebKit::WebPage::updatePreferences): 28186 281872013-11-04 Anders Carlsson <andersca@apple.com> 28188 28189 More WKRemoteObjectRegistry work 28190 https://bugs.webkit.org/show_bug.cgi?id=123754 28191 28192 Reviewed by Dan Bernstein. 28193 28194 * Shared/API/Cocoa/WKRemoteObjectCoder.h: 28195 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28196 (-[WKRemoteObjectEncoder rootObjectDictionary]): 28197 Add a getter for the root object dictionary. 28198 28199 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 28200 (-[WKRemoteObjectRegistry _sendInvocation:interface:]): 28201 Call _sendMessageWithBody:. 28202 (-[WKRemoteObjectRegistry _sendMessageWithBody:]): 28203 Call WebConnection::postMessage. 28204 282052013-11-03 Dan Bernstein <mitz@apple.com> 28206 28207 [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable 28208 https://bugs.webkit.org/show_bug.cgi?id=123707 28209 28210 Reviewed by Geoff Garen and Anders Carlsson. 28211 28212 * Shared/Cocoa/WKNSArray.mm: 28213 (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy. 28214 * Shared/Cocoa/WKNSDictionary.mm: 28215 (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy. 28216 * Shared/ImmutableArray.h: 28217 (WebKit::ImmutableArray::entries): Added this accessor. 28218 282192013-11-03 Dan Bernstein <mitz@apple.com> 28220 28221 Reverted r158538. 28222 28223 * Shared/Cocoa/WKNSArray.mm: 28224 (-[WKNSArray copyWithZone:]): 28225 * Shared/Cocoa/WKNSDictionary.mm: 28226 (-[WKNSDictionary copyWithZone:]): 28227 * Shared/ImmutableArray.h: 28228 282292013-11-03 Dan Bernstein <mitz@apple.com> 28230 28231 [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable 28232 https://bugs.webkit.org/show_bug.cgi?id=123707 28233 28234 Reviewed by Geoff Garen. 28235 28236 * Shared/Cocoa/WKNSArray.mm: 28237 (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy. 28238 * Shared/Cocoa/WKNSDictionary.mm: 28239 (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy. 28240 * Shared/ImmutableArray.h: 28241 (WebKit::ImmutableArray::entries): Added this accessor. 28242 282432013-11-02 Dan Bernstein <mitz@apple.com> 28244 28245 [Cocoa] Wrappers mishandle NULL values in arrays and dictionaries 28246 https://bugs.webkit.org/show_bug.cgi?id=123671 28247 28248 Reviewed by Darin Adler. 28249 28250 * Shared/Cocoa/WKNSArray.mm: 28251 (-[WKNSArray objectAtIndex:]): Represent a NULL object as NSNull. 28252 * Shared/Cocoa/WKNSDictionary.mm: 28253 (-[WKNSDictionary objectForKey:]): Represent a NULL value as NSNull. 28254 * Shared/ImmutableDictionary.h: 28255 (WebKit::ImmutableDictionary::get): Added this overload that returns whether the key exists. 28256 282572013-11-02 Dan Bernstein <mitz@apple.com> 28258 28259 Fixed release builds. 28260 28261 * Shared/Cocoa/WKNSDictionary.mm: 28262 (-[WKNSDictionary initWithObjects:forKeys:count:]): 28263 282642013-11-02 Dan Bernstein <mitz@apple.com> 28265 28266 [Cocoa] Add WKNSDictionary 28267 https://bugs.webkit.org/show_bug.cgi?id=123660 28268 28269 Reviewed by Anders Carlsson. 28270 28271 * Shared/Cocoa/APIObject.mm: 28272 (WebKit::APIObject::newObject): Allocate a WKNSDictionary if the APIObject is a dictionary. 28273 * Shared/Cocoa/WKNSDictionary.h: Added. 28274 (WebKit::wrapper): Added. Returns an ImmutableDictionary’s wrapper as an NSDictionary. 28275 * Shared/Cocoa/WKNSDictionary.mm: Added. 28276 (-[WKNSDictionary dealloc]): Calls the ImmutableDictionary destructor. 28277 (-[WKNSDictionary count]): Added. 28278 (-[WKNSDictionary objectForKey:]): Added. 28279 (-[WKNSDictionary keyEnumerator]): Added. 28280 (-[WKNSDictionary copyWithZone:]): Retains self. 28281 (-[WKNSDictionary _apiObject]): Returns the wrapped ImmutableDictionary. 28282 * WebKit2.xcodeproj/project.pbxproj: Added references to new files. 28283 282842013-11-02 Tim Horton <timothy_horton@apple.com> 28285 28286 Address some review comments noted in r158463 28287 https://bugs.webkit.org/show_bug.cgi?id=123646 28288 28289 Reviewed by Darin Adler. 28290 28291 * Shared/mac/RemoteLayerBackingStore.mm: 28292 Put our __has_include ifs all on one line. 28293 28294 (createIOSurface): 28295 IOSurfaceAlignProperty returns size_t, not unsigned long. 28296 28297 (RemoteLayerBackingStore::display): 28298 (RemoteLayerBackingStore::drawInContext): 28299 Create the frontImage in display() and hand it to drawInContext(). 28300 28301 Use the GraphicsContext API instead of CG itself for clearRect(). 28302 28303 When using ShareableBitmap, replace m_frontBuffer instead of 28304 having a backBuffer local; the CGImageRef will retain the 28305 ShareableBitmap it references. 28306 28307 Duplicate our drawInContext() calls so we don't have to allocate 28308 a GraphicsContext on the heap in the IOSurface case. 28309 28310 Don't bother clearing frontContext; it'll happen for us at 28311 the appropriate time. Instead, assert that it's still alive after 28312 we drop our reference to the frontImage created from it. 28313 283142013-11-02 Zan Dobersek <zdobersek@igalia.com> 28315 28316 [GTK] invalid use of incomplete type 'class WTF::PassOwnPtr<WTF::Vector<unsigned char> >' 28317 https://bugs.webkit.org/show_bug.cgi?id=123601 28318 28319 Reviewed by Carlos Garcia Campos. 28320 28321 * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Explicitly include the PassOwnPtr.h header 28322 as certain configurations on the GTK port don't ensure that the header is included indirectly. 28323 283242013-11-02 Vitaly Katunin <vkatunin@luxoft.com> 28325 28326 [GTK] invalid application of 'sizeof' to incomplete type 28327 https://bugs.webkit.org/show_bug.cgi?id=123502 28328 28329 Reviewed by Carlos Garcia Campos. 28330 28331 * Shared/WebCoreArgumentCoders.cpp: 28332 283332013-11-01 Tim Horton <timothy_horton@apple.com> 28334 28335 Remote Layer Tree: Crashes allocating incredibly large backing store for tiled backing layers 28336 https://bugs.webkit.org/show_bug.cgi?id=123651 28337 28338 Reviewed by Simon Fraser. 28339 28340 * Shared/mac/RemoteLayerBackingStore.mm: 28341 (RemoteLayerBackingStore::display): 28342 (RemoteLayerBackingStore::drawInContext): 28343 We can't dirty the whole layer if we have no existing front buffer if 28344 we have no paints, because that will lead to layers which were never 28345 setNeedsDisplay()'d getting backing store. Added back an assertion 28346 that will catch this, too. 28347 283482013-11-01 Dan Bernstein <mitz@apple.com> 28349 28350 [Cocoa] WKObject seems to be initializing its target in a thread-safe manner, but really is not 28351 https://bugs.webkit.org/show_bug.cgi?id=123640 28352 28353 Reviewed by Darin Adler. 28354 28355 * Shared/Cocoa/WKObject.mm: 28356 (initializeTargetIfNeeded): Removed misleading incorrect code. 28357 283582013-11-01 Benjamin Poulain <benjamin@webkit.org> 28359 28360 [WK2] Create a unique identifier for WebPageGroup if the input name is empty 28361 https://bugs.webkit.org/show_bug.cgi?id=123606 28362 28363 Reviewed by Andreas Kling. 28364 28365 Strengthen the "public" API of page group. 28366 If someone uses WKBrowsingContextGroup with a nil or empty string, the related WKString 28367 would be empty, and all the WKBrowsingContextGroup end up with the same identifier. 28368 28369 * UIProcess/WebPageGroup.cpp: 28370 (WebKit::WebPageGroup::WebPageGroup): 28371 283722013-11-01 Dan Bernstein <mitz@apple.com> 28373 28374 [Cocoa] Avoid some double-wrapping of strings and URLs 28375 https://bugs.webkit.org/show_bug.cgi?id=123632 28376 28377 Reviewed by Anders Carlsson. 28378 28379 * Shared/API/c/cf/WKStringCF.cpp: Removed. 28380 * Shared/API/c/cf/WKStringCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKStringCF.cpp. 28381 (wkNSStringClass): Added this helper. 28382 (WKStringCreateWithCFString): If the passed-in CFString is already wrapping a WebString, 28383 then retain it and return it. 28384 * Shared/API/c/cf/WKURLCF.cpp: Removed. 28385 * Shared/API/c/cf/WKURLCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKURLCF.cpp. 28386 (wkNSURLClass): Added this helper. 28387 (WKURLCreateWithCFURL): If the passed-in CFURL is already wrapping a WebURL, then retain it 28388 and return it. 28389 * WebKit2.xcodeproj/project.pbxproj: Updated for renames. 28390 283912013-11-01 Anders Carlsson <andersca@apple.com> 28392 28393 Begin work on encoding argument types 28394 https://bugs.webkit.org/show_bug.cgi?id=123631 28395 28396 Reviewed by Dan Bernstein. 28397 28398 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28399 (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]): 28400 Encode argument types in an array. 28401 28402 (-[WKRemoteObjectEncoder _encodedObjectUsingBlock:]): 28403 Add new helper method that encodes an object and returns the dictionary. 28404 28405 (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]): 28406 Implement this in terms of _encodedObjectUsingBlock:. 28407 28408 * Shared/MutableArray.cpp: 28409 (WebKit::MutableArray::append): 28410 * Shared/MutableArray.h: 28411 Change append to take a PassRefPtr. 28412 284132013-10-31 Gavin Barraclough <barraclough@apple.com> 28414 28415 Rename InWindowState -> ViewState 28416 https://bugs.webkit.org/show_bug.cgi?id=123584 28417 28418 Rubber stamped by Sam Weinig. 28419 28420 WebPageProxy::setViewState offers the option to wait for a reply. Previously this option 28421 was only available via setIsInWindow, hence the mechanism to wait to the update has 28422 'InWindowState' in method and variable names (i.e. 28423 'WebPageProxy::waitForDidUpdateInWindowState'). Since the mechanism is now applicable to 28424 all ViewState changes, rename to reflect this. 28425 28426 * UIProcess/API/mac/WKView.mm: 28427 (-[WKView endDeferringViewInWindowChangesSync]): 28428 * UIProcess/WebPageProxy.cpp: 28429 (WebKit::WebPageProxy::WebPageProxy): 28430 (WebKit::WebPageProxy::waitForDidUpdateViewState): 28431 (WebKit::WebPageProxy::resetStateAfterProcessExited): 28432 * UIProcess/WebPageProxy.h: 28433 (WebKit::WebPageProxy::didUpdateViewState): 28434 * UIProcess/WebPageProxy.messages.in: 28435 * WebProcess/WebPage/WebPage.cpp: 28436 (WebKit::WebPage::WebPage): 28437 (WebKit::WebPage::didUpdateViewStateTimerFired): 28438 (WebKit::WebPage::setViewState): 28439 * WebProcess/WebPage/WebPage.h: 28440 * WebProcess/WebPage/WebPage.messages.in: 28441 * WebProcess/WebPage/mac/WebPageMac.mm: 28442 (WebKit::WebPage::didUpdateViewStateTimerFired): 28443 284442013-11-01 Tim Horton <timothy_horton@apple.com> 28445 28446 Remote Layer Tree: Move RemoteLayerBackingStore to Shared/ 28447 https://bugs.webkit.org/show_bug.cgi?id=123646 28448 28449 Reviewed by Darin Adler. 28450 28451 Move RemoteLayerBackingStore to Shared/, since it is 28452 used on both the UI and Web process side of things. 28453 28454 * Shared/mac/RemoteLayerBackingStore.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h. 28455 * Shared/mac/RemoteLayerBackingStore.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm. 28456 * WebKit2.xcodeproj/project.pbxproj: 28457 284582013-11-01 Tim Horton <timothy_horton@apple.com> 28459 28460 Remote Layer Tree: Vend layer contents via IOSurfaces 28461 https://bugs.webkit.org/show_bug.cgi?id=123600 28462 28463 Reviewed by Anders Carlsson. 28464 28465 Address some review comments from Darin (and subsequently Anders). 28466 28467 * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: 28468 (WebKit::RemoteLayerBackingStore::surface): 28469 No need for .get() here. 28470 28471 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: 28472 (RemoteLayerBackingStore::ensureBackingStore): 28473 All on one line for readability. 28474 28475 (createIOSurfaceContext): 28476 This 'if' is meaningless. 28477 28478 (createIOSurface): 28479 No need for a RetainPtr here, the dictionary is autoreleased. 28480 28481 (RemoteLayerBackingStore::display): 28482 Snuggle 'context' up next to the other declarations. 28483 284842013-11-01 Anders Carlsson <andersca@apple.com> 28485 28486 Don't use the C API in WKRemoteObjectCoder 28487 https://bugs.webkit.org/show_bug.cgi?id=123627 28488 28489 Reviewed by Dan Bernstein. 28490 28491 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28492 (-[WKRemoteObjectEncoder init]): 28493 (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]): 28494 (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]): 28495 * Shared/ImmutableDictionary.h: 28496 * Shared/MutableDictionary.cpp: 28497 (WebKit::MutableDictionary::add): 28498 (WebKit::MutableDictionary::set): 28499 * Shared/MutableDictionary.h: 28500 285012013-11-01 Emilio Pozuelo Monfort <pochu27@gmail.com> 28502 28503 Fix build on non-linux platforms 28504 https://bugs.webkit.org/show_bug.cgi?id=123622 28505 28506 Reviewed by Darin Adler. 28507 28508 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 28509 285102013-11-01 Brian Holt <brian.holt@samsung.com> 28511 28512 [GTK] [WK2] Crash in webkitWebViewLoadFailedWithTLSErrors 28513 https://bugs.webkit.org/show_bug.cgi?id=123618 28514 28515 Reviewed by Mario Sanchez Prada. 28516 28517 The GOwnPtrSoup header was not included which meant that the 28518 specialization for GOwnPtr<SoupURI> was not used and instead the 28519 default freeOwnedGPtr which calls g_free is used and crashes. 28520 28521 * UIProcess/API/gtk/WebKitWebView.cpp: 28522 285232013-10-31 Tim Horton <timothy_horton@apple.com> 28524 28525 Fix a typo/review comment from Dan, in http://trac.webkit.org/changeset/158413 28526 28527 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: 28528 285292013-10-31 Tim Horton <timothy_horton@apple.com> 28530 28531 Remote Layer Tree: Vend layer contents via IOSurfaces 28532 https://bugs.webkit.org/show_bug.cgi?id=123600 28533 28534 Reviewed by Anders Carlsson. 28535 28536 * Configurations/WebKit2.xcconfig: 28537 Link WebKit2 against IOSurface. 28538 28539 * Shared/mac/RemoteLayerTreeTransaction.mm: 28540 (WebKit::dumpChangedLayers): 28541 Dump the size of the backing store instead of the pointer of its 28542 SharedBitmap, because that's slightly more useful. 28543 28544 * UIProcess/mac/RemoteLayerTreeHost.mm: 28545 (WebKit::RemoteLayerTreeHost::commit): 28546 If a layer's backing store uses accelerated drawing, hand the IOSurface 28547 to the CALayer for display. 28548 28549 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 28550 (PlatformCALayerRemote::PlatformCALayerRemote): 28551 Initialize contentsScale to 1 to match CA. Other properties will follow. 28552 28553 (PlatformCALayerRemote::ensureBackingStore): 28554 Instead of replacing the RemoteLayerBackingStore when its properties 28555 change, allow it to update them on the fly. Replacing them caused 28556 us to throw away repaint rects when the accelerated drawing 28557 flag was flipped. 28558 28559 (PlatformCALayerRemote::acceleratesDrawing): 28560 (PlatformCALayerRemote::setAcceleratesDrawing): 28561 Store the accelerated drawing flag and mark it dirty when it changes. 28562 28563 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 28564 * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: 28565 (WebKit::RemoteLayerBackingStore::image): 28566 Rename bitmap() to image() and have it create a CGImageRef from 28567 the ShareableBitmap, ready for direct application to a CALayer. 28568 28569 (WebKit::RemoteLayerBackingStore::surface): 28570 Return a IOSurface ready for direct application to a CALayer. 28571 28572 (WebKit::RemoteLayerBackingStore::acceleratesDrawing): 28573 (WebKit::RemoteLayerBackingStore::hasFrontBuffer): 28574 Return whether or not we have a front buffer/surface. 28575 28576 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: 28577 Forward-declare some CGIOSurface SPI. 28578 28579 (RemoteLayerBackingStore::RemoteLayerBackingStore): 28580 (RemoteLayerBackingStore::ensureBackingStore): 28581 Throw away our front image and reset flags if needed. 28582 28583 (RemoteLayerBackingStore::encode): 28584 (RemoteLayerBackingStore::decode): 28585 En/decode the front surface instead of the ShareableBitmap if needed, 28586 using CoreIPC::MachPort. Destroy the port on receipt. 28587 28588 (createIOSurfaceContext): 28589 Create a CGIOSurfaceContext from an IOSurface. 28590 28591 (createIOSurface): 28592 Create an IOSurface of the given size. 28593 28594 (RemoteLayerBackingStore::image): 28595 Return a CGImageRef, if we're not using accelerated drawing. 28596 Moved from the header. 28597 28598 (RemoteLayerBackingStore::display): 28599 (RemoteLayerBackingStore::drawInContext): 28600 If using accelerated drawing, create and paint into an IOSurface. 28601 Reorganize some code to make the copying-from-the-front-image code 28602 work for both software and IOSurfaces. 28603 Flush the context when completed, to ensure that any asynchronous 28604 painting is complete before we vend the surface to the UI process. 28605 286062013-10-31 Anders Carlsson <andersca@apple.com> 28607 28608 Begin stubbing out the WKRemoteObjectCoder NSCoder subclass 28609 https://bugs.webkit.org/show_bug.cgi?id=123596 28610 28611 Reviewed by Tim Horton. 28612 28613 * Shared/API/Cocoa/WKRemoteObject.mm: 28614 (-[WKRemoteObject forwardInvocation:]): 28615 Call through to the WKRemoteObjectRegistry. 28616 28617 * Shared/API/Cocoa/WKRemoteObjectCoder.h: Added. 28618 * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Added. 28619 (-[WKRemoteObjectEncoder init]): 28620 Create a root WKDictionary. 28621 28622 (-[WKRemoteObjectEncoder dealloc]): 28623 Assert that the current dictionary is the root dictionary; that we're back where we started. 28624 28625 (-[WKRemoteObjectEncoder allowsKeyedCoding]): 28626 Return YES. 28627 28628 (-[WKRemoteObjectEncoder encodeObject:forKey:]): 28629 Check that the object is valid and then encode it. 28630 28631 (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]): 28632 Encode the method type string and invocation selector. 28633 28634 (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]): 28635 Create a WKDataRef and add it to the dictionary. 28636 28637 (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]): 28638 Create a new dictionary and call the block. 28639 28640 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 28641 (-[WKRemoteObjectRegistry _sendInvocation:interface:]): 28642 Create an encoder and encode the invocation and interface. 28643 28644 * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h: Added. 28645 Add IPI header. 28646 28647 * WebKit2.xcodeproj/project.pbxproj: 28648 Add new files. 28649 286502013-10-31 Anders Carlsson <andersca@apple.com> 28651 28652 Address review comments. 28653 28654 * Shared/API/Cocoa/WKRemoteObject.h: 28655 * Shared/API/Cocoa/WKRemoteObject.mm: 28656 (-[WKRemoteObject conformsToProtocol:]): 28657 286582013-10-31 Anders Carlsson <andersca@apple.com> 28659 28660 Add a WKRemoteObject class 28661 https://bugs.webkit.org/show_bug.cgi?id=123586 28662 28663 Reviewed by Dan Bernstein. 28664 28665 * Shared/API/Cocoa/WKRemoteObject.h: Added. 28666 * Shared/API/Cocoa/WKRemoteObject.mm: Added. 28667 (-[WKRemoteObject _initWithObjectRegistry:interface:]): 28668 Add designated initializer. 28669 28670 (-[WKRemoteObject conformsToProtocol:]): 28671 Check if the interface protocol conforms to our protocol. 28672 28673 (methodArgumentTypeEncodingForSelector): 28674 Helper function that looks up a method in a given protocol and returns its type encoding. 28675 28676 (-[WKRemoteObject methodSignatureForSelector:]): 28677 Try to find the method argument type encoding for the given selector and return its NSMethodSignature. 28678 28679 (-[WKRemoteObject forwardInvocation:]): 28680 Add stub. 28681 28682 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: 28683 Remove a newline. 28684 28685 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 28686 (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]): 28687 Establish a mapping between interface identifiers and remote object proxies. 28688 28689 * WebKit2.xcodeproj/project.pbxproj: 28690 286912013-10-31 Alexey Proskuryakov <ap@apple.com> 28692 28693 Enable WebCrypto on Mac 28694 https://bugs.webkit.org/show_bug.cgi?id=123587 28695 28696 Reviewed by Anders Carlsson. 28697 28698 * Configurations/FeatureDefines.xcconfig: Do it. 28699 287002013-10-31 Sergio Correia <sergio.correia@openbossa.org> 28701 28702 [WK2] Convert SeccompFilters to using unique_ptr instead of OwnPtr/PassOwnPtr 28703 https://bugs.webkit.org/show_bug.cgi?id=122883 28704 28705 Reviewed by Darin Adler. 28706 28707 * Shared/linux/SeccompFilters/OpenSyscall.cpp: 28708 (WebKit::OpenSyscall::createFromOpenatContext): 28709 (WebKit::OpenSyscall::createFromCreatContext): 28710 (WebKit::OpenSyscall::execute): 28711 * Shared/linux/SeccompFilters/OpenSyscall.h: 28712 * Shared/linux/SeccompFilters/SeccompBroker.cpp: 28713 (WebKit::SIGSYSHandler): 28714 (WebKit::SeccompBrokerClient::dispatch): 28715 (WebKit::SeccompBroker::runLoop): 28716 * Shared/linux/SeccompFilters/SigactionSyscall.cpp: 28717 (WebKit::SigactionSyscall::createFromContext): 28718 * Shared/linux/SeccompFilters/SigactionSyscall.h: 28719 * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp: 28720 (WebKit::SigprocmaskSyscall::createFromContext): 28721 * Shared/linux/SeccompFilters/SigprocmaskSyscall.h: 28722 * Shared/linux/SeccompFilters/Syscall.cpp: 28723 (WebKit::Syscall::createFromContext): 28724 (WebKit::Syscall::createFromDecoder): 28725 (WebKit::SyscallResult::createFromDecoder): 28726 * Shared/linux/SeccompFilters/Syscall.h: 28727 * Shared/linux/SeccompFilters/SyscallPolicy.cpp: 28728 287292013-10-31 Gavin Barraclough <barraclough@apple.com> 28730 28731 Change WebPage, WebPageProxy, WebPageCreationParameters to use ViewState 28732 https://bugs.webkit.org/show_bug.cgi?id=123379 28733 28734 Reviewed by Darin Adler. 28735 28736 Visibility state of the Page should be stored and communicated consistently. 28737 28738 Remove individual visibility flags from WebPageProxy, WebPageCreationParameters, 28739 and replace them with a ViewState, and add a ViewState member to WebPage. 28740 Merge together all messages that convey and individual aspect of the ViewState. 28741 28742 Restructure WebPageProxy::viewStateDidChange to break the operation down into 28743 three steps: 1) update m_viewState, 2) send the new ViewState to the WebProcess, 28744 and 3) perform any further work necessary in the UIProcess. 28745 28746 This patch fixes a problem that if the web process crashes m_isVisible & 28747 m_isInWindow in WebPageProxy were not updated, and could have held stale values 28748 on reattach. 28749 28750 In WebPage, add a new message to update the entire ViewState - diff the prior 28751 value against the new one to detect changes, call existing methods accordingly. 28752 28753 * Shared/ViewState.h: 28754 - Add constants 'Reset', 'AllFlags' 28755 * Shared/WebPageCreationParameters.cpp: 28756 (WebKit::WebPageCreationParameters::encode): 28757 (WebKit::WebPageCreationParameters::decode): 28758 * Shared/WebPageCreationParameters.h: 28759 - Removed boolean visibility flags, added viewState. 28760 * UIProcess/WebPageProxy.cpp: 28761 (WebKit::WebPageProxy::WebPageProxy): 28762 - Constructor calls updateViewState to initialize m_viewState. 28763 (WebKit::WebPageProxy::reattachToWebProcess): 28764 - ViewStaet is not updated while detatched; recalculate. 28765 (WebKit::WebPageProxy::initializeWebPage): 28766 - m_isVisible -> isViewVisible() 28767 (WebKit::WebPageProxy::updateViewState): 28768 - Added, update m_viewState by querying the page client. 28769 (WebKit::WebPageProxy::viewStateDidChange): 28770 - Restructured to use m_viewState, reordered to combine messages. 28771 (WebKit::WebPageProxy::creationParameters): 28772 - Removed boolean visibility flags, added viewState. 28773 * UIProcess/WebPageProxy.h: 28774 (WebKit::WebPageProxy::isInWindow): 28775 (WebKit::WebPageProxy::isViewVisible): 28776 - Removed boolean visibility flags, added viewState. 28777 * WebProcess/WebPage/WebPage.cpp: 28778 (WebKit::WebPage::WebPage): 28779 - initial state now passed as a ViewState. 28780 (WebKit::WebPage::setIsInWindow): 28781 - Remove code to send reply (this is handled by setViewState). 28782 (WebKit::WebPage::setViewState): 28783 - Set m_viewState - diff from prior & call methods to update. 28784 * WebProcess/WebPage/WebPage.h: 28785 - Added setViewState, m_viewState. 28786 * WebProcess/WebPage/WebPage.messages.in: 28787 - Add SetViewState, remove individual messages. 28788 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 28789 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): 28790 - initial state now passed as a ViewState. 28791 287922013-10-30 Gavin Barraclough <barraclough@apple.com> 28793 28794 WebPageCreationParameters should be consistent in Window.open 28795 https://bugs.webkit.org/show_bug.cgi?id=123557 28796 28797 Reviewed by Sam Weinig. 28798 28799 When Window.open in called in WebKit2 the WebProcess sends a synchronous request to open 28800 a page (WebPageProxy::createNewPage). The UIProcess creates a WebpageProxy, and responds 28801 with instructions to the WebProcess to create the WebPage. The initial creation state of 28802 the WebPage is communicated to the WebProcess via two routes (firstly an asynchronous 28803 WebProcess::CreateWebPage message, and secondly in the synchronous response from 28804 WebPageProxy::createNewPage). Unfortunately these responses are inconsistent with each 28805 other. The creationParameters() for the page are calculated twice, and since the WKView 28806 will be added to a window between the async message being sent and the synchronous reply 28807 being returned the visibility state of the page can change. 28808 28809 To fix the inconsistency we can set the creation parameters at the point that the 28810 WebPageProxy is instantiated. This will result in a functional change that is web 28811 visible, since the page will initially be opened in a hidden/blurred state, and may 28812 later become visible/focussed. This change is consistent with the direction we want to 28813 evolve in. Whilst we will still probably require a synchronous message from the 28814 WebProcess to the UIProcess on Window.open, we'll probably make this return much earlier 28815 – having just created the WebPageProxy, but avoiding blocking the WebProcess over the 28816 client delegate callback that opens the new window. 28817 28818 This fix results in a layout test result change, due to the change in behavior (page is 28819 created blurred, and becomes focussed, resulting in a focus event being fired – rather 28820 than the window opening directly into a focussed state). This is reported as a 28821 progression (test is broken in WebKit1, fixed in WebKit2 after this change). In reality 28822 the test is actually slightly broken in DRT/test-runner – the test runs differently than 28823 in browser, since there is is no visible main window. In-browser this patch results in 28824 no change in behavior on dom/Window/mozilla-focus-blur.html (the affected test). 28825 28826 * UIProcess/WebPageProxy.cpp: 28827 (WebKit::WebPageProxy::initializeWebPage): 28828 - call initializeCreationParameters 28829 (WebKit::WebPageProxy::initializeCreationParameters): 28830 - calculate m_creationParameters 28831 * UIProcess/WebPageProxy.h: 28832 (WebKit::WebPageProxy::creationParameters): 28833 - Added m_creationParameters, initializeCreationParameters, 28834 creationParameters returns m_creationParameters 28835 288362013-10-31 Philippe Normand <pnormand@igalia.com> 28837 28838 [WK2][GTK] enable-media-stream Setting 28839 https://bugs.webkit.org/show_bug.cgi?id=123145 28840 28841 Reviewed by Anders Carlsson. 28842 28843 * Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference. 28844 * UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and 28845 setter functions. 28846 (WKPreferencesSetMediaStreamEnabled): 28847 (WKPreferencesGetMediaStreamEnabled): 28848 * UIProcess/API/C/WKPreferences.h: 28849 * UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream 28850 property to the GTK WebKitSettings class. It will act as a facade 28851 to the MediaStreamEnabled preference. 28852 (webKitSettingsSetProperty): 28853 (webKitSettingsGetProperty): 28854 (webkit_settings_class_init): 28855 (webkit_settings_get_enable_media_stream): 28856 (webkit_settings_set_enable_media_stream): 28857 * UIProcess/API/gtk/WebKitSettings.h: 28858 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 28859 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: 28860 (testWebKitSettings): Test enable-media-stream websetting. 28861 * WebProcess/InjectedBundle/InjectedBundle.cpp: 28862 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): 28863 Allow WKTR to override the MediaStreamEnabled preference. 28864 * WebProcess/WebPage/WebPage.cpp: 28865 (WebKit::WebPage::updatePreferences): Update MediaStreamEnabled 28866 along with the other settings. 28867 288682013-10-30 Brady Eidson <beidson@apple.com> 28869 28870 IDB Database versions are uint64_t, not int64_t 28871 https://bugs.webkit.org/show_bug.cgi?id=123556 28872 28873 Reviewed by Alexey Proskuryakov. 28874 28875 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 28876 (WebKit::WebIDBFactoryBackend::open): 28877 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 28878 28879 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: 28880 (WebKit::WebProcessIDBDatabaseBackend::openConnection): 28881 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 28882 288832013-10-30 Dan Bernstein <mitz@apple.com> 28884 28885 Fixed a potential race condition around the initializtion of WKObject’s target. 28886 28887 Reviewed by Mark Rowe. 28888 28889 * Shared/Cocoa/WKObject.mm: 28890 (initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed 28891 out, when stores are reordered relative to other stores, it is possible for the early return 28892 to occur while the object _target is pointing to is not yet valid. 28893 288942013-10-30 Ryosuke Niwa <rniwa@webkit.org> 28895 28896 Remove code for Mac Lion 28897 https://bugs.webkit.org/show_bug.cgi?id=123542 28898 28899 Reviewed by Anders Carlsson. 28900 28901 28902 * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: 28903 * UIProcess/API/mac/WKView.mm: 28904 (-[WKView viewWillMoveToWindow:]): 28905 * WebProcess/com.apple.WebProcess.sb.in: 28906 289072013-10-30 Dan Bernstein <mitz@apple.com> 28908 28909 Try to fix the !WK_API_ENABLED Mac build. 28910 28911 * Shared/Cocoa/APIObject.mm: 28912 289132013-10-30 Dan Bernstein <mitz@apple.com> 28914 28915 [Cocoa] Make all API objects have Cocoa wrappers, and delegate refcounting to those wrappers 28916 https://bugs.webkit.org/show_bug.cgi?id=123394 28917 28918 Reviewed by Darin Adler. 28919 28920 All wrappers conform to a new WKObject protocol and contain the wrapped object inline. 28921 APIObject-derived classes override operator new to call newObject, which allocates the 28922 wrapper and returns a pointer to the inline API object. 28923 28924 There are three kinds of wrapper classes: (a) classes that inherit directly from NSObject 28925 and implement their API by calling the wrapped object (example: WKBackForwardList), 28926 (b) internal classes that inherit from a class cluster, and implement the primitive methods 28927 of the class cluster by calling the wrapped object (example: WKNSArray), and (c) internal 28928 classes that inerit from the new WKObject class, and proxy to an object of some public type, 28929 which is created from the wrapped object (example: WKNSURL). 28930 28931 * Shared/APIObject.h: 28932 (WebKit::APIObject::wrapper): Added this getter. 28933 (WebKit::TypedAPIObject::operator new): Added override that calls newObject. 28934 * Shared/Cocoa/APIObject.mm: Added. 28935 (WebKit::APIObject::ref): Retains the wrapper. 28936 (WebKit::APIObject::deref): Releases the wrapper. When the wrapper is deallocated, it calls 28937 the API object destructor. 28938 (WebKit::APIObject::newObject): Allocates the wrapper and returns a pointer to the API 28939 object inside the wrapper. 28940 28941 * Shared/Cocoa/WKNSArray.h: 28942 (WebKit::wrapper): Added. Returns an ImmutableArray’s wrapper as an NSArray. 28943 Replaced the RefPtr<ImmutableArray> ivar with space for an ImmutableArray to live inside 28944 the wrapper. 28945 (-[WKNSArray dealloc]): Calls the ImmutableArray destructor. 28946 (-[WKNSArray count]): Updated for ivar change. 28947 (-[WKNSArray objectAtIndex:]): Ditto. 28948 (-[WKNSArray _apiObject]): Returns the wrapped ImmutableArray. 28949 28950 * Shared/Cocoa/WKNSObjectExtras.h: Removed. 28951 * Shared/Cocoa/WKNSObjectExtras.mm: Removed. 28952 28953 * Shared/Cocoa/WKNSString.h: Added. 28954 * Shared/Cocoa/WKNSString.mm: Added. 28955 (-[WKNSString _web_createTarget]): Override this WKObject method to create an NSString from 28956 the WebString. 28957 (-[WKNSString copyWithZone:]): Retains self. 28958 28959 * Shared/Cocoa/WKNSURL.h: Added. 28960 * Shared/Cocoa/WKNSURL.mm: Added. 28961 (-[WKNSURL _web_createTarget]): Override this WKObject method to create an NSURL from 28962 the WebURL. 28963 (-[WKNSURL copyWithZone:]): Retains self. 28964 28965 * Shared/Cocoa/WKObject.h: Added. 28966 * Shared/Cocoa/WKObject.mm: Added. 28967 (-[WKObject dealloc]): Calls the destructor of the wrapped object and releases the target 28968 object. 28969 (initializeTargetIfNeeded): Helper function. Tries to create the target exactly once. 28970 (-[WKObject isEqual:]): NSObject override that creates and compares to the target 28971 object if necessary. 28972 (-[WKObject hash]): NSObject override that creates and hashes the target object if 28973 there is one. 28974 (-[WKObject isKindOfClass:]): NSObject override that delegates to the target object. 28975 (-[WKObject isMemberOfClass:]): Ditto. 28976 (-[WKObject respondsToSelector:]): NSObject override that creates the target object if 28977 necessary and returns whether it or self responds to the selector. 28978 (-[WKObject conformsToProtocol:]): Similarly for protocols. 28979 (-[WKObject forwardingTargetForSelector:]): NSObject override that creates the target object 28980 if necessary and returns it as the target. 28981 (-[WKObject description]): NSObject override that creates the target object if necessary and 28982 forwards to it. 28983 (-[WKObject _web_createTarget]): Added. The base implementation returns nil. 28984 (-[WKObject _apiObject]): Returns the wrapped object. 28985 28986 * UIProcess/API/mac/WKBrowsingContextController.mm: 28987 (-[WKBrowsingContextController backForwardList]): Changed to return the existing wrapper. 28988 (didChangeBackForwardList): Changed to use existing wrappers. 28989 28990 Replaced the RefPtr<WebBackForwardList> ivar with space for a WebBackForwardList to live 28991 inside the wrapper. 28992 (-[WKBackForwardList dealloc]): Call the WebBackForwardList destructor. 28993 (toWKBackForwardListItem): Changed to us the existing wrapper. 28994 (-[WKBackForwardList currentItem]): Updated for ivar change. 28995 (-[WKBackForwardList backItem]): Ditto. 28996 (-[WKBackForwardList forwardItem]): Ditto. 28997 (-[WKBackForwardList itemAtIndex:]): Ditto. 28998 (-[WKBackForwardList backListCount]): Ditto. 28999 (-[WKBackForwardList forwardListCount]): Ditto, 29000 (-[WKBackForwardList backListWithLimit:]): Ditto, and also changed to use the 29001 ImmutableArray’s existing wrapper. 29002 (-[WKBackForwardList forwardListWithLimit:]): Ditto. 29003 (-[WKBackForwardList _apiObject]): Returns the WebBackForwardListItem. 29004 * UIProcess/Cocoa/WKBackForwardListInternal.h: 29005 (WebKit::wrapper): Added. Returns a WebBackForwardList’s wrapper as a WKBackForwardList. 29006 29007 * UIProcess/Cocoa/WKBackForwardListItem.mm: 29008 Replaced the RefPtr<WebBackForwardListItem> ivar with space for a WebBackForwardListItem to 29009 live inside the wrapper. 29010 (-[WKBackForwardListItem dealloc]): Call the WebBackForwardListItem destructor. 29011 (-[WKBackForwardListItem URL]): Updated for ivar change, and changed to make an NSURL 29012 directly instead of going through a wrapper. 29013 (-[WKBackForwardListItem title]): Updated for ivar change, and changed to use 29014 String’s operator NSString*. 29015 (-[WKBackForwardListItem originalURL]): Updated for ivar change, and changed to make an 29016 NSURL directly instead of going through a wrapper. 29017 (-[WKBackForwardListItem _apiObject]): Returns the WebBackForwardListItem. 29018 (-[WKBackForwardListItem _item]): Ditto. 29019 * UIProcess/Cocoa/WKBackForwardListItemInternal.h: 29020 (WebKit::wrapper): Added. Returns a WebBackForwardListItem’s wrapper as a 29021 WKBackForwardListItem. 29022 29023 * UIProcess/WebColorPickerResultListenerProxy.h: Changed into a TypedAPIObject. 29024 29025 * UIProcess/WebFormSubmissionListenerProxy.h: 29026 (WebKit::WebFormSubmissionListenerProxy::operator new): Override to call newObject. 29027 29028 * UIProcess/WebFramePolicyListenerProxy.h: 29029 (WebKit::WebFramePolicyListenerProxy::operator new): Ditto. 29030 29031 * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removals. 29032 290332013-10-30 Anders Carlsson <andersca@apple.com> 29034 29035 Begin fleshing out an API test for WKRemoteObjectRegistry 29036 https://bugs.webkit.org/show_bug.cgi?id=123531 29037 29038 Reviewed by Andreas Kling. 29039 29040 * Shared/API/Cocoa/WKRemoteObjectInterface.h: 29041 Add WK_API_CLASS annotation. 29042 29043 * Shared/API/Cocoa/WKRemoteObjectRegistry.h: 29044 Add WK_API_CLASS annotation. 29045 29046 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: 29047 Add a WebConnection ivar. 29048 29049 (-[WKRemoteObjectRegistry _initWithConnectionRef:]): 29050 Add SPI to create an WKRemoteObjectRegistry object with an existing WKConnectionRef. 29051 29052 (-[WKRemoteObjectRegistry _handleMessageWithName:body:]): 29053 Add SPI that will be used to process incoming messages from an existing WKConnectionRef. 29054 29055 * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Added. 29056 Add SPI header. 29057 29058 * WebKit2.xcodeproj/project.pbxproj: 29059 Add new files. 29060 290612013-10-30 Tim Horton <timothy_horton@apple.com> 29062 29063 Remote Layer Tree: Lots of ASSERT(m_children.isEmpty()); on Poster Circle 29064 https://bugs.webkit.org/show_bug.cgi?id=123517 29065 29066 Reviewed by Simon Fraser. 29067 29068 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 29069 (PlatformCALayerRemote::setSublayers): 29070 When setting our list of sublayers, remove all of the new layers from 29071 their parents first. 29072 290732013-10-30 Antti Koivisto <antti@apple.com> 29074 29075 Add debug settings for simple line layout 29076 https://bugs.webkit.org/show_bug.cgi?id=123514 29077 29078 Reviewed by Andreas Kling. 29079 29080 Expose debug settings. 29081 29082 * Shared/WebPreferencesStore.h: 29083 * UIProcess/API/C/WKPreferences.cpp: 29084 (WKPreferencesSetSimpleLineLayoutEnabled): 29085 (WKPreferencesGetSimpleLineLayoutEnabled): 29086 (WKPreferencesSetSimpleLineLayoutDebugBordersEnabled): 29087 (WKPreferencesGetSimpleLineLayoutDebugBordersEnabled): 29088 * UIProcess/API/C/WKPreferencesPrivate.h: 29089 * WebProcess/WebPage/WebPage.cpp: 29090 (WebKit::WebPage::updatePreferences): 29091 290922013-10-30 Anders Carlsson <andersca@apple.com> 29093 29094 Add stubbed out WKRemoteObjectRegistry class 29095 https://bugs.webkit.org/show_bug.cgi?id=123512 29096 29097 Reviewed by Andreas Kling. 29098 29099 Also add a WKRemoteObjectInterface class that represents a remote object interface. 29100 29101 * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added. 29102 * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Added. 29103 (-[WKRemoteObjectInterface initWithProtocol:identifier:]): 29104 (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]): 29105 * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Added. 29106 * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Added. 29107 (-[WKRemoteObjectRegistry registerExportedObject:interface:]): 29108 (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]): 29109 (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]): 29110 * WebKit2.xcodeproj/project.pbxproj: 29111 291122013-10-30 Carlos Garcia Campos <cgarcia@igalia.com> 29113 29114 [GTK] webkit_web_context_allow_tls_certificate_for_host doc is missing Since tag 29115 https://bugs.webkit.org/show_bug.cgi?id=123499 29116 29117 Reviewed by Philippe Normand. 29118 29119 * UIProcess/API/gtk/WebKitWebContext.cpp: Add Since: 2.4. 29120 291212013-10-29 Alexey Proskuryakov <ap@apple.com> 29122 29123 Result of focus-option-control-on-page.html depends on system preferences 29124 https://bugs.webkit.org/show_bug.cgi?id=123304 29125 29126 Reviewed by Simon Fraser. 29127 29128 * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: 29129 (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): 29130 Read the preference from its correct domain. This doesn't affect behavior in practice 29131 and isn't part of the fix, but it's a good opportunity to correct this code. 29132 291332013-10-29 Brady Eidson <beidson@apple.com> 29134 29135 Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface 29136 https://bugs.webkit.org/show_bug.cgi?id=123483 29137 29138 Reviewed by Andreas Kling. 29139 29140 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 29141 (WebKit::WebIDBFactoryBackend::createCursorBackend): Stubbed out. 29142 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 29143 29144 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: 29145 (WebKit::WebProcessIDBDatabaseBackend::factoryBackend): Stubbed out. 29146 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 29147 291482013-10-29 Jer Noble <jer.noble@apple.com> 29149 29150 [MSE] [Mac] Enable MediaSource on the Mac 29151 https://bugs.webkit.org/show_bug.cgi?id=122484 29152 29153 Reviewed by Darin Adler. 29154 29155 Enable ENABLE_MEDIA_SOURCE. 29156 29157 * Configurations/FeatureDefines.xcconfig: 29158 291592013-10-29 Tim Horton <timothy_horton@apple.com> 29160 29161 More correct build fix after 158223. 29162 29163 Only fails in release because it's inline. 29164 Include the relevant header to get the function. 29165 29166 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 29167 291682013-10-29 Tim Horton <timothy_horton@apple.com> 29169 29170 Remote Layer Tree: Support tiled drawing and use it for the main frame 29171 https://bugs.webkit.org/show_bug.cgi?id=123422 29172 29173 Reviewed by Simon Fraser. 29174 29175 Add a PlatformCALayerRemote subclass that behaves similarly to 29176 WebTiledBackingLayer, forwarding relevant things (setNeedsDisplay, etc.) 29177 to the TileController which it owns. 29178 29179 Teach the remote layer tree code enough to proxy these layers across, 29180 and paint them in a manner similar to WebSimpleLayer (just calling 29181 straight back to the TileController to paint). 29182 29183 * Shared/mac/RemoteLayerTreeTransaction.h: 29184 * Shared/mac/RemoteLayerTreeTransaction.mm: 29185 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 29186 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 29187 (WebKit::dumpChangedLayers): 29188 * UIProcess/mac/RemoteLayerTreeHost.mm: 29189 (WebKit::RemoteLayerTreeHost::commit): 29190 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 29191 (PlatformCALayerRemote::setEdgeAntialiasingMask): 29192 Add support for adjusting/encoding/decoding/dumping/applying edgeAntialiasingMask. 29193 29194 (WebKit::RemoteLayerTreeTransaction::dump): 29195 Drive-by fix dumping of created layers to have one layer per line. 29196 29197 * UIProcess/mac/RemoteLayerTreeHost.mm: 29198 (WebKit::RemoteLayerTreeHost::createLayer): 29199 Create CALayers for Simple, TiledBacking, PageTiledBacking, and TiledBackingTile layers. 29200 29201 * WebKit2.xcodeproj/project.pbxproj: 29202 Add PlatformCALayerRemoteTiledBacking.{h, cpp}. 29203 29204 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 29205 (PlatformCALayerRemote::create): 29206 Create a PlatformCALayerRemoteTiledBacking for TiledBacking and PageTiledBacking layers. 29207 29208 (PlatformCALayerRemote::removeAllSublayers): 29209 Fix removeAllSublayers to make a copy of the PlatformCALayerList before 29210 mutating it, to avoid crashes when iterating a mutated list. 29211 29212 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 29213 Definalize PlatformCALayerRemote so we can have PlatformCALayerRemoteTiledBacking. 29214 Note that we will use a tiled backing layer in some cases. 29215 Make the constructor protected, not private, so our subclass can use it. 29216 29217 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: Added. 29218 (PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking): 29219 (PlatformCALayerRemoteTiledBacking::~PlatformCALayerRemoteTiledBacking): 29220 (PlatformCALayerRemoteTiledBacking::setNeedsDisplay): 29221 (PlatformCALayerRemoteTiledBacking::customSublayers): 29222 (PlatformCALayerRemoteTiledBacking::setBounds): 29223 (PlatformCALayerRemoteTiledBacking::isOpaque): 29224 (PlatformCALayerRemoteTiledBacking::setOpaque): 29225 (PlatformCALayerRemoteTiledBacking::acceleratesDrawing): 29226 (PlatformCALayerRemoteTiledBacking::setAcceleratesDrawing): 29227 (PlatformCALayerRemoteTiledBacking::setContentsScale): 29228 (PlatformCALayerRemoteTiledBacking::setBorderWidth): 29229 (PlatformCALayerRemoteTiledBacking::setBorderColor): 29230 * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Added. 29231 Add a subclass of PlatformCALayerRemote which forwards operations 29232 to TileController, very similar to what WebTiledBackingLayer does. 29233 It also owns the TileController, and overrides customSublayers() and 29234 tiledBacking() to return the right thing. 29235 29236 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: 29237 (RemoteLayerBackingStore::display): 29238 Teach RemoteLayerBackingStore about how to paint different kinds of layers. 29239 Simple layers and Tile layers will call paintContents directly, 29240 WebLayers will do what WebLayer does and use drawLayerContents. 29241 Other kinds of layers won't paint at all right now. 29242 I would like to centralize this behavior (and get rid of our CALayer 29243 subclasses entirely, moving all that behavior to be shared between Mac, 29244 Windows, and the remote layer tree), but that is a patch for another day. 29245 29246 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 29247 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 29248 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 29249 (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView): 29250 Force accelerated compositing on always when using the remote layer tree. 29251 Use a TiledBacking for the main frame. 29252 29253 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 29254 Drive-by OVERRIDE. 29255 292562013-10-29 Brady Eidson <beidson@apple.com> 29257 29258 Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform. 29259 https://bugs.webkit.org/show_bug.cgi?id=123451 29260 29261 Reviewed by Andreas Kling. 29262 29263 Stub out more pure virtual methods. 29264 29265 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: 29266 (WebKit::WebProcessIDBDatabaseBackend::backingStore): 29267 (WebKit::WebProcessIDBDatabaseBackend::id): 29268 (WebKit::WebProcessIDBDatabaseBackend::addObjectStore): 29269 (WebKit::WebProcessIDBDatabaseBackend::removeObjectStore): 29270 (WebKit::WebProcessIDBDatabaseBackend::addIndex): 29271 (WebKit::WebProcessIDBDatabaseBackend::removeIndex): 29272 (WebKit::WebProcessIDBDatabaseBackend::metadata): 29273 (WebKit::WebProcessIDBDatabaseBackend::setCurrentVersion): 29274 (WebKit::WebProcessIDBDatabaseBackend::hasPendingSecondHalfOpen): 29275 (WebKit::WebProcessIDBDatabaseBackend::setPendingSecondHalfOpen): 29276 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 29277 292782013-10-29 Gavin Barraclough <barraclough@apple.com> 29279 29280 SessionState.h should not include WebBackForwardList.h 29281 https://bugs.webkit.org/show_bug.cgi?id=123454 29282 29283 Reviewed by Geoff Garen. 29284 29285 WebBackForwardList is a UIProcess type, SessionState is in shared code. 29286 Also, WebBackForwardListItemVector should be in WebBackForwardListItem.h, not WebBackForwardList.h 29287 (the vector type is used in the WebProcess, the item header is shared but the list type is in the UIProcess). 29288 29289 * Shared/SessionState.cpp: 29290 - fixed includes 29291 * Shared/SessionState.h: 29292 - WebBackForwardList.h -> WebBackForwardListItem.h 29293 * Shared/WebBackForwardListItem.h: 29294 - Moved WebBackForwardListVector from WebBackForwardList.h 29295 * Shared/WebPageCreationParameters.h: 29296 - fixed includes 29297 * UIProcess/WebBackForwardList.h: 29298 - Moved WebBackForwardListVector to WebBackForwardListItem.h 29299 * WebProcess/WebPage/DrawingArea.cpp: 29300 - fixed includes 29301 * WebProcess/WebPage/WebPage.cpp: 29302 - fixed includes 29303 293042013-10-29 Zan Dobersek <zdobersek@igalia.com> 29305 29306 Unreviewed Mac debug build fix after r158183. 29307 Remove the duplicated << overloaded operator from RemoteLayerTreeTextStream for printing out 29308 a given FloatSize object. The RemoteLayerTreeTextStream inherits from TextStream, which already 29309 provides that overloaded operator. Format of the output is a bit different so hopefully nothing 29310 breaks further. 29311 29312 * Shared/mac/RemoteLayerTreeTransaction.mm: 29313 (WebKit::RemoteLayerTreeTextStream::operator<<): 29314 293152013-10-28 Brady Eidson <beidson@apple.com> 29316 29317 Refactor IDB factory creation. 29318 https://bugs.webkit.org/show_bug.cgi?id=123347 29319 29320 Reviewed by Andreas Kling. 29321 29322 - Rework how database directory location is passed around. 29323 - Make (some) SecurityOrigin arguments be references instead of pointers. 29324 - Add two SecurityOrigin arguments to opening databases for future use. 29325 29326 * Shared/Databases/IndexedDB/IDBUtilities.cpp: 29327 (WebKit::uniqueDatabaseIdentifier): 29328 * Shared/Databases/IndexedDB/IDBUtilities.h: 29329 29330 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 29331 (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend): 29332 (WebKit::WebIDBFactoryBackend::open): 29333 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 29334 (WebKit::WebIDBFactoryBackend::create): 29335 29336 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: 29337 (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend): 29338 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 29339 29340 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 29341 (WebKit::WebPlatformStrategies::createIDBFactoryBackend): 29342 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: 29343 293442013-10-28 Tim Horton <timothy_horton@apple.com> 29345 29346 Make TileController create the appropriate PlatformCALayer subclasses 29347 https://bugs.webkit.org/show_bug.cgi?id=123418 29348 29349 Reviewed by Simon Fraser. 29350 29351 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 29352 (PlatformCALayerRemote::createCompatibleLayer): 29353 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 29354 Add createCompatibleLayer and implement it in the subclasses. 29355 293562013-10-28 Benjamin Poulain <benjamin@webkit.org> 29357 29358 Rename applyPageScaleFactorInCompositor to delegatesPageScaling 29359 https://bugs.webkit.org/show_bug.cgi?id=123417 29360 29361 Reviewed by Simon Fraser. 29362 29363 * WebProcess/WebPage/WebPage.cpp: 29364 (WebKit::WebPage::setUseFixedLayout): 29365 293662013-10-28 Myles C. Maxfield <mmaxfield@apple.com> 29367 29368 Parsing support for -webkit-text-decoration-skip: ink 29369 https://bugs.webkit.org/show_bug.cgi?id=123358 29370 29371 Reviewed by Dean Jackson. 29372 29373 Adding ENABLE(CSS3_TEXT_DECORATION) 29374 29375 * Configurations/FeatureDefines.xcconfig: 29376 293772013-10-28 Tim Horton <timothy_horton@apple.com> 29378 29379 Make TileController manipulate PlatformCALayers instead of CALayers 29380 https://bugs.webkit.org/show_bug.cgi?id=123279 29381 29382 Reviewed by Simon Fraser. 29383 29384 * Shared/mac/RemoteLayerTreeTransaction.mm: 29385 (WebKit::RemoteLayerTreeTransaction::dump): 29386 Support the new LayerTypes. 29387 29388 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 29389 (PlatformCALayerRemote::setEdgeAntialiasingMask): 29390 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 29391 Add an empty implementation of setEdgeAntialiasingMask. 29392 29393 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: 29394 (RemoteLayerBackingStore::display): 29395 Removed a parameter from drawLayerContents. 29396 29397 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 29398 (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer): 29399 TiledCoreAnimationDrawingArea still operates in terms of CALayers, so 29400 grab the PlatformLayer out from TileController's indicator. 29401 294022013-10-28 Bastien Nocera <hadess@hadess.net> 29403 29404 Name all the GLib timeout sources 29405 https://bugs.webkit.org/show_bug.cgi?id=123229 29406 29407 Reviewed by Anders Carlsson. 29408 29409 Give a name to GLib timeout sources, this is helpful when 29410 profiling WebKitGTK applications. 29411 294122013-10-28 Carlos Garcia Campos <cgarcia@igalia.com> 29413 29414 Unreviewed. Fix make distcheck. 29415 29416 * GNUmakefile.am: Add messages.in files in 29417 UIProcess/Network/CustomProtocols/ to EXTRA_DIST. 29418 * GNUmakefile.list.am: Remove 29419 WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp from 29420 compilation because it depends on code generated only when 29421 database process is enabled. 29422 294232013-10-28 Alberto Garcia <berto@igalia.com> 29424 29425 [WK2] [GTK] Allow running the web process with an arbitrary prefix command 29426 https://bugs.webkit.org/show_bug.cgi?id=123201 29427 29428 Reviewed by Carlos Garcia Campos. 29429 29430 Launch the web process using WEB_PROCESS_CMD_PREFIX as a 29431 prefix. Useful for debugging the web process with gdb, valgrind, 29432 etc. 29433 29434 * UIProcess/Launcher/ProcessLauncher.h: 29435 * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: 29436 (WebKit::ProcessLauncher::launchProcess): 29437 * UIProcess/gtk/WebProcessProxyGtk.cpp: 29438 (WebKit::WebProcessProxy::platformGetLaunchOptions): 29439 294402013-10-27 Brady Eidson <beidson@apple.com> 29441 29442 WebIconDatabase can miss private browsing state changes. 29443 <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375 29444 29445 Reviewed by Alexey Proskuryakov. 29446 29447 * UIProcess/WebContext.cpp: 29448 (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(true) on each context. 29449 (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(false) on each context. 29450 (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes about private browsing 29451 sessions, notify the context’s WebIconDatabase about the change in value. 29452 * UIProcess/WebContext.h: 29453 29454 * UIProcess/WebIconDatabase.cpp: 29455 (WebKit::WebIconDatabase::setDatabasePath): Prime the IconDatabase with an initial private browsing value. 29456 (WebKit::WebIconDatabase::setAnyPageGroupMightHavePrivateBrowsingEnabled): 29457 * UIProcess/WebIconDatabase.h: 29458 294592013-10-26 Tim Horton <timothy_horton@apple.com> 29460 29461 [mac] Remove WebTiledLayer 29462 https://bugs.webkit.org/show_bug.cgi?id=123395 29463 29464 Reviewed by Anders Carlsson. 29465 29466 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 29467 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 29468 Remove synchronouslyDisplayTilesInRect. 29469 294702013-10-26 Dan Bernstein <mitz@apple.com> 29471 29472 [Cocoa] -[WKBackForwardList forwardItem] returns the back item 29473 https://bugs.webkit.org/show_bug.cgi?id=123391 29474 29475 Reviewed by Mark Rowe. 29476 29477 * UIProcess/Cocoa/WKBackForwardList.mm: 29478 (-[WKBackForwardList forwardItem]): Changed back to forward. 29479 294802013-10-26 Commit Queue <commit-queue@webkit.org> 29481 29482 Unreviewed, rolling out r158075. 29483 http://trac.webkit.org/changeset/158075 29484 https://bugs.webkit.org/show_bug.cgi?id=123389 29485 29486 Broke WebKit2.PrivateBrowsingPushStateNoHistoryCallback API 29487 test (Requested by ap on #webkit). 29488 29489 * UIProcess/WebContext.cpp: 29490 (WebKit::WebContext::willStartUsingPrivateBrowsing): 29491 (WebKit::WebContext::willStopUsingPrivateBrowsing): 29492 * UIProcess/WebContext.h: 29493 * UIProcess/WebIconDatabase.cpp: 29494 * UIProcess/WebIconDatabase.h: 29495 294962013-10-26 Jae Hyun Park <jae.park@company100.net> 29497 29498 Remove Coordinated Graphics bits from DrawingAreaProxyImpl 29499 https://bugs.webkit.org/show_bug.cgi?id=123382 29500 29501 Reviewed by Anders Carlsson. 29502 29503 As of r156861, Coordinated Graphics does not use DrawingAreaProxyImpl. 29504 So, Coordinated Graphics bits should be removed from DrawingAreaProxyImpl. 29505 29506 * UIProcess/DrawingAreaProxyImpl.h: 29507 295082013-10-26 Dan Bernstein <mitz@apple.com> 29509 29510 [Cocoa] clang static analyzer warns about object being autoreleased too many times in +[WKNSArray web_arrayWithImmutableArray:] 29511 https://bugs.webkit.org/show_bug.cgi?id=123384 29512 29513 Reviewed by Mark Rowe. 29514 29515 * Shared/Cocoa/WKNSArray.h: Annotated -web_initWithImmutableArray: as an init method. 29516 295172013-10-25 Csaba Osztrogonác <ossy@webkit.org> 29518 29519 Fix the ENABLE(CSS_FILTERS) && USE(COORDINATED_GRAPHICS) build after r157803 29520 https://bugs.webkit.org/show_bug.cgi?id=123330 29521 29522 Reviewed by Darin Adler. 29523 29524 * Shared/WebCoreArgumentCoders.cpp: 29525 * Shared/WebCoreArgumentCoders.h: 29526 295272013-10-25 Brady Eidson <beidson@apple.com> 29528 29529 WebIconDatabase can miss private browsing state changes. 29530 <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375 29531 29532 Reviewed by Beth Dakin. 29533 29534 * UIProcess/WebContext.cpp: 29535 (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(true) on each context. 29536 (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(false) on each context. 29537 (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes, notify WebIconDatabase. 29538 * UIProcess/WebContext.h: 29539 29540 * UIProcess/WebIconDatabase.cpp: 29541 (WebKit::WebIconDatabase::setPrivateBrowsingEnabled): 29542 * UIProcess/WebIconDatabase.h: 29543 295442013-10-25 Joseph Pecoraro <pecoraro@apple.com> 29545 29546 Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac 29547 https://bugs.webkit.org/show_bug.cgi?id=123111 29548 29549 Reviewed by Timothy Hatcher. 29550 29551 * Configurations/FeatureDefines.xcconfig: 29552 295532013-10-25 Gavin Barraclough <barraclough@apple.com> 29554 29555 Merge viewInWindowStateDidChange into viewStateDidChange 29556 https://bugs.webkit.org/show_bug.cgi?id=123351 29557 29558 Reviewed by Tim Horton. 29559 29560 * UIProcess/API/mac/WKView.mm: 29561 (-[WKView endDeferringViewInWindowChanges]): 29562 (-[WKView endDeferringViewInWindowChangesSync]): 29563 - viewInWindowStateDidChange -> viewStateDidChange 29564 * UIProcess/WebPageProxy.cpp: 29565 (WebKit::WebPageProxy::viewStateDidChange): 29566 - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange 29567 * UIProcess/WebPageProxy.h: 29568 - removed viewInWindowStateDidChange, named parameter to viewStateDidChange 29569 295702013-10-25 Csaba Osztrogonác <ossy@webkit.org> 29571 29572 One more URTBF for GTK after r158028. 29573 29574 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 29575 (webkitWebViewBaseMap): 29576 (webkitWebViewBaseUnmap): 29577 295782013-10-25 Csaba Osztrogonác <ossy@webkit.org> 29579 29580 URTBF for non-Mac platforms after r158028. 29581 29582 * GNUmakefile.list.am: 29583 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 29584 (toplevelWindowFocusInEvent): 29585 (toplevelWindowFocusOutEvent): 29586 (toplevelWindowVisibilityEvent): 29587 (webkitWebViewBaseSetToplevelOnScreenWindow): 29588 (webkitWebViewBaseSetFocus): 29589 * UIProcess/CoordinatedGraphics/WebView.cpp: 29590 (WebKit::WebView::setActive): 29591 (WebKit::WebView::setFocused): 29592 (WebKit::WebView::setVisible): 29593 295942013-10-25 Gavin Barraclough <barraclough@apple.com> 29595 29596 Move ViewStateFlags out of WebPageProxy 29597 https://bugs.webkit.org/show_bug.cgi?id=123323 29598 29599 Reviewed by Sam Weinig. 29600 29601 WebPageProxy contains an enum and typedef that provide a bitfield 29602 of flags describing the visibility of the view containing the page. 29603 We're going to want to use this bitfield in a message to the 29604 WebProcess, so moving out from the UIProcess to shared code. 29605 Creating struct 'ViewState' to scope the enum and typedef. 29606 Renamed ViewStateFlags to ViewState::Flags, and removed redundant 29607 'View' from enum entries. 29608 29609 * Shared/ViewState.h: Added. 29610 * UIProcess/API/mac/WKView.mm: 29611 (-[WKView becomeFirstResponder]): 29612 (-[WKView resignFirstResponder]): 29613 (-[WKView viewDidMoveToWindow]): 29614 (-[WKView _windowDidBecomeKey:]): 29615 (-[WKView _windowDidResignKey:]): 29616 (-[WKView _windowDidMiniaturize:]): 29617 (-[WKView _windowDidDeminiaturize:]): 29618 (-[WKView _windowDidOrderOffScreen:]): 29619 (-[WKView _windowDidOrderOnScreen:]): 29620 (-[WKView _windowDidChangeOcclusionState:]): 29621 (-[WKView viewDidHide]): 29622 (-[WKView viewDidUnhide]): 29623 (-[WKView _activeSpaceDidChange:]): 29624 * UIProcess/WebPageProxy.cpp: 29625 (WebKit::WebPageProxy::viewStateDidChange): 29626 * UIProcess/WebPageProxy.h: 29627 * WebKit2.xcodeproj/project.pbxproj: 29628 296292013-10-25 Gavin Barraclough <barraclough@apple.com> 29630 29631 Move ViewStateFlags out of WebPageProxy 29632 https://bugs.webkit.org/show_bug.cgi?id=123323 29633 29634 Unreviewed 29635 29636 Rolling out 158026 - landed extra chnages! 29637 29638 * Shared/ViewState.h: Removed. 29639 * UIProcess/API/mac/WKView.mm: 29640 (-[WKView becomeFirstResponder]): 29641 (-[WKView resignFirstResponder]): 29642 (-[WKView viewDidMoveToWindow]): 29643 (-[WKView _windowDidBecomeKey:]): 29644 (-[WKView _windowDidResignKey:]): 29645 (-[WKView _windowDidMiniaturize:]): 29646 (-[WKView _windowDidDeminiaturize:]): 29647 (-[WKView _windowDidOrderOffScreen:]): 29648 (-[WKView _windowDidOrderOnScreen:]): 29649 (-[WKView _windowDidChangeOcclusionState:]): 29650 (-[WKView viewDidHide]): 29651 (-[WKView viewDidUnhide]): 29652 (-[WKView _activeSpaceDidChange:]): 29653 (-[WKView endDeferringViewInWindowChanges]): 29654 (-[WKView endDeferringViewInWindowChangesSync]): 29655 * UIProcess/WebPageProxy.cpp: 29656 (WebKit::WebPageProxy::viewInWindowStateDidChange): 29657 (WebKit::WebPageProxy::viewStateDidChange): 29658 * UIProcess/WebPageProxy.h: 29659 * WebKit2.xcodeproj/project.pbxproj: 29660 296612013-10-24 Gavin Barraclough <barraclough@apple.com> 29662 29663 Move ViewStateFlags out of WebPageProxy 29664 https://bugs.webkit.org/show_bug.cgi?id=123323 29665 29666 Reviewed by Sam Weinig. 29667 29668 WebPageProxy contains an enum and typedef that provide a bitfield 29669 of flags describing the visibility of the view containing the page. 29670 We're going to want to use this bitfield in a message to the 29671 WebProcess, so moving out from the UIProcess to shared code. 29672 Creating struct 'ViewState' to scope the enum and typedef. 29673 Renamed ViewStateFlags to ViewState::Flags, and removed redundant 29674 'View' from enum entries. 29675 29676 * Shared/ViewState.h: Added. 29677 * UIProcess/API/mac/WKView.mm: 29678 (-[WKView becomeFirstResponder]): 29679 (-[WKView resignFirstResponder]): 29680 (-[WKView viewDidMoveToWindow]): 29681 (-[WKView _windowDidBecomeKey:]): 29682 (-[WKView _windowDidResignKey:]): 29683 (-[WKView _windowDidMiniaturize:]): 29684 (-[WKView _windowDidDeminiaturize:]): 29685 (-[WKView _windowDidOrderOffScreen:]): 29686 (-[WKView _windowDidOrderOnScreen:]): 29687 (-[WKView _windowDidChangeOcclusionState:]): 29688 (-[WKView viewDidHide]): 29689 (-[WKView viewDidUnhide]): 29690 (-[WKView _activeSpaceDidChange:]): 29691 * UIProcess/WebPageProxy.cpp: 29692 (WebKit::WebPageProxy::viewStateDidChange): 29693 * UIProcess/WebPageProxy.h: 29694 * WebKit2.xcodeproj/project.pbxproj: 29695 296962013-10-25 Sergio Villar Senin <svillar@igalia.com> 29697 29698 [GTK][WK2] Build break after r157967 and r157972 29699 https://bugs.webkit.org/show_bug.cgi?id=123325 29700 29701 Reviewed by Carlos Garcia Campos. 29702 29703 DrawingArea::visibilityDidChange was removed in favour of a new 29704 message called SetIsVisible which is sent to the WebPage. This 29705 means that {suspend|resume}Paiting are now implemented in a 29706 cross-platform way in WebPage and do not require specific code 29707 from the DrawingArea implementations. 29708 29709 This means that we have to track the toplevel window visibility 29710 and notify the WebPage appropriately about its changes. 29711 29712 * UIProcess/API/gtk/PageClientImpl.cpp: 29713 (WebKit::PageClientImpl::isWindowVisible): 29714 * UIProcess/API/gtk/PageClientImpl.h: 29715 * UIProcess/API/gtk/WebKitWebViewBase.cpp: 29716 (toplevelWindowVisibilityEvent): 29717 (webkitWebViewBaseSetToplevelOnScreenWindow): 29718 (webkitWebViewBaseIsWindowVisible): 29719 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: 29720 * UIProcess/DrawingAreaProxyImpl.cpp: 29721 * UIProcess/DrawingAreaProxyImpl.h: 29722 * WebProcess/WebPage/DrawingAreaImpl.cpp: 29723 (WebKit::DrawingAreaImpl::suspendPainting): 29724 (WebKit::DrawingAreaImpl::resumePainting): 29725 * WebProcess/WebPage/WebPage.cpp: 29726 (WebKit::WebPage::windowAndWebPageAreFocused): 29727 297282013-10-25 Anton Obzhirov <a.obzhirov@samsung.com> 29729 29730 [GTK] [WebKit2] CanHandleRequest API test fails 29731 https://bugs.webkit.org/show_bug.cgi?id=88453 29732 29733 Reviewed by Martin Robinson. 29734 29735 Make WebPage::platformCanHandleRequest return false by default 29736 for unknown schemes. 29737 29738 * WebProcess/WebPage/gtk/WebPageGtk.cpp: 29739 (WebKit::WebPage::platformCanHandleRequest): 29740 297412013-10-25 Ryuan Choi <ryuan.choi@samsung.com> 29742 29743 [EFL][WK2] Build break after r157967 and r157972 29744 https://bugs.webkit.org/show_bug.cgi?id=123324 29745 29746 Reviewed by Tim Horton. 29747 29748 Since r157967 and r157972, visibilityDidChange was removed from DrawingAreaProxy. 29749 29750 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: 29751 (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange): 29752 Removed common logic which r157967 moved to WebProcess. 29753 * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: 29754 Make visibilityDidChange to public method. 29755 * UIProcess/CoordinatedGraphics/WebView.cpp: 29756 (WebKit::WebView::setVisible): 29757 (WebKit::WebView::isWindowVisible): Added. 29758 * UIProcess/CoordinatedGraphics/WebView.h: 29759 * WebProcess/WebPage/WebPage.cpp: 29760 (WebKit::WebPage::WebPage): 29761 (WebKit::WebPage::setWindowIsVisible): 29762 * WebProcess/WebPage/WebPage.h: 29763 Moved m_windowIsVisible to use at all WK2 based port. 29764 (WebKit::WebPage::windowIsVisible): 29765 * WebProcess/WebPage/WebPage.messages.in: 29766 Moved SetWindowIsVisible message to use at all WK2 based port. 29767 297682013-10-24 Mark Rowe <mrowe@apple.com> 29769 29770 Remove references to OS X 10.7 from Xcode configuration settings. 29771 29772 Now that we're not building for OS X 10.7 they're no longer needed. 29773 29774 Reviewed by Anders Carlsson. 29775 29776 * Configurations/Base.xcconfig: 29777 * Configurations/BaseXPCService.xcconfig: 29778 * Configurations/DebugRelease.xcconfig: 29779 * Configurations/FeatureDefines.xcconfig: 29780 * Configurations/Version.xcconfig: 29781 * Configurations/WebContentProcess.xcconfig: 29782 297832013-10-24 Gavin Barraclough <barraclough@apple.com> 29784 29785 Coalesce calls to viewStateDidChange 29786 https://bugs.webkit.org/show_bug.cgi?id=123307 29787 29788 Reviewed by Tim Horton. 29789 29790 * UIProcess/API/mac/WKView.mm: 29791 (-[WKView viewDidMoveToWindow]): 29792 (-[WKView _windowDidOrderOffScreen:]): 29793 (-[WKView _windowDidOrderOnScreen:]): 29794 - coalesce calls to viewStateDidChange 29795 * UIProcess/WebPageProxy.cpp: 29796 (WebKit::WebPageProxy::viewStateDidChange): 29797 - handle changes to view visibility & active state in correct order. 29798 297992013-10-24 Mark Rowe <mrowe@apple.com> 29800 29801 <rdar://problem/15312643> Prepare for the mysterious future. 29802 29803 Reviewed by David Kilzer. 29804 29805 * Configurations/Base.xcconfig: 29806 * Configurations/BaseXPCService.xcconfig: 29807 * Configurations/DebugRelease.xcconfig: 29808 * Configurations/FeatureDefines.xcconfig: 29809 * Configurations/Version.xcconfig: 29810 * Configurations/WebContentProcess.xcconfig: 29811 298122013-10-24 Gavin Barraclough <barraclough@apple.com> 29813 29814 Fold updateWindowIsVisible into viewStateDidChange 29815 https://bugs.webkit.org/show_bug.cgi?id=123305 29816 29817 Reviewed by Simon Fraser. 29818 29819 * UIProcess/API/mac/PageClientImpl.h: 29820 * UIProcess/API/mac/PageClientImpl.mm: 29821 (WebKit::PageClientImpl::isWindowVisible): 29822 - Added accessor to check if window is visible 29823 * UIProcess/API/mac/WKView.mm: 29824 (-[WKView viewDidMoveToWindow]): 29825 (-[WKView _windowDidMiniaturize:]): 29826 (-[WKView _windowDidDeminiaturize:]): 29827 (-[WKView _windowDidOrderOffScreen:]): 29828 (-[WKView _windowDidOrderOnScreen:]): 29829 - _updateWindowVisibility -> viewStateDidChange 29830 * UIProcess/PageClient.h: 29831 - Added accessor to check if winow is visible 29832 * UIProcess/WebPageProxy.cpp: 29833 (WebKit::WebPageProxy::viewStateDidChange): 29834 - handle WindowIsVisible 29835 * UIProcess/WebPageProxy.h: 29836 - added WindowIsVisible 29837 * UIProcess/mac/WebPageProxyMac.mm: 29838 - removed updateWindowIsVisible 29839 298402013-10-24 Anders Carlsson <andersca@apple.com> 29841 29842 Stop bringing in the std namespace 29843 https://bugs.webkit.org/show_bug.cgi?id=123273 29844 29845 Reviewed by Andreas Kling. 29846 29847 * WebProcess/mac/WebProcessMac.mm: 29848 (WebKit::WebProcess::platformSetCacheModel): 29849 298502013-10-24 Gavin Barraclough <barraclough@apple.com> 29851 29852 Simplify window occlusion detection code 29853 https://bugs.webkit.org/show_bug.cgi?id=123300 29854 29855 Reviewed by Tim Horton. 29856 29857 Currently the WKView tries to maintain a copy of the window's occluded state, 29858 but forced to NO when occlusion detection is disabled (and capable of handling 29859 dectection being dynamically toggled). Simpler to just rely on the actual value 29860 from the window, && the enabled setting. Cleaning this up revealed that we're 29861 not sending a viewStateDidChange to the WebPageProxy when the occlusion state 29862 changes, which we probably should be. 29863 29864 * UIProcess/API/mac/PageClientImpl.mm: 29865 (WebKit::PageClientImpl::isViewVisible): 29866 - check the real value of occlusion state from the window. 29867 * UIProcess/API/mac/WKView.mm: 29868 (-[WKView viewDidMoveToWindow]): 29869 - don't update cached value. 29870 (-[WKView _windowDidChangeOcclusionState:]): 29871 - don't update cached value, but do send viewStateDidChange to the WebPageProxy. 29872 (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]): 29873 - removed _isWindowOccluded. 29874 (-[WKView windowOcclusionDetectionEnabled]): 29875 (-[WKView setWindowOcclusionDetectionEnabled:]): 29876 - Just toggle the flag - no cached state to update any more. 29877 * UIProcess/API/mac/WKViewInternal.h: 29878 - removed _isWindowOccluded. 29879 298802013-10-24 Gavin Barraclough <barraclough@apple.com> 29881 29882 SetIsVisible message should be sent to WebPage 29883 https://bugs.webkit.org/show_bug.cgi?id=123296 29884 29885 Reviewed by Tim Horton. 29886 29887 * UIProcess/DrawingAreaProxy.h: 29888 - remove visibilityDidChange - WebPageProxy now mesages WebPage. 29889 * UIProcess/WebPageProxy.cpp: 29890 (WebKit::WebPageProxy::viewStateDidChange): 29891 - Send view visibility updates to the WebPage, not the drawing area. 29892 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: 29893 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: 29894 - remove visibilityDidChange - WebPageProxy now mesages WebPage. 29895 * WebProcess/WebPage/DrawingArea.h: 29896 (WebKit::DrawingArea::suspendPainting): 29897 (WebKit::DrawingArea::resumePainting): 29898 * WebProcess/WebPage/DrawingArea.messages.in: 29899 - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess, 29900 make them private to the WebProcess but accessible from WebPage. 29901 * WebProcess/WebPage/WebPage.cpp: 29902 (WebKit::WebPage::setViewIsVisible): 29903 * WebProcess/WebPage/WebPage.h: 29904 * WebProcess/WebPage/WebPage.messages.in: 29905 - Added SetViewIsVisible message. 29906 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 29907 - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess, 29908 make them private to the WebProcess but accessible from WebPage. 29909 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: 29910 (WebKit::TiledCoreAnimationDrawingArea::suspendPainting): 29911 (WebKit::TiledCoreAnimationDrawingArea::resumePainting): 29912 - Moved animation suspend code out to WebPage. 29913 299142013-10-24 Dan Bernstein <mitz@apple.com> 29915 29916 Tried to fix the Mountain Lion build. 29917 29918 * Shared/API/Cocoa/WKFoundation.h: 29919 299202013-10-24 Dan Bernstein <mitz@apple.com> 29921 29922 [Cocoa] Add -[WKBrowsingContextController goToBackForwardItem:] 29923 https://bugs.webkit.org/show_bug.cgi?id=123289 29924 29925 Reviewed by Sam Weinig. 29926 29927 * Shared/API/Cocoa/WKFoundation.h: Defined WK_API_CLASS. 29928 * UIProcess/API/mac/WKBrowsingContextController.h: Declared -goToBackForwardListItem:. 29929 * UIProcess/API/mac/WKBrowsingContextController.mm: 29930 (-[WKBrowsingContextController goToBackForwardListItem:]): Added. 29931 * UIProcess/Cocoa/WKBackForwardList.h: Deployed WK_API_CLASS to make the class exported. 29932 * UIProcess/Cocoa/WKBackForwardListItem.h: Ditto. 29933 * UIProcess/Cocoa/WKBackForwardListItem.mm: 29934 (-[WKBackForwardListItem _item]): Added. Returns the underlying WebBackForwardListItem. 29935 * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Declared _item. 29936 299372013-10-23 ChangSeok Oh <changseok.oh@collabora.com> 29938 29939 Unreviewed build fix since r157823. 29940 FilterOperation::getOperationType() is renamed FilterOperation::type(). 29941 29942 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 29943 (CoreIPC::::encode): 29944 * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: 29945 (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies): 29946 299472013-10-23 Tibor Meszaros <tmeszaros@inf.u-szeged.hu> 29948 29949 Web Inspector: Make WebKitEFL port work with chromedevtools 29950 https://bugs.webkit.org/show_bug.cgi?id=123017 29951 29952 Reviewed by Gustavo Noronha Silva. 29953 29954 Added /json path and extended the returned JSON format 29955 with the required extra informations 29956 29957 * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp: 29958 (WebKit::WebInspectorServer::platformResourceForPath): 29959 (WebKit::WebInspectorServer::buildPageList): 29960 299612013-10-23 Anders Carlsson <andersca@apple.com> 29962 29963 Remove HAVE_XPC 29964 https://bugs.webkit.org/show_bug.cgi?id=123226 29965 29966 Reviewed by Dan Bernstein. 29967 29968 HAVE_XPC has been true on Mac since Lion, so remove it. 29969 29970 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: 29971 (DatabaseServiceInitializer): 29972 * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm: 29973 (NetworkServiceInitializer): 29974 * Platform/CoreIPC/Connection.h: 29975 (CoreIPC::Connection::Identifier::Identifier): 29976 * Platform/CoreIPC/mac/ConnectionMac.cpp: 29977 (CoreIPC::Connection::platformInvalidate): 29978 (CoreIPC::Connection::platformInitialize): 29979 * Platform/WorkQueue.h: 29980 * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm: 29981 (PluginServiceInitializer): 29982 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: 29983 * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: 29984 * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: 29985 (WebKit::shouldUseXPC): 29986 (WebKit::DatabaseProcessProxy::platformGetLaunchOptions): 29987 * UIProcess/Launcher/ProcessLauncher.cpp: 29988 (WebKit::ProcessLauncher::didFinishLaunchingProcess): 29989 * UIProcess/Launcher/ProcessLauncher.h: 29990 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 29991 (WebKit::setUpTerminationNotificationHandler): 29992 (WebKit::ProcessLauncher::launchProcess): 29993 * UIProcess/Network/mac/NetworkProcessProxyMac.mm: 29994 (WebKit::shouldUseXPC): 29995 (WebKit::NetworkProcessProxy::platformGetLaunchOptions): 29996 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: 29997 (WebKit::shouldUseXPC): 29998 (WebKit::PluginProcessProxy::platformGetLaunchOptions): 29999 * UIProcess/mac/WebProcessProxyMac.mm: 30000 (WebKit::shouldUseXPC): 30001 (WebKit::WebProcessProxy::platformGetLaunchOptions): 30002 * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm: 30003 (WebContentServiceInitializer): 30004 300052013-10-23 Tim Horton <timothy_horton@apple.com> 30006 30007 Remove the ifdef to exclude remote layer tree transaction logging 30008 on Lion and before. 30009 30010 Rubber-stamped by Anders Carlsson. 30011 30012 * Shared/mac/RemoteLayerTreeTransaction.h: 30013 * Shared/mac/RemoteLayerTreeTransaction.mm: 30014 * UIProcess/mac/RemoteLayerTreeHost.mm: 30015 (WebKit::RemoteLayerTreeHost::commit): 30016 300172013-10-23 Brady Eidson <beidson@apple.com> 30018 30019 Make IDBDatabaseBackendLevelDB.cpp be cross platform 30020 https://bugs.webkit.org/show_bug.cgi?id=123027 30021 30022 Attentively reviewed by Dean Jackson. 30023 30024 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 30025 (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend): 30026 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 30027 300282013-10-23 Dan Bernstein <mitz@apple.com> 30029 30030 Fixed a typo. 30031 30032 * UIProcess/API/mac/WKBrowsingContextController.mm: 30033 (didChangeBackForwardList): 30034 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: 30035 300362013-10-23 Anton Obzhirov <a.obzhirov@samsung.com> 30037 30038 [GTK] Enable respect image orientation by default 30039 https://bugs.webkit.org/show_bug.cgi?id=122120 30040 30041 Reviewed by Gustavo Noronha Silva. 30042 30043 Add enable respect image orientation by default in GTK port. 30044 30045 * UIProcess/API/gtk/WebKitSettings.cpp: 30046 (webKitSettingsConstructed): 30047 300482013-10-23 Brian Holt <brian.holt@samsung.com> 30049 30050 [GTK] Add WebKit2 API for TLS errors 30051 https://bugs.webkit.org/show_bug.cgi?id=120160 30052 30053 Reviewed by Mario Sanchez Prada. 30054 30055 Revert back to using PlatformCertificateInfo following the rollout 30056 of https://bugs.webkit.org/show_bug.cgi?id=118520. 30057 30058 * Shared/soup/PlatformCertificateInfo.cpp: 30059 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 30060 * Shared/soup/PlatformCertificateInfo.h: 30061 * UIProcess/API/gtk/WebKitCertificateInfo.cpp: 30062 (webkitCertificateInfoGetCertificateInfo): 30063 * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: 30064 300652013-10-23 Tim Horton <timothy_horton@apple.com> 30066 30067 Remote Layer Tree: Implement superlayer, removeFromSuperlayer, replaceSublayer, and adoptSublayers 30068 https://bugs.webkit.org/show_bug.cgi?id=123130 30069 30070 Reviewed by Anders Carlsson. 30071 30072 Implement the remaining layer-hierarchy-manipulation methods. 30073 30074 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 30075 (PlatformCALayerRemote::PlatformCALayerRemote): 30076 (PlatformCALayerRemote::~PlatformCALayerRemote): 30077 Null out the superlayer back-pointer on our sublayers. 30078 30079 (PlatformCALayerRemote::recursiveBuildTransaction): 30080 Ensure that our children all have us as their superlayer. 30081 30082 (PlatformCALayerRemote::superlayer): 30083 Return the stored superlayer pointer. 30084 30085 (PlatformCALayerRemote::removeFromSuperlayer): 30086 Call removeSublayer on our superlayer, if we have one. 30087 30088 (PlatformCALayerRemote::removeSublayer): 30089 Remove the given layer if it's in our list of sublayers, clear its 30090 reference to us, and note that we'll need to commit hierarchy changes. 30091 30092 (PlatformCALayerRemote::setSublayers): 30093 removeAllSublayers() before setting the new list, to clear superlayer 30094 back-pointers. Children will be protected by the PlatformCALayerList. 30095 Update the new layers' superlayers. 30096 30097 (PlatformCALayerRemote::removeAllSublayers): 30098 Remove each sublayer from its superlayer, then clear our list of children. 30099 30100 (PlatformCALayerRemote::appendSublayer): 30101 (PlatformCALayerRemote::insertSublayer): 30102 Protect the layer from deletion, so that we can remove it from its prior 30103 superlayer before appending or inserting it. 30104 30105 (PlatformCALayerRemote::replaceSublayer): 30106 Find the reference sublayer, if it exists, and replace it with the new one. 30107 30108 (PlatformCALayerRemote::adoptSublayers): 30109 adoptSublayers is really just "set sublayers to this other layer's sublayers". 30110 Since setSublayers already removes layers from the existing superlayer, 30111 we can just go ahead and call it. 30112 30113 (PlatformCALayerRemote::addAnimationForKey): 30114 (PlatformCALayerRemote::removeAnimationForKey): 30115 (PlatformCALayerRemote::animationForKey): 30116 Add some ASSERT_NOT_REACHEDs in animation code. 30117 We ought not get here because we've disabled hardware animations 30118 in GraphicsLayerCARemote. 30119 30120 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 30121 Add m_superlayer and removeSublayer(). 30122 301232013-10-22 Ryuan Choi <ryuan.choi@samsung.com> 30124 30125 Unreviewed build fix attempt on Soup based port after r157842. 30126 30127 WebCore::CertificateInfo was reverted to WebKit::PlatformCertificateInfo. 30128 30129 * UIProcess/WebContext.cpp: 30130 (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): 30131 * WebProcess/WebProcess.h: 30132 * WebProcess/WebProcess.messages.in: 30133 * WebProcess/soup/WebProcessSoup.cpp: 30134 (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): 30135 301362013-10-22 Ryuan Choi <ryuan.choi@samsung.com> 30137 30138 Unreviewed build fix attempt on EFL port after r157842. 30139 30140 * Shared/soup/PlatformCertificateInfo.h: Removed message of merge confliction. 30141 301422013-10-22 Mark Rowe <mrowe@apple.com> 30143 30144 Fix build failures after r157842. 30145 30146 * WebProcess/WebProcess.h: Don't try to #include a file that was deleted. 30147 It won't work. 30148 301492013-10-22 Brady Eidson <beidson@apple.com> 30150 30151 Get rid of IDBObjectStoreBackendLevelDB 30152 https://bugs.webkit.org/show_bug.cgi?id=123174 30153 30154 Reviewed by Tim Horton. 30155 30156 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: 30157 301582013-10-22 Dean Jackson <dino@apple.com> 30159 30160 [WebGL] Implement a software rendering option on Mac 30161 https://bugs.webkit.org/show_bug.cgi?id=123177 30162 30163 Reviewed by Tim Horton. 30164 30165 Implement a way to force software OpenGL rendering 30166 for WebGL, via a Setting/Preference. 30167 30168 * Shared/WebPreferencesStore.h: New ForceSoftwareWebGLRendering entry. 30169 * UIProcess/API/C/WKPreferences.cpp: 30170 (WKPreferencesSetForceSoftwareWebGLRendering): 30171 (WKPreferencesGetForceSoftwareWebGLRendering): 30172 * UIProcess/API/C/WKPreferencesPrivate.h: 30173 * WebProcess/WebPage/WebPage.cpp: 30174 (WebKit::WebPage::updatePreferences): 30175 * mac/WebKit2.order: 30176 301772013-10-22 Anders Carlsson <andersca@apple.com> 30178 30179 Revert r157445 since it broke certificates on Mac. 30180 <rdar://problem/15246926&15254017&15269117> 30181 30182 * GNUmakefile.list.am: 30183 * NetworkProcess/AsynchronousNetworkLoaderClient.cpp: 30184 (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse): 30185 * NetworkProcess/NetworkProcess.h: 30186 * NetworkProcess/NetworkProcess.messages.in: 30187 * NetworkProcess/NetworkResourceLoader.cpp: 30188 * NetworkProcess/mac/NetworkProcessMac.mm: 30189 (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): 30190 * PlatformEfl.cmake: 30191 * PlatformGTK.cmake: 30192 * Shared/API/c/mac/WKCertificateInfoMac.mm: 30193 (WKCertificateInfoCreateWithCertficateChain): 30194 (WKCertificateInfoGetCertificateChain): 30195 * Shared/Authentication/AuthenticationManager.cpp: 30196 (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): 30197 (WebKit::AuthenticationManager::useCredentialForChallenge): 30198 * Shared/Authentication/AuthenticationManager.h: 30199 * Shared/Authentication/AuthenticationManager.messages.in: 30200 * Shared/Authentication/mac/AuthenticationManager.mac.mm: 30201 (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge): 30202 * Shared/UserMessageCoders.h: 30203 (WebKit::UserMessageEncoder::baseEncode): 30204 (WebKit::UserMessageDecoder::baseDecode): 30205 * Shared/WebCertificateInfo.h: 30206 (WebKit::WebCertificateInfo::create): 30207 (WebKit::WebCertificateInfo::platformCertificateInfo): 30208 (WebKit::WebCertificateInfo::WebCertificateInfo): 30209 * Shared/WebCoreArgumentCoders.cpp: 30210 * Shared/WebCoreArgumentCoders.h: 30211 * Shared/mac/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp. 30212 (WebKit::PlatformCertificateInfo::certificateChain): 30213 * Shared/mac/PlatformCertificateInfo.mm: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm. 30214 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 30215 (WebKit::PlatformCertificateInfo::encode): 30216 (WebKit::PlatformCertificateInfo::decode): 30217 (WebKit::PlatformCertificateInfo::dump): 30218 * Shared/mac/WebCoreArgumentCodersMac.mm: 30219 (CoreIPC::::encodePlatformData): 30220 (CoreIPC::::decodePlatformData): 30221 * Shared/soup/PlatformCertificateInfo.cpp: Added. 30222 (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): 30223 (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo): 30224 (WebKit::PlatformCertificateInfo::encode): 30225 (WebKit::PlatformCertificateInfo::decode): 30226 * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/CertificateInfo.h. 30227 (WebKit::PlatformCertificateInfo::certificate): 30228 (WebKit::PlatformCertificateInfo::tlsErrors): 30229 * Shared/soup/WebCoreArgumentCodersSoup.cpp: 30230 (CoreIPC::::encodePlatformData): 30231 (CoreIPC::::decodePlatformData): 30232 * UIProcess/API/gtk/WebKitWebView.cpp: 30233 (webkit_web_view_get_tls_info): 30234 * UIProcess/Authentication/AuthenticationChallengeProxy.cpp: 30235 (WebKit::AuthenticationChallengeProxy::useCredential): 30236 * UIProcess/WebContext.cpp: 30237 (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): 30238 * UIProcess/WebFrameProxy.cpp: 30239 (WebKit::WebFrameProxy::didCommitLoad): 30240 * UIProcess/WebFrameProxy.h: 30241 * UIProcess/WebPageProxy.cpp: 30242 (WebKit::WebPageProxy::didCommitLoadForFrame): 30243 * UIProcess/WebPageProxy.h: 30244 * UIProcess/WebPageProxy.messages.in: 30245 * WebKit2.xcodeproj/project.pbxproj: 30246 * WebProcess/Network/WebResourceLoader.cpp: 30247 (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): 30248 * WebProcess/Network/WebResourceLoader.h: 30249 * WebProcess/Network/WebResourceLoader.messages.in: 30250 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30251 (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): 30252 302532013-10-22 Tim Horton <timothy_horton@apple.com> 30254 30255 Remote Layer Tree: Disable threaded scrolling for RemoteLayerTreeDrawingArea 30256 https://bugs.webkit.org/show_bug.cgi?id=123187 30257 30258 Reviewed by Dean Jackson. 30259 30260 * WebProcess/WebPage/DrawingArea.h: 30261 (WebKit::DrawingArea::supportsThreadedScrolling): 30262 * WebProcess/WebPage/WebPage.cpp: 30263 (WebKit::WebPage::WebPage): 30264 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: 30265 Threaded scrolling doesn't work with remote layer trees yet. 30266 Let the DrawingArea subclass tell WebPage if it supports threaded 30267 scrolling, and make TiledCoreAnimationDrawingArea say that it does. 30268 302692013-10-22 Ryuan Choi <ryuan.choi@samsung.com> 30270 30271 Unreviewed build fix on EFL port after r157823 30272 30273 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 30274 (CoreIPC::::encode): renamed getOperationType() to type(). 30275 302762013-10-22 Tim Horton <timothy_horton@apple.com> 30277 30278 {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get' 30279 https://bugs.webkit.org/show_bug.cgi?id=123172 30280 30281 Reviewed by Simon Fraser. 30282 30283 * Shared/WebCoreArgumentCoders.cpp: 30284 (CoreIPC::encodeFilterOperation): 30285 * Shared/mac/RemoteLayerTreeTransaction.mm: 30286 (WebKit::RemoteLayerTreeTextStream::operator<<): 30287 Adopt the new name. 30288 302892013-10-22 Csaba Osztrogonác <ossy@webkit.org> 30290 30291 URTBF after r157803 for !ENABLE(CSS_FILTERS) platforms. 30292 30293 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 30294 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: 30295 * Shared/WebCoreArgumentCoders.cpp: 30296 302972013-10-22 Tim Horton <timothy_horton@apple.com> 30298 30299 Remote Layer Tree: Support hardware accelerated filters 30300 https://bugs.webkit.org/show_bug.cgi?id=123139 30301 30302 Reviewed by Anders Carlsson. 30303 30304 * Shared/WebCoreArgumentCoders.cpp: 30305 (CoreIPC::ArgumentCoder<Length>::encode): 30306 (CoreIPC::ArgumentCoder<Length>::decode): 30307 Add simple coders for Length. 30308 30309 (CoreIPC::encodeFilterOperation): 30310 (CoreIPC::decodeFilterOperation): 30311 Serialize and deserialize FilterOperations, except for CUSTOM and VALIDATED_CUSTOM. 30312 30313 (CoreIPC::ArgumentCoder<Length>::encode): 30314 (CoreIPC::ArgumentCoder<Length>::decode): 30315 Add coders for FilterOperations that delegate to {en,de}codeFilterOperation 30316 for each operation in the list. 30317 30318 * Shared/WebCoreArgumentCoders.h: 30319 Drive-by fix indentation. 30320 Expose the Length and FilterOperations coders. 30321 30322 * Shared/mac/RemoteLayerTreeTransaction.h: 30323 Add FiltersChanged and LayerProperties::filters. 30324 30325 * Shared/mac/RemoteLayerTreeTransaction.mm: 30326 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 30327 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 30328 Encode and decode our FilterOperations. 30329 30330 (WebKit::dumpChangedLayers): 30331 Dump information about the layers' filters. 30332 30333 * UIProcess/mac/RemoteLayerTreeHost.mm: 30334 (WebKit::RemoteLayerTreeHost::commit): 30335 Use PlatformCAFilters code to apply a FilterOperations object to our CALayer. 30336 30337 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 30338 (PlatformCALayerRemote::setFilters): 30339 Replace existing filters with our new set, and note that they've changed. 30340 30341 (PlatformCALayerRemote::copyFiltersFrom): 30342 Not yet implemented. Not critical for this feature, either. 30343 30344 (PlatformCALayerRemote::filtersCanBeComposited): 30345 For now, this is the same as the Mac version. 30346 303472013-10-22 Brian Holt <brian.holt@samsung.com> 30348 30349 [GTK] Add WebKit2 API for TLS errors 30350 https://bugs.webkit.org/show_bug.cgi?id=120160 30351 30352 Reviewed by Carlos Garcia Campos. 30353 30354 Add a new signal load-failed-with-tls-errors that is emitted with 30355 a WebKitCertificateInfo boxed type to allow users to deal with TLS 30356 errors. A new API is exposed in WebKitWebContext to allow 30357 exceptions for TLS errors on a given host. 30358 30359 * GNUmakefile.list.am: 30360 * PlatformGTK.cmake: 30361 * UIProcess/API/gtk/WebKitCertificateInfo.cpp: Added. 30362 (webkitCertificateInfoGetCertificateInfo): 30363 (webkit_certificate_info_copy): 30364 (webkit_certificate_info_free): 30365 (webkit_certificate_info_get_tls_certificate): 30366 (webkit_certificate_info_get_tls_errors): 30367 * UIProcess/API/gtk/WebKitCertificateInfo.h: Added. 30368 * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: Added. 30369 (_WebKitCertificateInfo::_WebKitCertificateInfo): 30370 * UIProcess/API/gtk/WebKitWebContext.cpp: 30371 (webkit_web_context_allow_tls_certificate_for_host): Support TLS 30372 exceptions for a given host. 30373 * UIProcess/API/gtk/WebKitWebContext.h: 30374 * UIProcess/API/gtk/WebKitWebView.cpp: 30375 (webkit_web_view_class_init): Added new signal. 30376 (webkitWebViewLoadFailedWithTLSErrors): Emit new signal with 30377 WebKitCertificateInfo and host. 30378 * UIProcess/API/gtk/WebKitWebView.h: 30379 * UIProcess/API/gtk/WebKitWebViewPrivate.h: 30380 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: 30381 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: 30382 * UIProcess/API/gtk/docs/webkit2gtk.types: 30383 * UIProcess/API/gtk/tests/TestSSL.cpp: 30384 (testLoadFailedWithTLSErrors): 30385 (httpsServerCallback): 30386 (beforeAll): Added new test. 30387 * UIProcess/API/gtk/webkit2.h: 30388 * UIProcess/API/gtk/webkit2marshal.list: 30389 * UIProcess/WebContext.cpp: 30390 (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): Send 30391 message to WebProcess to allow a certificate and host pair. 30392 * WebProcess/WebProcess.h: 30393 * WebProcess/WebProcess.messages.in: New message to tell 30394 WebProcess to allow a specific TLS certificate for a given host. 30395 * WebProcess/soup/WebProcessSoup.cpp: 30396 (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Allow 30397 certificate and host pair. 30398 303992013-10-22 Dan Bernstein <mitz@apple.com> 30400 30401 Try to make the 32-bit Mac build happy. 30402 30403 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: 30404 304052013-10-21 Dan Bernstein <mitz@apple.com> 30406 30407 Try to make the 32-bit Mac build happy. 30408 30409 * UIProcess/API/mac/WKBrowsingContextController.mm: 30410 (setUpPageLoaderClient): 30411 304122013-10-21 Dan Bernstein <mitz@apple.com> 30413 30414 [Cocoa] Add load delegate method for didChangeBackForwardList 30415 https://bugs.webkit.org/show_bug.cgi?id=123136 30416 30417 Reviewed by Anders Carlsson. 30418 30419 * UIProcess/API/mac/WKBrowsingContextController.mm: 30420 (didChangeBackForwardList): Added. Calls new delegate method. 30421 (setUpPageLoaderClient): Hook up new client function. 30422 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method. 30423 304242013-10-21 Mark Rowe <mrowe@apple.com> 30425 30426 Add a version of WebKitSystemInterface for Mavericks. 30427 30428 Reviewed by Ryosuke Niwa. 30429 30430 * Configurations/DebugRelease.xcconfig: 30431 304322013-10-21 Dan Bernstein <mitz@apple.com> 30433 30434 Try to fix the Mac 32-bit build. 30435 30436 * UIProcess/API/mac/WKBrowsingContextController.h: 30437 * UIProcess/API/mac/WKBrowsingContextController.mm: 30438 304392013-10-21 Tim Horton <timothy_horton@apple.com> 30440 30441 Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work. 30442 30443 This definitely ought to fix the build. 30444 30445 * Shared/mac/RemoteLayerTreeTransaction.h: 30446 * Shared/mac/RemoteLayerTreeTransaction.mm: 30447 * UIProcess/mac/RemoteLayerTreeHost.mm: 30448 (WebKit::RemoteLayerTreeHost::commit): 30449 304502013-10-21 Tim Horton <timothy_horton@apple.com> 30451 30452 Maybe a Lion build fix after r157731, part 2. 30453 30454 * Shared/mac/RemoteLayerTreeTransaction.mm: 30455 (WebKit::RemoteLayerTreeTextStream::operator<<): 30456 304572013-10-21 Dan Bernstein <mitz@apple.com> 30458 30459 [Cocoa] Back/forward list UI process API 30460 https://bugs.webkit.org/show_bug.cgi?id=123109 30461 30462 Reviewed by Darin Adler. 30463 30464 * CMakeLists.txt: Updated for renames. 30465 * GNUmakefile.list.am: Ditto. 30466 30467 * Shared/Cocoa: Added. 30468 * Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by 30469 a WebKit::ImmutableArray. 30470 * Shared/Cocoa/WKNSArray.mm: Added. 30471 (+[WKNSArray web_arrayWithImmutableArray:]): Added. 30472 (-[WKNSArray web_initWithImmutableArray:]): Added. 30473 (-[WKNSArray count]): Added. 30474 (-[WKNSArray objectAtIndex:]): Added. 30475 (-[WKNSArray copyWithZone:]): Added. 30476 30477 * Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to 30478 vend WebKit API objects as Objective-C objects. 30479 * Shared/Cocoa/WKNSObjectExtras.mm: Added. 30480 (-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects. 30481 (-[WKObject isEqual:]): Check for equality of the underlying object. 30482 (-[WKObject hash]): Return a pointer to the underlying object. 30483 (-[WKObject description]): Added. 30484 (+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object 30485 for the given API object. Currently returns a WKBackForwardListItem for a back/forward list 30486 item and a generic WKObject for all other types. 30487 30488 * UIProcess/API/C/WKBackForwardList.cpp: Renamed. 30489 * UIProcess/API/C/WKBackForwardList.h: Renamed. 30490 * UIProcess/API/C/WKBackForwardListItem.cpp: Renamed. 30491 * UIProcess/API/C/WKBackForwardListItem.h: Renamed. 30492 * UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp. 30493 * UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h. 30494 * UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp. 30495 * UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h. 30496 30497 * UIProcess/API/C/WebKit2_C.h: Updated for header renames. 30498 30499 * UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename. 30500 * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto. 30501 30502 * UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property. 30503 * UIProcess/API/mac/WKBrowsingContextController.mm: 30504 (-[WKBrowsingContextController backForwardList]): Added this accessor. 30505 30506 * UIProcess/Cocoa: Added. 30507 * UIProcess/Cocoa/WKBackForwardList.h: Added. 30508 * UIProcess/Cocoa/WKBackForwardList.mm: Added. 30509 (toWKBackForwardListItem): Added this helper. 30510 (-[WKBackForwardList currentItem]): Added. 30511 (-[WKBackForwardList backItem]): Added. 30512 (-[WKBackForwardList forwardItem]): Added. 30513 (-[WKBackForwardList itemAtIndex:]): Added. 30514 (-[WKBackForwardList backListCount]): Added. 30515 (-[WKBackForwardList forwardListCount]): Added. 30516 (-[WKBackForwardList backListWithLimit:]): Added. 30517 (-[WKBackForwardList forwardListWithLimit:]): Added. 30518 (-[WKBackForwardList _initWithList:]): Added. 30519 * UIProcess/Cocoa/WKBackForwardListInternal.h: Added. 30520 30521 * UIProcess/Cocoa/WKBackForwardListItem.h: Added. 30522 * UIProcess/Cocoa/WKBackForwardListItem.mm: Added. 30523 (-[WKBackForwardListItem URL]): Added. 30524 (-[WKBackForwardListItem title]): Added. 30525 (-[WKBackForwardListItem originalURL]): Added. 30526 (-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object. 30527 (-[WKBackForwardListItem hash]): Return a pointer to the underlying object 30528 (-[WKBackForwardListItem _initWithItem:]): Added. 30529 * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added. 30530 30531 * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions. 30532 305332013-10-21 Tim Horton <timothy_horton@apple.com> 30534 30535 Maybe a Lion build fix after r157731. 30536 30537 * Shared/mac/RemoteLayerTreeTransaction.mm: 30538 (WebKit::RemoteLayerTreeTextStream::operator<<): 30539 305402013-10-21 Tim Horton <timothy_horton@apple.com> 30541 30542 Remote Layer Tree: Clean up transaction logging 30543 https://bugs.webkit.org/show_bug.cgi?id=123116 30544 30545 Reviewed by Anders Carlsson. 30546 30547 * Shared/mac/RemoteLayerTreeTransaction.mm: 30548 (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream): 30549 (WebKit::RemoteLayerTreeTextStream::increaseIndent): 30550 (WebKit::RemoteLayerTreeTextStream::decreaseIndent): 30551 (WebKit::RemoteLayerTreeTextStream::writeIndent): 30552 (WebKit::RemoteLayerTreeTextStream::operator<<): 30553 Add some stream operator overrides for various types we need to dump. 30554 Add a notion of current indent to our TextStream subclass to make it 30555 easy to keep track of where we are. 30556 30557 (WebKit::dumpProperty): 30558 Added, hand any arbitrary type to RemoteLayerTreeTransaction. 30559 30560 (WebKit::dumpChangedLayers): 30561 (WebKit::RemoteLayerTreeTransaction::dump): 30562 Make use of TextStream. 30563 305642013-10-21 Brady Eidson <beidson@apple.com> 30565 30566 Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface 30567 https://bugs.webkit.org/show_bug.cgi?id=123105 30568 30569 Reviewed by Anders Carlsson. 30570 30571 Stub out a new pure virtual method: 30572 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 30573 (WebKit::WebIDBFactoryBackend::createTransactionBackend): 30574 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 30575 305762013-10-21 Tim Horton <timothy_horton@apple.com> 30577 30578 Remote Layer Tree: Backing store should take contentsScale into account 30579 https://bugs.webkit.org/show_bug.cgi?id=123106 30580 30581 Reviewed by Simon Fraser. 30582 30583 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 30584 (PlatformCALayerRemote::ensureBackingStore): 30585 (PlatformCALayerRemote::setNeedsDisplay): 30586 (PlatformCALayerRemote::setContentsScale): 30587 Inform the backing store of the contentsScale, and when it changes. 30588 30589 * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: 30590 (WebKit::RemoteLayerBackingStore::scale): Added. 30591 (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added. 30592 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: 30593 (RemoteLayerBackingStore::RemoteLayerBackingStore): 30594 (RemoteLayerBackingStore::encode): 30595 (RemoteLayerBackingStore::decode): 30596 (RemoteLayerBackingStore::mapToContentCoordinates): 30597 Factor out flipping so we can use it for repaints in multiple places. 30598 30599 (RemoteLayerBackingStore::setNeedsDisplay): 30600 (RemoteLayerBackingStore::display): 30601 Create a buffer scaled up by contentsScale, take the scale into account 30602 when copying clean bits from the front buffer, and apply the scale before 30603 painting into the back buffer. 30604 306052013-10-21 Gergo Balogh <geryxyz@inf.u-szeged.hu> 30606 30607 Remove qt from generate-forwarding-headers.pl 30608 https://bugs.webkit.org/show_bug.cgi?id=123090 30609 30610 Reviewed by Andreas Kling. 30611 30612 * Scripts/generate-forwarding-headers.pl: 30613 306142013-10-21 Zan Dobersek <zdobersek@igalia.com> 30615 30616 [GTK] g-ir-scanner should use the configured C compiler 30617 https://bugs.webkit.org/show_bug.cgi?id=123088 30618 30619 Reviewed by Carlos Garcia Campos. 30620 30621 * GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command 30622 via the CC environment variable. This solves the issue of the scanner running the GCC compiler with 30623 the Clang-specific CFLAGS. 30624 306252013-10-20 Dan Bernstein <mitz@apple.com> 30626 30627 [Cocoa] Loading progress API 30628 https://bugs.webkit.org/show_bug.cgi?id=123069 30629 30630 Reviewed by Sam Weinig. 30631 30632 * UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property. 30633 * UIProcess/API/mac/WKBrowsingContextController.mm: 30634 (-[WKBrowsingContextController estimatedProgress]): Added. 30635 (didStartProgress): Added. Calls new delegate method 30636 -browsingContextControllerDidStartProgress:. 30637 (didChangeProgress): Added. Calls new delegate method 30638 -browsingContextController:estimatedProgressChangedTo:. 30639 (didFinishProgress): Added. Calls new delegate method 30640 -browsingContextControllerDidFinishProgress:. 30641 (setUpPageLoaderClient): Hook up new client functions. 30642 * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods. 30643 306442013-10-20 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 30645 30646 Removing "unused parameter" compiling warnings from WebKit2 and WebCore 30647 https://bugs.webkit.org/show_bug.cgi?id=123075 30648 30649 Reviewed by Andreas Kling. 30650 30651 * NetworkProcess/NetworkProcessPlatformStrategies.cpp: 30652 (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously): 30653 * UIProcess/API/C/WKContext.cpp: 30654 (WKContextGetPluginSiteDataManager): 30655 * UIProcess/API/C/WKPreferences.cpp: 30656 (WKPreferencesSetInspectorUsesWebKitUserInterface): 30657 (WKPreferencesGetInspectorUsesWebKitUserInterface): 30658 * UIProcess/WebProcessProxy.cpp: 30659 (WebKit::WebProcessProxy::getPlugins): 30660 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: 30661 (WKBundlePageSetFullScreenClient): 30662 (WKBundlePageWillEnterFullScreen): 30663 (WKBundlePageDidEnterFullScreen): 30664 (WKBundlePageWillExitFullScreen): 30665 (WKBundlePageDidExitFullScreen): 30666 * WebProcess/MediaCache/WebMediaCacheManager.cpp: 30667 (WebKit::WebMediaCacheManager::clearCacheForHostname): 30668 * WebProcess/OriginData/WebOriginDataManager.cpp: 30669 (WebKit::WebOriginDataManager::getOrigins): 30670 (WebKit::WebOriginDataManager::deleteEntriesForOrigin): 30671 (WebKit::WebOriginDataManager::deleteAllEntries): 30672 (WebKit::WebOriginDataManager::startObservingChanges): 30673 (WebKit::WebOriginDataManager::stopObservingChanges): 30674 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 30675 (WebKit::WebFrameLoaderClient::createPlugin): 30676 (WebKit::WebFrameLoaderClient::recreatePlugin): 30677 * WebProcess/WebPage/EventDispatcher.cpp: 30678 (WebKit::EventDispatcher::wheelEvent): 30679 * WebProcess/WebPage/WebPage.cpp: 30680 (WebKit::WebPage::canPluginHandleResponse): 30681 306822013-10-19 Jer Noble <jer.noble@apple.com> 30683 30684 Unreviewed roll out of r157695; broke Mac builds. 30685 30686 * Configurations/FeatureDefines.xcconfig: 30687 306882013-10-07 Jer Noble <jer.noble@apple.com> 30689 30690 [MSE] [Mac] Enable MediaSource on the Mac 30691 https://bugs.webkit.org/show_bug.cgi?id=122484 30692 30693 Reviewed by Darin Adler. 30694 30695 Enable ENABLE_MEDIA_SOURCE. 30696 30697 * Configurations/FeatureDefines.xcconfig: 30698 306992013-10-19 Dan Bernstein <mitz@apple.com> 30700 30701 Fix the Mac 32-bit build by reverting r157676, r157678, and r157679. 30702 307032013-10-19 Dan Bernstein <mitz@apple.com> 30704 30705 Try to fix the Mac 32-bit build. 30706 30707 * UIProcess/mac/WKFullScreenWindowController.h: 30708 * UIProcess/mac/WKFullScreenWindowController.mm: 30709 307102013-10-19 Dan Bernstein <mitz@apple.com> 30711 30712 Try to fix the Mac 32-bit build. 30713 30714 * UIProcess/API/mac/WKView.h: 30715 * UIProcess/API/mac/WKView.mm: 30716 * UIProcess/API/mac/WKViewInternal.h: 30717 * UIProcess/API/mac/WKViewPrivate.h: 30718 307192013-10-19 Dan Bernstein <mitz@apple.com> 30720 30721 [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime 30722 https://bugs.webkit.org/show_bug.cgi?id=123065 30723 30724 Reviewed by Sam Weinig. 30725 30726 * UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data 30727 ivar and WKBrowsingContextControllerData class declaration. 30728 * UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed 30729 WKBrowsingContextControllerData class and moved _pageRef ivar directly into 30730 WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors 30731 for the loadDelegate property, letting the compiler synthesize them. 30732 (-[WKBrowsingContextController dealloc]): Removed indirection via _data. 30733 (-[WKBrowsingContextController _pageRef]): Ditto. 30734 (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef. 30735 (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto. 30736 (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto. 30737 (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): 30738 Ditto. 30739 (-[WKBrowsingContextController stopLoading]): Ditto. 30740 (-[WKBrowsingContextController reload]): Ditto. 30741 (-[WKBrowsingContextController reloadFromOrigin]): Ditto. 30742 (-[WKBrowsingContextController goForward]): Ditto. 30743 (-[WKBrowsingContextController canGoForward]): Ditto. 30744 (-[WKBrowsingContextController goBack]): Ditto. 30745 (-[WKBrowsingContextController canGoBack]): Ditto. 30746 (-[WKBrowsingContextController activeURL]): Ditto. 30747 (-[WKBrowsingContextController provisionalURL]): Ditto. 30748 (-[WKBrowsingContextController committedURL]): Ditto. 30749 (-[WKBrowsingContextController title]): Ditto. 30750 (-[WKBrowsingContextController textZoom]): Ditto. 30751 (-[WKBrowsingContextController setTextZoom:]): Ditto. 30752 (-[WKBrowsingContextController pageZoom]): Ditto. 30753 (-[WKBrowsingContextController setPageZoom:]): Ditto. 30754 (-[WKBrowsingContextController setPaginationMode:]): Ditto. 30755 (-[WKBrowsingContextController paginationMode]): Ditto. 30756 (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto. 30757 (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto. 30758 (-[WKBrowsingContextController setPageLength:]): Ditto. 30759 (-[WKBrowsingContextController pageLength]): Ditto. 30760 (-[WKBrowsingContextController setGapBetweenPages:]): Ditto. 30761 (-[WKBrowsingContextController gapBetweenPages]): Ditto. 30762 (-[WKBrowsingContextController pageCount]): Ditto. 30763 (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data. 30764 * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard. 30765 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto. 30766 30767 * UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar 30768 and WKBrowsingContextGroupData class declaration. 30769 * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed 30770 WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info 30771 WKBrowsingContextGroup, declaring it in the @implementation. 30772 (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data. 30773 (-[WKBrowsingContextGroup _pageGroupRef]): Ditto. 30774 * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard. 30775 30776 * UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and 30777 WKConnectionData class declaration. 30778 * UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData 30779 class and moved _connectionRef ivar directly into WKConnection, declaring it in the 30780 @implementation. Removed ivar and accessors for the delegate property, letting the compiler 30781 synthesize them. 30782 (-[WKConnection dealloc]): Removed indirection via _data. 30783 (-[WKConnection sendMessageWithName:body:]): Ditto. 30784 (-[WKConnection _initWithConnectionRef:]): Ditto. 30785 * UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard. 30786 30787 * UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward 30788 declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class 30789 declaration. 30790 * UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed 30791 WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring 30792 it in the @implementation. Removed ivar and accessors for the delegate property, letting the 30793 compiler synthesize them. 30794 (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data. 30795 (-[WKProcessGroup dealloc]): Ditto. 30796 (-[WKProcessGroup _contextRef]): Ditto. 30797 * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard. 30798 307992013-10-19 Andreas Kling <akling@apple.com> 30800 30801 Attempt to get Lion building. 30802 30803 * UIProcess/mac/WebColorPickerMac.h: 30804 308052013-10-18 Tim Horton <timothy_horton@apple.com> 30806 30807 Remote Layer Tree: Double-buffering and minimization of repaints 30808 https://bugs.webkit.org/show_bug.cgi?id=123043 30809 30810 Reviewed by Simon Fraser. 30811 30812 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 30813 (PlatformCALayerRemote::ensureBackingStore): 30814 Don't worry about isOpaque with RemoteLayerBackingStore; this is a 30815 optimization that is causing trouble; we can re-add it later. 30816 30817 (PlatformCALayerRemote::setBounds): 30818 Make sure that we will repaint if our bounds change. 30819 30820 * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: 30821 (WebKit::RemoteLayerBackingStore::bitmap): 30822 Keep a front and back buffer; return the front buffer when being asked for the bitmap. 30823 Keep a Region of repaint areas. 30824 30825 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: 30826 (RemoteLayerBackingStore::RemoteLayerBackingStore): 30827 (RemoteLayerBackingStore::encode): 30828 (RemoteLayerBackingStore::decode): 30829 Serialize only the front buffer, since the UI process only needs that. 30830 30831 (RemoteLayerBackingStore::setNeedsDisplay): 30832 Store repaint rects instead of always setting the whole layer to be dirty. 30833 30834 (RemoteLayerBackingStore::display): 30835 Paint into the back buffer (copying valid parts over from the front buffer), 30836 then swap it to the front buffer. Use drawLayerContents so we get repaint counters, etc. 30837 308382013-10-18 Anders Carlsson <andersca@apple.com> 30839 30840 Try to fix the Lion build. 30841 30842 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 30843 308442013-10-18 Anders Carlsson <andersca@apple.com> 30845 30846 Remove spaces between template angle brackets 30847 https://bugs.webkit.org/show_bug.cgi?id=123040 30848 30849 Reviewed by Andreas Kling. 30850 30851 * UIProcess/mac/WebColorPickerMac.h: 30852 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 30853 * WebProcess/WebProcess.cpp: 30854 (WebKit::WebProcess::setProcessSuppressionEnabled): 30855 308562013-10-18 Brady Eidson <beidson@apple.com> 30857 30858 Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB. 30859 https://bugs.webkit.org/show_bug.cgi?id=123039 30860 30861 Reviewed by Anders Carlsson. 30862 30863 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 30864 (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): Stub out this new interface method. 30865 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: 30866 308672013-10-18 Dan Bernstein <mitz@apple.com> 30868 30869 [Cocoa] WKBrowsingController accessors crash instead of returning nil 30870 https://bugs.webkit.org/show_bug.cgi?id=123036 30871 30872 Reviewed by Anders Carlsson. 30873 30874 * UIProcess/API/mac/WKBrowsingContextController.mm: 30875 (autoreleased): Return nil if the object is NULL. 30876 308772013-10-18 Anders Carlsson <andersca@apple.com> 30878 30879 Remove some Windows specific code from WebKit2 30880 https://bugs.webkit.org/show_bug.cgi?id=123034 30881 30882 Reviewed by Beth Dakin. 30883 30884 * Platform/PlatformProcessIdentifier.h: 30885 * Shared/API/c/WKDeclarationSpecifiers.h: 30886 * UIProcess/API/C/WKNativeEvent.h: 30887 * UIProcess/API/C/WKPreferencesPrivate.h: 30888 * config.h: 30889 308902013-10-18 Dan Bernstein <mitz@apple.com> 30891 30892 Removed the __MAC_OS_X_VERSION_MIN_REQUIRED condition from the definition of WK_API_ENABLED. 30893 30894 Rubber-stamped by Anders Carlsson. 30895 30896 * Shared/API/Cocoa/WKFoundation.h: 30897 308982013-10-17 Tim Horton <timothy_horton@apple.com> 30899 30900 Remote Layer Tree: Proxy layer contents to the UI process 30901 http://bugs.webkit.org/show_bug.cgi?id=123003 30902 30903 Reviewed by Anders Carlsson. 30904 30905 Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps 30906 for now, and are fully repainted on any invalidation. Also, contents do not respect 30907 any kind of scale or use of contentsRect/etc. 30908 30909 * Shared/mac/RemoteLayerTreeTransaction.h: 30910 * Shared/mac/RemoteLayerTreeTransaction.mm: 30911 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 30912 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 30913 (WebKit::dumpChangedLayers): 30914 Store/encode/decode/dump the new RemoteLayerBackingStore. 30915 30916 * UIProcess/mac/RemoteLayerTreeHost.mm: 30917 (WebKit::RemoteLayerTreeHost::commit): 30918 Fix a mistake where contentsRect was getting reset when contentsScale changed. 30919 Set the layer contents when the backing store changes. 30920 30921 * WebKit2.xcodeproj/project.pbxproj: 30922 Add RemoteLayerBackingStore. 30923 30924 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 30925 (PlatformCALayerRemote::recursiveBuildTransaction): 30926 Paint while building our transaction, and mark the backing store as changed 30927 if we did any painting. 30928 30929 (PlatformCALayerRemote::ensureBackingStore): 30930 Keep the backing store's properties up-to-date with our layer. 30931 30932 (PlatformCALayerRemote::setNeedsDisplay): 30933 Inform the backing store that it needs to paint. 30934 30935 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 30936 30937 * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added. 30938 * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added. 30939 (RemoteLayerBackingStore::RemoteLayerBackingStore): 30940 (RemoteLayerBackingStore::encode): 30941 (RemoteLayerBackingStore::decode): 30942 Encode/decode our ShareableBitmap (via its handle) and size. 30943 30944 (RemoteLayerBackingStore::setNeedsDisplay): 30945 For now, repaint the world. 30946 30947 (RemoteLayerBackingStore::display): 30948 Create a new bitmap if needed, and paint into it. 30949 309502013-10-17 Dan Bernstein <mitz@apple.com> 30951 30952 Fixed a typo in the definition of WK_API_ENABLED. 30953 30954 * Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100. 30955 309562013-10-17 Dan Bernstein <mitz@apple.com> 30957 30958 Add and deploy WK_API_ENABLED guards 30959 https://bugs.webkit.org/show_bug.cgi?id=123008 30960 30961 Reviewed by Darin Adler. 30962 30963 * Shared/API/Cocoa: Added. 30964 * Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the 30965 Objective-C API should be enabled in the current configuration. 30966 * Shared/mac/ObjCObjectGraphCoders.mm: 30967 (WebKit::typeFromObject): Changed to use WK_API_ENABLED. 30968 (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto. 30969 (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto. 30970 (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto. 30971 (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto. 30972 * UIProcess/API/mac/WKTypeRefWrapper.h: Ditto. 30973 * UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto. 30974 * UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h. 30975 * WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added 30976 WKFoundation.h as a public header. 30977 * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: 30978 * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: 30979 * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: 30980 * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: 30981 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h: 30982 * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: 30983 * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: 30984 * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: 30985 * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: 30986 * WebProcess/InjectedBundle/API/mac/WKDOMRange.h: 30987 * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: 30988 * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: 30989 * WebProcess/InjectedBundle/API/mac/WKDOMText.h: 30990 * WebProcess/InjectedBundle/API/mac/WKDOMText.mm: 30991 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: 30992 * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: 30993 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: 30994 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: 30995 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: 30996 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: 30997 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h: 30998 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h: 30999 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: 31000 * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h: 31001 * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm: 31002 (WebKit::InjectedBundle::load): 31003 310042013-10-17 Csaba Osztrogonác <ossy@webkit.org> 31005 31006 [WK2] Speculative buildfixes for GTK and EFL after r157582. 31007 31008 * CMakeLists.txt: 31009 * GNUmakefile.am: 31010 310112013-10-17 Martin Hock <mhock@apple.com> 31012 31013 Refactor stored website data APIs 31014 https://bugs.webkit.org/show_bug.cgi?id=122781 31015 31016 Reviewed by Brady Eidson. 31017 31018 Add WebOriginDataManager along with corresponding class 31019 WebOriginDataManagerProxy and API WKOriginDataManager. 31020 31021 Currently, the new files are unused. 31022 31023 WKOriginDataManager should subsume the functionality of: 31024 WKApplicationCacheManager, WKCookieManager, WKDatabaseManager, 31025 WKKeyValueStorageManager, WKMediaCacheManager, 31026 WKPluginSiteDataManager, and WKResourceCacheManager. 31027 31028 * CMakeLists.txt: 31029 * DerivedSources.make: 31030 * GNUmakefile.am: 31031 * GNUmakefile.list.am: 31032 * Shared/API/c/WKBase.h: 31033 * Shared/APIObject.h: 31034 * UIProcess/API/C/WKAPICast.h: 31035 * UIProcess/API/C/WKContext.cpp: 31036 (WKContextGetOriginDataManager): 31037 * UIProcess/API/C/WKContext.h: 31038 * UIProcess/API/C/WKOriginDataManager.cpp: Added. 31039 (WKOriginDataManagerGetTypeID): 31040 (WKOriginDataManagerGetOrigins): 31041 (WKOriginDataManagerDeleteEntriesForOrigin): 31042 (WKOriginDataManagerDeleteAllEntries): 31043 (WKOriginDataManagerStartObservingChanges): 31044 (WKOriginDataManagerStopObservingChanges): 31045 (WKOriginDataManagerSetChangeClient): 31046 * UIProcess/API/C/WKOriginDataManager.h: Added. 31047 * UIProcess/WebOriginDataManagerProxy.cpp: Added. 31048 (WebKit::WebOriginDataManagerProxy::supplementName): 31049 (WebKit::WebOriginDataManagerProxy::create): 31050 (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy): 31051 (WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy): 31052 (WebKit::WebOriginDataManagerProxy::contextDestroyed): 31053 (WebKit::WebOriginDataManagerProxy::processDidClose): 31054 (WebKit::WebOriginDataManagerProxy::shouldTerminate): 31055 (WebKit::WebOriginDataManagerProxy::refWebContextSupplement): 31056 (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement): 31057 (WebKit::WebOriginDataManagerProxy::getOrigins): 31058 (WebKit::WebOriginDataManagerProxy::didGetOrigins): 31059 (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin): 31060 (WebKit::WebOriginDataManagerProxy::deleteAllEntries): 31061 (WebKit::WebOriginDataManagerProxy::startObservingChanges): 31062 (WebKit::WebOriginDataManagerProxy::stopObservingChanges): 31063 (WebKit::WebOriginDataManagerProxy::setChangeClient): 31064 (WebKit::WebOriginDataManagerProxy::didChange): 31065 * UIProcess/WebOriginDataManagerProxy.h: Added. 31066 * UIProcess/WebOriginDataManagerProxy.messages.in: Added. 31067 * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Added. 31068 (WebKit::WebOriginDataManagerProxyChangeClient::didChange): 31069 * UIProcess/WebOriginDataManagerProxyChangeClient.h: Added. 31070 * WebKit2.xcodeproj/project.pbxproj: 31071 * WebProcess/OriginData/WebOriginDataManager.cpp: Added. 31072 (WebKit::WebOriginDataManager::supplementName): 31073 (WebKit::WebOriginDataManager::WebOriginDataManager): 31074 (WebKit::WebOriginDataManager::getOrigins): 31075 (WebKit::WebOriginDataManager::deleteEntriesForOrigin): 31076 (WebKit::WebOriginDataManager::deleteAllEntries): 31077 (WebKit::WebOriginDataManager::startObservingChanges): 31078 (WebKit::WebOriginDataManager::stopObservingChanges): 31079 * WebProcess/OriginData/WebOriginDataManager.h: Added. 31080 * WebProcess/OriginData/WebOriginDataManager.messages.in: Added. 31081 310822013-10-17 Brady Eidson <beidson@apple.com> 31083 31084 Blind attempt at gtk-wk2 build fix. 31085 31086 * GNUmakefile.am: 31087 310882013-10-17 Brady Eidson <beidson@apple.com> 31089 31090 Add scaffolding for IDBDatabaseBackends in Web and Database processes 31091 https://bugs.webkit.org/show_bug.cgi?id=122971 31092 31093 Reviewed by Tim Horton. 31094 31095 This patch: 31096 - Adds a WebProcessIDBDatabaseBackend 31097 - Adds a DatabaseProcessIDBDatabaseBackend 31098 - Establishes the basic messaging between them 31099 - Actually creates those backends as the result of an indexedDB.open() call from javascript 31100 31101 * DerivedSources.make: 31102 * WebKit2.xcodeproj/project.pbxproj: 31103 * Platform/Logging.h: 31104 31105 Hook up messaging so (Web/Database)ProcessIDBDatabaseBackends can message each other: 31106 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 31107 (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): 31108 (WebKit::DatabaseToWebProcessConnection::establishIDBDatabaseBackend): 31109 * DatabaseProcess/DatabaseToWebProcessConnection.h: 31110 (WebKit::DatabaseToWebProcessConnection::connection): 31111 * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: Added. 31112 31113 DatabaseProcess side of an IDBDatabaseBackend: 31114 * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp: 31115 (WebKit::DatabaseProcessIDBDatabaseBackend::DatabaseProcessIDBDatabaseBackend): 31116 (WebKit::DatabaseProcessIDBDatabaseBackend::~DatabaseProcessIDBDatabaseBackend): 31117 (WebKit::DatabaseProcessIDBDatabaseBackend::openConnection): 31118 (WebKit::DatabaseProcessIDBDatabaseBackend::messageSenderConnection): 31119 * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: Added. 31120 (WebKit::DatabaseProcessIDBDatabaseBackend::create): 31121 * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in: Added. 31122 31123 WebProcess side of an IDBDatabaseBackend: 31124 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Added. 31125 (WebKit::generateBackendIdentifier): 31126 (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend): 31127 (WebKit::WebProcessIDBDatabaseBackend::~WebProcessIDBDatabaseBackend): 31128 (WebKit::WebProcessIDBDatabaseBackend::openConnection): 31129 (WebKit::WebProcessIDBDatabaseBackend::createObjectStore): 31130 (WebKit::WebProcessIDBDatabaseBackend::deleteObjectStore): 31131 (WebKit::WebProcessIDBDatabaseBackend::createTransaction): 31132 (WebKit::WebProcessIDBDatabaseBackend::close): 31133 (WebKit::WebProcessIDBDatabaseBackend::commit): 31134 (WebKit::WebProcessIDBDatabaseBackend::abort): 31135 (WebKit::WebProcessIDBDatabaseBackend::createIndex): 31136 (WebKit::WebProcessIDBDatabaseBackend::deleteIndex): 31137 (WebKit::WebProcessIDBDatabaseBackend::get): 31138 (WebKit::WebProcessIDBDatabaseBackend::put): 31139 (WebKit::WebProcessIDBDatabaseBackend::setIndexKeys): 31140 (WebKit::WebProcessIDBDatabaseBackend::setIndexesReady): 31141 (WebKit::WebProcessIDBDatabaseBackend::openCursor): 31142 (WebKit::WebProcessIDBDatabaseBackend::count): 31143 (WebKit::WebProcessIDBDatabaseBackend::deleteRange): 31144 (WebKit::WebProcessIDBDatabaseBackend::clear): 31145 (WebKit::WebProcessIDBDatabaseBackend::messageSenderConnection): 31146 (WebKit::WebProcessIDBDatabaseBackend::establishDatabaseProcessBackend): 31147 * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Added. 31148 (WebKit::WebProcessIDBDatabaseBackend::create): 31149 31150 Basic shared utilities that multiple processes will need going forward: 31151 * Shared/Databases/IndexedDB/IDBUtilities.cpp: 31152 (WebKit::uniqueDatabaseIdentifier): 31153 * Shared/Databases/IndexedDB/IDBUtilities.h: 31154 31155 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 31156 (WebKit::sharedDatabaseBackendMap): 31157 (WebKit::WebIDBFactoryBackend::open): Actually establish an IDBDatabaseBackend in the DatabaseProcess 31158 when indexedDB.open() is called, even if it does nothing for now. 31159 31160 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 31161 * WebProcess/Databases/WebToDatabaseProcessConnection.h: 31162 311632013-10-17 Attila Dusnoki <h047679@stud.u-szeged.hu> 31164 31165 [WK2] REGRESSION(r156472): scrolling coordinator is always enabled incorrectly. 31166 https://bugs.webkit.org/show_bug.cgi?id=122958 31167 31168 Reviewed by Tim Horton. 31169 31170 * WebProcess/WebPage/WebPage.cpp: 31171 (WebKit::WebPage::WebPage): Missing ENABLE(THREADED_SCROLLING) guard added. 31172 311732013-10-17 Mark Rowe <mrowe@apple.com> 31174 31175 <rdar://problem/15183901> WebKit2 XPC services load the wrong frameworks when running 31176 from the staged frameworks location. 31177 31178 Build the XPC services with DYLD_VERSIONED_FRAMEWORK_PATH when USE_STAGING_INSTALL_PATH 31179 is set to YES. This is necessary because there's no way to specify environment variables 31180 to be used when an XPC service is launched. 31181 31182 Reviewed by Anders Carlsson. 31183 31184 * Configurations/BaseTarget.xcconfig: Set OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH to contain the 31185 DYLD_VERSIONED_FRAMEWORK_PATH value when USE_STAGING_INSTALL_PATH is YES. 31186 * Configurations/BaseXPCService.xcconfig: Include OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH in the 31187 value of OTHER_LDFLAGS. 31188 * Configurations/PluginService.32.xcconfig: Ditto. 31189 * Configurations/PluginService.64.xcconfig: Ditto. 31190 311912013-10-16 Tim Horton <timothy_horton@apple.com> 31192 31193 Remote Layer Tree: Complete support for simple layer properties 31194 https://bugs.webkit.org/show_bug.cgi?id=122933 31195 31196 Reviewed by Anders Carlsson. 31197 31198 Add remote layer tree support for maskLayer, contentsRect, contentsScale, 31199 minificationFilter, magnificationFilter, speed, and timeOffset. 31200 31201 * Shared/mac/RemoteLayerTreeTransaction.h: 31202 * Shared/mac/RemoteLayerTreeTransaction.mm: 31203 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 31204 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 31205 (WebKit::dumpProperty): 31206 (WebKit::dumpChangedLayers): 31207 Add the new properties. 31208 31209 * UIProcess/mac/RemoteLayerTreeHost.mm: 31210 (WebKit::toCAFilterType): 31211 (WebKit::RemoteLayerTreeHost::commit): 31212 Apply the new properties. 31213 31214 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 31215 (PlatformCALayerRemote::setSublayers): 31216 (PlatformCALayerRemote::appendSublayer): 31217 (PlatformCALayerRemote::insertSublayer): 31218 Ensure that passed-in sublayers are always also PlatformCALayerRemote instances. 31219 These are ASSERT_WITH_SECURITY_IMPLICATION as we will later unconditionally static_cast 31220 them to PlatformCALayerRemote. 31221 31222 (PlatformCALayerRemote::setMask): 31223 (PlatformCALayerRemote::setContentsRect): 31224 (PlatformCALayerRemote::setMinificationFilter): 31225 (PlatformCALayerRemote::setMagnificationFilter): 31226 (PlatformCALayerRemote::setSpeed): 31227 (PlatformCALayerRemote::setTimeOffset): 31228 (PlatformCALayerRemote::contentsScale): 31229 (PlatformCALayerRemote::setContentsScale): 31230 Remove setFrame, store the new properties. 31231 31232 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: 31233 Remove setFrame, add isRemote, fix pointer side on playerLayer. 31234 312352013-10-16 Ryuan Choi <ryuan.choi@samsung.com> 31236 31237 Unreviewed build fix attempt on EFL port after r157520 and r157523 31238 31239 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 31240 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: 31241 Removed ArgumentCoder<TransformationMatrix> which caused redefinition build error 31242 in EFL port. 31243 312442013-10-16 Anders Carlsson <andersca@apple.com> 31245 31246 Remove Qt sandbox process code 31247 https://bugs.webkit.org/show_bug.cgi?id=122920 31248 31249 Reviewed by Geoffrey Garen. 31250 31251 This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox. 31252 31253 * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed. 31254 * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed. 31255 312562013-10-16 Jochen Eisinger <jochen@chromium.org> 31257 31258 A page should exit fullscreen mode if it opens a new popup 31259 https://bugs.webkit.org/show_bug.cgi?id=122865 31260 31261 Reviewed by Jer Noble. 31262 31263 If a fullscreen page opens a popup, the popup would be hidden and 31264 therefore invisible to the user. To avoid this, exit fullscreen mode 31265 before opening a new window. 31266 31267 * WebProcess/WebCoreSupport/WebChromeClient.cpp: 31268 (WebKit::WebChromeClient::createWindow): 31269 312702013-10-16 Brady Eidson <beidson@apple.com> 31271 31272 Blind attempt to fix non-DATABASE_PROCESS builds. 31273 31274 * WebProcess/WebProcess.cpp: 31275 312762013-10-16 Tim Horton <timothy_horton@apple.com> 31277 31278 PlatformCALayer constructor should take layer type as an argument 31279 https://bugs.webkit.org/show_bug.cgi?id=122915 31280 31281 Reviewed by Simon Fraser. 31282 31283 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 31284 (PlatformCALayerRemote::PlatformCALayerRemote): 31285 Use the new LayerType argument. 31286 312872013-10-16 Tim Horton <timothy_horton@apple.com> 31288 31289 Remote Layer Tree: Use a default instead of an environment variable 31290 https://bugs.webkit.org/show_bug.cgi?id=122913 31291 31292 Reviewed by Anders Carlsson. 31293 31294 * UIProcess/API/mac/WKView.mm: 31295 (-[WKView std::WebKit::]): 31296 Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of 31297 the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA' 31298 to indicate that WKViews should make RemoteLayerTreeDrawingAreas. 31299 313002013-10-15 Brady Eidson <beidson@apple.com> 31301 31302 Flesh out the DatabaseProcess (and launch it!) 31303 https://bugs.webkit.org/show_bug.cgi?id=122884 31304 31305 Reviewed by Tim Horton. 31306 31307 This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess. 31308 31309 It still does very little except exist. 31310 31311 Project file stuff: 31312 * WebKit2.xcodeproj/project.pbxproj: 31313 * DerivedSources.make: 31314 31315 WebContext owns the DatabaseProcess (much like the NetworkProcess): 31316 * UIProcess/WebContext.cpp: 31317 (WebKit::WebContext::ensureDatabaseProcess): 31318 (WebKit::WebContext::getDatabaseProcessConnection): 31319 * UIProcess/WebContext.h: 31320 31321 Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess: 31322 * DatabaseProcess/DatabaseProcess.cpp: 31323 (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): 31324 * DatabaseProcess/DatabaseProcess.h: 31325 * DatabaseProcess/DatabaseProcess.messages.in: Added. 31326 31327 Add an object to represent a single connection to a single WebProcess: 31328 * DatabaseProcess/DatabaseToWebProcessConnection.cpp: 31329 (WebKit::DatabaseToWebProcessConnection::create): 31330 (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection): 31331 (WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection): 31332 (WebKit::DatabaseToWebProcessConnection::didReceiveMessage): 31333 (WebKit::DatabaseToWebProcessConnection::didClose): 31334 (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage): 31335 * DatabaseProcess/DatabaseToWebProcessConnection.h: 31336 31337 Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess: 31338 * UIProcess/Databases/DatabaseProcessProxy.cpp: 31339 (WebKit::DatabaseProcessProxy::DatabaseProcessProxy): 31340 (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection): 31341 (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): 31342 (WebKit::DatabaseProcessProxy::didFinishLaunching): 31343 * UIProcess/Databases/DatabaseProcessProxy.h: 31344 * UIProcess/Databases/DatabaseProcessProxy.messages.in: Added. 31345 31346 Add an object to represent a WebProcess’s connection to a DatabaseProcess: 31347 * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: 31348 (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection): 31349 (WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection): 31350 (WebKit::WebToDatabaseProcessConnection::didReceiveMessage): 31351 (WebKit::WebToDatabaseProcessConnection::didClose): 31352 (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage): 31353 * WebProcess/Databases/WebToDatabaseProcessConnection.h: 31354 (WebKit::WebToDatabaseProcessConnection::create): 31355 (WebKit::WebToDatabaseProcessConnection::connection): 31356 31357 Give WebProcess(Proxy) an accessor for a Web -> Database process connection: 31358 * WebProcess/WebProcess.cpp: 31359 (WebKit::WebProcess::webToDatabaseProcessConnectionClosed): 31360 (WebKit::WebProcess::webToDatabaseProcessConnection): 31361 (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): 31362 * WebProcess/WebProcess.h: 31363 * UIProcess/WebProcessProxy.cpp: 31364 (WebKit::WebProcessProxy::getDatabaseProcessConnection): 31365 * UIProcess/WebProcessProxy.h: 31366 * UIProcess/WebProcessProxy.messages.in: 31367 31368 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: 31369 (WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works. 31370 31371 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: 31372 (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working. 31373 313742013-10-16 Tim Horton <timothy_horton@apple.com> 31375 31376 RemoteLayerTree: Add support for more layer properties and transform layers 31377 https://bugs.webkit.org/show_bug.cgi?id=122906 31378 31379 Reviewed by Anders Carlsson. 31380 31381 Add support for name, border width, border color, opacity, transform, sublayer transform, 31382 hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties. 31383 31384 Factor layer creation out from layer changes, so that we can create layers of the correct 31385 type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer. 31386 31387 * Shared/WebCoreArgumentCoders.cpp: 31388 (CoreIPC::::encode): 31389 (CoreIPC::::decode): 31390 * Shared/WebCoreArgumentCoders.h: 31391 Add coders for TransformationMatrix. 31392 31393 * Shared/mac/RemoteLayerTreeTransaction.h: 31394 Add the new LayerChange values. 31395 31396 (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged): 31397 LayerProperties::layerChanges should be a LayerChange. 31398 31399 (WebKit::RemoteLayerTreeTransaction::createdLayers): 31400 Expose the list of newly created layers (for RemoteLayerTreeHost's consumption). 31401 31402 * Shared/mac/RemoteLayerTreeTransaction.mm: 31403 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties): 31404 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode): 31405 (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode): 31406 Add (and support coding) a new LayerCreationProperties struct, which is currently 31407 just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow. 31408 31409 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 31410 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 31411 Encode and decode all of the new layer properties. 31412 Encode changedProperties as an enum, not an unsigned. 31413 31414 (WebKit::RemoteLayerTreeTransaction::encode): 31415 (WebKit::RemoteLayerTreeTransaction::decode): 31416 Encode and decode the list of newly created layers. 31417 31418 (WebKit::RemoteLayerTreeTransaction::setCreatedLayers): 31419 Setter for the list of newly created layers, which comes from the 31420 RemoteLayerTreeContext at commit time. 31421 31422 (WebKit::dumpProperty): 31423 Helper function to dump TransformationMatrix instances. 31424 31425 (WebKit::dumpChangedLayers): 31426 Dump all of the new layer properties. 31427 31428 (WebKit::RemoteLayerTreeTransaction::dump): 31429 Dump the list of newly created layers. 31430 31431 * UIProcess/mac/RemoteLayerTreeHost.h: 31432 * UIProcess/mac/RemoteLayerTreeHost.mm: 31433 (WebKit::cgColorFromColor): 31434 Factor out the code to make a CGColor from a WebCore::Color, as we need it 31435 for both border and background color. 31436 31437 (WebKit::RemoteLayerTreeHost::commit): 31438 Create layers before applying changes, using the new list of newly created layers. 31439 When applying changes, ensure that the layer we're interested in was already created. 31440 Rename "sublayer" to "layer", and use dot notation everywhere. 31441 Apply all the new layer properties to the layers. 31442 31443 (WebKit::RemoteLayerTreeHost::getLayer): 31444 (WebKit::RemoteLayerTreeHost::createLayer): 31445 Separate creating a new layer from retrieving it by ID. 31446 Ensure that a layer doesn't already exist when creating it. 31447 Support creating CATransformLayers. 31448 31449 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: 31450 Disable accelerated animations, as we don't support proxying animations yet. 31451 This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely. 31452 31453 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: 31454 (PlatformCALayerRemote::PlatformCALayerRemote): 31455 Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote. 31456 31457 (PlatformCALayerRemote::removeFromSuperlayer): 31458 (PlatformCALayerRemote::replaceSublayer): 31459 (PlatformCALayerRemote::adoptSublayers): 31460 Assert when we hit a few critical unimplemented methods that would 31461 leave the layer tree in a broken state. 31462 31463 (PlatformCALayerRemote::isOpaque): 31464 (PlatformCALayerRemote::setOpaque): 31465 (PlatformCALayerRemote::transform): 31466 (PlatformCALayerRemote::setTransform): 31467 (PlatformCALayerRemote::sublayerTransform): 31468 (PlatformCALayerRemote::setSublayerTransform): 31469 (PlatformCALayerRemote::setHidden): 31470 (PlatformCALayerRemote::setGeometryFlipped): 31471 (PlatformCALayerRemote::isDoubleSided): 31472 (PlatformCALayerRemote::setDoubleSided): 31473 (PlatformCALayerRemote::masksToBounds): 31474 (PlatformCALayerRemote::setMasksToBounds): 31475 (PlatformCALayerRemote::setBorderWidth): 31476 (PlatformCALayerRemote::setBorderColor): 31477 (PlatformCALayerRemote::opacity): 31478 (PlatformCALayerRemote::setOpacity): 31479 (PlatformCALayerRemote::setName): 31480 Proxy all of these properties via RemoteLayerTreeTransaction. 31481 31482 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 31483 Add storage for the list of newly created layers. 31484 Use LayerID for the list of destroyed layers. 31485 31486 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 31487 (WebKit::RemoteLayerTreeContext::layerWasCreated): 31488 Store the ID and type of the newly created layer to be pushed to the UI process later. 31489 31490 (WebKit::RemoteLayerTreeContext::flushLayers): 31491 Push the created and destroyed layers to the transaction *after* flushing 31492 GraphicsLayers, so that any changes to e.g. structural layers will not be missed. 31493 314942013-10-16 Csaba Osztrogonác <ossy@webkit.org> 31495 31496 [WK2][Efl][CMake] Add support for ENABLE_NETWORK_PROCESS to the build system 31497 https://bugs.webkit.org/show_bug.cgi?id=110139 31498 31499 Reviewed by Laszlo Gombos. 31500 31501 Original patch by Balazs Kelemen <kbalazs@webkit.org> 31502 31503 * CMakeLists.txt: 31504 * PlatformEfl.cmake: 31505 315062013-10-16 Robert Plociennik <r.plociennik@samsung.com> 31507 31508 [EFL] Minibrowser can't load child window's location 31509 https://bugs.webkit.org/show_bug.cgi?id=122485 31510 31511 Reviewed by Gyuyoung Kim. 31512 31513 EwkView::createNewPage(), which is only called during handling of 31514 Messages::WebPageProxy::CreateNewPage message from WebProcess, no longer passes 31515 the URL to window_create(). As a result, no Messages::WebPage::LoadURL message 31516 is sent back, that would load the same URL twice and effectively cancel any 31517 other scheduled navigation inside WebProcess. 31518 31519 Additionally, since the url parameter in MiniBrowser's implementation of 31520 window_create() is only used internally and is prone to bugs as demonstrated 31521 in r139303 (d7f10c8), it has been removed in favour of explicit calls to 31522 ewk_view_url_set(). 31523 31524 * UIProcess/API/efl/EwkView.cpp: 31525 (EwkView::createNewPage): No longer passes the URL to window_create() impl. 31526 * UIProcess/API/efl/ewk_view.h: window_create() no longer has the url parameter. 31527 * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Test methods updated to 31528 comply with the API change. 31529 (EWK2WindowFeaturesTest::createDefaultWindow): Ditto. 31530 (EWK2WindowFeaturesTest::createWindow): Ditto. 31531 315322013-10-15 Jae Hyun Park <jae.park@company100.net> 31533 31534 Unreviewed. Build fix after r157476. 31535 31536 * GNUmakefile.am: 31537 315382013-10-15 Sergio Correia <sergio.correia@openbossa.org> 31539 31540 [EFL][WK2] Make SeccompFilters build again after r156349 and r156353 31541 https://bugs.webkit.org/show_bug.cgi?id=122872 31542 31543 Reviewed by Anders Carlsson. 31544 31545 * Shared/linux/SeccompFilters/SeccompBroker.cpp: 31546 (WebKit::SeccompBrokerClient::dispatch): Fix usage of extinct 'create' 31547 methods of ArgumentEncoder/ArgumentDecoder. 31548 (WebKit::SeccompBroker::runLoop): Ditto. 31549 315502013-10-15 Jinwoo Song <jinwoo7.song@samsung.com> 31551 31552 Removed argument coders for FloatPoint3D in CoodinatedGraphicsArgumentCoders. 31553 https://bugs.webkit.org/show_bug.cgi?id=122875 31554 31555 Reviewed by Gyuyoung Kim. 31556 31557 Argument coders for FloatPoint3D is added in WebCoreArgumentCoders after r157478 31558 and it caused redefinition build error in EFL port. 31559 31560 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp: 31561 * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h: 31562 315632013-10-15 Dean Jackson <dino@apple.com> 31564 31565 Add ENABLE_WEB_ANIMATIONS flag 31566 https://bugs.webkit.org/show_bug.cgi?id=122871 31567 31568 Reviewed by Tim Horton. 31569 31570 Eventually might be http://dev.w3.org/fxtf/web-animations/ 31571 but this is just engine-internal work at the moment. 31572 31573 * Configurations/FeatureDefines.xcconfig: 31574 315752013-10-15 Tim Horton <timothy_horton@apple.com> 31576 31577 Add a PlatformCALayer subclass that proxies its property changes across the process boundary 31578 https://bugs.webkit.org/show_bug.cgi?id=122773 31579 31580 Reviewed by Anders Carlsson. 31581 31582 PlatformCALayerRemote coordinates with RemoteLayerTreeDrawingArea and friends 31583 to enable cross-process proxying of the hierarchy of compositing layers. 31584 31585 In the Web process, we have GraphicsLayerCARemote, which owns 1+ PlatformCALayerRemote(s). 31586 Unlike PlatformCALayer{Mac, Win}, which own PlatformLayers (CALayer/CACFLayer), 31587 PlatformCALayerRemote stores any changes to its properties in a struct, and keeps track of 31588 which properties have changed since the last commit. Commits are scheduled and performed by 31589 RemoteLayerTreeContext, on RemoteLayerTreeDrawingArea's behalf, and result in 31590 RemoteLayerTreeTransaction encoding said property changes and throwing them across 31591 to the UI process, where RemoteLayerTreeHost applies them to a tree of CALayers kept there. 31592 31593 This code can be enabled by running with the WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA 31594 environment variable set. 31595 31596 * Shared/WebCoreArgumentCoders.cpp: 31597 (CoreIPC::decode): 31598 (CoreIPC::encode): 31599 * Shared/WebCoreArgumentCoders.h: 31600 Add argument coders for FloatPoint3D. 31601 31602 * Shared/mac/RemoteLayerTreeTransaction.h: 31603 (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged): 31604 (WebKit::RemoteLayerTreeTransaction::changedLayers): 31605 (WebKit::RemoteLayerTreeTransaction::destroyedLayers): 31606 * Shared/mac/RemoteLayerTreeTransaction.mm: 31607 (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): 31608 (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): 31609 (WebKit::RemoteLayerTreeTransaction::decode): 31610 (WebKit::dumpChangedLayers): 31611 Add support for background color and anchor point in the layer transaction. 31612 Make layer position a 3D point because that's what it really is. 31613 31614 (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged): 31615 The logic in layerPropertiesChanged is moved into PlatformCALayerRemote. 31616 31617 * UIProcess/WebPageProxy.h: 31618 Include PlatformLayer.h; it seems annoying to successfully forward-declare 31619 PlatformLayer because of the difference in definition between Objective-C and C++. 31620 Drive-by un-indent some namespace contents and use OBJC_CLASS. 31621 31622 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: 31623 * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm: 31624 (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): 31625 (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange): 31626 (WebKit::RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry): 31627 (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry): 31628 Send geometry updates to the RemoteLayerTreeDrawingArea. 31629 31630 * UIProcess/mac/RemoteLayerTreeHost.h: 31631 * UIProcess/mac/RemoteLayerTreeHost.mm: 31632 (nullActionsDictionary): 31633 (WebKit::RemoteLayerTreeHost::commit): 31634 Apply layer property changes to the named sublayer. 31635 31636 (WebKit::RemoteLayerTreeHost::getOrCreateLayer): 31637 Create CALayers instead of GraphicsLayers. 31638 Ensure that they won't perform implicit animations. 31639 31640 * UIProcess/mac/WebPageProxyMac.mm: 31641 (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer): 31642 This should take a PlatformLayer instead of a GraphicsLayer, since we don't have 31643 GraphicsLayers in the UIProcess. 31644 31645 * WebKit2.xcodeproj/project.pbxproj: 31646 Add GraphicsLayerCARemote and PlatformCALayerRemote, remove RemoteGraphicsLayer. 31647 31648 * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: Removed. 31649 * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: Removed. 31650 31651 * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: 31652 * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: 31653 (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext): 31654 (WebKit::RemoteLayerTreeContext::setRootLayer): 31655 (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed): 31656 (WebKit::RemoteLayerTreeContext::createGraphicsLayer): 31657 (WebKit::RemoteLayerTreeContext::flushLayers): 31658 Build our transaction while flushing; it has no reason to exist outside of that scope. 31659 31660 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: 31661 * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: 31662 (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): 31663 (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory): 31664 (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer): 31665 (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush): 31666 (WebKit::RemoteLayerTreeDrawingArea::updateGeometry): 31667 Fix a capitalization typo. 31668 Update the WebPage's (and thus WebCore's) size when updateGeometry() is called. 31669 31670 * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: Added. 31671 (WebKit::GraphicsLayerCARemote::~GraphicsLayerCARemote): 31672 (WebKit::GraphicsLayerCARemote::filtersCanBeComposited): 31673 (WebKit::GraphicsLayerCARemote::createPlatformCALayer): 31674 Added. Delegate to PlatformCALayerRemote. Don't allow creation of a 31675 GraphicsLayerCARemote given a PlatformLayer, because with UI process compositing, 31676 there should be no PlatformLayer instances in the Web process. 31677 31678 * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: Added. 31679 * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: Added. 31680 (generateLayerID): 31681 Generate a layer ID for identification across processes. 31682 31683 (PlatformCALayerRemote::~PlatformCALayerRemote): 31684 Inform the RemoteLayerTreeContext that we've been destroyed, so it can convey 31685 that information to the UI process and the corresponding CALayer can be destroyed. 31686 31687 (PlatformCALayerRemote::recursiveBuildTransaction): 31688 Recursively accumulate changes in layer state on a RemoteLayerTreeTransaction. 31689 31690 The rest of this file is mostly an empty implementation of PlatformCALayer. 31691 A few properties are implemented so far; see below. 31692 31693 (PlatformCALayerRemote::setSublayers): 31694 (PlatformCALayerRemote::removeAllSublayers): 31695 (PlatformCALayerRemote::appendSublayer): 31696 (PlatformCALayerRemote::insertSublayer): 31697 Update our list of sublayers, and note that our children have changed. 31698 recursiveBuildTransaction() will walk our sublayers and record their IDs in the transaction. 31699 31700 (PlatformCALayerRemote::bounds): 31701 (PlatformCALayerRemote::setBounds): 31702 (PlatformCALayerRemote::position): 31703 (PlatformCALayerRemote::setPosition): 31704 (PlatformCALayerRemote::anchorPoint): 31705 (PlatformCALayerRemote::setAnchorPoint): 31706 (PlatformCALayerRemote::backgroundColor): 31707 (PlatformCALayerRemote::setBackgroundColor): 31708 Trivial implementations of basic layer properties, storing the new state in 31709 our LayerProperties struct and noting that they changed in the current commit. 31710 Properties with getters will return the last value that was set on the LayerProperties, 31711 so we don't clear the whole struct at the end of the transaction, just the mask of changed properties. 31712 31713 * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Added. 31714 317152013-10-15 Brady Eidson <beidson@apple.com> 31716 31717 Move WebProcess/IndexedDB to WebProcess/Databases/IndexedDB 31718 31719 Rubberstamped by Alexey Proskuryakov. 31720 31721 * CMakeLists.txt: 31722 * GNUmakefile.list.am: 31723 * WebKit2.xcodeproj/project.pbxproj: 31724 31725 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.cpp. 31726 * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.h. 31727 317282013-10-15 Brady Eidson <beidson@apple.com> 31729 31730 Add a skeleton Database process for future usage by Indexed Database. 31731 https://bugs.webkit.org/show_bug.cgi?id=122849 31732 31733 Reviewed by Sam Weinig. 31734 31735 This mostly our typical "Add a new process type" boilerplate. 31736 31737 * Configurations/DatabaseProcess.xcconfig: Added. 31738 * Configurations/DatabaseService.Development.xcconfig: Added. 31739 * Configurations/DatabaseService.xcconfig: Added. 31740 * WebKit2.xcodeproj/project.pbxproj: 31741 * WebKit2Prefix.h: 31742 31743 * DatabaseProcess/DatabaseProcess.cpp: Added. 31744 (WebKit::DatabaseProcess::shared): 31745 (WebKit::DatabaseProcess::DatabaseProcess): 31746 (WebKit::DatabaseProcess::~DatabaseProcess): 31747 (WebKit::DatabaseProcess::initializeConnection): 31748 (WebKit::DatabaseProcess::shouldTerminate): 31749 (WebKit::DatabaseProcess::didReceiveMessage): 31750 (WebKit::DatabaseProcess::didClose): 31751 (WebKit::DatabaseProcess::didReceiveInvalidMessage): 31752 (WebKit::DatabaseProcess::initializeProcess): 31753 (WebKit::DatabaseProcess::initializeProcessName): 31754 (WebKit::DatabaseProcess::initializeSandbox): 31755 * DatabaseProcess/DatabaseProcess.h: Added. 31756 31757 * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added. 31758 (DatabaseProcessMain): 31759 * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added. 31760 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added. 31761 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added. 31762 * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added. 31763 (DatabaseServiceInitializer): 31764 31765 * DatabaseProcess/mac/DatabaseProcessMac.mm: Added. 31766 (WebKit::DatabaseProcess::initializeProcess): 31767 (WebKit::DatabaseProcess::initializeProcessName): 31768 (WebKit::DatabaseProcess::initializeSandbox): 31769 * UIProcess/Databases/DatabaseProcessProxy.cpp: Added. 31770 (WebKit::DatabaseProcessProxy::create): 31771 (WebKit::DatabaseProcessProxy::DatabaseProcessProxy): 31772 (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy): 31773 (WebKit::DatabaseProcessProxy::getLaunchOptions): 31774 (WebKit::DatabaseProcessProxy::connectionWillOpen): 31775 (WebKit::DatabaseProcessProxy::connectionWillClose): 31776 (WebKit::DatabaseProcessProxy::didReceiveMessage): 31777 (WebKit::DatabaseProcessProxy::didClose): 31778 (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage): 31779 (WebKit::DatabaseProcessProxy::didFinishLaunching): 31780 * UIProcess/Databases/DatabaseProcessProxy.h: Added. 31781 * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added. 31782 (WebKit::shouldUseXPC): 31783 (WebKit::DatabaseProcessProxy::platformGetLaunchOptions): 31784 31785 * UIProcess/Launcher/ProcessLauncher.cpp: 31786 (WebKit::ProcessLauncher::processTypeAsString): 31787 (WebKit::ProcessLauncher::getProcessTypeFromString): 31788 * UIProcess/Launcher/ProcessLauncher.h: 31789 * UIProcess/Launcher/mac/ProcessLauncherMac.mm: 31790 (WebKit::serviceName): 31791 (WebKit::createProcess): 31792 317932013-10-14 Csaba Osztrogonác <ossy@webkit.org> 31794 31795 [WK2][Efl][Soup] Make NetworkProcessMainUnix handle proxy settings. 31796 https://bugs.webkit.org/show_bug.cgi?id=118388 31797 31798 Reviewed by Carlos Garcia Campos. 31799 31800 Original patch by Kwang Yul Seo <skyul@company100.net> . 31801 31802 Proxy configuration should honor the no_proxy environment variable 31803 same to WebProcess. It is necessary not to change the current behaviour. 31804 See https://bugs.webkit.org/show_bug.cgi?id=91747 for details. 31805 31806 The following things were fixed by Csaba Osztrogonác: 31807 - moved session variable before #if not to have conflict with https://bugs.webkit.org/show_bug.cgi?id=118343 31808 - added GRefPtr.h include 31809 - fixed ifdef guards 31810 31811 * NetworkProcess/unix/NetworkProcessMainUnix.cpp: 31812 (WebKit::NetworkProcessMain): 31813 Copied from WebProcessMainEfl.cpp. 31814 318152013-10-13 Darin Adler <darin@apple.com> 31816 31817 Deprecate or remove deleteAllValues functions; there are only a few call sites left 31818 https://bugs.webkit.org/show_bug.cgi?id=122738 31819 31820 Reviewed by Anders Carlsson. 31821 31822 * Shared/Plugins/NPRemoteObjectMap.cpp: 31823 (WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to 31824 deprecatedDeleteAllValues. 31825 31826== Rolled over to ChangeLog-2013-10-13 == 31827