ChangeLog-2014-02-20   [plain text]


2014-02-20  Beth Dakin  <bdakin@apple.com>

        WKPage's setBackgroundExtendsBeyondPage API should be exposed through WKView and 
        WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=129120

        Reviewed by Anders Carlsson.

        While we’re in this code, fix up the pageExtendedBackgroundColor to match.
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _pageExtendedBackgroundColor]):
        (-[WKWebView _setBackgroundExtendsBeyondPage:]):
        (-[WKWebView _backgroundExtendsBeyondPage]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView _pageExtendedBackgroundColor]):
        (-[WKView _setBackgroundExtendsBeyondPage:]):
        (-[WKView _backgroundExtendsBeyondPage]):

2014-02-20  Dean Jackson  <dino@apple.com>

        Add an unresolved WebGLPolicy and an API to resolve it
        https://bugs.webkit.org/show_bug.cgi?id=129109

        Reviewed by Anders Carlsson.

        Add a third WebGLLoadPolicy which is "pending" allowing the page
        to go ahead with creating the WebGLRenderingContext and resolve the policy
        at a later time. Add a new API resolveWebGLLoadPolicy to do the resolution.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::webGLLoadPolicy): New return value.
        (API::LoaderClient::resolveWebGLLoadPolicy): New method definition.
        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toWebGLLoadPolicy): Change names of return types.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient): New stubs.
        * UIProcess/API/C/WKPageLoaderClient.h: New policy type kWKWebGLLoadPolicyPending.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::resolveWebGLPolicyForURL): New method.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in: New message.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::webGLPolicyForURL):
        (WebKit::WebFrameLoaderClient::resolveWebGLPolicyForURL):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::webGLPolicyForURL):
        (WebKit::WebPage::resolveWebGLPolicyForURL):
        * WebProcess/WebPage/WebPage.h:

2014-02-20  Anders Carlsson  <andersca@apple.com>

        Make it possible to reply asynchronously to JavaScript panels and alerts
        https://bugs.webkit.org/show_bug.cgi?id=129116

        Reviewed by Dan Bernstein.

        * Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
        * Scripts/webkit2/MessageReceiver-expected.cpp:
        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send):
        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send):
        * Scripts/webkit2/messages.py:
        (generate_message_handler):
        * UIProcess/API/APIUIClient.h:
        (API::UIClient::runJavaScriptAlert):
        (API::UIClient::runJavaScriptConfirm):
        (API::UIClient::runJavaScriptPrompt):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::runJavaScriptAlert):
        (WebKit::WebPageProxy::runJavaScriptConfirm):
        (WebKit::WebPageProxy::runJavaScriptPrompt):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:

2014-02-20  Enrique Ocaña González  <eocanha@igalia.com>

        WebKitGTK+ should stop using COMPILE_ASSERT_MATCHING_ENUM macros
        https://bugs.webkit.org/show_bug.cgi?id=127800

        Reviewed by Martin Robinson.

        * UIProcess/API/gtk/WebKitAuthenticationRequest.cpp: Defined and applied type conversions.
        (webkit_authentication_request_get_scheme):
        * UIProcess/API/gtk/WebKitCookieManager.cpp: Defined and applied type conversions.
        (toWebKitCookieAcceptPolicy):
        (toHTTPCookieAcceptPolicy):
        (webkit_cookie_manager_set_persistent_storage):
        (webkit_cookie_manager_set_accept_policy):
        (webkitCookieManagerGetAcceptPolicyCallback):
        * UIProcess/API/gtk/WebKitCredential.cpp: Defined and applied type conversions.
        (toWebKitCredentialPersistence):
        (toWebCoreCredentialPersistence):
        (webkit_credential_new):
        (webkit_credential_get_persistence):
        * UIProcess/API/gtk/WebKitDownload.cpp: Defined and applied type conversions.
        (webkitDownloadFailed):
        * UIProcess/API/gtk/WebKitError.cpp: Defined and applied type conversions.
        * UIProcess/API/gtk/WebKitFindController.cpp: Defined and applied type conversions.
        (toWebKitFindOptions):
        (webKitFindControllerPerform):
        (webkit_find_controller_search_next):
        (webkit_find_controller_search_previous):
        * UIProcess/API/gtk/WebKitFindController.h: Added new private fields to the enum, needed to match conversions.
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp: Defined and applied type conversions.
        (didReceiveWebViewMessageFromInjectedBundle):
        * UIProcess/API/gtk/WebKitLoaderClient.cpp: Defined and applied type conversions.
        (didFailProvisionalLoadWithErrorForFrame):
        (didFailLoadWithErrorForFrame):
        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Defined and applied type conversions.
        * UIProcess/API/gtk/WebKitPolicyClient.cpp: Defined and applied type conversions.
        (toWebKitNavigationType):
        (decidePolicyForNavigationAction):
        (decidePolicyForNewWindowAction):
        * UIProcess/API/gtk/WebKitPrintOperation.cpp: Defined and applied type conversions.
        (drawPagesForPrintingCompleted):
        * UIProcess/API/gtk/WebKitPrivate.cpp: Defined and applied type conversions.
        (toWebKitError):
        (toWebCoreError):
        * UIProcess/API/gtk/WebKitPrivate.h: Defined and applied type conversions.
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Defined and applied type conversions.
        (webkit_uri_scheme_request_finish_error):
        * UIProcess/API/gtk/WebKitWebContext.cpp: Defined and applied type conversions.
        (toWebKitProcessModel):
        (webkit_web_context_set_process_model):
        (webkit_web_context_get_process_model):
        * UIProcess/API/gtk/WebKitWebView.cpp: Defined and applied type conversions.
        (toSnapshotRegion):
        (webkit_web_view_get_snapshot):
        * UIProcess/API/gtk/WebKitWebViewGroup.cpp: Defined and applied type conversions.
        (toWebCoreUserContentInjectedFrames):
        (webkit_web_view_group_add_user_style_sheet):

2014-02-20  Csaba Osztrogonác  <ossy@webkit.org>

        Get rid of redundant Platform.h includes
        https://bugs.webkit.org/show_bug.cgi?id=128817

        Reviewed by Brent Fulgham.

        * config.h:

2014-02-19  Alexey Proskuryakov  <ap@apple.com>

        Build fix.

        * UIProcess/API/C/WKPage.cpp: (WKPageGetBytecodeProfile): Updated a recently added
        instance of ScriptCallback.

2014-02-18  Alexey Proskuryakov  <ap@apple.com>

        [WK2] IPC callback classes should not be tightly coupled to C API
        https://bugs.webkit.org/show_bug.cgi?id=129030

        Reviewed by Anders Carlsson.

        Changed CallbackBase subclasses to take an std::function (with context captured inside).
        Instead of C API objects, these callback functions take implementation ones.
        There are VoidAPICallback and GenericAPICallback helpers for the common case of C API.

        * Shared/SecurityOriginData.h:
        * UIProcess/API/C/WKApplicationCacheManager.cpp:
        (WKApplicationCacheManagerGetApplicationCacheOrigins):
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetStatistics):
        (WKContextGetStatisticsWithOptions):
        * UIProcess/API/C/WKCookieManager.cpp:
        (WKCookieManagerGetHostnamesWithCookies):
        (WKCookieManagerGetHTTPCookieAcceptPolicy):
        * UIProcess/API/C/WKDatabaseManager.cpp:
        (WKDatabaseManagerGetDatabasesByOrigin):
        (WKDatabaseManagerGetDatabaseOrigins):
        * UIProcess/API/C/WKFrame.cpp:
        (WKFrameGetMainResourceData):
        (WKFrameGetResourceData):
        (WKFrameGetWebArchive):
        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
        (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
        (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
        * UIProcess/API/C/WKMediaCacheManager.cpp:
        (WKMediaCacheManagerGetHostnamesWithMediaCache):
        * UIProcess/API/C/WKOriginDataManager.cpp:
        (WKOriginDataManagerGetOrigins):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageRunJavaScriptInMainFrame):
        (WKPageRenderTreeExternalRepresentation):
        (WKPageGetSourceForFrame):
        (WKPageGetContentsAsString):
        (WKPageGetSelectionAsWebArchiveData):
        (WKPageGetContentsAsMHTMLData):
        (WKPageForceRepaint):
        (WKPageValidateCommand):
        (WKPageComputePagesForPrinting):
        (WKPageDrawPagesToPDF):
        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
        (WKPluginSiteDataManagerGetSitesWithData):
        (WKPluginSiteDataManagerClearSiteData):
        (WKPluginSiteDataManagerClearAllSiteData):
        * UIProcess/API/C/WKResourceCacheManager.cpp:
        (WKResourceCacheManagerGetCacheOrigins):
        * UIProcess/API/gtk/WebKitCookieManager.cpp:
        (webkit_cookie_manager_get_accept_policy):
        (webkit_cookie_manager_get_domains_with_cookies):
        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (drawPagesForPrintingCompleted):
        (webkitPrintOperationPrintPagesForFrame):
        * UIProcess/API/gtk/WebKitWebResource.cpp:
        (resourceDataCallback):
        (webkit_web_resource_get_data):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_can_execute_editing_command):
        (webkitWebViewRunJavaScriptCallback):
        (webkit_web_view_run_javascript):
        (resourcesStreamReadCallback):
        (getContentsAsMHTMLDataCallback):
        (webkit_web_view_save):
        (webkit_web_view_save_to_file):
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView _define:]):
        (selectionChangedWithGesture):
        (selectionChangedWithTouch):
        (-[WKInteractionView changeSelectionWithGestureAt:withGesture:withState:]):
        (-[WKInteractionView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
        (-[WKInteractionView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
        (-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
        (-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
        (-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
        * UIProcess/API/mac/WKPrintingView.mm:
        (pageDidDrawToImage):
        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
        (pageDidComputePageRects):
        (-[WKPrintingView _askPageToComputePageRects]):
        (-[WKPrintingView _drawPreview:]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView validateUserInterfaceItem:]):
        (-[WKView startSpeaking:]):
        * UIProcess/AutoCorrectionCallback.h:
        (WebKit::AutocorrectionDataCallback::create):
        (WebKit::AutocorrectionDataCallback::performCallbackWithReturnValue):
        (WebKit::AutocorrectionDataCallback::invalidate):
        (WebKit::AutocorrectionDataCallback::AutocorrectionDataCallback):
        (WebKit::AutocorrectionContextCallback::create):
        (WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
        (WebKit::AutocorrectionContextCallback::invalidate):
        (WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):
        * UIProcess/GenericCallback.h:
        (WebKit::CallbackBase::CallbackBase):
        (WebKit::CallbackBase::generateCallbackID):
        (WebKit::VoidCallback::create):
        (WebKit::VoidCallback::performCallback):
        (WebKit::VoidCallback::invalidate):
        (WebKit::VoidCallback::VoidCallback):
        (WebKit::VoidAPICallback::create):
        (WebKit::GenericCallback::create):
        (WebKit::GenericCallback::performCallbackWithReturnValue):
        (WebKit::GenericCallback::invalidate):
        (WebKit::GenericCallback::GenericCallback):
        (WebKit::GenericAPICallback::create):
        (WebKit::ComputedPagesCallback::create):
        (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
        (WebKit::ComputedPagesCallback::invalidate):
        (WebKit::ComputedPagesCallback::ComputedPagesCallback):
        (WebKit::ImageCallback::create):
        (WebKit::ImageCallback::performCallbackWithReturnValue):
        (WebKit::ImageCallback::invalidate):
        (WebKit::ImageCallback::ImageCallback):
        * UIProcess/Plugins/WebPluginSiteDataManager.h:
        * UIProcess/StatisticsRequest.h:
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebContext.h:
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebKeyValueStorageManager.h:
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageProxy.h:
        (WebKit::ValidateCommandCallback::create):
        (WebKit::ValidateCommandCallback::performCallbackWithReturnValue):
        (WebKit::ValidateCommandCallback::invalidate):
        (WebKit::ValidateCommandCallback::ValidateCommandCallback):
        (WebKit::GestureCallback::create):
        (WebKit::GestureCallback::performCallbackWithReturnValue):
        (WebKit::GestureCallback::invalidate):
        (WebKit::GestureCallback::GestureCallback):
        (WebKit::TouchesCallback::create):
        (WebKit::TouchesCallback::performCallbackWithReturnValue):
        (WebKit::TouchesCallback::invalidate):
        (WebKit::TouchesCallback::TouchesCallback):
        * UIProcess/WebResourceCacheManagerProxy.h:
        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

2014-02-19  Simon Fraser  <simon.fraser@apple.com>

        Avoid sending redundant layer properties to the UI process, and avoid allocation of RemoteLayerBackingStore unless we need it
        https://bugs.webkit.org/show_bug.cgi?id=129076

        Reviewed by Tim Horton.
        
        Normally we rely on GraphicsLayerCA to avoid redundant property
        setting on PlatformCALayers, but for contents layers GraphicsLayerCA
        sets properties on every update.
        
        Make PlatformCALayerRemote more efficient in this case by not
        setting dirty flags for unchanged property sets.
        
        Also avoid creation of RemoteLayerBackingStore unless we
        actually need one.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::ensureBackingStore):
        (PlatformCALayerRemote::updateBackingStore):
        (PlatformCALayerRemote::setBounds):
        (PlatformCALayerRemote::setPosition):
        (PlatformCALayerRemote::setAnchorPoint):
        (PlatformCALayerRemote::setMasksToBounds):
        (PlatformCALayerRemote::setAcceleratesDrawing):
        (PlatformCALayerRemote::setBorderWidth):
        (PlatformCALayerRemote::setBorderColor):
        (PlatformCALayerRemote::setContentsScale):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

2014-02-19  Simon Fraser  <simon.fraser@apple.com>

        [UI-Side Compositing] 6% of main thread time spent copying LayerProperties when adding to hash table
        https://bugs.webkit.org/show_bug.cgi?id=129074

        Reviewed by Tim Horton.
        
        Make RemoteLayerTreeTransaction::LayerProperties smaller and not copied by
        value everywhere.
        
        Put some big members into unique_ptrs, and store unique_ptrs
        in the hash of layerID to properties.
        
        Clean up member variable order of LayerProperties to improve packing.
        
        Also have applyPropertiesToLayer() take references to things to avoid
        copies.
        
        * Shared/mac/RemoteLayerTreePropertyApplier.h:
        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::changedLayers):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
        (WebKit::dumpChangedLayers):
        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::updateLayerTree):
        (WebKit::RemoteLayerTreeHost::createLayer):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::create):
        (PlatformCALayerRemote::PlatformCALayerRemote):
        (PlatformCALayerRemote::clone):
        (PlatformCALayerRemote::recursiveBuildTransaction):
        (PlatformCALayerRemote::ensureBackingStore):
        (PlatformCALayerRemote::setNeedsDisplay):
        (PlatformCALayerRemote::transform):
        (PlatformCALayerRemote::setTransform):
        (PlatformCALayerRemote::sublayerTransform):
        (PlatformCALayerRemote::setSublayerTransform):
        (PlatformCALayerRemote::setFilters):
        (PlatformCALayerRemote::enumerateRectsBeingDrawn):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

2014-02-19  Benjamin Poulain  <bpoulain@apple.com>

        Remove -[WKContentView setViewportSize:]
        https://bugs.webkit.org/show_bug.cgi?id=129071

        Reviewed by Enrica Casucci.

        I forgot to clean that up.

        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:

2014-02-19  Oliver Hunt  <oliver@apple.com>

        Add WK2 SPI to get bytecode profile from web process
        https://bugs.webkit.org/show_bug.cgi?id=129069

        Reviewed by Anders Carlsson.

        Simple patch to allow asynchronous fetching of the
        bytecode profiler output from the WebProcess.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageGetBytecodeProfile):
        * UIProcess/API/C/WKPagePrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::getBytecodeProfile):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::getBytecodeProfile):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2014-02-19  Beth Dakin  <bdakin@apple.com>

        Build fix.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView pageExtendedBackgroundColor]):

2014-02-19  Beth Dakin  <bdakin@apple.com>

        UIProcess needs to know the color of the page's extended background
        https://bugs.webkit.org/show_bug.cgi?id=129004

        Reviewed by Simon Fraser and Brent Fulgham.

        New method on WKWebView and WKView will return the page’s extended background 
        color.
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView pageExtendedBackgroundColor]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView pageExtendedBackgroundColor]):

        The color is stored in the WebPageProxy, and the ChromeClient sends a message to 
        the WebPageProxy with the new color whenever it changes.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::pageExtendedBackgroundColor):
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2014-02-19  Tim Horton  <timothy_horton@apple.com>

        [wk2] REGRESSION (r162710): Open tab urls not restored after switching to new Safari build
        https://bugs.webkit.org/show_bug.cgi?id=128536
        <rdar://problem/15911839>

        Reviewed by Dan Bernstein.

        * UIProcess/cf/WebBackForwardListCF.cpp:
        (WebKit::extractBackForwardListEntriesFromArray):
        Don't fail to extract an entry if it doesn't have a snapshot UUID.

        * UIProcess/cf/WebPageProxyCF.cpp:
        It turns out that this was the wrong version to bump, and we don't support
        reading different versions of the session state data.

2014-02-19  Brady Eidson  <beidson@apple.com>

        Add FeatureDefines for image controls
        https://bugs.webkit.org/show_bug.cgi?id=129022

        Reviewed by Jer Noble.

        * Configurations/FeatureDefines.xcconfig:

2014-02-19  Brady Eidson  <beidson@apple.com>

        Add settings/preferences for enabling image controls
        https://bugs.webkit.org/show_bug.cgi?id=129027

        Reviewed by Jer Noble.

        * Shared/WebPreferencesStore.h:

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-19  Dan Bernstein  <mitz@apple.com>

        Simplify PLATFORM(MAC) && !PLATFORM(IOS) and similar expressions
        https://bugs.webkit.org/show_bug.cgi?id=129029

        Reviewed by Mark Rowe.

        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::netscapePluginModule):
        * Shared/API/c/WKDeprecatedFunctions.cpp:
        * Shared/WebPreferencesStore.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/PageClient.h:
        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        * UIProcess/Scrolling/RemoteScrollingTree.h:
        * UIProcess/WebContext.h:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didChangeBackForwardList):
        (WebKit::WebPageProxy::pageDidScroll):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        (WebKit::WebPageProxy::creationParameters):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitializeWebProcess):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageSetTopOverhangImage):
        (WKBundlePageSetBottomOverhangImage):
        * WebProcess/WebPage/PageBanner.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setDeviceScaleFactor):
        (WebKit::WebPage::mainFrameDidLayout):
        (WebKit::WebPage::beginPrinting):
        (WebKit::WebPage::drawRectToImage):
        (WebKit::WebPage::drawPagesToPDF):
        * WebProcess/WebPage/WebPage.messages.in:
        * config.h:

2014-02-18  Dan Bernstein  <mitz@apple.com>

        PLATFORM(MAC) is true when building for iOS
        https://bugs.webkit.org/show_bug.cgi?id=129025

        Reviewed by Mark Rowe.

        * Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to
        PLATFORM(COCOA) now that the former does not include iOS.
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
        * WebKit2Prefix.h: Ditto.

2014-02-18  Simon Fraser  <simon.fraser@apple.com>

        Clean up WKContentView initialization
        https://bugs.webkit.org/show_bug.cgi?id=129016

        Reviewed by Benjamin Poulain.
        
        WKContentView had too many initializers and duplicated init
        code. Clean up by removing all but one initializer and and
        doing all the setup in it.

        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        Another 32-bit build fix.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _acceleratedCompositingModeRootLayer]):

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        More more WK_API_ENABLED after r164337.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::activeView):

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        Can't use #if inside a macro, so we'll duplicate the macro for now.

        Build fix for all of Mac.

        * UIProcess/API/mac/WKView.mm:

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        Don't build WKThumbnailView on iOS; it won't build.

        * Configurations/WebKit2.xcconfig:

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        More WK_API_ENABLED after r164337.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView dealloc]):
        (-[WKView scrollWheel:]):
        (-[WKView mouseMoved:]):
        (-[WKView mouseDown:]):
        (-[WKView mouseUp:]):
        (-[WKView mouseDragged:]):
        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
        * UIProcess/API/mac/WKViewInternal.h:

2014-02-18  Simon Fraser  <simon.fraser@apple.com>

        Remove UIWKRemoteView
        https://bugs.webkit.org/show_bug.cgi?id=129015

        Reviewed by Dan Bernstein.
        
        Remove UIWKRemoteView which is unused.

        * Configurations/WebKit2.xcconfig:
        * UIProcess/API/ios/UIWKRemoteView.h: Removed.
        * UIProcess/API/ios/UIWKRemoteView.mm: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        32-bit build fix after r164337

        * UIProcess/API/Cocoa/WKThumbnailView.mm:
        Address a review comment. We'll get this for free.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::activeView):
        Build fix.

2014-02-18  Tim Horton  <timothy_horton@apple.com>

        Add a way to efficiently thumbnail WKViews
        https://bugs.webkit.org/show_bug.cgi?id=128831
        <rdar://problem/15669655>

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKThumbnailView.h: Added.
        * UIProcess/API/Cocoa/WKThumbnailView.mm: Added.
        (-[WKThumbnailView initWithFrame:fromWKView:]):
        (-[WKThumbnailView _viewWasUnparented]):
        (-[WKThumbnailView _viewWasParented]):
        (-[WKThumbnailView viewDidMoveToWindow]):
        (-[WKThumbnailView setScale:]):
        (-[WKThumbnailView setThumbnailLayer:]):
        (-[WKThumbnailView thumbnailLayer]):
        * UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added.
        Add WKThumbnailView.
        Clients of this private API will call initWithFrame:fromWKView:,
        giving the WKView they wish to borrow contents from.
        They can also call setScale: to set the scale that will be used to render
        the content in an implementation-defined set of cases (currently, we will
        use the low resolution scale for WKViews which were not parented when the
        WKThumbnailView was created; parented WKViews will use the existing scale).

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewWindowActive):
        (WebKit::PageClientImpl::isViewVisible):
        (WebKit::PageClientImpl::isViewVisibleOrOccluded):
        (WebKit::PageClientImpl::isViewInWindow):
        (WebKit::PageClientImpl::viewLayerHostingMode):
        If the WKView has an actively-parented WKThumbnailView attached to it,
        we should determine view visibility/etc. using that view instead of the WKView.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView dealloc]):
        WKThumbnailView holds on to the WKView, and clears WKView's backpointer
        when it leaves the window, so we should never see WKView get deallocated
        with a live thumbnail view.

        (-[WKView scrollWheel:]):
        (-[WKView mouseMoved:]):
        (-[WKView mouseDown:]):
        (-[WKView mouseUp:]):
        (-[WKView mouseDragged:]):
        Don't handle events while thumbnailed.

        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
        Forward root layer changes to the installed thumbnail view.

        (-[WKView _acceleratedCompositingModeRootLayer]):
        _acceleratedCompositingModeRootLayer should return the same layer
        that was set via _setAcceleratedCompositingModeRootLayer:, not its parent.

        (-[WKView _setThumbnailView:]):
        (-[WKView _thumbnailView]):
        Install/uninstall a WKThumbnailView. Hand it our root layer if installing,
        or recover it from the departing thumbnail view if uninstalling.

        * UIProcess/API/mac/WKViewInternal.h:
        Add in a missing RetainPtr.h include that I missed earlier and causes trouble.
        Add WKView _thumbnailView and _setThumbnailView:.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setThumbnailScale):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::mayStartMediaWhenInWindow):

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::handleSwipeGesture):
        Swipe was accidentally depending on a mistake in WKView's
        _acceleratedCompositingModeRootLayer where it was returning the wrong layer.
        The actual root layer doesn't have a size, so we should use the drawing
        area's size instead.

        * WebKit2.xcodeproj/project.pbxproj:
        Add some new files.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didCommitLoad):
        If we reset the page scale because a load was committed, we should
        reset the stored thumbnail-scale-less page scale so that we don't restore
        the wrong scale when leaving thumbnailing.

        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setThumbnailScale):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        Apply the thumbnail scale to the page. If we're currently not in
        thumbnail scaling mode, save the current page scale and scroll position
        so we can restore them once we leave thumbnail mode again.
        Transform the DrawingArea so that the page appears at the same
        position and size, but scaled.

        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::setTransform):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::setTransform):
        Add a DrawingArea method to apply an arbitrary transform to the drawing area.

        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
        (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
        Remove the word "compositing" in a bunch of places where it isn't needed.
        Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store
        the root compositing layer actually passed in via setRootCompositingLayer.
        Rename m_pendingRootCompositingLayer to m_pendingRootLayer.

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add SPI for enabling/disabling private browsing
        https://bugs.webkit.org/show_bug.cgi?id=129012

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _privateBrowsingEnabled]):
        (-[WKWebView _setPrivateBrowsingEnabled:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add more SPI methods to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=129011

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _webProcessIdentifier]):
        (-[WKWebView _sessionState]):
        (releaseNSData):
        (-[WKWebView _restoreFromSessionState:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add more new SPI methods
        https://bugs.webkit.org/show_bug.cgi?id=129009

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _certificateChain]):
        (-[WKWebView _committedURL]):
        (-[WKWebView _applicationNameForUserAgent]):
        (-[WKWebView _setApplicationNameForUserAgent:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Make reload SPI for now
        https://bugs.webkit.org/show_bug.cgi?id=129007

        Reviewed by Simon Fraser.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _reload]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView reload]
        https://bugs.webkit.org/show_bug.cgi?id=129005

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView reload]):

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add SPI for allowing HTTPS certificates
        https://bugs.webkit.org/show_bug.cgi?id=129002

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKProcessClass.mm:
        (-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]):
        * UIProcess/API/Cocoa/WKProcessClassInternal.h:
        * UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add SPI for getting the original URL from a WKNavigationAction
        https://bugs.webkit.org/show_bug.cgi?id=128997

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
        * UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Add more WKWebView SPI
        https://bugs.webkit.org/show_bug.cgi?id=128994

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _unreachableURL]):
        (-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-18  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
        (-[WKProcessClassConfiguration description]):

2014-02-18  Sam Weinig  <sam@webkit.org>

        Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions.

        * Shared/WebPreferencesStore.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-18  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Implement -description in some API objects
        https://bugs.webkit.org/show_bug.cgi?id=128956

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        Changed category name to have the framework’s prefix.
        (-[WKRemoteObjectInterface description]): Added.
        * UIProcess/API/Cocoa/WKFrameInfo.mm:
        (-[WKFrameInfo description]): Added.
        * UIProcess/API/Cocoa/WKNavigationAction.mm:
        (-[WKNavigationAction description]): Added.
        * UIProcess/API/Cocoa/WKNavigationResponse.mm:
        (-[WKNavigationResponse description]): Added.
        * UIProcess/API/Cocoa/WKProcessClass.mm:
        (-[WKProcessClass description]): Added.
        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
        (-[WKProcessClassConfiguration description]): Added.
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration description]): Added.

2014-02-17  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed gtk build fix.

        * GNUmakefile.list.am: Remove WebHistoryClient.cpp/h after r164230.

2014-02-17  Ricky Mondello  <rmondello@apple.com>

        Expose a way to clear cookies modified after a given date
        https://bugs.webkit.org/show_bug.cgi?id=128845

        Reviewed by Alexey Proskuryakov.

        * UIProcess/API/C/WKCookieManager.cpp:
        (WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.
        * UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the
            Network Process.
        * UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
        * WebProcess/Cookies/WebCookieManager.cpp:
        (WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.
        * WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
        * WebProcess/Cookies/WebCookieManager.messages.in: Add new message.

2014-02-17  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
        https://bugs.webkit.org/show_bug.cgi?id=119120

        Reviewed by Gyuyoung Kim.

        WKColorPickerResultListener and related files are only used in EFL since added.
        Indeed, it does not work since refactored common logic for ColorPicker in WebPageProxy.

        This patch moved them to EFL specfic and refactor to work well.

        * CMakeLists.txt: Moved WebColorPickerResultListenerProxy.cpp to PlatformEfl.cmake.
        * GNUmakefile.list.am: Removed ColorPickerResultListener related files which are only for Efl from source list.
        * PlatformEfl.cmake: Added ColorPickerResultListenerProxy related files and newly added files into source list.
        * UIProcess/API/APIUIClient.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp.
        (WKColorPickerResultListenerGetTypeID):
        (WKColorPickerResultListenerSetColor):
        * UIProcess/API/C/efl/WKColorPickerResultListener.h: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.h.
        * UIProcess/API/C/efl/WKViewEfl.cpp: Introduced WKColorPickerClient and setter.
        (WKViewSetColorPickerClient):
        * UIProcess/API/C/efl/WKViewEfl.h:
        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Enabled test case for color picker.
        (TEST_F):
        * UIProcess/WebPageProxy.cpp: Removed unnecessary WebColorPickerResultListenerProxy dependency.
        * UIProcess/WebPageProxy.h: Ditto.
        * UIProcess/efl/PageUIClientEfl.cpp: Removed color picker callbacks of PageUIClient.
        (WebKit::PageUIClientEfl::PageUIClientEfl):
        * UIProcess/efl/PageUIClientEfl.h:
        * UIProcess/efl/ViewClientEfl.cpp: Registered callbacks of WKColorPickerClient.
        (WebKit::ViewClientEfl::showColorPicker):
        (WebKit::ViewClientEfl::endColorPicker):
        (WebKit::ViewClientEfl::ViewClientEfl):
        (WebKit::ViewClientEfl::~ViewClientEfl):
        * UIProcess/efl/ViewClientEfl.h:
        * UIProcess/efl/WebColorPickerClient.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
        (WebKit::WebColorPickerClient::showColorPicker):
        (WebKit::WebColorPickerClient::endPicker):
        * UIProcess/efl/WebColorPickerClient.h: Added.
        * UIProcess/efl/WebColorPickerEfl.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
        (WebKit::WebColorPickerEfl::WebColorPickerEfl):
        (WebKit::WebColorPickerEfl::endPicker):
        (WebKit::WebColorPickerEfl::showColorPicker):
        (WebKit::WebColorPickerEfl::setSelectedColor):
        (WebKit::WebColorPickerEfl::didChooseColor):
        * UIProcess/efl/WebColorPickerEfl.h: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.
        (WebKit::WebColorPickerEfl::create):
        (WebKit::WebColorPickerEfl::~WebColorPickerEfl):
        * UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.cpp.
        (WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
        (WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
        (WebKit::WebColorPickerResultListenerProxy::invalidate):
        (WebKit::WebColorPickerResultListenerProxy::setColor):
        * UIProcess/efl/WebColorPickerResultListenerProxy.h: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h.
        (WebKit::WebColorPickerResultListenerProxy::create):
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebViewEfl::initializeColorPickerClient):
        (WebKit::WebViewEfl::createColorPicker):
        * UIProcess/efl/WebViewEfl.h:
        (WebKit::WebViewEfl::colorPickerClient):
        * WebKit2.xcodeproj/project.pbxproj: Removed ColorPickerResultListener related files which are only for Efl from source list.

2014-02-17  Sam Weinig  <sam@webkit.org>

        [iOS, WebKit2] Add settings and correct default values for settings important on iOS
        https://bugs.webkit.org/show_bug.cgi?id=128947

        Reviewed by Simon Fraser.

        * Shared/WebPreferencesStore.cpp:
        * Shared/WebPreferencesStore.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [CoordinatedGraphics][EFL] Remove view_source functions.
        https://bugs.webkit.org/show_bug.cgi?id=128945

        Reviewed by Anders Carlsson.

        EFL port has been broken since r164254 because of removing view source files in WK2.
        This patch is to follow to remove remained view source functions.

        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
        * UIProcess/API/efl/ewk_view.cpp:
        * UIProcess/API/efl/ewk_view.h:
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        * UIProcess/CoordinatedGraphics/WebView.h:

2014-02-17  Tim Horton  <timothy_horton@apple.com>

        [iOS][wk2] Custom layers are sometimes put on-screen without being parented
        https://bugs.webkit.org/show_bug.cgi?id=128935
        <rdar://problem/16022336>

        Reviewed by Sam Weinig.

        * Platform/mac/LayerHostingContext.mm:
        (WebKit::LayerHostingContext::createForExternalHostingProcess):
        Give an explicit and unlikely display ID, so that the layer will never
        be brought on-screen unless explicitly parented.

2014-02-17  Anders Carlsson  <andersca@apple.com>

        Add history delegate to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128930

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
        * UIProcess/API/Cocoa/WKProcessClass.mm:
        (-[WKProcessClass initWithConfiguration:]):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _historyDelegate]):
        (-[WKWebView _setHistoryDelegate:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
        * UIProcess/Cocoa/HistoryClient.mm: Added.
        (WebKit::HistoryClient::HistoryClient):
        (WebKit::HistoryClient::~HistoryClient):
        (WebKit::HistoryClient::didNavigateWithNavigationData):
        (WebKit::HistoryClient::didPerformClientRedirect):
        (WebKit::HistoryClient::didPerformServerRedirect):
        (WebKit::HistoryClient::didUpdateHistoryTitle):
        (WebKit::HistoryClient::populateVisitedLinks):
        (WebKit::HistoryClient::shouldTrackVisitedLinks):
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::navigationStates):
        (WebKit::NavigationState::NavigationState):
        (WebKit::NavigationState::~NavigationState):
        (WebKit::NavigationState::fromWebPage):
        (WebKit::NavigationState::historyDelegate):
        (WebKit::NavigationState::setHistoryDelegate):
        (WebKit::NavigationState::didNavigateWithNavigationData):
        (WebKit::NavigationState::didPerformClientRedirect):
        (WebKit::NavigationState::didPerformServerRedirect):
        (WebKit::NavigationState::didUpdateHistoryTitle):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-17  Sam Weinig  <sam@webkit.org>

        [WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
        https://bugs.webkit.org/show_bug.cgi?id=128939

        Reviewed by Dan Bernstein.

        * WebKit2.xcodeproj/project.pbxproj:
        Add/remove files/groups.

        * WebProcess/WebProcess.h:
        Change stopRunLoop() to be AppKit only.

        * WebProcess/cocoa: Added.
        * WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.
        (WebKit::WebProcess::platformInitializeWebProcess):
        (WebKit::WebProcess::initializeProcessName):
        (WebKit::WebProcess::platformInitializeProcess):
        (WebKit::WebProcess::initializeSandbox):
        (WebKit::WebProcess::updateActivePages):
        * WebProcess/ios/WebProcessIOS.mm: Removed.
        * WebProcess/mac/WebProcessMac.mm: Removed.
        Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.

2014-02-17  Anders Carlsson  <andersca@apple.com>

        Stop using isMainThread() in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=128940
        <rdar://problem/15963666>

        Reviewed by Enrica Casucci.

        Since isMainThread() has a different meaning when the web thread is enabled on iOS,
        just use RunLoop::isMain() to check if we're executing on the main thread.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::ensurePathExists):
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown):
        (WebKit::UniqueIDBDatabase::shutdownBackingStore):
        (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
        (WebKit::UniqueIDBDatabase::deleteDatabase):
        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
        (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
        (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
        (WebKit::UniqueIDBDatabase::postTransactionOperation):
        (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
        (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
        (WebKit::UniqueIDBDatabase::createObjectStore):
        (WebKit::UniqueIDBDatabase::deleteObjectStore):
        (WebKit::UniqueIDBDatabase::clearObjectStore):
        (WebKit::UniqueIDBDatabase::createIndex):
        (WebKit::UniqueIDBDatabase::deleteIndex):
        (WebKit::UniqueIDBDatabase::putRecord):
        (WebKit::UniqueIDBDatabase::getRecord):
        (WebKit::UniqueIDBDatabase::openCursor):
        (WebKit::UniqueIDBDatabase::cursorAdvance):
        (WebKit::UniqueIDBDatabase::cursorIterate):
        (WebKit::UniqueIDBDatabase::count):
        (WebKit::UniqueIDBDatabase::deleteRange):
        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
        (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
        (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
        (WebKit::UniqueIDBDatabase::postMainThreadTask):
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask):
        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::generateDatabaseId):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::shared):
        * NetworkProcess/HostRecord.cpp:
        (WebKit::HostRecord::scheduleResourceLoader):
        (WebKit::HostRecord::addLoaderInProgress):
        (WebKit::HostRecord::removeLoader):
        * NetworkProcess/NetworkResourceLoadScheduler.cpp:
        (WebKit::NetworkResourceLoadScheduler::removeLoader):
        (WebKit::NetworkResourceLoadScheduler::receivedRedirect):
        (WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::start):
        (WebKit::NetworkResourceLoader::cleanup):
        (WebKit::NetworkResourceLoader::abort):
        (WebKit::NetworkResourceLoader::willSendRequestAsync):
        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
        * NetworkProcess/NetworkResourceLoader.h:
        (WebKit::NetworkResourceLoader::setHostRecord):
        (WebKit::NetworkResourceLoader::hostRecord):
        * NetworkProcess/mac/DiskCacheMonitor.mm:
        (WebKit::DiskCacheMonitor::DiskCacheMonitor):
        * Shared/AsyncRequest.cpp:
        (WebKit::generateRequestID):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::generateAuthenticationChallengeID):
        (WebKit::AuthenticationManager::establishIdentifierForChallenge):
        (WebKit::AuthenticationManager::useCredentialForChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
        (WebKit::AuthenticationManager::cancelChallenge):
        * Shared/Downloads/mac/DownloadMac.mm:
        (dispatchOnMainThread):
        * Shared/Plugins/NPObjectProxy.cpp:
        (WebKit::NPObjectProxy::~NPObjectProxy):
        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
        (WebKit::getPluginInfoFromCarbonResources):
        * Shared/SessionTracker.cpp:
        (WebKit::staticSessionMap):
        (WebKit::storageSessionToID):
        (WebKit::identifierBase):
        (WebKit::SessionTracker::destroySession):
        (WebKit::SessionTracker::setIdentifierBase):
        * UIProcess/APISession.cpp:
        (API::generateID):
        (API::Session::defaultSession):
        (API::Session::legacyPrivateSession):
        * WebProcess/Cookies/WebCookieManager.cpp:
        (WebKit::WebCookieManager::dispatchCookiesDidChange):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open):
        (WebKit::WebIDBFactoryBackend::deleteDatabase):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::generateServerConnectionIdentifier):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::dispatchWheelEvent):

2014-02-17  Anders Carlsson  <andersca@apple.com>

        Remove view source code
        https://bugs.webkit.org/show_bug.cgi?id=127233

        Reviewed by Antti Koivisto.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2014-02-17  Sergio Correia  <sergio.correia@openbossa.org>

        Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
        https://bugs.webkit.org/show_bug.cgi?id=128681

        Reviewed by Timothy Hatcher.

        Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
        WebCore/inspector/*. Besides files in there, a few other files in
        JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
        and WebCore/testing were touched.

        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

2014-02-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL build fix attempt

        * CMakeLists.txt: Remove WebHistoryClient.cpp after r164230.

2014-02-17  Anders Carlsson  <andersca@apple.com>

        WebKitGTK+ should stop calling functions to set the view source mode
        https://bugs.webkit.org/show_bug.cgi?id=128919

        Reviewed by Carlos Garcia Campos.

        This is a first step towards getting rid of the view source mode from WebCore. 
        View source shouldn't be a mode on the web page and can be implemented in other ways by
        embedding apps. Furthermore, the inspector has an excellent view source mode.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_set_view_mode):
        (webkit_web_view_get_view_mode):
        Turn these into no-ops.

2014-02-17  Anders Carlsson  <andersca@apple.com>

        Turn the history client into a fancy API::HistoryClient abstract base class
        https://bugs.webkit.org/show_bug.cgi?id=128917

        Reviewed by Andreas Kling.

        * UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.
        (API::HistoryClient::~HistoryClient):
        (API::HistoryClient::didNavigateWithNavigationData):
        (API::HistoryClient::didPerformClientRedirect):
        (API::HistoryClient::didPerformServerRedirect):
        (API::HistoryClient::didUpdateHistoryTitle):
        (API::HistoryClient::populateVisitedLinks):
        (API::HistoryClient::shouldTrackVisitedLinks):
        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetHistoryClient):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::WebContext):
        (WebKit::WebContext::setHistoryClient):
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::populateVisitedLinks):
        * UIProcess/WebContext.h:
        (WebKit::WebContext::historyClient):
        * UIProcess/WebHistoryClient.cpp: Removed.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-17  Dan Bernstein  <mitz@apple.com>

        Try to fix iOS Debug builds without breaking Release builds.

        * WebProcess/WebPage/PageBanner.cpp:
        * WebProcess/WebPage/PageBanner.h:

2014-02-16  Dan Bernstein  <mitz@apple.com>

        Speculative iOS build fix.

        * WebProcess/WebPage/mac/PageBannerMac.mm:

2014-02-16  Dan Bernstein  <mitz@apple.com>

        Speculative iOS build fix.

        * WebProcess/WebPage/PageBanner.h:

2014-02-16  Dan Bernstein  <mitz@apple.com>

        Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128885

        Reviewed by Anders Carlsson.

        * Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm
        from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with
        !PLATFORM(IOS).
        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to
        PLATFORM(COCOA).
        (WKBundleFrameCopyWebArchiveFilteringSubframes):
        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS).
        * WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
        * WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION)
        around use of NSBundle.
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to
        PLATFORM(COCOA).
        (WebKit::InjectedBundleUserMessageEncoder::encode):
        (WebKit::InjectedBundleUserMessageDecoder::decode):
        * WebProcess/Network/WebResourceLoader.cpp: Ditto.
        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto.
        (WebKit::NPN_GetValue):
        (WebKit::NPN_SetValue):
        (WebKit::initializeBrowserFuncs):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto.
        (WebKit::NetscapePlugin::NetscapePlugin):
        (WebKit::NetscapePlugin::supportsSnapshotting):
        * WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto.
        * WebProcess/Plugins/Plugin.cpp: Ditto.
        (WebKit::Plugin::Parameters::encode):
        (WebKit::Plugin::Parameters::decode):
        * WebProcess/Plugins/Plugin.h: Ditto.
        * WebProcess/Plugins/PluginController.h: Ditto.
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to
        USE(DARWIN) around use of Mach-based IPC.
        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
        * WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA).
        * WebProcess/Plugins/PluginProxy.h: Ditto.
        * WebProcess/Plugins/PluginProxy.messages.in: Ditto.
        * WebProcess/Plugins/PluginView.cpp: Ditto.
        (WebKit::PluginView::destroyPluginAndReset):
        (WebKit::PluginView::viewStateDidChange):
        (WebKit::PluginView::didInitializePlugin):
        (WebKit::PluginView::invalidateRect):
        (WebKit::PluginView::pluginSnapshotTimerFired):
        * WebProcess/Plugins/PluginView.h: Ditto.
        * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto.
        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.
        (WebKit::WebChromeClient::windowRect):
        * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto.
        * WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto.
        * WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto.
        * WebProcess/WebCoreSupport/WebDragClient.h: Ditto.
        * WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.
        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
        * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        (WebKit::WebFrameLoaderClient::createPlugin):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto.
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto.
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC).
        (InitWebCoreSystemInterface):
        * WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::DrawingArea::create):
        * WebProcess/WebPage/DrawingArea.h: Ditto.
        * WebProcess/WebPage/DrawingArea.messages.in: Ditto.
        * WebProcess/WebPage/EventDispatcher.cpp: Ditto.
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/LayerTreeHost.h: Ditto.
        * WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS)
        * WebProcess/WebPage/PageBanner.h: Ditto.
        * WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * WebProcess/WebPage/WebFrame.h: Ditto.
        * WebProcess/WebPage/WebInspector.cpp: Ditto.
        (WebKit::WebInspector::WebInspector):
        * WebProcess/WebPage/WebInspector.h: Ditto.
        * WebProcess/WebPage/WebPage.cpp: Ditto.
        (WebKit::WebPage::WebPage):
        (WebKit::isContextClick):
        (WebKit::WebPage::getSelectionAsWebArchiveData):
        (WebKit::WebPage::getWebArchiveOfFrame):
        (WebKit::WebPage::updatePreferences):
        (WebKit::WebPage::sendSetWindowFrame):
        (WebKit::WebPage::beginPrinting):
        (WebKit::WebPage::computePagesForPrinting):
        * WebProcess/WebPage/WebPage.h: Ditto.
        * WebProcess/WebPage/WebPage.messages.in: Ditto.
        * WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS).
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::WebProcess::initializeWebProcess): Ditto.
        (WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN).
        (WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to
        PLATFORM(COCOA).
        (WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto.
        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to
        OS(DARWIN).
        (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to
        PLATFORM(COCOA)
        * WebProcess/WebProcess.h: Ditto.
        * WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around
        SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

2014-02-15  Alexey Proskuryakov  <ap@apple.com>

        [Mac] All WebKit clients should encrypt WebCrypto keys automatically
        https://bugs.webkit.org/show_bug.cgi?id=128852

        Reviewed by Oliver Hunt.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        Call the default implementation if key is not provided by a client.

2014-02-15  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>

        [EFL][WK2] Stop calling mktemp(3).
        https://bugs.webkit.org/show_bug.cgi?id=128826

        Reviewed by Gyuyoung Kim.

        mktemp(3) is an insecure function and should be avoided at all costs.
        Replace its usage with mkdtemp(3): instead of just getting a file name
        that is supposed to be random and unused, we now create a directory
        with a random name and then put whatever files we need there with fixed
        names.

        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
        (TEST_F):
        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
        (TEST_F):

2014-02-15  Dan Bernstein  <mitz@apple.com>

        Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128868

        Reviewed by Anders Carlsoon.

        * UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
        PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.
        * UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
        * UIProcess/DrawingAreaProxy.h: Ditto.
        * UIProcess/DrawingAreaProxy.messages.in: Ditto.
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
        around use of Mach API.
        * UIProcess/Launcher/ProcessLauncher.h: Ditto.
        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to
        PLATFORM(COCOA)
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
        to OS(DARWIN).
        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
        (WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
        around process suppression call.
        * UIProcess/Network/NetworkProcessProxy.h: Ditto.
        * UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
        * UIProcess/Plugins/PluginProcessManager.h: Ditto.
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
        to OS(DARWIN).
        (WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
        use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
        (WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
        OS(DARWIN).
        * UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
        * UIProcess/TextChecker.h: Ditto.
        * UIProcess/WebContext.cpp: Ditto.
        (WebKit::WebContext::ensureNetworkProcess):
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::setHTTPPipeliningEnabled):
        (WebKit::WebContext::httpPipeliningEnabled):
        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebContext.h: Ditto.
        * UIProcess/WebContext.messages.in: Ditto.
        * UIProcess/WebContextUserMessageCoders.h: Ditto.
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebCookieManagerProxy.cpp: Ditto.
        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
        * UIProcess/WebCookieManagerProxy.h: Ditto.
        * UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
        * UIProcess/WebFramePolicyListenerProxy.h: Ditto.
        * UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing
        the inspector window and its view.
        * UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::recordNavigationSnapshot):
        (WebKit::WebPageProxy::canShowMIMEType):
        (WebKit::canCoalesce):
        (WebKit::coalesce):
        (WebKit::WebPageProxy::findPlugin):
        (WebKit::WebPageProxy::editorStateChanged):
        (WebKit::WebPageProxy::contextMenuItemSelected):
        (WebKit::WebPageProxy::didReceiveEvent):
        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
        * UIProcess/WebPageProxy.h: Ditto.
        * UIProcess/WebPageProxy.messages.in: Ditto.
        * UIProcess/WebProcessProxy.cpp: Ditto.
        (WebKit::WebProcessProxy::WebProcessProxy):
        (WebKit::WebProcessProxy::createWebPage):
        (WebKit::WebProcessProxy::addExistingWebPage):
        (WebKit::WebProcessProxy::removeWebPage):
        (WebKit::WebProcessProxy::didFinishLaunching):
        (WebKit::WebProcessProxy::pageSuppressibilityChanged):
        (WebKit::WebProcessProxy::pagePreferencesChanged):
        * UIProcess/WebProcessProxy.h: Ditto.
        * UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any
        configuration.
        * UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be
        implemented for iOS.
        * WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.

2014-02-15  Jeremy Jones  <jeremyj@apple.com>

        messages.py doesn't handle parameters with more than one level of scope.
        https://bugs.webkit.org/show_bug.cgi?id=128573

        Reviewed by Simon Fraser.

        Support .messages.in header include generation for parameter types with more than 1 level of scope.

        Add a test case and update expected results.

        * Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
        (WebKit::WebPage::didReceiveWebPageMessage):
        * Scripts/webkit2/LegacyMessages-expected.h:
        (Messages::WebPage::SetVideoLayerID::receiverName):
        (Messages::WebPage::SetVideoLayerID::name):
        (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
        (Messages::WebPage::SetVideoLayerID::arguments):
        * Scripts/webkit2/MessageReceiver-expected.cpp:
        (WebKit::WebPage::didReceiveMessage):
        * Scripts/webkit2/Messages-expected.h:
        (Messages::WebPage::SetVideoLayerID::receiverName):
        (Messages::WebPage::SetVideoLayerID::name):
        (Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
        (Messages::WebPage::SetVideoLayerID::arguments):
        * Scripts/webkit2/messages.py:
        (headers_for_type):
        * Scripts/webkit2/messages_unittest.py:
        * Scripts/webkit2/test-legacy-messages.in:
        * Scripts/webkit2/test-messages.in:

2014-02-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
        https://bugs.webkit.org/show_bug.cgi?id=128808

        Reviewed by Sergio Villar Senin.

        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (webkit_web_page_class_init): Use g_cclosure_marshal_VOID__VOID
        instead of g_cclosure_marshal_VOID__OBJECT.

2014-02-14  Anders Carlsson  <andersca@apple.com>

        Add SPI for monitoring web process crashes
        https://bugs.webkit.org/show_bug.cgi?id=128851

        Reviewed by Beth Dakin.

        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::processDidCrash):

2014-02-14  Anders Carlsson  <andersca@apple.com>

        Add SPI for authentication 
        https://bugs.webkit.org/show_bug.cgi?id=128847

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
        (WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

2014-02-14  Anders Carlsson  <andersca@apple.com>

        Add WKBackForwardListDidChangeNotification 
        https://bugs.webkit.org/show_bug.cgi?id=128839

        Reviewed by Dan Bernstein.

        Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems
        instead of a pointer to a Vector of API::Objects.

        * Shared/API/Cocoa/WKFoundation.h:
        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didChangeBackForwardList):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKBackForwardList.h:
        * UIProcess/API/Cocoa/WKBackForwardList.mm:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::LoaderClient::didChangeBackForwardList):
        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::addItem):
        (WebKit::WebBackForwardList::goToItem):
        (WebKit::WebBackForwardList::clear):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didChangeBackForwardList):
        * UIProcess/WebPageProxy.h:

2014-02-12  Jer Noble  <jer.noble@apple.com>

        [iOS][WK2] Always enable AVKit in WK2
        https://bugs.webkit.org/show_bug.cgi?id=128686

        Reviewed by Simon Fraser.

        Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-14  Benjamin Poulain  <bpoulain@apple.com>

        [WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
        https://bugs.webkit.org/show_bug.cgi?id=128715

        Reviewed by Darin Adler.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::handleTap):

2014-02-14  Benjamin Poulain  <bpoulain@apple.com>

        <rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen
        https://bugs.webkit.org/show_bug.cgi?id=128710

        Reviewed by Enrica Casucci.

        WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView dealloc]):
        (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
        (-[WKWebView _keyboardWillChangeFrame:]):
        (-[WKWebView _keyboardDidChangeFrame:]):
        (-[WKWebView _keyboardWillShow:]):
        (-[WKWebView _keyboardWillHide:]):
        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView isAssistingNode]):
        * UIProcess/API/ios/WKInteractionView.h:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView dealloc]):
        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        (-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
        (-[WKView _keyboardWillChangeFrame:]):
        (-[WKView _keyboardDidChangeFrame:]):
        (-[WKView _keyboardWillShow:]):
        (-[WKView _keyboardWillHide:]):

2014-02-14  Dan Bernstein  <mitz@apple.com>

        Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128802

        Reviewed by Darin Adler.

        * PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::PluginControllerProxy::PluginControllerProxy):
        (WebKit::PluginControllerProxy::paint):
        * PluginProcess/PluginControllerProxy.h: Ditto.
        * PluginProcess/PluginControllerProxy.messages.in: Ditto.
        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::PluginProcess): Ditto.
        (WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific
        quirk.
        (WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN)
        around use of Mach-based IPC.
        * PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to
        USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit.
        * PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around
        SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
        * PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::WebProcessConnection::createPluginInternal):
        (WebKit::WebProcessConnection::createPlugin):

2014-02-14  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView estimatedProgress]
        https://bugs.webkit.org/show_bug.cgi?id=128830

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView estimatedProgress]):
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::willChangeEstimatedProgress):
        (WebKit::NavigationState::didChangeEstimatedProgress):

2014-02-13  Simon Fraser  <simon.fraser@apple.com>

        Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
        https://bugs.webkit.org/show_bug.cgi?id=128790

        Reviewed by Beth Dakin.

        Have scrolling tree nodes and state nodes track another layer, the
        "scrolled contents layer", for accelerated overflow:scroll.
        
        When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
        layer will point to the composited element's primary layer, and its
        scrolledContentsLayer to the layer that gets moved around by scrolling.
        
        Do some other cleanup on AsyncScrollingCoordinator, removing
        functions that just called through to nodes.

        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

2014-02-14  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView _handle]
        https://bugs.webkit.org/show_bug.cgi?id=128828

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _handle]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-13  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose the bundle form client
        https://bugs.webkit.org/show_bug.cgi?id=128792

        Reviewed by Anders Carlsson.

        * WebKit2.xcodeproj/project.pbxproj: Added new file.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (didFocusTextField): Implemented this WKBundlePageFormClient callback by calling the form
        delegate.
        (setUpFormClient): Added. Initializes the form client with the above function.
        (-[WKWebProcessPlugInBrowserContextController _formDelegate]): Added this getter.
        (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added. Initializes or
        clears the form client.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
        Declared _formDelegate property.

2014-02-13  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add a way to get the page from a frame in the injected bundle
        https://bugs.webkit.org/show_bug.cgi?id=128791

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
        (-[WKWebProcessPlugInFrame _browserContextController]): Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Declared
        _browserContextController property.

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView stopLoading:]
        https://bugs.webkit.org/show_bug.cgi?id=128784

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView stopLoading:]):

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView activeURL]
        https://bugs.webkit.org/show_bug.cgi?id=128777

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView activeURL]):
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::willChangeActiveURL):
        (WebKit::NavigationState::didChangeActiveURL):

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView goToBackForwardListItem:]
        https://bugs.webkit.org/show_bug.cgi?id=128773

        Reviewed by Andreas Kling.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView goToBackForwardListItem:]):

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Make WKWebViewConfigurationPrivate.h private
        https://bugs.webkit.org/show_bug.cgi?id=128761

        Reviewed by Tim Horton.

        * WebKit2.xcodeproj/project.pbxproj:

2014-02-13  Myles C. Maxfield  <mmaxfield@apple.com>

        During a copy, position:fixed gets converted to position:absolute even if only part of the document is selected
        https://bugs.webkit.org/show_bug.cgi?id=128688

        Reviewed by Ryosuke Niwa.

        Renames the ConvertPositionStyleOnCopy setting to ShouldConvertPositionStyleOnCopy

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetShouldConvertPositionStyleOnCopy):
        (WKPreferencesGetShouldConvertPositionStyleOnCopy):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-12  Timothy Hatcher  <timothy@apple.com>

        Enable inspection of recently used IndexedDB databases.

        https://bugs.webkit.org/show_bug.cgi?id=128687

        Reviewed by Brady Eidson & Joseph Pecoraro.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::sharedRecentDatabaseNameMap):
        (WebKit::combinedSecurityOriginIdentifier):
        (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
        (WebKit::WebIDBFactoryBackend::getDatabaseNames):
        (WebKit::WebIDBFactoryBackend::open):
        (WebKit::WebIDBFactoryBackend::deleteDatabase):
        Keep track of recently used database names per security-origin pair.
        Implement getDatabaseNames to return the recently used names.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
        Fix up the arguments passed to getDatabaseNames.

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (layoutMilestones):

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Add rendering progress events SPI
        https://bugs.webkit.org/show_bug.cgi?id=128752

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _observedRenderingProgressEvents]):
        (layoutMilestones):
        (-[WKWebView _setObservedRenderingProgressEvents:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        (NS_OPTIONS):
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::renderingProgressEvents):
        (WebKit::NavigationState::LoaderClient::didLayout):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-13  Anders Carlsson  <andersca@apple.com>

        Disable XPC for plug-ins that need executable heap
        https://bugs.webkit.org/show_bug.cgi?id=128744
        <rdar://problem/15962958>

        Reviewed by Dan Bernstein.

        When switching to XPC for plug-ins, we accidentally broke the "feature"
        where plug-ins can ask for the heap to be executable. 
        
        This breaks Silverlight, so just disable XPC for any plug-ins that need this.
        <rdar://problem/16059483> tracks fixing this in the XPC service.

        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
        Only return true for 32-bit plug-ins, since we don't know any 64-bit plug-ins
        that require this feature.

        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
        Set launchOptions.useXPC to false if launchOptions.executableHeap is true.

2014-02-12  Antti Koivisto  <antti@apple.com>

        Return immediately from DestroyPlugin IPC call
        https://bugs.webkit.org/show_bug.cgi?id=128712

        Reviewed by Anders Carlsson.
        
        In some cases we spend a lot of time waiting for synchronous IPC for plugin termination to complete. Reduce
        the delay by returning from IPC immediately when the plugin process receives it. Just using asynchrounous
        IPC might introduce undesirable arbitrary delay between the IPC call returning and the destruction actually
        starting.

        * PluginProcess/WebProcessConnection.cpp:
        (WebKit::WebProcessConnection::destroyPlugin):
        * PluginProcess/WebProcessConnection.h:
        * PluginProcess/WebProcessConnection.messages.in:

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Pass the related page in the WebPageConfiguration struct
        https://bugs.webkit.org/show_bug.cgi?id=128714

        Reviewed by Darin Adler.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::]):

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Add relatedWebView property to WKWebViewConfiguration
        https://bugs.webkit.org/show_bug.cgi?id=128707

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration relatedWebView]):
        (-[WKWebViewConfiguration setRelatedWebView:]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm.
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-12  Alexey Proskuryakov  <ap@apple.com>

        [WK2] Add a C API to get WebCrypto master key from a client
        https://bugs.webkit.org/show_bug.cgi?id=128702

        Reviewed by Anders Carlsson.

        Added a new version of WKContextClient, with a function that returns the key.

        * UIProcess/API/C/WKContext.h:
        * UIProcess/WebContextClient.cpp:
        (WebKit::WebContextClient::copyWebCryptoMasterKey):
        * UIProcess/WebContextClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        * UIProcess/mac/WebPageProxyMac.mm:

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Add destinationFrame property to WKNavigationAction
        https://bugs.webkit.org/show_bug.cgi?id=128700

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKNavigationAction.h:
        * UIProcess/API/Cocoa/WKNavigationAction.mm:
        (-[WKNavigationAction destinationFrame]):
        (-[WKNavigationAction setDestinationFrame:]):
        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Forward declare WKNavigation in WKNavigationDelegate.h
        https://bugs.webkit.org/show_bug.cgi?id=128699

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKNavigationDelegate.h:

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Expose scrollView on the WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128697

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Better iOS build fix.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        Make these functions cross platform.

        * UIProcess/mac/WebPageProxyMac.mm:

2014-02-12  Andy Estes  <aestes@apple.com>

        Fix the iOS build after r163976

        Moved WebPageProxy::{wrap,unwrap}CryptoKey() to a new file built by
        both Mac and iOS.

        * UIProcess/Cocoa/WebPageProxyCocoa.mm: Added.
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        * UIProcess/mac/WebPageProxyMac.mm:
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-12  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * UIProcess/API/Cocoa/WKProcessClass.h:

2014-02-12  Benjamin Poulain  <bpoulain@apple.com>

        [WK2][iOS] Add back the special viewport for the old xhtml mobile doctype
        https://bugs.webkit.org/show_bug.cgi?id=128639

        Reviewed by Andreas Kling.

        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
        (WebKit::WebChromeClient::didReceiveMobileDocType):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::didReceiveMobileDocType):

2014-02-12  Anders Carlsson  <andersca@apple.com>

        WKProcessClass.h and WKNavigationResponse.h should be public headers
        https://bugs.webkit.org/show_bug.cgi?id=128683

        Reviewed by Dan Bernstein.

        * WebKit2.xcodeproj/project.pbxproj:

2014-02-12  Alexey Proskuryakov  <ap@apple.com>

        Wrap WebCrypto keys in SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128680

        Reviewed by Anders Carlsson.

        Retrieve a master key (placeholder code for now), and use it to wrap key data.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):

2014-02-12  Zan Dobersek  <zdobersek@igalia.com>

        [CoordinatedGraphics] Move CoordinatedGraphicsScene, CoordinatedLayerTreeHostProxy to std::function
        https://bugs.webkit.org/show_bug.cgi?id=128473

        Reviewed by Anders Carlsson.

        Move the CoordinatedLayerTreeHostProxy class to using std::function instead of WTF::Functional. C++11
        lambdas are used to construct the update functions, with the CoordinatedGraphicsScene refcount-protected
        throughout the lifetime of the function wrapper.

        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
        (WebKit::CoordinatedLayerTreeHostProxy::dispatchUpdate):
        (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
        (WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

2014-02-12  Dan Bernstein  <mitz@apple.com>

        Stop using PLATFORM(MAC) in WebKit2/{Database,Network}Process except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128659

        Reviewed by Anders Carlsson.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection): Changed PLATFORM(MAC) to
        OS(DARWIN) around use of Mach-based IPC.
        Changed PLATFORM(MAC) to PLATFORM(COCOA) elsewhere in this file.
        * NetworkProcess/NetworkProcess.cpp: Ditto.
        (WebKit::NetworkProcess::NetworkProcess):
        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
        * NetworkProcess/NetworkProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * NetworkProcess/NetworkProcess.messages.in: Removed PLATFORM(MAC) guard around
        SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.
        * NetworkProcess/NetworkResourceLoader.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
        (WebKit::NetworkResourceLoader::continueWillSendRequest):
        * NetworkProcess/NetworkResourceLoader.h: Ditto.
        * NetworkProcess/RemoteNetworkingContext.h: Ditto, matching WebCore::NetworkingContext.

2014-02-11  Brent Fulgham  <bfulgham@apple.com>

        Remove some unintended copies in ranged for loops
        https://bugs.webkit.org/show_bug.cgi?id=128644

        Reviewed by Anders Carlsson.

        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::Vector<Vector<IDBKeyData>>>::copy): Each iteration copies a vector of
        vectors, 
        * Shared/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::enumerateRectsBeingDrawn): Avoid copying a FloatRect
        on each iteration.
        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer): Avoid copying
        a LayerProperty object each iteration.
        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests): Avoid
        copying a pair<int64_t, pointer> each iteration.
        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests): Ditto
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers): Ditto
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::postMessageToInjectedBundle): Avoid creating/destroying a
        RefPtr each loop iteration.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::shouldStartTrackingTouchEvents): Avoid copying a WebPlatformTouchPoint
        object each cycle.
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::updateLayerTree): Avoid copying a pair each iteration.
        * UIProcess/mac/WindowServerConnection.mm:
        (WebKit::WindowServerConnection::WindowServerConnection): Avoid copying the struct
        of occlusionNotificationHandlers each iteration.
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::put): Avoid copying a vector-of-vectors each
        iteration.
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::recursiveBuildTransaction): Avoid creating/destroying a
        RefPtr each loop iteration.

2014-02-12  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>

        Update the HTML Media Capture implementation.
        https://bugs.webkit.org/show_bug.cgi?id=118465

        Reviewed by Darin Adler.

        Make the implementation in WebKit compatible with the 2013-05-09
        version of the spec, which makes the "capture" attribute a boolean
        instead of an enum.

        * Shared/WebOpenPanelParameters.cpp:
        (WebKit::WebOpenPanelParameters::capture): Return a bool.
        * Shared/WebOpenPanelParameters.h: Ditto.
        * UIProcess/API/C/WKOpenPanelParameters.cpp:
        (WKOpenPanelParametersCopyCapture): Deprecate, the implementation is
        incompatible with the current version of the spec.
        (WKOpenPanelParametersGetCaptureEnabled): Add and return a bool.
        * UIProcess/API/C/WKOpenPanelParameters.h:

2014-02-12  Alberto Garcia  <berto@igalia.com>

        [GTK] Fails to build if configure is run with its absolute path
        https://bugs.webkit.org/show_bug.cgi?id=126693

        Reviewed by Gustavo Noronha Silva.

        When creating links to the WebKit2 headers in the source tree
        don't expect $(WebKit2) to be a relative path.

        * GNUmakefile.am:

2014-02-11  Filip Pizlo  <fpizlo@apple.com>

        JIT should be enabled (regression from addition of JIT enabled setting)
        https://bugs.webkit.org/show_bug.cgi?id=128653

        Reviewed by Tim Horton.

        * UIProcess/mac/WebContextMac.mm:
        (WebKit::registerUserDefaultsIfNeeded):

2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>

        Remove one of includes added in r163943 and r163939.

        * WebProcess/WebPage/WebPage.h:

2014-02-11  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/16044438>: WebKit2.framework (with *Process.app) exists at the top level of the simulator
        https://bugs.webkit.org/show_bug.cgi?id=128650

        Reviewed by Mark Rowe.

        * Configurations/All-iOS.xcconfig: Removed this unused file.
        * Configurations/All.xcconfig: Set SKIP_INSTALL to YES for this aggregate target, so that
        its Copy Files build phase, intended only for engineering builds, doesn’t copy into the
        (wrong) install location.

2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>

        EFL build fix after r163919.

        * WebProcess/WebPage/WebPage.h:

2014-02-11  Jaehun Lim  <ljaehun.lim@samsung.com>

        Unreviewed build fix after r163919

        WKGestureTypes.h needs PLATFORM(IOS) guard.

        * WebProcess/WebPage/WebPage.h:

2014-02-11  Zalan Bujtas  <zalan@apple.com>

        Subpixel rendering: Make GraphicsLayerClient::paintContents's clip rect subpixel based.
        https://bugs.webkit.org/show_bug.cgi?id=128460

        Reviewed by Simon Fraser.

        GraphicsClient::paintContents takes clipRect as FloatRect now so that we can paint on
        subpixel position.

        No change in functionality.

        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::paintContents):
        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::paintContents):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::paintContents):

2014-02-11  Sam Weinig  <sam@webkit.org>

        [WebKit2, JSC] Add user default to disable the JIT
        https://bugs.webkit.org/show_bug.cgi?id=128643

        Reviewed by Filip Pizlo.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::registerUserDefaultsIfNeeded):
        (WebKit::WebContext::platformInitializeWebProcess):
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2014-02-11  Ryosuke Niwa  <rniwa@webkit.org>

        Frame::rectForSelection shouldn't instantiate FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=128587

        Reviewed by Enrica Casucci.

        * WebProcess/WebCoreSupport/WebEditorClient.h:
        * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

2014-02-11  Enrica Casucci  <enrica@apple.com>

        Support WebSelections in WK2 on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127015
        <rdar://problem/15211964>

        Reviewed by Benjamin Poulain.

        First step towards implementing block selections on iOS.
        The main logic is in rangeForWebSelectionAtPosition that
        decides whether we create a text or a block selection.

        * Shared/ios/WKGestureTypes.h:
        * UIProcess/API/ios/WKInteractionView.mm:
        (toUIWKSelectionFlags):
        (selectionChangedWithGesture):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::rangeForWebSelectionAtPosition):
        (WebKit::WebPage::selectWithGesture):
        (WebKit::WebPage::getPositionInformation):

2014-02-10  Myles C. Maxfield  <mmaxfield@apple.com>

        Convert position:sticky and position:fixed properties to position:static and position:absolute upon copy
        https://bugs.webkit.org/show_bug.cgi?id=128194

        Reviewed by Simon Fraser.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetConvertPositionStyleOnCopy):
        (WKPreferencesGetConvertPositionStyleOnCopy):
        * UIProcess/API/C/WKPreferencesPrivate.h: Opt-in to new behavior
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-11  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Rename screenToWindow to screenToRootView and windowToScreen to rootViewToScreen
        https://bugs.webkit.org/show_bug.cgi?id=128575

        Reviewed by Darin Adler.

        In WebKit2, screenToRootView and rootViewToScreen were named screenToWindow and windowToScreen.
        Those names were fine on ports were FrameView correspond to the scrollview, but they do not apply on iOS.

        This patch renames screenToWindow and windowToScreen to their more generic WebCore counterpart.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::screenToRootView):
        (WebKit::PageClientImpl::rootViewToScreen):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::screenToRootView):
        (WebKit::PageClientImpl::rootViewToScreen):
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::screenToRootView):
        (WebKit::PageClientImpl::rootViewToScreen):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::screenToRootView):
        (WebKit::WebView::rootViewToScreen):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::screenToRootView):
        (WebKit::WebPageProxy::rootViewToScreen):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::screenToRootView):
        (WebKit::WebChromeClient::rootViewToScreen):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::screenToRootView):
        (WebKit::WebPage::rootViewToScreen):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
        (-[WKAccessibilityWebPageObject _convertScreenPointToRootView:]):
        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

2014-02-11  Andy Estes  <aestes@apple.com>

        [Mac] connection:willStopBufferingData: no longer exists in NSURLConnectionDelegate
        https://bugs.webkit.org/show_bug.cgi?id=128583

        Reviewed by Anders Carlsson.

        The delegate method was removed in Snow Leopard.

        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:

2014-02-11  Brady Eidson  <beidson@apple.com>

        IndexedDB tests on some bots are flakey (timeouts)
        <rdar://problem/16038745> and https://bugs.webkit.org/show_bug.cgi?id=128612

        Reviewed by Sam Weinig.

        When messing with JSC VM’s and such, always use APIEntryShim instead of JSLockHolder.
        *ESPECIALLY* when dealing with multiple threads.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): 
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):

2014-02-11  Dan Bernstein  <mitz@apple.com>

        Stop using PLATFORM(MAC) in WebKit2/Shared except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128582

        Reviewed by Darin Adler.

        * Shared/API/c/WKContextMenuItem.cpp: Removed workaround for Mac Safari 6 compatibility.
        (WKContextMenuItemGetTag):
        * Shared/API/c/WKDeprecatedFunctions.cpp: Added && !PLATFORM(IOS), because these functions
        are not needed on iOS.
        * Shared/API/c/WKSharedAPICast.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::toAPI):
        (WebKit::toImpl):
        * Shared/APIObject.h: Ditto.
        * Shared/ChildProcess.cpp: Ditto.
        * Shared/ChildProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) around
        setApplicationIsDaemon and setQOS. Changed it to USE(APPKIT) around stopNSAppRunLoop.
        * Shared/CommandLine.h: Changed PLATFORM(MAC) to OS(UNIX) around parse().
        * Shared/DictionaryPopupInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::DictionaryPopupInfo::encode):
        (WebKit::DictionaryPopupInfo::decode):
        * Shared/DictionaryPopupInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * Shared/Downloads/Download.h: Ditto.
        * Shared/DrawingAreaInfo.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * Shared/FontInfo.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::FontInfo::encode):
        (WebKit::FontInfo::decode):
        * Shared/FontInfo.h: Ditto.
        * Shared/LayerTreeContext.h: Ditto.
        * Shared/NativeWebKeyboardEvent.h: Changed PLATFORM(MAC) to USE(APPKIT) around
        forward-declaration of NSView.
        * Shared/NativeWebMouseEvent.h: Ditto.
        * Shared/NativeWebWheelEvent.h: Ditto.
        * Shared/Network/CustomProtocols/Cocoa: Renamed from mac.
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm: Renamed from CustomProtocolManagerMac.mm.
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerMac.mm: Removed.
        * Shared/Network/CustomProtocols/CustomProtocolManager.h: Changed PLATFORM(MAC) to
        PLATFORM(COCOA).
        * Shared/Network/CustomProtocols/mac: Removed.
        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Removed.
        * Shared/PlatformPopupMenuData.cpp:  Changed PLATFORM(MAC) to PLATFORM(COCOA).
        (WebKit::PlatformPopupMenuData::encode):
        (WebKit::PlatformPopupMenuData::decode):
        * Shared/PlatformPopupMenuData.h: Ditto.
        * Shared/Plugins/Netscape/PluginInformation.cpp: Ditto.
        * Shared/Plugins/PluginModuleInfo.h: Ditto.
        * Shared/Plugins/PluginProcessCreationParameters.cpp: Ditto.
        (WebKit::PluginProcessCreationParameters::encode):
        (WebKit::PluginProcessCreationParameters::decode):
        * Shared/Plugins/PluginProcessCreationParameters.h: Ditto.
        * Shared/PrintInfo.h: Changed PLATFORM(MAC) to USE(APPKIT) around forward declaration of
        NSPrintInfo.
        * Shared/SandboxInitializationParameters.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * Shared/TextCheckerState.h: Changed PLATFORM(MAC) to USE(APPKIT).
        * Shared/WebArchive.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
        * Shared/WebArchive.h: Ditto.
        * Shared/WebArchiveResource.cpp: Ditto.
        * Shared/WebArchiveResource.h: Ditto.
        * Shared/WebCoreArgumentCoders.cpp: Ditto.
        (IPC::ArgumentCoder<ResourceResponse>::encode):
        (IPC::ArgumentCoder<ResourceResponse>::decode):
        * Shared/WebCoreArgumentCoders.h: Ditto.
        * Shared/WebEvent.h: Ditto.
        * Shared/WebEventConversion.cpp: Ditto.
        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
        * Shared/WebKit2Initialize.cpp: Ditto.
        (WebKit::InitializeWebKit2):
        * Shared/WebPageCreationParameters.cpp: Ditto.
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h: Ditto.
        * Shared/WebPreferencesStore.h: Ditto.
        * Shared/WebProcessCreationParameters.cpp: Ditto.
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h: Ditto.
        * Shared/WebWheelEvent.cpp: Ditto.
        (WebKit::WebWheelEvent::WebWheelEvent):
        (WebKit::WebWheelEvent::encode):
        (WebKit::WebWheelEvent::decode):
        * Shared/cf/ArgumentCodersCF.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION).
        (IPC::decode):
        * Shared/mac/CommandLineMac.cpp: Removed.
        * Shared/mac/PDFKitImports.h: Removed PLATFORM(MAC)
        * Shared/posix: Added.
        * Shared/posix/CommandLinePOSIX.cpp: Renamed from mac/CommandLineMac.cpp and removed
        comment.
        * WebKit2.xcodeproj/project.pbxproj: Updated for moves and renames.

2014-02-11  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/cursor-update-updates-indexes.html ASSERTs
        <rdar://problem/16034112> and https://bugs.webkit.org/show_bug.cgi?id=128581

        Reviewed by Alexey Proskuryakov.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Always store keyPath for Index get results.

2014-02-11  Alberto Garcia  <berto@igalia.com>

        O_CLOEXEC in shm_open does not work on FreeBSD
        https://bugs.webkit.org/show_bug.cgi?id=128572

        Reviewed by Darin Adler.

        The O_CLOEXEC is not supported by shm_open() and is also not
        necessary since FD_CLOEXEC is already set by default when the new
        file descriptor is created.

        * Platform/unix/SharedMemoryUnix.cpp:
        (WebKit::SharedMemory::create):

2014-02-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163856.
        http://trac.webkit.org/changeset/163856
        https://bugs.webkit.org/show_bug.cgi?id=128585

        The build fix depends on r163848, which has been reverted
        (Requested by notbenjamin on #webkit).

        * UIProcess/ios/TextCheckerIOS.mm:
        (WebKit::TextChecker::checkTextOfParagraph):
        (WebKit::TextChecker::checkSpellingOfString):
        (WebKit::TextChecker::checkGrammarOfString):

2014-02-10  Alexey Proskuryakov  <ap@apple.com>

        Add hooks for wrapping CryptoKeys in SerializedScriptValue
        https://bugs.webkit.org/show_bug.cgi?id=128567

        Reviewed by Anders Carlsson.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::wrapCryptoKey):
        (WebKit::WebChromeClient::unwrapCryptoKey):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        Dummy implementation, to be filled in later.

2014-02-10  Dan Bernstein  <mitz@apple.com>

        Stop using PLATFORM(MAC) in WebKit2/platform except where it means “OS X but not iOS”
        https://bugs.webkit.org/show_bug.cgi?id=128513

        Reviewed by Dean Jackson.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::waitForSyncReply): Changed PLATFORM(MAC) to PLATFORM(COCOA) around use of
        RunLoop::runForDuration, matching the guard around that function.
        * Platform/Logging.cpp: Deleted unused definition of logLevelString.
        * Platform/Module.cpp:
        (WebKit::Module::Module): Changed PLATFORM(MAC) to USE(CF).
        * Platform/Module.h: Changed PLATFORM(MAC) to USE(CF), since the “Mac” implementation is
        just a CFBundle-based implementation.
        * Platform/PlatformProcessIdentifier.h: Changed PLATFORM(MAC) to PLATFORM(COCOA). Arguably
        this should be OS(DARWIN) && !PLATFORM(EFL) && !PLATFORM(GTK).
        * Platform/cf: Added.
        * Platform/cf/ModuleCF.cpp: Renamed from Platform/mac/ModuleMac.mm. This file did not
        contain any Objective-C code.
        * Platform/foundation: Added.
        * Platform/foundation/LoggingFoundation.mm: Renamed from Platform/mac/Logging.mac.mm.
        * Platform/mac/Logging.mac.mm: Removed.
        * Platform/mac/ModuleMac.mm: Removed.
        * WebKit2.xcodeproj/project.pbxproj: Updated for renames.

2014-02-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163848.
        http://trac.webkit.org/changeset/163848
        https://bugs.webkit.org/show_bug.cgi?id=128580

        Caused a lot of crashes on tests (Requested by ap on #webkit).

        * Shared/APIString.h:
        * UIProcess/TextChecker.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::checkTextOfParagraph):
        (WebKit::WebPageProxy::checkSpellingOfString):
        (WebKit::WebPageProxy::checkGrammarOfString):
        * UIProcess/mac/TextCheckerMac.mm:
        (WebKit::TextChecker::checkTextOfParagraph):
        (WebKit::TextChecker::checkSpellingOfString):
        (WebKit::TextChecker::checkGrammarOfString):

2014-02-10  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html fails
        <rdar://problem/16033286> and https://bugs.webkit.org/show_bug.cgi?id=128574

        Reviewed by Maciej Stachowiak.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If there is no value in an object-store get,
          don’t return *any* results.

2014-02-10  Benjamin Poulain  <bpoulain@apple.com>

        Fix the iOS build after r163848

        * UIProcess/ios/TextCheckerIOS.mm:
        (WebKit::TextChecker::checkTextOfParagraph):
        (WebKit::TextChecker::checkSpellingOfString):
        (WebKit::TextChecker::checkGrammarOfString):

2014-02-10  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/indexes.html fails
        <rdar://problem/16031590> and https://bugs.webkit.org/show_bug.cgi?id=128563

        Reviewed by Tim Horton.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): Pass the cursor type to the backing store.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): If it’s a key-only cursor,
          return only the key result.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::getIndexStatement): Fix index statement selection so ascending, unique cursors sort correctly.

2014-02-10  Anders Carlsson  <andersca@apple.com>

        Remove a couple of deprecatedCharacters() from WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=128569

        Reviewed by Andreas Kling.

        * Shared/APIString.h:
        * UIProcess/TextChecker.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::checkTextOfParagraph):
        (WebKit::WebPageProxy::checkSpellingOfString):
        (WebKit::WebPageProxy::checkGrammarOfString):
        * UIProcess/mac/TextCheckerMac.mm:
        (WebKit::TextChecker::checkTextOfParagraph):
        (WebKit::TextChecker::checkSpellingOfString):
        (WebKit::TextChecker::checkGrammarOfString):

2014-02-10  Filip Pizlo  <fpizlo@apple.com>

        Rename Operations.h to JSCInlines.h
        https://bugs.webkit.org/show_bug.cgi?id=128543

        Rubber stamped by Geoffrey Garen.

        * Shared/linux/WebMemorySamplerLinux.cpp:
        * UIProcess/WebContext.cpp:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/efl/WebProcessMainEfl.cpp:

2014-02-10  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Add support for image document viewport configuration
        https://bugs.webkit.org/show_bug.cgi?id=128565

        Reviewed by Simon Fraser.

        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::screenToWindow):
        (WebKit::PageClientImpl::windowToScreen):
        Add the implementation for ImageDocument.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didCommitLoad):
        Use the right default settings when dealing with image documents.

2014-02-10  Simon Fraser  <simon.fraser@apple.com>

        Show a debug tile map indicator for UI-side compositing
        https://bugs.webkit.org/show_bug.cgi?id=128553

        Reviewed by Tim Horton.
        
        Implement a tiled scrolling indicator for UI-side compositing.
        
        The indicator is created by making another RemoteLayerTreeHost,
        and decoding the transaction in it a second time to create a cloned
        layer tree. In that clone commit, we modify some layer properties to
        make things easier to see.
        
        The cloned layer tree is hosted in the root layer of the main
        RemoteLayerTreeHost.
        
        RemoteLayerTreeHost was changed to not need a pointer to the WebPageProxy,
        which it only used in the "root layer changed" case; instead, it now just
        returns a bool from updateLayerTree() in that situation.

        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Explanatory comment.
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicatorPosition):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::showDebugIndicator):
        * UIProcess/mac/RemoteLayerTreeHost.h:
        (WebKit::RemoteLayerTreeHost::rootLayer):
        (WebKit::RemoteLayerTreeHost::setIsDebugLayerTreeHost):
        (WebKit::RemoteLayerTreeHost::isDebugLayerTreeHost):
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
        (WebKit::RemoteLayerTreeHost::updateLayerTree):
        (WebKit::RemoteLayerTreeHost::createLayer):

2014-02-10  Simon Fraser  <simon.fraser@apple.com>

        Put a delegatesScrolling flag on WebPageProxy so that the UI process knows when scrolling is delegated
        https://bugs.webkit.org/show_bug.cgi?id=128429

        Reviewed by Sam Weinig.
        
        Add delegatesScrolling() which defaults to false, but is set to true for iOS
        by WKContentView.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:configuration:]):
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::setDelegatesScrolling):
        (WebKit::WebPageProxy::delegatesScrolling):

2014-02-10  Gavin Barraclough  <barraclough@apple.com>

        Remove WKPageSetVisibilityState
        https://bugs.webkit.org/show_bug.cgi?id=128551

        Reviewed by Anders Carlsson.

        Made prerender state automatic. We should move this further
        up into WebCore, but this requires refactoring for the Page
        construction order.

        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKPageSetVisibilityState):
            - deprecated.
        * UIProcess/API/C/WKPage.cpp:
            - removed WKPageSetVisibilityState.
        * UIProcess/API/C/WKPage.h:
            - removed WKPageSetVisibilityState.
        * UIProcess/WebPageProxy.cpp:
            - removed setVisibilityStatePrerender.
        * UIProcess/WebPageProxy.h:
            - removed setVisibilityStatePrerender.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - removed setVisibilityStatePrerender.
            - When creating a Page, automatically set the prerender state.
        * WebProcess/WebPage/WebPage.h:
            - removed setVisibilityStatePrerender.
        * WebProcess/WebPage/WebPage.messages.in:
            - removed SetVisibilityStatePrerender.

2014-02-10  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
        <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487

        Missed one piece of review feedback before landing.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):

2014-02-10  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/object-store-remove-values.html fails
        <rdar://problem/16029319> and https://bugs.webkit.org/show_bug.cgi?id=128487

        Reviewed by Tim Horton.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Update logging.
        (WebKit::DatabaseProcessIDBConnection::deleteDatabase): If deleteDatabase succeeds,
          also disconnect from the UniqueIDBDatabase so it can be cleaned up properly.
        (WebKit::DatabaseProcessIDBConnection::close): New message from the WebProcess to handle
          clean closures.
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown): Move most of the cleanup to didShutdownBackingStore.
        (WebKit::UniqueIDBDatabase::didShutdownBackingStore): Execute all remaining mainThreadTasks
          (as they represent real results from the backing store thread). 
        (WebKit::UniqueIDBDatabase::deleteDatabase): Add an ASSERT.
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Call through to performNextMainThreadTaskWithoutAdoptRef.
        (WebKit::UniqueIDBDatabase::performNextMainThreadTaskWithoutAdoptRef): Execute a task,
          returning true if there are more tasks left to execute.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite): Properly
          handle JSC cleanup.

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::close): Implement this.

2014-02-10  Benjamin Poulain  <bpoulain@apple.com>

        [iOS][WK2] Add empty definition for an API allowing clients to define obscured edges over the scrollview
        https://bugs.webkit.org/show_bug.cgi?id=128396

        Reviewed by Simon Fraser.

        ObscuredInset defines the area of the scrollview unusable for positioning content.
        The API is unused in this patch.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _obscuredInset]):
        (-[WKWebView _setObscuredInset:]):
        (-[WKWebView _commitObscuredInset]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView _obscuredInset]):
        (-[WKView _setObscuredInset:]):
        (-[WKView _commitObscuredInset]):

2014-02-10  Martin Hock  <mhock@apple.com>

        Add API for accessing session ephemerality from a page bundle
        https://bugs.webkit.org/show_bug.cgi?id=128410

        Reviewed by Alexey Proskuryakov.

        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageIsUsingEphemeralSession):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::isUsingEphemeralSession):
        * WebProcess/WebPage/WebPage.h:

2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Create the inspector view using the same web process as the inspected page
        https://bugs.webkit.org/show_bug.cgi?id=128539

        Reviewed by Martin Robinson.

        * UIProcess/API/C/gtk/WKView.cpp:
        (WKViewCreate): Pass nullptr as the related page.
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreate): Add related page argument and pass it
        to webkitWebViewBaseCreateWebPage() instead of nullptr.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Pass
        m_page as related page to webkitWebViewBaseCreate().

2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GLIB] Add GUniqueOutPtr and use it instead of GOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=127554

        Reviewed by Gustavo Noronha Silva.

        Use GUniqueOutPtr instead of GOwnPtr.

        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::getCacheDiskFreeSize):
        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::didReceiveResponse):
        (WebKit::DownloadClient::didReceiveData):
        (WebKit::DownloadClient::didFinishLoading):
        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
        (processPendingIconsForPageURL):
        (webkit_favicon_database_get_favicon):
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkitURISchemeRequestReadCallback):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (gotFaviconCallback):
        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
        (WebKit::WebInspectorServer::platformResourceForPath):
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
        (WebKit::PluginProcessProxy::scanPlugin):
        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::getCacheDiskFreeSize):

2014-02-10  Tim Horton  <timothy_horton@apple.com>

        [iOS][wk2] WebKit2 View Gestures (Swipe): Forward swipe gesture 
        https://bugs.webkit.org/show_bug.cgi?id=128523
        <rdar://problem/16020378>

        Reviewed by Darin Adler.

        We can't install the gesture recognizer on a view that's going to be
        reparented during the swipe, because the gesture will be cancelled.
        Install the recognizer on the WKView and move the WKView's scrollview
        child around instead.

        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView setAllowsBackForwardNavigationGestures:]):
        We'll install the gesture recognizer on the WKView, but swipe the scrollview.

        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (-[WKSwipeTransitionController initWithViewGestureController:gestureRecognizerView:]):
        Clarify that WKSwipeTransitionController gets handed only the view to install the gesture recognizer on.
        (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
        Use public enum values so we can get rid of one private header.

        (WebKit::ViewGestureController::installSwipeHandler):
        Separate out the gesture recognizer view from the one that gets swiped.

        (WebKit::ViewGestureController::beginSwipeGesture):
        Record a snapshot before beginning the swipe. This is important for the back-then-forward
        swipe case, and matches the behavior of the Mac implementation.

        (WebKit::ViewGestureController::endSwipeGesture):
        * UIProcess/mac/ViewGestureController.h:
        Slight geometry adjustments due to the change in targetted view.

2014-02-10  Filip Pizlo  <fpizlo@apple.com>

        JSC environment variables should override other mechanisms for setting options
        https://bugs.webkit.org/show_bug.cgi?id=128511

        Reviewed by Geoffrey Garen.

        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2014-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to create a webview related to another one
        https://bugs.webkit.org/show_bug.cgi?id=128498

        Reviewed by Gustavo Noronha Silva.

        Add webkit_web_view_new_with_related_view() to create a new
        WebView sharing the same web process as the given one.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextCreatePageForWebView): Use the given related
        WebView to pass a related WebPageProxy to webkitWebViewBaseCreateWebPage().
        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewConstructed): Pass the related web view to webkitWebContextCreatePageForWebView().
        (webkitWebViewSetProperty):
        (webkit_web_view_class_init): Add related-view construct-only property.
        (webkit_web_view_new_with_related_view): New public method to
        create a web view with a related one.
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreate): Pass nullptr as related page to webkitWebViewBaseCreateWebPage().
        (webkitWebViewBaseCreateWebPage): Use the given related
        WebPageProxy to initialize the web page configuration.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

2014-02-10  Lukasz Bialek  <l.bialek@samsung.com>

        [EFL] Spelling unit tests should use ecore_main_loop_iterate()
        https://bugs.webkit.org/show_bug.cgi?id=127427

        Reviewed by Gyuyoung Kim.

        r148670 gets rid of EFL's idlers in a favor of timers to load languages.
        ecore_main_loop_iterate() can be used now.

        Add function that loads spellchecking languages and waits for loading
        to be finished:
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
        (EWK2UnitTest::EWK2UnitTestBase::waitForLanguageLoading):
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:

        Apply added function to tests that should wait for languages to be loaded:
        * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
        (EWK2TextCheckerTest::resetCallbacksExecutionStats):
        (TEST_F):

2014-02-09  Carlos Garnacho  <carlosg@gnome.org>

        [GTK] Implement support touch events
        https://bugs.webkit.org/show_bug.cgi?id=98931

        Reviewed by Carlos Garcia Campos.

        In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
        touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
        events will be generated as a fallback.

        * GNUmakefile.list.am:
        * PlatformGTK.cmake:
        * Shared/gtk/NativeWebTouchEventGtk.cpp:
        * Shared/NativeWebTouchEvent.h:
        (WebKit::NativeWebTouchEvent::nativeEvent):
        (WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.
        * Shared/gtk/WebEventFactory.cpp:
        (WebKit::touchPhaseFromEvents):
        (WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
        of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
        touches, in order to build information about all individual touchpoints.
        * Shared/gtk/WebEventFactory.h:
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
        in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
        mouse event counterpart and handled by the widget again.
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseRealize): Listen for touch events
        (webkitWebViewBaseTouchEvent):
        (webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
        lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.

2014-02-09  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162768.
        http://trac.webkit.org/changeset/162768
        https://bugs.webkit.org/show_bug.cgi?id=128495

        Causes crashes on GTK WK2 in three fast/forms tests.
        (Requested by zdobersek on #webkit).

        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):

2014-02-08  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/object-cursors.html fails
        <rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479

        Reviewed by Dan Bernstein.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo
          table schema to allow for indexes with the same id/name as previous indexes.
          But with different object stores, of course.

2014-02-08  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
        <rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444

        Reviewed by Dan Bernstein.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::getIndexStatement): Return different statements for unique cursors that will
          sort the values in reverse of the cursor direction, matching expected IndexedDB behavior.
        (WebKit::SQLiteIDBCursor::establishStatement):

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as
          strings since we need the collation function to be called for proper sorting.

2014-02-08  Ryosuke Niwa  <rniwa@webkit.org>

        Cleanup the interface of FrameSelection
        https://bugs.webkit.org/show_bug.cgi?id=128481

        Reviewed by Andreas Kling.

        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::getFindIndicatorBitmapAndRect):
        (WebKit::FindController::drawRect):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scaledSnapshotWithOptions):

2014-02-08  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/cursors.html fails
        <rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423

        Reviewed by Dan Bernstein.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors.
        (WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key.
          Depending on the direction of the cursor we should check for the next highest or next lowest key.

2014-02-08  Dan Bernstein  <mitz@apple.com>

        Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
        https://bugs.webkit.org/show_bug.cgi?id=128456

        Reviewed by Anders Carlsson.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and
        paintCustomHighlight.
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2014-02-08  Darin Adler  <darin@apple.com>

        Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
        https://bugs.webkit.org/show_bug.cgi?id=128233

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
        (-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.

        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
        (WebKit::WebEditorClient::checkSpellingOfString): Use StringView.
        (WebKit::WebEditorClient::checkGrammarOfString): Ditto.
        * WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.

2014-02-08  Piotr Grad  <p.grad@samsung.com>

        [GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
        https://bugs.webkit.org/show_bug.cgi?id=128449

        Reviewed by Carlos Garcia Campos.

        Parameter passed to context->createWebPage was inproper.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreateWebPage):

2014-02-08  Dan Bernstein  <mitz@apple.com>

        Font size-related preference values should be CGFloats backed by doubles
        https://bugs.webkit.org/show_bug.cgi?id=128445

        Reviewed by Filip Pizlo.

        * Shared/WebPreferencesStore.h: Changed minimumFontSize, minimumLogicalFontSize,
        defaultFontSize, and defaultFixedFontSize into double-value preferences.
        * UIProcess/API/Cocoa/WKPreferences.h: Changed minimumFontSize into CGFloat.
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences minimumFontSize]): Changed return type.
        (-[WKPreferences setMinimumFontSize:]): Changed parameter type.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Changed to use double getters.

2014-02-08  Adrian Perez de Castro  <aperez@igalia.com>

        [GTK] Make process model names properly meaningful
        https://bugs.webkit.org/show_bug.cgi?id=128389

        Reviewed by Carlos Garcia Campos.

        The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
        is misleading because there are situations in which web views may
        share the same web process even when multi-process mode is enabled;
        for example when opening a related view and both interact using JS.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_set_process_model):
        (webkit_web_context_get_process_model):
        Update names of WebKitProcessModel enum values.
        * UIProcess/API/gtk/WebKitWebContext.h:
        Ditto.

2014-02-08  Piotr Grad  <p.grad@samsung.com>

        [GTK] Build break in WebKitSettings
        https://bugs.webkit.org/show_bug.cgi?id=128446

        Reviewed by Ryosuke Niwa.

        Argument for WebPreferences::create was missing

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (_WebKitSettingsPrivate::_WebKitSettingsPrivate):

2014-02-07  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL WebKit2 build fix after r163671.

        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView): Use WebPageConfiguration in creating WebPage.

2014-02-07  Gavin Barraclough  <barraclough@apple.com>

        Add better comments to code that boosts the NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=128431

        Rubber stamped by Tim Horton

        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
        (WebKit::XPCServiceEventHandler):
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
        (WebKit::XPCServiceEventHandler):
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::connectToService):

2014-02-07  Tim Horton  <timothy_horton@apple.com>

       Build fix.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:configuration:]):

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Pass the preferences through from the WKWebViewConfiguration object
        https://bugs.webkit.org/show_bug.cgi?id=128430

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKPreferences.h:
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences init]):
        Don't return nil if [super init] returns a valid object.

        (-[WKPreferences minimumFontSize]):
        (-[WKPreferences setMinimumFontSize:]):
        Change this property to be unsigned.

        * UIProcess/API/Cocoa/WKPreferencesInternal.h:
        Use @package.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        Set up a WebKit::WebPageConfiguration and use the new -[WKView initWithFrame:context:configuration:] method.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:configuration:]):
        Set the preferences.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:context:configuration:]):
        Add a new initializer that takes a WebContext and a WebPageConfiguration.

        (-[WKView _registerDraggedTypes]):
        This shouldn't be in the private category.
        
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        Call the new initializer.

        * UIProcess/API/mac/WKViewInternal.h:

2014-02-07  Tim Horton  <timothy_horton@apple.com>

        Fix the WebKit2 build after r163671.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

2014-02-07  Gavin Barraclough  <barraclough@apple.com>

        Remove isInitialState flag from Page::setViewState
        https://bugs.webkit.org/show_bug.cgi?id=128428

        Reviewed by Sam Weinig.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - don't pass isInitialState to setViewState.
        (WebKit::WebPage::reinitializeWebPage):
            - if the viewState changes this should fire a visibility event.
        (WebKit::WebPage::setViewState):
            - merged with setViewStateInternal.
        * WebProcess/WebPage/WebPage.h:
            - removed setViewStateInternal.

2014-02-07  Simon Fraser  <simon.fraser@apple.com>

        Encode requestedScrollPosition on ScrollingStateScrollingNodes to send to the UI process
        https://bugs.webkit.org/show_bug.cgi?id=128416

        Reviewed by Tim Horton.
        
        Encode and decode requestedScrollPosition() and requestedScrollPositionRepresentsProgrammaticScroll(),
        which can't use the macros because the setter takes both arguments.
        
        The UI process needs this to notice programmatic scrolls.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (ArgumentCoder<ScrollingStateScrollingNode>::encode):
        (ArgumentCoder<ScrollingStateScrollingNode>::decode):

2014-02-07  Simon Fraser  <simon.fraser@apple.com>

        Add typesafe casts for DrawingAreaProxy classes
        https://bugs.webkit.org/show_bug.cgi?id=128419

        Reviewed by Andreas Kling.
        
        Add typesafe casts, and use one in RemoteScrollingCoordinatorProxy::layerTreeHost().

        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::contentsSizeChanged):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

2014-02-06  Filip Pizlo  <fpizlo@apple.com>

        More FTL build scaffolding
        https://bugs.webkit.org/show_bug.cgi?id=128330

        Reviewed by Geoffrey Garen.

        * Configurations/FeatureDefines.xcconfig:

2014-02-07  Tim Horton  <timothy_horton@apple.com>

        Move allowsBackForwardNavigationGestures back to private because apparently our build systems are broken.

        * UIProcess/API/Cocoa/WKView.h:
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView setAllowsBackForwardNavigationGestures:]):
        (-[WKView allowsBackForwardNavigationGestures]):

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Simplify web page creation
        https://bugs.webkit.org/show_bug.cgi?id=128425

        Reviewed by Andreas Kling.

        Add a WebPageConfiguration class and stick the page group, preferences, session etc there
        instead of adding more and more parameters to the WebPageProxy constructor.

        Make WebContext::createWebPage fill in the missing pieces in the WebPageConfiguration object.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:configuration:]):
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebContext.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:

2014-02-07  Tim Horton  <timothy_horton@apple.com>

        Build fix. Wrong section of the file.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView setAllowsBackForwardNavigationGestures:]):
        (-[WKView allowsBackForwardNavigationGestures]):

2014-02-07  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] The WebPageProxy's copy of pageScaleFactor is not update when the scale is changed from the viewport configuration
        https://bugs.webkit.org/show_bug.cgi?id=128415

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::viewportConfigurationChanged):
        The scale needs to be updated through WebPage::scalePage().

2014-02-07  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Support for iOS
        https://bugs.webkit.org/show_bug.cgi?id=128363
        <rdar://problem/15194194>

        Reviewed by Anders Carlsson.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::renderTreeSize):
        (WebKit::RemoteLayerTreeTransaction::setRenderTreeSize):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
        Send the render tree size along with remote layer tree commits,
        so that we can act upon it (to hide snapshots) in the UI process
        in sync with layer commits.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        We want allowsBackForwardNavigationGestures for both platforms.

        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::takeViewSnapshot):
        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _takeViewSnapshot]):
        * UIProcess/API/ios/WKContentViewInternal.h:
        Plumb snapshotting through to WKViewIOS.

        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView setAllowsBackForwardNavigationGestures:]):
        (-[WKView allowsBackForwardNavigationGestures]):
        Create/destroy the gesture controller when we turn on/off back-forward swipe.
        Tell WebPageProxy to save snapshots if swipe is enabled.

        (-[WKView contentView:didCommitLayerTree:]):
        Forward the current transaction's render tree size to ViewGestureController.

        (-[WKView takeViewSnapshotForContentView:]):
        Snapshot the view. This is not the best SPI to use, we should consider
        using one of those which returns an IOSurface and plumbing it through
        to ViewSnapshotStore, but all of our PageClient abstraction makes that annoying.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::recordNavigationSnapshot):
        Record snapshots on iOS as well.

        * UIProcess/ios/ViewGestureControllerIOS.mm: Added.
        (-[WKSwipeInteractiveTransitionDelegate initWithViewGestureController:WebKit::swipingView:]):
        (-[WKSwipeInteractiveTransitionDelegate WebKit::ViewGestureController::directionForTransition:]):
        (-[WKSwipeInteractiveTransitionDelegate startInteractiveTransition:]):
        (-[WKSwipeInteractiveTransitionDelegate shouldBeginInteractiveTransition:]):
        (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
        (-[WKSwipeInteractiveTransitionDelegate interactiveTransition:gestureRecognizer:shouldReceiveTouch:]):
        (-[WKSwipeInteractiveTransitionDelegate gestureRecognizerForInteractiveTransition:WithTarget:action:]):
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::~ViewGestureController):
        (WebKit::ViewGestureController::installSwipeHandler):
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::canSwipeInDirection):
        (WebKit::ViewGestureController::endSwipeGesture):
        (WebKit::ViewGestureController::setRenderTreeSize):
        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
        (WebKit::ViewGestureController::removeSwipeSnapshot):

        * UIProcess/mac/ViewGestureController.h:
        Add iOS-specific methods, and don't include all of the Mac-specific code.
        We can move towards sharing more logic in the future.

        * UIProcess/mac/ViewGestureController.messages.in:
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::ViewGestureController):
        * UIProcess/mac/ViewSnapshotStore.h:
        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::recordSnapshot):
        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
        Make ViewSnapshotStore build/work without IOSurface.

        * WebKit2.xcodeproj/project.pbxproj:

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Implement more of WKPreferences
        https://bugs.webkit.org/show_bug.cgi?id=128411

        Reviewed by Tim Horton.

        Give WKPreferences an underlying WebKit::WebPreferences object, add a minimumFontSize preference
        and make sure that WKWebView's initializer creates a WKPreferences object if the configuration doesn't specify one.

        * UIProcess/API/Cocoa/WKPreferences.h:
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences init]):
        (-[WKPreferences minimumFontSize]):
        (-[WKPreferences setMinimumFontSize:]):
        * UIProcess/API/Cocoa/WKPreferencesInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-07  Brady Eidson  <beidson@apple.com>

        IDB: Some Mozilla cursor mutation tests fail
        <rdar://problem/16011680> and https://bugs.webkit.org/show_bug.cgi?id=128374

        Reviewed by Sam Weinig.

        After a SQLite statement is prepared, stepping it will not pick up any subsequent changes
        to the object store.

        By keeping track of the current record we’re looking at in the object store and being told
        that the object store changed its contents, we can reset the statement to pick up where it
        left off but with the new object store contents.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Tell the backing store to notify
          its cursors that the object store changed its records.
        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Ditto.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges): Tell the transaction
          to notify its cursors that the object store changed its records.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::notifyCursorsOfChanges): Tell the relevant cursors that their
          object store changed its records.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
        (WebKit::getIndexStatement): All statements now have a lower and upper range. By default we bind
          IDBKey::Minimum to the lower range and IDBKey::Maximum to the upper range.
        (WebKit::getObjectStoreStatement): Ditto.
        (WebKit::SQLiteIDBCursor::establishStatement):
        (WebKit::SQLiteIDBCursor::createSQLiteStatement):
        (WebKit::SQLiteIDBCursor::objectStoreRecordsChanged): Set the flag indicating the statement
          needs to be reset and rebound.
        (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
        (WebKit::SQLiteIDBCursor::bindArguments): Factored out to be shared between statement prepare()
          and statement reset().
        (WebKit::SQLiteIDBCursor::advance):
        (WebKit::SQLiteIDBCursor::advanceOnce): If the statement needs to be reset, do so before advancing it.
        (WebKit::SQLiteIDBCursor::internalAdvanceOnce): In a few cases, tell advanceOnce that it needs to
          try again because it is on a missing record or is repeating a record.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
        (WebKit::SQLiteIDBCursor::objectStoreID):

        Make sure Maximum and Minimum keys are never sent across IPC, as that doesn’t make sense:
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBKeyData>::encode):
        (IPC::ArgumentCoder<IDBKeyData>::decode):

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Make it possible for each web page to have different preferences
        https://bugs.webkit.org/show_bug.cgi?id=128403

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesCreate):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::ensureNetworkProcess):
        (WebKit::WebContext::createNewWebProcess):
        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::setDatabasePath):
        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::WebPageGroup):
        (WebKit::WebPageGroup::~WebPageGroup):
        (WebKit::WebPageGroup::setPreferences):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::~WebPageProxy):
        (WebKit::WebPageProxy::setPreferences):
        (WebKit::WebPageProxy::preferencesDidChange):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPreferences.cpp:
        (WebKit::WebPreferences::~WebPreferences):
        (WebKit::WebPreferences::addPage):
        (WebKit::WebPreferences::removePage):
        (WebKit::WebPreferences::update):
        (WebKit::WebPreferences::updatePrivateBrowsingValue):
        (WebKit::WebPreferences::anyPagesAreUsingPrivateBrowsing):
        * UIProcess/WebPreferences.h:

2014-02-07  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Add support for text document viewport configuration
        https://bugs.webkit.org/show_bug.cgi?id=128359

        Reviewed by Simon Fraser.

        When a text document is being loaded, use the plainText viewport parameters.

        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didCommitLoad):

2014-02-07  Gavin Barraclough  <barraclough@apple.com>

        Should report user input to PageThrottler
        https://bugs.webkit.org/show_bug.cgi?id=128398

        Reviewed by Tim Horton.

        Make sure we wake from AppNap if there is user interaction.

        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
        (WebKit::NPRuntimeObjectMap::evaluate):
            - reportInterestingEvent() -> pluginDidEvaluate()
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mouseEvent):
        (WebKit::WebPage::wheelEvent):
        (WebKit::WebPage::keyEvent):
            - call didReceiveUserInput()

2014-02-07  Dean Jackson  <dino@apple.com>

        WebGL doesn't update with remotely hosted layers
        https://bugs.webkit.org/show_bug.cgi?id=128390

        Reviewed by Simon Fraser.

        PlatformCALayerRemote was intercepting the setNeedsDisplay calls to
        WebGL layers, and thus causing them to not draw. Fix this by adding an
        override in PlatformCALayerRemoteCustom to check if it is a WebGLLayer
        and call setNeedsDisplay directly.

        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
        (PlatformCALayerRemoteCustom::setNeedsDisplay):

2014-02-07  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Fitler touch events only based on touch start
        https://bugs.webkit.org/show_bug.cgi?id=128354

        Reviewed by Simon Fraser.

        Touch Events track their target, we should not test the touch regions
        again after a touch sequence starts.

        This patch adds a boolean flag to know if we are sending events to the WebProcess
        (m_isTrackingTouchEvents). The flag is updated every time a touch sequence starts.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::shouldStartTrackingTouchEvents):
        (WebKit::WebPageProxy::handleTouchEvent):
        * UIProcess/WebPageProxy.h:

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Simplify WebPreferences creation inside WebPageGroup
        https://bugs.webkit.org/show_bug.cgi?id=128392

        Reviewed by Andreas Kling.

        Always create a WebPreferences object when creating the web page group.
        This is another step towards letting WebPageProxy manage web preferences.

        * UIProcess/WebPageGroup.cpp:
        (WebKit::pageGroupData):
        (WebKit::WebPageGroup::WebPageGroup):
        (WebKit::WebPageGroup::~WebPageGroup):
        (WebKit::WebPageGroup::setPreferences):
        (WebKit::WebPageGroup::preferences):
        * UIProcess/WebPageGroup.h:

2014-02-07  Gavin Barraclough  <barraclough@apple.com>

        Reenable AppNap
        https://bugs.webkit.org/show_bug.cgi?id=128394

        Reviewed by Tim Horton.

        * Shared/WebPreferencesStore.h:
            - pageVisibilityBasedProcessSuppressionEnabled should default to true.

2014-02-07  Tim Horton  <timothy_horton@apple.com>

        Rename ViewGestureController.mm to ViewGestureControllerMac.mm
        https://bugs.webkit.org/show_bug.cgi?id=128387

        Reviewed by Anders Carlsson.

        As a precursor to having a second nearly completely divergent
        ViewGestureController implementation for iOS.

        * UIProcess/mac/ViewGestureControllerMac.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.mm.
        * WebKit2.xcodeproj/project.pbxproj:
        Rename ViewGestureController.mm to ViewGestureControllerMac.mm.
        Unfortunately, since we're not renaming the class, the header
        has to keep its name (and will be the recipient of a giant #if in a later
        patch), because the message receiver generated code will try to import
        ViewGestureController.h (without the Mac suffix).

2014-02-07  Anders Carlsson  <andersca@apple.com>

        Copying a WebPreferences object should be done through a member function
        https://bugs.webkit.org/show_bug.cgi?id=128385

        Reviewed by Andreas Kling.

        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesCreateCopy):
        * UIProcess/WebPreferences.cpp:
        (WebKit::WebPreferences::copy):
        * UIProcess/WebPreferences.h:

2014-02-07  Anders Carlsson  <andersca@apple.com>

        WebPageGroup::setPreferences should set the preferences on all pages in the group
        https://bugs.webkit.org/show_bug.cgi?id=128383

        Reviewed by Alexey Proskuryakov.

        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::setPreferences):

2014-02-07  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKRemoteObjectInterface doesn’t support aribtrary argument classes
        https://bugs.webkit.org/show_bug.cgi?id=128368

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Declared new methods.
        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        (propertyListClasses): Removed NSNull, which is not really a property list class.
        (classesForSelectorArgument): Added helper function.
        (-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Added.
        (-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Added.

2014-02-07  Dan Bernstein  <mitz@apple.com>

        [Cocoa] API::FrameHandle has a generic wrapper
        https://bugs.webkit.org/show_bug.cgi?id=128366

        Reviewed by Anders Carlsson.

        Added WKFrameHandle.

        * Shared/API/Cocoa/WKFrameHandle.h: Added.
        * Shared/API/Cocoa/WKFrameHandle.mm: Added.
        (-[WKFrameHandle dealloc]): Calls the API::FrameHandle destructor.
        (-[WKFrameHandle isEqual:]): Checks for frame ID equality.
        (-[WKFrameHandle hash]): Returns the frame ID.
        (-[WKFrameHandle _frameID]): Ditto.
        (-[WKFrameHandle copyWithZone:]): Retains self.
        (+[WKFrameHandle supportsSecureCoding]): Returns YES.
        (-[WKFrameHandle initWithCoder:]): Decodes the frame ID and constructs an API::FrameHandle
        with it.
        (-[WKFrameHandle encodeWithCoder:]): Encodes the frame ID.
        (-[WKFrameHandle _apiObject]): Returns the wrapped API::FrameHandle.
        * Shared/API/Cocoa/WKFrameHandleInternal.h: Added.
        (WebKit::wrapper): Added. Returns an API::FrameHandle’s wrapper as a WKFrameHandle.

        * Shared/APIFrameHandle.cpp:
        (API::FrameHandle::create): Changed to return a PassRefPtr.
        * Shared/APIFrameHandle.h: Made the constructor public for -[WKFrameHandle initWithCoder:].

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate a WKFrameHandle if the object is an API::FrameHandle.

        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared handle property.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
        (+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]): Added. Calls WebProcess::webFrame to
        look up a frame with the given handle’s frame ID.
        (-[WKWebProcessPlugInFrame handle]): Added. Returns a new handle with the frame’s ID.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Updated #import.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h: Added.

2014-02-07  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKWebProcessPlugInNodeHandle methods leak and may crash
        https://bugs.webkit.org/show_bug.cgi?id=128365

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
        (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]): Null-check the result
        of InjectedBundleNodeHandle::getOrCreate, and autorelease the return value.
        (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]): Null-check the result of
        InjectedBundleNodeHandle::htmlIFrameElementContentFrame, and autorelease the return value.

2014-02-06  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/create-index-with-integer-keys.html fails
        <rdar://problem/16002857> and https://bugs.webkit.org/show_bug.cgi?id=128316

        Reviewed by Geoff Garen.

        Update Vector<char> to Vector<uint8_t> throughout:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Update Vector<char> to Vector<uint8_t> throughout:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::advanceOnce):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
        (WebKit::SQLiteIDBCursor::currentValueBuffer):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex): Create a script value from the value data, use
          generateIndexKeysForValue to get the index keys, and then write the resulting index records.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Call through to uncheckedPutIndexRecord.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Version of putIndexRecord that doesn’t
          validate the transaction or its mode.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Update Vector<char> to Vector<uint8_t>.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Ditto.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-02-07  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] WebView should be able to configure to set fixed layout
        https://bugs.webkit.org/show_bug.cgi?id=128300

        Reviewed by Gyuyoung Kim.

        Currently, webview is created by setting fixed layout as true and there is no way to change the setting.
        But some applications may do not want to use fixed layout so I'd like to add ewk APIs to configure to it.

        * UIProcess/API/efl/ewk_view.cpp:
        (EWKViewCreate): Do not set to use fixed layout as default.
        (ewk_view_layout_fixed_set):
        (ewk_view_layout_fixed_get):
        * UIProcess/API/efl/ewk_view.h: Add ewk APIs to set fixed layout.
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (TEST_F):

2014-02-06  Brady Eidson  <beidson@apple.com>

        Unreviewed build fix after r163612.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

2014-02-06  Brady Eidson  <beidson@apple.com>

        IDB: Remove the entirely unnecessary "Value Key" concept
        https://bugs.webkit.org/show_bug.cgi?id=128360

        Reviewed by Dan Bernstein.

        All cursor operations were set up to pass a value key parameter around, but it was:
        1 - Entirely unused
        2 - The same thing that the primary key is supposed to be

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openCursor):
        (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
        (WebKit::DatabaseProcessIDBConnection::cursorIterate):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openCursor):
        (WebKit::UniqueIDBDatabase::cursorAdvance):
        (WebKit::UniqueIDBDatabase::cursorIterate):
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::advanceOnce): Clean this logic up to not need temporaries,
          and also to save the correct primary key (previously the 'value key')
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didOpenCursor):
        (WebKit::WebIDBServerConnection::didAdvanceCursor):
        (WebKit::WebIDBServerConnection::didIterateCursor):
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

2014-02-06  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on GTK build since r163597

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseUpdatePreferences):

2014-02-06  Yongjun Zhang  <yongjun_zhang@apple.com>

        Need a ObjC SPI to get the process identifier for web process.
        https://bugs.webkit.org/show_bug.cgi?id=128356

        Reviewed by Dan Bernstein.

        Add a SPI for WKBrowsingContextController to return the process identifier of web
        process in the current page.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController processIdentifier]):
        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:

2014-02-06  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on EFL build since r163597

        preferences() changed return type from pointer to reference.

        * UIProcess/API/efl/ewk_settings.cpp:
        (EwkSettings::preferences):
        (ewk_settings_fullscreen_enabled_set):
        (ewk_settings_fullscreen_enabled_get):
        (ewk_settings_javascript_enabled_set):
        (ewk_settings_javascript_enabled_get):
        (ewk_settings_loads_images_automatically_set):
        (ewk_settings_loads_images_automatically_get):
        (ewk_settings_developer_extras_enabled_set):
        (ewk_settings_developer_extras_enabled_get):
        (ewk_settings_file_access_from_file_urls_allowed_set):
        (ewk_settings_file_access_from_file_urls_allowed_get):
        (ewk_settings_frame_flattening_enabled_set):
        (ewk_settings_frame_flattening_enabled_get):
        (ewk_settings_dns_prefetching_enabled_set):
        (ewk_settings_dns_prefetching_enabled_get):
        (ewk_settings_encoding_detector_enabled_set):
        (ewk_settings_encoding_detector_enabled_get):
        (ewk_settings_preferred_minimum_contents_width_set):
        (ewk_settings_preferred_minimum_contents_width_get):
        (ewk_settings_offline_web_application_cache_enabled_set):
        (ewk_settings_offline_web_application_cache_enabled_get):
        (ewk_settings_scripts_can_open_windows_set):
        (ewk_settings_scripts_can_open_windows_get):
        (ewk_settings_local_storage_enabled_set):
        (ewk_settings_local_storage_enabled_get):
        (ewk_settings_plugins_enabled_set):
        (ewk_settings_plugins_enabled_get):
        (ewk_settings_default_font_size_set):
        (ewk_settings_default_font_size_get):
        (ewk_settings_private_browsing_enabled_set):
        (ewk_settings_private_browsing_enabled_get):
        (ewk_settings_text_autosizing_enabled_set):
        (ewk_settings_text_autosizing_enabled_get):
        (ewk_settings_spatial_navigation_enabled_set):
        (ewk_settings_spatial_navigation_enabled_get):
        (EwkSettings::setDefaultTextEncodingName):
        * UIProcess/API/efl/ewk_settings_private.h:
        (EwkSettings::EwkSettings):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::preferencesDidChange):

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Crash in MiniBrowser when using Command-W to close a WK2 window
        https://bugs.webkit.org/show_bug.cgi?id=128355
        <rdar://problem/16008531>

        Reviewed by Simon Fraser.

        Don't set the API clients to nullptr when closing the page, just create new empty ones instead.
        Too much code depends on the clients never being null.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::close):

2014-02-03  Tim Horton  <timothy_horton@apple.com>

        [wk2] iOS should use accelerated drawing by default, except in the simulator
        https://bugs.webkit.org/show_bug.cgi?id=128140
        <rdar://problem/15974171>

        Reviewed by Anders Carlsson.

        * Shared/WebPreferencesStore.h:
        Turn full-page accelerated drawing on for iOS, except the simulator which doesn't support it.
        Turn canvas accelerated drawing on for all platforms except the iOS simulator, for the same reason.
        The defaults remain the same for non-iOS platforms.

2014-02-06  Jeremy Jones  <jeremyj@apple.com>

        Add support for AVKit fullscreen to WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=128143

        Reviewed by Simon Fraser.

        Add WebVideoFullscreenManager and WebVideoFullscreenManagerProxy that implement 
        WebVideoFullscreenModel and WebVideoFullscreenInterface.

        * DerivedSources.make:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            initialize member m_videoFullscreenManager
    
        (WebKit::WebPageProxy::videoFullscreenManager):
            add accessor for videoFullscreenManager

        * UIProcess/WebPageProxy.h:
        * UIProcess/WebVideoFullscreenManagerProxy.cpp: Added.
        (WebKit::WebVideoFullscreenManagerProxy::create):
        (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
        (WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
            add basic creation for object.

        (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
        (WebKit::WebVideoFullscreenManagerProxy::requestExitFullScreen):
        (WebKit::WebVideoFullscreenManagerProxy::play):
        (WebKit::WebVideoFullscreenManagerProxy::pause):
        (WebKit::WebVideoFullscreenManagerProxy::togglePlayState):
        (WebKit::WebVideoFullscreenManagerProxy::seekToTime):
        (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
            implement WebVideoFullscreenModel to send IPC message.

        * UIProcess/WebVideoFullscreenManagerProxy.h: Added.
        * UIProcess/WebVideoFullscreenManagerProxy.messages.in: Added.
            this interface closely matches WebVideoFullscreenInterface

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::supportsFullscreenForNode):
        (WebKit::WebChromeClient::enterFullscreenForNode):
        (WebKit::WebChromeClient::exitFullscreenForNode):
            Forward these requests onto the videoFullscreenManager

        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::videoFullscreenManager):
            accessor for m_videoFullscreenManager

        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebVideoFullscreenManager.cpp: Added.
        (WebKit::WebVideoFullscreenManager::create):
        (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
        (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
            add basic creation for object.

        (WebKit::WebVideoFullscreenManager::supportsFullscreen):
        (WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
        (WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
            implement interface called by WebChromeClient

        (WebKit::WebVideoFullscreenManager::setDuration):
        (WebKit::WebVideoFullscreenManager::setCurrentTime):
        (WebKit::WebVideoFullscreenManager::setRate):
        (WebKit::WebVideoFullscreenManager::setVideoDimensions):
        (WebKit::WebVideoFullscreenManager::setVideoLayer):
        (WebKit::WebVideoFullscreenManager::setVideoLayerID):
        (WebKit::WebVideoFullscreenManager::enterFullscreen):
        (WebKit::WebVideoFullscreenManager::exitFullscreen):
            implement WebVideoFullscreenInterface to send IPC message.

        * WebProcess/WebVideoFullscreenManager.h: Added.
        * WebProcess/WebVideoFullscreenManager.messages.in: Added.
            this interface closely matches WebVideoFullscreenModel

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Begin work on making preferences per page instead of per page group
        https://bugs.webkit.org/show_bug.cgi?id=128349

        Reviewed by Andreas Kling.

        * UIProcess/API/C/WKPageGroup.cpp:
        (WKPageGroupGetPreferences):
        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
        (WKPageIsURLKnownHSTSHost):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _preferencesDidChange]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
        (WebKit::WebInspectorProxy::attach):
        (WebKit::WebInspectorProxy::detach):
        (WebKit::WebInspectorProxy::setAttachedWindowHeight):
        (WebKit::WebInspectorProxy::setAttachedWindowWidth):
        (WebKit::WebInspectorProxy::createInspectorPage):
        (WebKit::WebInspectorProxy::shouldOpenAttached):
        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::preferences):
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::isProcessSuppressible):
        (WebKit::WebPageProxy::canShowMIMEType):
        (WebKit::WebPageProxy::preferencesDidChange):
        (WebKit::WebPageProxy::creationParameters):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::preferences):
        (WebKit::WebPageProxy::setPreferences):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::createInspectorWindow):
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        (WebKit::WebInspectorProxy::windowFrameDidChange):
        (WebKit::WebInspectorProxy::platformAttach):

2014-02-06  Gavin Barraclough  <barraclough@apple.com>

        Remove ChildProcess::m_activeTasks
        https://bugs.webkit.org/show_bug.cgi?id=128342

        Reviewed by Anders Carlson.

        Currently we funnel a number of different user activities
        to a single UserActivity object, which requires a call down
        from WebCore to WebKit2. Split these out so we can track
        them separately.

        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::PluginProcess):
            - added m_connectionActivity.
        * PluginProcess/PluginProcess.h:
        (WebKit::PluginProcess::connectionActivity):
            - added m_connectionActivity.
        * PluginProcess/WebProcessConnection.cpp:
        (WebKit::WebProcessConnection::didReceiveSyncMessage):
        (WebKit::WebProcessConnection::destroyPlugin):
        (WebKit::WebProcessConnection::createPlugin):
            - use connectionActivity
        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::PluginProcess::platformInitializeProcess):
            - use a separate UserActivity for Java.
        * Shared/ActivityAssertion.cpp:
        (WebKit::ActivityAssertion::ActivityAssertion):
        (WebKit::ActivityAssertion::~ActivityAssertion):
        * Shared/ActivityAssertion.h:
            - ChildProcess -> UserActivity
        * Shared/ChildProcess.cpp:
        (WebKit::ChildProcess::ChildProcess):
        * Shared/ChildProcess.h:
            - remove m_activeTasks.
        (WebKit::ChildProcess::processSuppressionEnabled):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        * WebProcess/WebCoreSupport/WebChromeClient.h:
            - removed [inc|dec]rementActivePageCount

2014-02-06  Pratik Solanki  <psolanki@apple.com>

        [iOS] WebKit2 can't access the GPU
        https://bugs.webkit.org/show_bug.cgi?id=128345
        <rdar://problem/15976084>

        Reviewed by Tim Horton.

        Add an entitlement to allow web process to access GPU.

        * Configurations/WebContent-iOS.entitlements: Added.
        * Configurations/WebContentService.Development.xcconfig:
        * Configurations/WebContentService.xcconfig:

2014-02-06  Pratik Solanki  <psolanki@apple.com>

        [iOS][WebKit2] Remove JoinExistingSession from plist
        https://bugs.webkit.org/show_bug.cgi?id=128318
        <rdar://problem/15971612>

        Reviewed by Tim Horton.

        Remove JoinExistingSession key that is not available on iOS.

        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _remoteObjectRegistry]):

2014-02-06  Benjamin Poulain  <bpoulain@apple.com>

        Fix the setter definition from r163514.

        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>

        [iOS] Remove duplicate call to RunLoop::initializeMainRunLoop
        https://bugs.webkit.org/show_bug.cgi?id=128328

        Reviewed by Dan Bernstein.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:configuration:]):
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>

        [iOS] Set UIProcess pid in WebProcess initialization for Remote Inspector
        https://bugs.webkit.org/show_bug.cgi?id=128338

        Reviewed by Sam Weinig.

        * WebProcess/ios/WebProcessIOS.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2014-02-06  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Console support to JSContext Inspection
        https://bugs.webkit.org/show_bug.cgi?id=127941

        Reviewed by Geoffrey Garen.

        * WebProcess/WebCoreSupport/WebChromeClient.h:

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Add preferences property to WKWebViewConfiguration
        https://bugs.webkit.org/show_bug.cgi?id=128337

        Reviewed by Sam Weinig.

        Also use RetainPtr for processClass and preferences so we won't leak them.

        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration processClass]):
        (-[WKWebViewConfiguration setProcessClass:]):
        (-[WKWebViewConfiguration preferences]):
        (-[WKWebViewConfiguration setPreferences:]):

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Add a remoteObjectRegistry property to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128331

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView resizeSubviewsWithOldSize:]):
        (-[WKWebView _remoteObjectRegistry]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Add WKNavigationResponse class
        https://bugs.webkit.org/show_bug.cgi?id=128326

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKFrameInfo.mm:
        (-[WKFrameInfo initWithWebFrameProxy:WebKit::]):
        * UIProcess/API/Cocoa/WKFrameInfoInternal.h:
        * UIProcess/API/Cocoa/WKNavigationResponse.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
        * UIProcess/API/Cocoa/WKNavigationResponse.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfo.mm.
        (-[WKNavigationResponse frame]):
        (-[WKNavigationResponse setFrame:]):
        (-[WKNavigationResponse response]):
        (-[WKNavigationResponse setResponse:]):
        * UIProcess/API/Cocoa/WKNavigationResponseInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Replace ’ with ' to silence the check-for-webkit-framework-include-consistency script.

        * UIProcess/API/Cocoa/WKWebView.h:

2014-02-06  Anders Carlsson  <andersca@apple.com>

        Add backForwardList property to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128320

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView backForwardList]):

2014-02-06  Anders Carlsson  <andersca@apple.com>

        The source frame request is not the same thing as the original request
        https://bugs.webkit.org/show_bug.cgi?id=128317

        Reviewed by Andreas Kling.

        Grab the source frame URL From the WebFrameProxy object.

        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::frameInfoFromWebFrameProxy):
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

2014-02-06  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/clear.html fails
        <rdar://problem/15997155> and https://bugs.webkit.org/show_bug.cgi?id=128282

        Reviewed by David Kilzer.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openTransaction): Update logging.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::commit): Update ASSERT.

2014-02-06  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the build after r163516 for !ENABLE(ASYNC_SCROLLING) platforms
        https://bugs.webkit.org/show_bug.cgi?id=128299

        Reviewed by Antti Koivisto.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::handleTouchEvent):

2014-02-05  Gavin Barraclough  <barraclough@apple.com>

        Change Page, FocusController to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=126533

        Reviewed by Tim Horton.

        These classes currently maintain a set of separate fields to represent the view state;
        combine these into a single field, and allow WebPage to send the combined update rather
        than individual changes.

        Maintain existing interface for WebKit1 clients.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - Combined separate calls to Page::setViewState.
        (WebKit::WebPage::updateIsInWindow):
            - Simplied from setIsInWindow.
        (WebKit::WebPage::setViewState):
            - Combined separate calls to Page::setViewState.
        * WebProcess/WebPage/WebPage.h:
            - Declare updateIsInWindow.

2014-02-05  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r163480.

        * GNUmakefile.list.am: Removing the WebUIClient build targets.

2014-02-05  Simon Fraser  <simon.fraser@apple.com>

        Transfer the non-fast-scrollable region to the UI process for iOS
        https://bugs.webkit.org/show_bug.cgi?id=128293

        Reviewed by Benjamin Poulain.

        Two main changes to support sending the non-fast scrollable region
        to the UI process for iOS:
        
        1. Add ScrollingCoordinator::frameViewNonFastScrollableRegionChanged(),
        which is called when we've updated the touch event region (this can happen
        independenly of layout). When called we just scheduled a scrolling tree
        commit with the new region.
        
        2. Avoid thinking that we have a new root node with every remote scrolling
        transaction. This was a side-effect of reconstructing the scrolling state
        tree in the UI process, and caused us to try to grab a nonFastScrollableRegion
        from a node which never had one set.
        
        Now that we have the non-fast scrollable region in the UI process, we can
        use it to avoid sending sync messages to the web process.
        
        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (ArgumentCoder<ScrollingStateScrollingNode>::encode): Encode hasNewRootNode.
        (ArgumentCoder<ScrollingStateScrollingNode>::decode): Decode hasNewRootNode and set it on
        the state tree.
        (WebKit::RemoteScrollingCoordinatorTransaction::encode): Encode the nonFastScrollableRegion
        now that we can encode Regions.
        (WebKit::RemoteScrollingCoordinatorTransaction::decode): Decode the nonFastScrollableRegion
        now that we can decode Regions.
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::isPointInNonFastScrollableRegion):
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::handleTouchEvent): If we're not in the non-fast scrollable region,
        don't both sending touch events to the web process.

2014-02-05  Benjamin Poulain  <benjamin@webkit.org>

        [iOS] Synchronize the WKContentView and UIScrollView updates with the tiles being commited
        https://bugs.webkit.org/show_bug.cgi?id=127886

        Reviewed by Simon Fraser.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::mainFrameContentsSize):
        (WebKit::RemoteLayerTreeTransaction::setMainFrameContentsSize):
        (WebKit::RemoteLayerTreeTransaction::pageScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::setPageScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::minimumScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::setMinimumScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::maximumScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::setMaximumScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::allowsUserScaling):
        (WebKit::RemoteLayerTreeTransaction::setAllowsUserScaling):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::didCommitLayerTree):
        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView setMinimumLayoutSize:]):
        (-[WKContentView willStartUserTriggeredZoom]):
        (-[WKContentView _didCommitLayerTree:WebKit::]):
        * UIProcess/API/ios/WKContentViewInternal.h:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView contentViewDidCommitLoadForMainFrame:]):
        (-[WKView contentView:didCommitLayerTree:WebKit::]):
        (-[WKView scrollViewWillBeginZooming:withView:]):
        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        (-[WKView _frameOrBoundsChanged]):
        (-[WKView minimumLayoutSizeOverride]):
        (-[WKView setMinimumLayoutSizeOverride:]):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::setVirtualViewportMinimumLayoutSize):
        (WebKit::WebPageProxy::didCommitLayerTree):
        (WebKit::WebPageProxy::willStartUserTriggeredZooming):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::contentsSizeChanged):
        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
        (WebKit::WebChromeClient::didReceiveMobileDocType):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::mainFrameDidLayout):
        (WebKit::WebPage::didCommitLoad):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::viewportPropertiesDidChange):
        (WebKit::WebPage::minimumPageScaleFactor):
        (WebKit::WebPage::maximumPageScaleFactor):
        (WebKit::WebPage::allowsUserScaling):
        (WebKit::WebPage::setVirtualViewportMinimumLayoutSize):
        (WebKit::WebPage::virtualViewportChanged):
        (WebKit::WebPage::willStartUserTriggeredZooming):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):

2014-02-05  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Add the minimumLayoutSizeOverride SPI to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128295

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView minimumLayoutSizeOverride]):
        (-[WKWebView setMinimumLayoutSizeOverride:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-05  Simon Fraser  <simon.fraser@apple.com>

        Support encoding and decoding of Regions
        https://bugs.webkit.org/show_bug.cgi?id=128284

        Reviewed by Anders Carlsson.
        
        Support encoding and decoding of Region, and its internal
        struct Region::Span.
        
        ArgumentCoders had to be taught about how to encode
        Vectors with inline capacity.

        * Platform/IPC/ArgumentCoders.h:
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<Region::Span>::encode):
        (IPC::ArgumentCoder<Region::Span>::decode):
        (IPC::ArgumentCoder<Region>::encode):
        (IPC::ArgumentCoder<Region>::decode):
        * Shared/WebCoreArgumentCoders.h:

2014-02-05  Anders Carlsson  <andersca@apple.com>

        Add -[WKNavigationAction request]
        https://bugs.webkit.org/show_bug.cgi?id=128288

        Reviewed by Andreas Kling.

        * UIProcess/API/Cocoa/WKNavigationAction.h:
        * UIProcess/API/Cocoa/WKNavigationAction.mm:
        (-[WKNavigationAction request]):
        (-[WKNavigationAction setRequest:]):
        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

2014-02-05  Sam Weinig  <sam@webkit.org>

        [WebKit2, FTL] Add user default to enable the FTL
        https://bugs.webkit.org/show_bug.cgi?id=128281

        Reviewed by Geoffrey Garen.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::registerUserDefaultsIfNeeded):
        (WebKit::WebContext::platformInitializeWebProcess):
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):
        Pipe through the default.

2014-02-05  Anders Carlsson  <andersca@apple.com>

        Add sourceFrame to WKNavigationAction
        https://bugs.webkit.org/show_bug.cgi?id=128280

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKFrameInfo.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
        * UIProcess/API/Cocoa/WKFrameInfo.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
        (-[WKFrameInfo request]):
        (-[WKFrameInfo setRequest:]):
        * UIProcess/API/Cocoa/WKFrameInfoInternal.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
        * UIProcess/API/Cocoa/WKNavigationAction.h:
        * UIProcess/API/Cocoa/WKNavigationAction.mm:
        (-[WKNavigationAction sourceFrame]):
        (-[WKNavigationAction setSourceFrame:]):
        * UIProcess/API/Cocoa/WKNavigationActionInternal.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::frameInfoFromWebFrameProxy):
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-05  Enrica Casucci  <enrica@apple.com>

        WK2: Tap highlight is positioned incorrectly in iframes.
        https://bugs.webkit.org/show_bug.cgi?id=128277
        <rdar://problem/15975993>

        Reviewed by Benjamin Poulain.

        We need to convert the quad to root view coordinates
        before returning it to the UIProcess for drawing the highlight.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::tapHighlightAtPosition):

2014-02-05  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on EFL build after r163480

        * CMakeLists.txt: Removed WebUIClient.cpp from source lists.

2014-02-05  Oliver Hunt  <oliver@apple.com>

        Change custom getter signature to make the base reference an object pointer
        https://bugs.webkit.org/show_bug.cgi?id=128279

        Reviewed by Geoffrey Garen.

        Update everything to the new calling convention.

        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
        (WebKit::JSNPObject::propertyGetter):
        (WebKit::JSNPObject::methodGetter):
        * WebProcess/Plugins/Netscape/JSNPObject.h:

2014-02-05  Andreas Kling  <akling@apple.com>

        Remove ENABLE(DIRECTORY_UPLOAD).
        <https://webkit.org/b/128275>

        Rubber-stamped by Ryosuke Niwa.

        * Configurations/FeatureDefines.xcconfig:
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<FileChooserSettings>::encode):
        (IPC::ArgumentCoder<FileChooserSettings>::decode):

2014-02-05  Brady Eidson  <beidson@apple.com>

        IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
        https://bugs.webkit.org/show_bug.cgi?id=128257

        Reviewed by Sam Weinig.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Write the correct key to the index if it was auto generated.
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore): If this is an auto increment object store with
          a non-empty key path, save the key path to the get result.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): The IndexRecord schema shouldn’t
          have key uniqueness.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord): Take IDBKeyData instead of IDBKey.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Fill in the primary key from the fetch.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-02-05  Anders Carlsson  <andersca@apple.com>

        Get rid of WebUIClient
        https://bugs.webkit.org/show_bug.cgi?id=128274

        Reviewed by Andreas Kling.

        * UIProcess/API/APIUIClient.h: Added.
        (API::UIClient::~UIClient):
        (API::UIClient::createNewPage):
        (API::UIClient::showPage):
        (API::UIClient::close):
        (API::UIClient::takeFocus):
        (API::UIClient::focus):
        (API::UIClient::unfocus):
        (API::UIClient::runJavaScriptAlert):
        (API::UIClient::runJavaScriptConfirm):
        (API::UIClient::runJavaScriptPrompt):
        (API::UIClient::setStatusText):
        (API::UIClient::mouseDidMoveOverElement):
        (API::UIClient::unavailablePluginButtonClicked):
        (API::UIClient::implementsDidNotHandleKeyEvent):
        (API::UIClient::didNotHandleKeyEvent):
        (API::UIClient::implementsDidNotHandleWheelEvent):
        (API::UIClient::didNotHandleWheelEvent):
        (API::UIClient::toolbarsAreVisible):
        (API::UIClient::setToolbarsAreVisible):
        (API::UIClient::menuBarIsVisible):
        (API::UIClient::setMenuBarIsVisible):
        (API::UIClient::statusBarIsVisible):
        (API::UIClient::setStatusBarIsVisible):
        (API::UIClient::isResizable):
        (API::UIClient::setIsResizable):
        (API::UIClient::setWindowFrame):
        (API::UIClient::windowFrame):
        (API::UIClient::canRunBeforeUnloadConfirmPanel):
        (API::UIClient::runBeforeUnloadConfirmPanel):
        (API::UIClient::didDraw):
        (API::UIClient::pageDidScroll):
        (API::UIClient::exceededDatabaseQuota):
        (API::UIClient::runOpenPanel):
        (API::UIClient::decidePolicyForGeolocationPermissionRequest):
        (API::UIClient::decidePolicyForNotificationPermissionRequest):
        (API::UIClient::headerHeight):
        (API::UIClient::footerHeight):
        (API::UIClient::drawHeader):
        (API::UIClient::drawFooter):
        (API::UIClient::printFrame):
        (API::UIClient::canRunModal):
        (API::UIClient::runModal):
        (API::UIClient::saveDataToFileInDownloadsFolder):
        (API::UIClient::shouldInterruptJavaScript):
        (API::UIClient::showColorPicker):
        (API::UIClient::hideColorPicker):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setUIClient):
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::createNewPage):
        (WebKit::WebPageProxy::showPage):
        (WebKit::WebPageProxy::closePage):
        (WebKit::WebPageProxy::runJavaScriptAlert):
        (WebKit::WebPageProxy::runJavaScriptConfirm):
        (WebKit::WebPageProxy::runJavaScriptPrompt):
        (WebKit::WebPageProxy::shouldInterruptJavaScript):
        (WebKit::WebPageProxy::setStatusText):
        (WebKit::WebPageProxy::mouseDidMoveOverElement):
        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
        (WebKit::WebPageProxy::setToolbarsAreVisible):
        (WebKit::WebPageProxy::getToolbarsAreVisible):
        (WebKit::WebPageProxy::setMenuBarIsVisible):
        (WebKit::WebPageProxy::getMenuBarIsVisible):
        (WebKit::WebPageProxy::setStatusBarIsVisible):
        (WebKit::WebPageProxy::getStatusBarIsVisible):
        (WebKit::WebPageProxy::setIsResizable):
        (WebKit::WebPageProxy::getIsResizable):
        (WebKit::WebPageProxy::setWindowFrame):
        (WebKit::WebPageProxy::getWindowFrame):
        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
        (WebKit::WebPageProxy::pageDidScroll):
        (WebKit::WebPageProxy::runOpenPanel):
        (WebKit::WebPageProxy::printFrame):
        (WebKit::WebPageProxy::didDraw):
        (WebKit::WebPageProxy::setFocus):
        (WebKit::WebPageProxy::takeFocus):
        (WebKit::WebPageProxy::didReceiveEvent):
        (WebKit::WebPageProxy::creationParameters):
        (WebKit::WebPageProxy::exceededDatabaseQuota):
        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
        (WebKit::WebPageProxy::requestNotificationPermission):
        (WebKit::WebPageProxy::headerHeight):
        (WebKit::WebPageProxy::footerHeight):
        (WebKit::WebPageProxy::drawHeader):
        (WebKit::WebPageProxy::drawFooter):
        (WebKit::WebPageProxy::runModal):
        (WebKit::WebPageProxy::setCanRunModal):
        (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebUIClient.cpp: Removed.
        * UIProcess/WebUIClient.h: Removed.
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::windowAndViewFramesChanged):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-05  Enrica Casucci  <enrica@apple.com>

        WK2: Caret, selections and autocorrection bubbles are incorrectly positioned when inside an iframe.
        https://bugs.webkit.org/show_bug.cgi?id=128264
        <rdar://problem/15986954>

        Reviewed by Simon Fraser.

        Everywhere we return rectangles to the UIProcess, we need to convert them
        to root view coordinates. Also, we should allow hit testing to go into child
        frames.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::editorState):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::selectWithGesture):
        (WebKit::WebPage::updateSelectionWithTouches):
        (WebKit::WebPage::convertSelectionRectsToRootView):
        (WebKit::WebPage::requestAutocorrectionData):
        (WebKit::WebPage::getPositionInformation):

2014-02-05  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKRemoteObjectInterface fails with doubles, NSNull, and empty NSStrings
        https://bugs.webkit.org/show_bug.cgi?id=128268

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]): When returning nullptr, also
        set the length out parameter to 0.

        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        (propertyListClasses): Added NSNull.

        * Shared/UserData.cpp:
        (WebKit::UserData::encode): Encode the Double type.

2014-02-05  Jer Noble  <jer.noble@apple.com>

        [WK2] [iOS] No video on embedded YouTube
        https://bugs.webkit.org/show_bug.cgi?id=128237

        Reviewed by Sam Weinig.

        We were using the wrong #if directive; PLUGIN_PROXY_FOR_VIDEO is an ENABLE not a USE.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-05  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose more WKWebProcessPlugInFrame properties
        https://bugs.webkit.org/show_bug.cgi?id=128240

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Declared new properties.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
        (-[WKWebProcessPlugInFrame URL]): Added.
        (-[WKWebProcessPlugInFrame childFrames]): Added.
        (-[WKWebProcessPlugInFrame containsAnyFormElements]): Added.

2014-02-05  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Notify WKWebProcessPlugInLoadDelegate when a frame is removed from the frame hierarchy
        https://bugs.webkit.org/show_bug.cgi?id=128239

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
        delegate method.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (didRemoveFrameFromHierarchy): Implemented this page loader client callback by calling the
        load delegate.
        (setUpPageLoaderClient): Set the above callback in the client structure.

2014-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Remove ENABLE(SVG) guards
        https://bugs.webkit.org/show_bug.cgi?id=127991

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:
        * GNUmakefile.am:

2014-02-05  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Replace DEFINE_STATIC_LOCAL with NeverDestroyed<T> in GTK WK1 and WK2 code
        https://bugs.webkit.org/show_bug.cgi?id=128195

        Reviewed by Martin Robinson.

        Use static NeverDestroyed<T> variables instead of the DEFINE_STATIC_LOCAL macro.

        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
        (historyItemsMap):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (downloadsMap):
        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::pluginWindowMap):
        * WebProcess/gtk/WebGtkExtensionManager.cpp:
        (WebKit::WebGtkExtensionManager::shared):
        * WebProcess/gtk/WebGtkExtensionManager.h:

2014-02-04  Andreas Kling  <akling@apple.com>

        Remove <iframe seamless> support.
        <https://webkit.org/b/128213>

        Rubber-stamped by Antti Koivisto.

        * Configurations/FeatureDefines.xcconfig:
        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        * WebProcess/InjectedBundle/InjectedBundle.h:

2014-02-04  Tim Horton  <timothy_horton@apple.com>

        [iOS][wk2] Make development builds of WebKit work on device
        https://bugs.webkit.org/show_bug.cgi?id=128230

        Reviewed by Anders Carlsson.

        * Configurations/NetworkService.Development.xcconfig:
        * Configurations/WebContentService.Development.xcconfig:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info-iOS.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-OSX.plist: Renamed from Source/WebKit2/WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist.
        The Development services should match the non-Development version's behavior
        of having separate plists for OS X and iOS.

2014-02-04  Brady Eidson  <beidson@apple.com>

        IDB: indexeddb/mozilla/add-twice-failure.html fails
        <rdar://problem/15982569> and https://bugs.webkit.org/show_bug.cgi?id=128208

        Reviewed by Tim Horton.

        Note that besides making indexeddb/mozilla/add-twice-failure.html pass this also makes some other tests
        pass and also improves the failure modes of others.

        A full accounting of which tests pass is coming soon.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): After checking for existence of the key and before
          adding the record, remove any previous record. (Defined by the spec, found exploring this test).

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore): Implement this.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Add a form to be used as mentioned above in
          UniqueIDBDatabase::putRecordInBackingStore.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore): CAST the key argument properly.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore): Ditto.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-02-04  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose more WKWebProcessPlugInNodeHandle properties
        https://bugs.webkit.org/show_bug.cgi?id=128219

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Declared new
        properties.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
        (-[WKWebProcessPlugInNodeHandle elementBounds]): Added.
        (-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]): Added.
        (-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]): Added.
        (-[WKWebProcessPlugInNodeHandle HTMLInputELementIsUserEdited]): Added.
        (-[WKWebProcessPlugInNodeHandle HTMLTextAreaELementIsUserEdited]): Added.
        (-[WKWebProcessPlugInNodeHandle HTMLTableCellElementCellAbove]): Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Rolled
        Internal category into the class extension.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Declared
        -clearWrappers.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
        (-[WKWebProcessPlugInScriptWorld clearWrappers]): Added. Calls through to clearWrappers().
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Rolled
        Internal category into the class extension.

2014-02-04  Alexey Proskuryakov  <ap@apple.com>

        webKitCookieStorageCopyRequestHeaderFieldsForURL builds an empty Cookie header when there are no cookies
        https://bugs.webkit.org/show_bug.cgi?id=128201

        Reviewed by Sam Weinig.

        * Shared/mac/CookieStorageShim.mm: (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
        Return null when NetworkProcess provided a null string, don't build a header dictionary
        with an empty Cookie value.

2014-02-04  Anders Carlsson  <andersca@apple.com>

        Add a WKNavigationAction object
        https://bugs.webkit.org/show_bug.cgi?id=128212

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKNavigationAction.h: Added.
        (NS_ENUM):
        * UIProcess/API/Cocoa/WKNavigationAction.mm: Added.
        * UIProcess/API/Cocoa/WKNavigationActionInternal.h: Added.
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::toWKNavigationType):
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-04  Anders Carlsson  <andersca@apple.com>

        Add back/forward related methods to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128209

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView canGoBack]):
        (-[WKWebView canGoForward]):
        (-[WKWebView goBack]):
        (-[WKWebView goForward]):

2014-02-04  Enrica Casucci  <enrica@apple.com>

        WK: Cannot select text inside clickable containers.
        https://bugs.webkit.org/show_bug.cgi?id=128197
        <rdar://problem/15970890>

        Reviewed by Simon Fraser.

        When retrieving position information, we first try to
        find the node responding to click events because we want
        to know whether we are on a link or an image to show
        the appropriate action sheet.
        We could still have a node responding to click events if
        for example we have a DIV with a click handler but that
        doesn't require any special handling and we still need to
        perform regular hit testing.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2014-02-04  Enrica Casucci  <enrica@apple.com>

        WK2: Selection callout bar does not scroll with the selection.
        https://bugs.webkit.org/show_bug.cgi?id=128142
        <rdar://problem/15970812>

        Reviewed by Benjamin Poulain.

        Adding notifications to WKContentView to all the delegates
        for scrolling and zooming to let WKInteractionView about it.
        This allows the interaction assistants to hide the callout
        while scrolling or zooming and to fade it in again at the end.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView scrollViewWillBeginZooming:withView:]):
        (-[WKWebView scrollViewWillBeginDragging:]):
        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView didFinishScrollTo:]):
        (-[WKContentView willStartZoomOrScroll]):
        (-[WKContentView didZoomToScale:]):
        * UIProcess/API/ios/WKInteractionView.h:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView _willStartScrollingOrZooming]):
        (-[WKInteractionView _didEndScrollingOrZooming]):
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView scrollViewWillBeginZooming:withView:]):
        (-[WKView scrollViewWillBeginDragging:]):

2014-02-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>

        Code cleanup: remove leftover occurrence of ENABLE(GESTURE_EVENTS)
        https://bugs.webkit.org/show_bug.cgi?id=128180

        Reviewed by Csaba Osztrogonác.

        Removed last occurrence of ENABLE(GESTURE_EVENTS).

        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::NetscapePlugin::platformHandleMouseEvent):

2014-02-04  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL][WK2] ewk_context needs to route InjectedBundle messages correctly.
        https://bugs.webkit.org/show_bug.cgi?id=90772

        Reviewed by Gyuyoung Kim.

        Add APIs to post message to injected bundle and register callback to
        get message from injected bundle. When callback is registered,
        WKContextInjectedBundleClient is set to get messages from injected bundle.

        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::EwkContext):
        (toEwkContext):
        (EwkContext::didReceiveMessageFromInjectedBundle):
        (EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
        (EwkContext::setMessageFromInjectedBundleCallback): register callback to get message from injected bundle.
        (EwkContext::processReceivedMessageFromInjectedBundle): process message from injected bundle.
        (ewk_context_message_post_to_injected_bundle):
        (ewk_context_message_from_injected_bundle_callback_set):
        * UIProcess/API/efl/ewk_context.h:
        * UIProcess/API/efl/ewk_context_private.h:

2014-02-04  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Stop using COMPILE_ASSERT_MATCHING_ENUM macros in EFL WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=128156

        Reviewed by Anders Carlsson.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::requestPopupMenu):
        * UIProcess/API/efl/ewk_context.cpp:
        (toWKCacheModel):
        (EwkContext::setCacheModel):
        * UIProcess/API/efl/ewk_cookie_manager.cpp:
        (ewk_cookie_manager_persistent_storage_set):
        (ewk_cookie_manager_accept_policy_set):
        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
        (toEwkNavigationType):
        (toEventMouseButton):
        (toEventModifierKeys):
        (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
        (EwkNavigationPolicyDecision::navigationType):
        (EwkNavigationPolicyDecision::mouseButton):
        (EwkNavigationPolicyDecision::modifiers):
        (ewk_navigation_policy_decision_download):
        * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
        (EwkNavigationPolicyDecision::create):
        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
        (EwkPopupMenuItem::type):
        (EwkPopupMenuItem::textDirection):
        * UIProcess/API/efl/ewk_private.h:
        * UIProcess/API/efl/ewk_view.cpp:
        (toWKFindOptions):
        (ewk_view_text_find):
        (toWKPaginationMode):
        (toEwkPaginationMode):
        (ewk_view_pagination_mode_set):
        (ewk_view_pagination_mode_get):

2014-02-03  Brady Eidson  <beidson@apple.com>

        Unreviewed build fix after http://trac.webkit.org/changeset/163364

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::getObjectStoreStatement): Args need the new names, and I need to save the file before committing.  :(

2014-02-03  Brady Eidson  <beidson@apple.com>

        IDB: HTML5 Rocks Indexed Database demo fails
        https://bugs.webkit.org/show_bug.cgi?id=128157

        Reviewed by Anders Carlsson (Provisional review by Jon Lee)

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::getIndexStatement): Only increment the open/closed counters if those keys exist.
          Fix order of statements for no lower key.
        (WebKit::getObjectStoreStatement): Only increment the open/closed counters if those keys exist.

2014-02-03  Jae Hyun Park  <jae.park@company100.net>

        Use nullptr in ShareableBitmap
        https://bugs.webkit.org/show_bug.cgi?id=128153

        Reviewed by Gyuyoung Kim.

        * Shared/ShareableBitmap.cpp:
        (WebKit::ShareableBitmap::create):
        (WebKit::ShareableBitmap::createShareable):

2014-02-03  Anders Carlsson  <andersca@apple.com>

        Add title and hasOnlySecureContent properties to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128152

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView title]):
        (-[WKWebView hasOnlySecureContent]):
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::didChangeIsLoading):
        (WebKit::NavigationState::willChangeTitle):
        (WebKit::NavigationState::didChangeTitle):
        (WebKit::NavigationState::willChangeHasOnlySecureContent):
        (WebKit::NavigationState::didChangeHasOnlySecureContent):

2014-02-03  Sam Weinig  <sam@webkit.org>

        Fix spelling.

        * Shared/WebPreferencesStore.h:

2014-02-03  Sam Weinig  <sam@webkit.org>

        [WebKit2, iOS] Enable frame flattening by default on iOS
        <rdar://problem/15975983>
        https://bugs.webkit.org/show_bug.cgi?id=128151

        Reviewed by Tim Horton.

        * Shared/WebPreferencesStore.h:

2014-02-03  Tim Horton  <timothy_horton@apple.com>

        [iOS][wk2] Temporarily disable accelerated drawing for canvas
        https://bugs.webkit.org/show_bug.cgi?id=128147

        Reviewed by Simon Fraser.

        * Shared/WebPreferencesStore.h:
        Temporarily disable accelerated canvas for WebKit2 on iOS.

2014-02-03  Anders Carlsson  <andersca@apple.com>

        Add loading property to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=128144

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView isLoading]):
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::willChangeIsLoading):
        (WebKit::NavigationState::didChangeIsLoading):

2014-02-03  Simon Fraser  <simon.fraser@apple.com>

        Allow WK2 to read from NSUserDefaults when it has no prefs identifier
        https://bugs.webkit.org/show_bug.cgi?id=128124

        Reviewed by Sam Weinig.
        
        WebPreferences would never read from NSUserDefaults if no identifier
        had been set, but this prevents us from reading useful debugging prefs.
        
        Fix to read pref names using a "WebKit2" prefix when no identifier
        is set.

        * UIProcess/mac/WebPreferencesMac.mm:
        (WebKit::makeKey):
        (WebKit::WebPreferences::platformInitializeStore):

2014-02-03  Jer Noble  <jer.noble@apple.com>

        [WK2] Remove the VideoPluginProxyEnabled preference in WK2
        https://bugs.webkit.org/show_bug.cgi?id=128128

        Reviewed by Brady Eidson.

        The plugin proxy is iOS WK1 only, and has no meaning in WebKit2. Just set the preference to false.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        * UIProcess/API/C/WKPreferencesRef.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2014-02-03  Dean Jackson  <dino@apple.com>

        Feature flag for shape-inside
        https://bugs.webkit.org/show_bug.cgi?id=128001

        Reviewed by Simon Fraser.

        Add CSS_SHAPE_INSIDE flag.

        * Configurations/FeatureDefines.xcconfig:

2014-02-03  Anders Carlsson  <andersca@apple.com>

        NavigationState should be a PageLoadState::Observer
        https://bugs.webkit.org/show_bug.cgi?id=128130

        Reviewed by Darin Adler.

        This will make it easier to provide load related KVO properties on WKWebView.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h: Added.
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::NavigationState):
        (WebKit::NavigationState::~NavigationState):
        (WebKit::NavigationState::willChangeIsLoading):
        (WebKit::NavigationState::didChangeIsLoading):
        (WebKit::NavigationState::willChangeTitle):
        (WebKit::NavigationState::didChangeTitle):
        (WebKit::NavigationState::willChangeActiveURL):
        (WebKit::NavigationState::didChangeActiveURL):
        (WebKit::NavigationState::willChangeHasOnlySecureContent):
        (WebKit::NavigationState::didChangeHasOnlySecureContent):
        (WebKit::NavigationState::willChangeEstimatedProgress):
        (WebKit::NavigationState::didChangeEstimatedProgress):
        * WebKit2.xcodeproj/project.pbxproj:

2014-02-03  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Two smart magnifications in a row without moving the mouse should zoom out
        https://bugs.webkit.org/show_bug.cgi?id=128108
        <rdar://problem/15914539>

        Reviewed by Darin Adler.

        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::handleMagnificationGesture):
        Clear the bit that tells us that we should do "smart" things (because the
        last gesture was also a smart magnification gesture) when the user manually pinch-magnifies.

        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
        Zoom out if the mouse hasn't moved since the last pinch-magnification gesture.


2014-02-03  Darin Adler  <darin@apple.com>

        Try to fix 32-bit Mac build.

        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::convertStringToKeyCodes): Use deprecatedCharacters.

2014-02-03  Krzysztof Czech  <k.czech@samsung.com>

        Build fix after r163289.

        Unreviewed EFL build fix.

        Use deprecatedCharacters.

        * UIProcess/efl/TextCheckerEfl.cpp:
        (WebKit::TextChecker::requestCheckingOfString):

2014-02-03  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::convertStringToKeyCodes):

2014-02-03  Alberto Garcia  <berto@igalia.com>

        Fix wrong mix of fcntl commands and flags
        https://bugs.webkit.org/show_bug.cgi?id=127842

        Reviewed by Darin Adler.

        We are mixing the commands to set file descriptor and file status
        flags in a couple of fcntl() calls. FD_CLOEXEC must be set using
        F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR)
        with F_SETFL.

        This combines patches by Guillem Jover and Sergio Correia.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::readBytesFromSocket):
        * Platform/unix/SharedMemoryUnix.cpp:
        (WebKit::SharedMemory::createHandle):

2014-02-02  Brady Eidson  <beidson@apple.com>

        IDB: Cannot open new databases with the default version
        https://bugs.webkit.org/show_bug.cgi?id=128096

        Reviewed by Tim Horton.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): New databases should
          have the magic "no version set" version.

2014-02-02  Sanghyup Lee  <sh53.lee@samsung.com>

        [EFL][WK2] Add a logic for checking multi touch in GestureRecognizer::noGesture
        https://bugs.webkit.org/show_bug.cgi?id=127675

        Reviewed by Gyuyoung Kim.

        When processing TouchStart event in GestureRecognizer::noGesture(), we should
        check the number of touch points to distinguish if the gesture is single tap
        or pinch zoom. Current logic only considers the event as single tap.

        * UIProcess/API/efl/GestureRecognizer.cpp:
        (WebKit::GestureRecognizer::noGesture):

2014-02-02  Enrica Casucci  <enrica@apple.com>

        WK2: Selection is non editable content is not cleared when navigating to a different page.
        https://bugs.webkit.org/show_bug.cgi?id=128084
        <rdar://problem/15966166>

        Reviewed by Dan Bernstein.

        When resigning first responder, we need to cleanup the selection.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView resignFirstResponder]):

2014-02-02  Enrica Casucci  <enrica@apple.com>

        WK2: Cannot focus a second field in a page after the first has been focused.
        https://bugs.webkit.org/show_bug.cgi?id=128055
        <rdar://problem/15943652>

        Reviewed by Simon Fraser.

        When handling singleTap, we always need to send
        a click to WebKit when we are already interacting with text.
        Also, when we stop assisting the node, we should not call
        resign responder, since that will trigger another unwanted blur.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView _singleTapRecognized:]):
        (-[WKInteractionView _stopAssistingNode]):

2014-02-02  Brady Eidson  <beidson@apple.com>

        IDB: Support IDBFactory.deleteDatabase()
        https://bugs.webkit.org/show_bug.cgi?id=128060

        Reviewed by Filip Pizlo and Maciej Stachowiak (filesystem parts also Tim Hatcher and Simon Fraser)

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::deleteDatabase):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::calculateAbsoluteDatabaseFilename): Central place to
          calculate the database filename.
        (WebKit::UniqueIDBDatabase::unregisterConnection):
        (WebKit::UniqueIDBDatabase::shutdown): Pass shutdown type along. 
        (WebKit::UniqueIDBDatabase::shutdownBackingStore): If this is a delete shutdown, delete the DB.
        (WebKit::UniqueIDBDatabase::didShutdownBackingStore): 
        (WebKit::UniqueIDBDatabase::deleteDatabase):
        (WebKit::UniqueIDBDatabase::postMainThreadTask): All some tasks to bypass the no-more-request restriction.
        (WebKit::UniqueIDBDatabase::postDatabaseTask): Ditto.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Use 
          calculateAbsoluteDatabaseFilename from UniqueIDBDatabase.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open): Update logging channel.
        (WebKit::WebIDBFactoryBackend::deleteDatabase): Implement.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

        * Shared/WebCrossThreadCopier.h:

2014-02-01  Darin Adler  <darin@apple.com>

        More characters -> deprecatedCharacters (based on more EWS complaints)
        https://bugs.webkit.org/show_bug.cgi?id=128063

        Reviewed by Anders Carlsson.

        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
        (WebKit::truncateToSingleLine): Use deprecatedCharacters.

2014-02-01  Enrica Casucci  <enrica@apple.com>

        Speculative OSX build fix.

        Excluding WKActionSheet.mm and WKActionSheetAssistant.mm.

        * Configurations/WebKit2.xcconfig:

2014-02-01  Enrica Casucci  <enrica@apple.com>

        Add support for ActionSheets in WK2 for iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127586
        <rdar://problem/15283667>

        Reviewed by Benjamin Poulain.

        This patch adds the default support for Action Sheets
        in WK2 for iOS. WKActionSheet is the implementation of the
        sheet itself that inherits from UIActionSheet and handles
        the repositioning of the sheet after rotation for iPad.
        WKActionSheetAssistant is the controller class that implements
        the delegate methods, controls the lifetime of the action sheet
        object and performs the actions.
        We have 3 different types of sheets:
           - link sheet, displayed when the target element is a link
           - image sheet, when the target element is an image
           - data detector sheet when the target is an element
             recognized by the data detectors library.
        Both link and image sheet have a set of default buttons, whereas
        datadetector sheet in only populated by custom actions provided
        by data detectors.
        The link sheet provides the following default actions:
            - open, navigates to the URL
            - copy, copies the URL to the pasteboard
            - add to reading list
        The image sheet provides the following actions depending on whether
        the image is contained inside an anchor element or not.
        If the image is NOT inside a link the following actions are provided:
           - copy, copies the image to the pasteboard
           - save image, saves the image in the photo library
        Instead, if the image is inside an link:
           - open, navigates to the URL spcified by the link
           - copy, copies the link URL to the pasteboard
            - save image, saves the image in the photo library
            - add to reading list, adds the link URL to reading list.

        * Shared/InteractionInformationAtPosition.cpp:
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * Shared/InteractionInformationAtPosition.h:
        * Shared/ios/WKGestureTypes.h:
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::saveImageToLibrary):
        * UIProcess/API/ios/WKActionSheet.h: Added.
        * UIProcess/API/ios/WKActionSheet.mm: Added.
        (-[WKActionSheet initWithView:]):
        (-[WKActionSheet dealloc]):
        (-[WKActionSheet presentSheet]):
        (-[WKActionSheet presentSheetFromRect:]):
        (-[WKActionSheet doneWithSheet]):
        (-[WKActionSheet willRotate]):
        (-[WKActionSheet updateSheetPosition]):
        (-[WKActionSheet didRotate]):
        (-[WKElementActionInfo initWithInfo:location:title:rect:]):
        (-[WKElementActionInfo dealloc]):
        (-[WKElementAction initWithTitle:actionHandler:type:]):
        (-[WKElementAction dealloc]):
        (+[WKElementAction customElementActionWithTitle:actionHandler:]):
        (copyElement):
        (saveImage):
        (addToReadingList):
        (+[WKElementAction standardElementActionWithType:customTitle:]):
        (+[WKElementAction standardElementActionWithType:]):
        (-[WKElementAction runActionWithElementInfo:view:]):
        * UIProcess/API/ios/WKActionSheetAssistant.h: Added.
        * UIProcess/API/ios/WKActionSheetAssistant.mm: Added.
        (-[WKActionSheetAssistant initWithView:]):
        (-[WKActionSheetAssistant dealloc]):
        (-[WKActionSheetAssistant setPage:WebKit::]):
        (-[WKActionSheetAssistant superviewForSheet]):
        (-[WKActionSheetAssistant _presentationRectForSheetGivenPoint:inHostView:]):
        (-[WKActionSheetAssistant hostViewForSheet]):
        (-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]):
        (-[WKActionSheetAssistant presentationRectInHostViewForSheet]):
        (-[WKActionSheetAssistant presentSheet]):
        (-[WKActionSheetAssistant actionSheet:clickedButtonAtIndex:]):
        (-[WKActionSheetAssistant updateSheetPosition]):
        (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
        (-[WKActionSheetAssistant showImageSheet]):
        (-[WKActionSheetAssistant showLinkSheet]):
        (-[WKActionSheetAssistant showDataDetectorsSheet]):
        (-[WKActionSheetAssistant cleanupSheet]):
        * UIProcess/API/ios/WKInteractionView.h:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView initWithFrame:]):
        (-[WKInteractionView dealloc]):
        (-[WKInteractionView setPage:WebKit::]):
        (-[WKInteractionView _showImageSheet]):
        (-[WKInteractionView _showLinkSheet]):
        (-[WKInteractionView _showDataDetectorsSheet]):
        (-[WKInteractionView _actionForLongPress]):
        (-[WKInteractionView _updatePositionInformation]):
        (-[WKInteractionView _longPressRecognized:]):
        (-[WKInteractionView _positionInformationDidChange:]):
        (-[WKInteractionView _performAction:]):
        (-[WKInteractionView _updateAccessory]):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::startInteractionWithElementAtPosition):
        (WebKit::WebPageProxy::stopInteraction):
        (WebKit::WebPageProxy::performActionOnElement):
        (WebKit::WebPageProxy::saveImageToLibrary):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::containingLinkElement):
        (WebKit::WebPage::getPositionInformation):
        (WebKit::WebPage::startInteractionWithElementAtPosition):
        (WebKit::WebPage::stopInteraction):
        (WebKit::WebPage::performActionOnElement):

2014-02-01  Brady Eidson  <beidson@apple.com>

        IDB: Implement IDBCursor.delete()
        <rdar://problem/15944203> and https://bugs.webkit.org/show_bug.cgi?id=127882

        Reviewed by Sam Weinig.

        IDBCursor.delete() actually relies on deleteRange(), which was implemented earlier.
        So the only thing keeping it from working was a "Cursors iterate past their end" bug,
        causing the delete transaction to be aborted.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::advanceOnce): When the cursor does the final iteration,
          clear the previous values to indicate completion.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::clearCursors): Noticed this opportunistic cleanup to
          iterate over unique_ptr<>s with an auto& instead of an auto.

2014-01-31  Enrica Casucci  <enrica@apple.com>

        Text interaction assistant is not deleted when dismissing the keyboard on iPad.
        https://bugs.webkit.org/show_bug.cgi?id=128034
        <rdar://problem/15915695>

        Reviewed by Dan Bernstein.

        In iPhone mode, tapping on 'Done' in the accessory view
        calls the delegate accessoryDone where we correctly blur
        the assisted node and tear down the text interaction assistant.
        The code path for the keyboard in iPad mode is different,
        all we get is resignFirstResponder.
        The fix is just to move the blurring in resignFirstResponder
        and it works for both iPhone and iPad.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView resignFirstResponder]):
        (-[WKInteractionView accessoryDone]):

2014-02-01  Brady Eidson  <beidson@apple.com>

        IDB: Implement IDBObjectStore.delete()
        https://bugs.webkit.org/show_bug.cgi?id=127880

        Reviewed by Sam Weinig.

        Implementing IDBObjectStore.delete() involves filling in the already-stubbed deleteRange() method.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore): Call through to the backing store.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange): Call deleteRecord on each key represented
          by the passed-in keyRange. This involves collecting each key using a cursor.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord): Delete an individual record from the
          object store and all associated indexes.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        Teach the SQLiteIDBCursor to remember if it ended in an error condition:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
        (WebKit::SQLiteIDBCursor::advanceOnce):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
        (WebKit::SQLiteIDBCursor::didError):

2014-02-01  Brady Eidson  <beidson@apple.com>

        IDB: Index reading
        <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868

        Reviewed by Jer Noble.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord): Using an index cursor, read a value.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-02-01  Brady Eidson  <beidson@apple.com>

        IDB: Index cursor complete advance() and iterate() support
        <rdar://problem/15941916> and https://bugs.webkit.org/show_bug.cgi?id=127870

        Reviewed by Dan Bernstein.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::advanceOnce): Look up the found record value from the
          object store records based on the key we found from the index.

2014-01-31  Anders Carlsson  <andersca@apple.com>

        Add webView:didFailNavigation:withError: delegate method
        https://bugs.webkit.org/show_bug.cgi?id=128022

        Reviewed by Darin Adler.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didFailLoadWithErrorForFrame):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFailLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: Handle "nextunique" and "prevunique" cursors, and handle "advance()" correctly
        https://bugs.webkit.org/show_bug.cgi?id=128040

        Reviewed by Jer Noble.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::advance): Entry point for advancing by a number of steps,
          calls either advanceUnique or advanceOnce the appropriate number of times.
        (WebKit::SQLiteIDBCursor::advanceUnique): Call advanceOnce until the key has changed.
        (WebKit::SQLiteIDBCursor::advanceOnce):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: Index cursors use wrong deserialization for the retrieved value
        https://bugs.webkit.org/show_bug.cgi?id=128035

        Reviewed by Dan Bernstein.

        Most of this is updating everything related to the cursor operation callbacks 
        to support returning an IDBKey value in addition to a SharedBuffer value.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openCursor):
        (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
        (WebKit::DatabaseProcessIDBConnection::cursorIterate):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openCursor):
        (WebKit::UniqueIDBDatabase::cursorAdvance):
        (WebKit::UniqueIDBDatabase::cursorIterate):
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::advance):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:
        (WebKit::SQLiteIDBCursor::currentValueBuffer):
        (WebKit::SQLiteIDBCursor::currentValueKey):

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didOpenCursor):
        (WebKit::WebIDBServerConnection::didAdvanceCursor):
        (WebKit::WebIDBServerConnection::didIterateCursor):
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

2014-01-31  Ryosuke Niwa  <rniwa@webkit.org>

        Remove inline member functions of FrameSelection that access m_selection
        https://bugs.webkit.org/show_bug.cgi?id=127986

        Reviewed by Enrica Casucci.

        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
        (WebKit::collapseSelection):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::editorState):
        (WebKit::WebPage::confirmComposition):
        (WebKit::WebPage::setComposition):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::setComposition):
        (WebKit::WebPage::updateSelectionWithTouches):
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::setComposition):
        (WebKit::WebPage::getAttributedSubstringFromRange):

2014-01-31  Simon Fraser  <simon.fraser@apple.com>

        Pass the viewport rect and scroll origin independently into the scrolling tree, and make things floats
        https://bugs.webkit.org/show_bug.cgi?id=128032

        Reviewed by Tim Horton.

        Pass the viewport rect and scroll offset independently into the ScrollingTree
        via the ScrollingStateScrollingNode, since on iOS the scroll offset doesn't
        always correspond to the viewport rect.
        
        Make the viewport rect and the scroll origin be float-based, since on
        Retina screens and with zooming these can both be non-integral.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (ArgumentCoder<ScrollingStateScrollingNode>::encode):
        (ArgumentCoder<ScrollingStateScrollingNode>::decode):
        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
        * UIProcess/Scrolling/RemoteScrollingTree.h:

2014-01-31  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Crash when pinch-zooming on a page that is just a frameset
        https://bugs.webkit.org/show_bug.cgi?id=127591
        <rdar://problem/15898349>

        Reviewed by Simon Fraser.

        When we have no shadow layer, we crash in TiledCoreAnimationDrawingArea::adjustTransientZoom.
        Fix this null deref; also, we always want a shadow layer, even if the page cannot be scrolled,
        because it can be revealed by pinching out.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

2014-01-31  Oliver Hunt  <oliver@apple.com>

        Rollout r163195 and related patches

        * CMakeLists.txt:

2014-01-31  Tim Horton  <timothy_horton@apple.com>

        [wk2] PlatformCALayerRemoteCustom doesn't work on iOS
        https://bugs.webkit.org/show_bug.cgi?id=128025
        <rdar://problem/15950271>

        Reviewed by Simon Fraser.

        * Platform/mac/LayerHostingContext.h:
        * Platform/mac/LayerHostingContext.mm:
        (WebKit::LayerHostingContext::createForPort):
        (WebKit::LayerHostingContext::createForExternalHostingProcess):
        Use the new macro name (in a lot of places).
        Rename LayerHostingContext::createForWindowServer() to createForExternalHostingProcess().
        Don't use WKCAContextMakeRemoteForWindowServer on iOS, just use the CAContext
        SPI directly. We don't want our CAContext to be hit tested because it's purely
        presentational.

        * UIProcess/API/ios/PageClientImplIOS.h:
        iOS always hosts layers in an external process.

        * PluginProcess/mac/PluginControllerProxyMac.mm:
        (WebKit::PluginControllerProxy::updateLayerHostingContext):
        * Shared/LayerTreeContext.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::viewLayerHostingMode):
        * UIProcess/PageClient.h:
        (WebKit::PageClient::viewLayerHostingMode):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::viewStateDidChange):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::NetscapePlugin):
        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::NetscapePlugin::compositingRenderServerPort):
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::setLayerHostingMode):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::reinitializeWebPage):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
        Use enum class for LayerHostingMode and rename the members to InProcess and OutOfProcess.

2014-01-31  Martin Hock  <mhock@apple.com>

        Add session support to WebPlatformStrategies
        https://bugs.webkit.org/show_bug.cgi?id=127926

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/SessionTracker.cpp:
        (WebKit::storageSessionToID):
        (WebKit::SessionTracker::session):
        (WebKit::SessionTracker::sessionID):
        (WebKit::SessionTracker::setSession):
        (WebKit::SessionTracker::destroySession):
        * Shared/SessionTracker.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setSession):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setSessionID): Ensure the storage session exists.
        * WebProcess/WebPage/WebPage.h:

2014-01-31  Alexey Proskuryakov  <ap@apple.com>

        Expose creation and modification times for LocalStorage
        https://bugs.webkit.org/show_bug.cgi?id=128018

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
        (WKKeyValueStorageManagerGetOriginKey):
        (WKKeyValueStorageManagerGetCreationTimeKey):
        (WKKeyValueStorageManagerGetModificationTimeKey):
        (WKKeyValueStorageManagerGetStorageDetailsByOrigin):
        * UIProcess/API/C/WKKeyValueStorageManager.h:
        * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
        (WebKit::LocalStorageDatabaseTracker::origins):
        (WebKit::LocalStorageDatabaseTracker::details):
        * UIProcess/Storage/LocalStorageDatabaseTracker.h:
        * UIProcess/Storage/StorageManager.cpp:
        (WebKit::StorageManager::getStorageDetailsByOrigin):
        (WebKit::StorageManager::getStorageDetailsByOriginInternal):
        * UIProcess/Storage/StorageManager.h:
        * UIProcess/WebKeyValueStorageManager.cpp:
        (WebKit::WebKeyValueStorageManager::originKey):
        (WebKit::WebKeyValueStorageManager::creationTimeKey):
        (WebKit::WebKeyValueStorageManager::modificationTimeKey):
        (WebKit::didGetKeyValueStorageOrigins):
        (WebKit::didGetStorageDetailsByOrigin):
        (WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
        * UIProcess/WebKeyValueStorageManager.h:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-31  Anders Carlsson  <andersca@apple.com>

        Add webView:didReceiveServerRedirectForProvisionalNavigation:
        https://bugs.webkit.org/show_bug.cgi?id=128016

        Reviewed by Dan Bernstein.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: Index cursor preliminary support
        https://bugs.webkit.org/show_bug.cgi?id=127869

        Reviewed by Sam Weinig.

        This gets index cursors running and - for some situations - returning results.

        Bug 127870 will make them fully functional.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::getIndexStatement): Using the key and sorting parameters, find the appropriate SQL
          statement to run an index cursor.
        (WebKit::getObjectStoreStatement): Same, but for object store cursors.
        (WebKit::SQLiteIDBCursor::establishStatement): Depending on the type of cursor, choose the
          correct SQL query and id to use.
        (WebKit::SQLiteIDBCursor::createSQLiteStatement): With the passed in SQL and id, handle both
          index and object store cursors.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h:

2014-01-29  Oliver Hunt  <oliver@apple.com>

        Make it possible to implement JS builtins in JS
        https://bugs.webkit.org/show_bug.cgi?id=127887

        Reviewed by Michael Saboff.

        CMake updates

        * CMakeLists.txt:

2014-01-31  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Crashes swiping around a Google Docs spreadsheet
        https://bugs.webkit.org/show_bug.cgi?id=128013
        <rdar://problem/15959481>

        Reviewed by Anders Carlsson.

        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
        We should never (currently) start a swipe from a non-begin-phase wheel event.
        We already check this in handleScrollWheelEvent, but can still get
        non-begin-phase events in wheelEventWasNotHandled.

        We only start "pending" swipes with Begin events, so we should never make them
        non-pending with anything but a Begin event (we'll get it when it bubbles back up,
        unhandled, from WebCore). In addition, AppKit throws an exception when we try
        to start a swipe from end-phase events.

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: openCursor() needs to prime the cursor with first position values
        https://bugs.webkit.org/show_bug.cgi?id=128008

        Reviewed by Alexey Proskuryakov.

        Change openCursor() messaging to pass back the initial keys/values
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didOpenCursor):
        (WebKit::WebIDBServerConnection::openCursor):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openCursor):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openCursor):
        (WebKit::UniqueIDBDatabase::cursorAdvance): Const and reference updates.
        (WebKit::UniqueIDBDatabase::cursorIterate): Ditto.
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::maybeCreate): After creating the cursor, advance(1) it.

        * Shared/AsyncTask.h:
        (WebKit::createAsyncTask):

2014-01-31  Beth Dakin  <bdakin@apple.com>

        Sideways 'wobble' when scrolling with trackpad on Mavericks
        https://bugs.webkit.org/show_bug.cgi?id=127521
        -and corresponding-
        <rdar://problem/14137306>

        Reviewed by Simon Fraser.

        Start using WebCore::WheelEventDeltaTracker to filter events.
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::EventDispatcher):
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:

2014-01-31  Zan Dobersek  <zdobersek@igalia.com>

        Fix the forward declaration of RawPluginMetaData in NetscapePluginModule.h
        https://bugs.webkit.org/show_bug.cgi?id=127992

        Reviewed by Martin Robinson.

        * Shared/Plugins/Netscape/NetscapePluginModule.h: RawPluginMetaData is a struct, so it should
        be declared as such. The current forward declaration is throwing a warning when using Clang.

2014-01-31  Anders Carlsson  <andersca@apple.com>

        REGRESSION: WebKit2.PageLoadBasic API test is failing
        https://bugs.webkit.org/show_bug.cgi?id=127892

        Reviewed by Dan Bernstein.

        On Mountain Lion, URLs returned by -[NSBundle URLForResource:withExtension:subdirectory] include
        localhost as the hostname, but WebCore::URL normalizes those URLs and removes the host name.
        
        Because of this, URLs created by WKURLCreateWithCFURL won't be equal to urls passed through 
        the WebCore::URL constructor. Change WKURLIsEqual to compare the normalized URLs.

        * Shared/API/c/WKURL.cpp:
        (WKURLIsEqual):
        * Shared/APIURL.h:
        (API::URL::equals):
        (API::URL::url):

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: When deleting object stores/indexes, also delete associated records
        https://bugs.webkit.org/show_bug.cgi?id=127872

        Reviewed by Anders Carlsson.

        This was mostly done via other patches, but clearObjectStore was the last remaining case:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore): Also delete Index records.

2014-01-31  Brady Eidson  <beidson@apple.com>

        IDB: Index writing
        <rdar://problem/15899973> and https://bugs.webkit.org/show_bug.cgi?id=127868

        Reviewed by Anders Carlsson.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Handle writing index records, as well.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a table
          for index records
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Extract IDBIndexMetadata
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord): Store in the IndexRecords table.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-01-30  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Unreviewed EFL WebKit2 build fix after r163116.
        https://bugs.webkit.org/show_bug.cgi?id=127985

        Unreviewed EFL WebKit2 build fix.

        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::processDidExit):
        * UIProcess/CoordinatedGraphics/WebView.h:

2014-01-30  Simon Fraser  <simon.fraser@apple.com>

        Fix iOS WK2 build after r163156.

        Need to convert to IntSizes.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::tapHighlightAtPosition):

2014-01-30  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Add support for building against GTK+ 2
        https://bugs.webkit.org/show_bug.cgi?id=127959

        Reviewed by Anders Carlsson.

        * PlatformGTK.cmake: Use the new API version variable and don't use GTK3 directly.

2014-01-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r163125.
        http://trac.webkit.org/changeset/163125
        https://bugs.webkit.org/show_bug.cgi?id=127980

        caused 9 layout tests to assert and crash (Requested by estes
        on #webkit).

        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/SessionTracker.cpp:
        (WebKit::SessionTracker::session):
        (WebKit::SessionTracker::setSession):
        (WebKit::SessionTracker::destroySession):
        * Shared/SessionTracker.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setSession):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::legacySessionID):
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::setSessionID):

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Add webView:didFinishLoadingNavigation: delegate method
        https://bugs.webkit.org/show_bug.cgi?id=127976

        Reviewed by Dan Bernstein.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didFinishLoadForFrame):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
        (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
        (WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):

2014-01-30  Tim Horton  <timothy_horton@apple.com>

        Crashes after 163116 in [WKView takeViewSnapshot]
        https://bugs.webkit.org/show_bug.cgi?id=127973

        Reviewed by Alexey Proskuryakov.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _takeViewSnapshot]):
        Make the ViewGestureController before using it, if we need one.

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Add a webView:didCommitNavigation: delegate method
        https://bugs.webkit.org/show_bug.cgi?id=127972

        Reviewed by Dan Bernstein.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didCommitLoadForFrame):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Add a webView:didFailProvisionalNavigation:withError: delegate method
        https://bugs.webkit.org/show_bug.cgi?id=127968

        Reviewed by Dan Bernstein.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Add a webView:didStartProvisionalNavigation: delegate method
        https://bugs.webkit.org/show_bug.cgi?id=127965

        Reviewed by Dan Bernstein.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didStartProvisionalLoadForFrame):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::createLoaderClient):
        (WebKit::NavigationState::createPolicyClient):
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::LoaderClient::LoaderClient):
        (WebKit::NavigationState::LoaderClient::~LoaderClient):
        (WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: Implement IDBObjectStore.count()
        https://bugs.webkit.org/show_bug.cgi?id=127888

        Reviewed by Tim Horton.

        Now count() actually works.

        Forward the count() request to the backing store”
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::countInBackingStore):

        Using a cursor, get a count:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        Give a direct accessor to allow the backing store to close a cursor it opened
        for its own use:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::closeCursor):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didCount): Update the logging to show the count.

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Implement NavigationState::PolicyClient::decidePolicyForNewWindowAction
        https://bugs.webkit.org/show_bug.cgi?id=127962

        Reviewed by Andreas Kling.

        Have decidePolicyForNewWindowAction call decidePolicyForNavigationAction with a null destination frame.

        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        (WebKit::NavigationState::PolicyClient::decidePolicyForNewWindowAction):

2014-01-30  Martin Hock  <mhock@apple.com>

        Add session support to WebPlatformStrategies
        https://bugs.webkit.org/show_bug.cgi?id=127926

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/SessionTracker.cpp:
        (WebKit::storageSessionToID):
        (WebKit::SessionTracker::session):
        (WebKit::SessionTracker::sessionID):
        (WebKit::SessionTracker::setSession):
        (WebKit::SessionTracker::destroySession):
        * Shared/SessionTracker.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setSession):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setSessionID): Ensure the storage session exists.
        * WebProcess/WebPage/WebPage.h:

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: ObjectStore cursor iterate() support
        <rdar://problem/15941914> and https://bugs.webkit.org/show_bug.cgi?id=127867

        Reviewed by Tim Horton.

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::SQLiteIDBCursor::iterate): Implement iterate() using advance()

2014-01-30  Anders Carlsson  <andersca@apple.com>

        decidePolicyForNewWindowAction should take a NavigationActionData object
        https://bugs.webkit.org/show_bug.cgi?id=127952

        Reviewed by Dan Bernstein.

        * UIProcess/API/APIPolicyClient.h:
        (API::PolicyClient::decidePolicyForNewWindowAction):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPagePolicyClient):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):

2014-01-27  Jeffrey Pfau  <jpfau@apple.com>

        Add a method for schemes to be registered as supporting cache partitioning
        https://bugs.webkit.org/show_bug.cgi?id=127739

        Reviewed by Darin Adler.

        Pipe information about cache partitioned scheme through WebKit2.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextRegisterURLSchemeAsCachePartitioned):
        * UIProcess/API/C/WKContextPrivate.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::registerURLSchemeAsCachePartitioned):
        * UIProcess/WebContext.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::registerURLSchemeAsCachePartitioned):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2014-01-30  Tim Horton  <timothy_horton@apple.com>

        Lots of API test assertion failures after r163093
        https://bugs.webkit.org/show_bug.cgi?id=127948

        Reviewed by Alexey Proskuryakov.

        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::processDidExit):
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _processDidExit]):
        * UIProcess/API/ios/WKContentViewInternal.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::processDidExit):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _processDidExit]):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::processDidCrash):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        * UIProcess/API/mac/WKViewInternal.h:
        Rename _processDidCrash to _processDidExit, since it containes cleanup we
        should do in both cases. Also, call it whenever a process terminates instead
        of just upon a crash. Also clear the ViewGestureController, because its
        state doesn't make sense between WebProcesses.

        (-[WKView _setCustomSwipeViews:]):
        Don't make a ViewGestureController if we don't have one and would be
        only creating one to set an empty list of custom swipe views.

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: ObjectStore cursor advance() support
        <rdar://problem/15779645> and https://bugs.webkit.org/show_bug.cgi?id=127866

        Reviewed by Sam Weinig.

        Plumb calls through to the backing store:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update schema
          for Records table.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor): Create a SQLiteIDBCursor object.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor): Call through to that object.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor): Ditto.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::idbKeyCollate): Renamed for clarity.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::unregisterCursor): Cleanup open cursors.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp: Added.
        (WebKit::SQLiteIDBCursor::maybeCreate):
        (WebKit::SQLiteIDBCursor::SQLiteIDBCursor):
        (WebKit::SQLiteIDBCursor::establishStatement):
        (WebKit::SQLiteIDBCursor::createIndexCursorStatement): Stubbed for now.
        (WebKit::SQLiteIDBCursor::createObjectStoreCursorStatement): Create the appropriate query for
          the passed in IDBKeyRange.
        (WebKit::SQLiteIDBCursor::advance): Step through that query.
        (WebKit::SQLiteIDBCursor::iterate): Stubbed for now.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.h: Added.
        (WebKit::SQLiteIDBCursor::identifier):
        (WebKit::SQLiteIDBCursor::transaction):
        (WebKit::SQLiteIDBCursor::currentKey):
        (WebKit::SQLiteIDBCursor::currentPrimaryKey):
        (WebKit::SQLiteIDBCursor::currentValue):

        Add infrastructure for a SQLiteIDBTransaction to keep track of (and clean up) its open cursors:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
        (WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction):
        (WebKit::SQLiteIDBTransaction::reset):
        (WebKit::SQLiteIDBTransaction::openCursor):
        (WebKit::SQLiteIDBTransaction::clearCursors):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
        (WebKit::SQLiteIDBTransaction::create):
        (WebKit::SQLiteIDBTransaction::sqliteTransaction):

        Add accessors for the two fields:
        * DatabaseProcess/IndexedDB/IDBIdentifier.h:
        (WebKit::IDBIdentifier::connection):
        (WebKit::IDBIdentifier::id):

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Implement policy response delegate handling
        https://bugs.webkit.org/show_bug.cgi?id=127945

        Reviewed by Dan Bernstein.

        * UIProcess/API/APIPolicyClient.h:
        (API::PolicyClient::decidePolicyForResponse):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPagePolicyClient):
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        (NS_ENUM):
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        (WebKit::NavigationState::PolicyClient::decidePolicyForResponse):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForResponse):

2014-01-29  Dean Jackson  <dino@apple.com>

        Allow the OpenGL Profiler to get through the sandbox
        https://bugs.webkit.org/show_bug.cgi?id=127877
        <rdar://problem/14817250>
        <rdar://problem/14271180>

        Reviewed by Alexey Proskuryakov.

        Open up the sandbox for WebProcess and PluginProcess so
        that OpenGL.framework can create a mach port for communication
        with the OpenGL Profiler.

        * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
        * WebProcess/com.apple.WebProcess.sb.in:

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Begin fleshing out the navigation delegate
        https://bugs.webkit.org/show_bug.cgi?id=127939

        Reviewed by Dan Bernstein.

        * UIProcess/API/APIPolicyClient.h:
        (API::PolicyClient::decidePolicyForNavigationAction):
        Pass the listener as a RefPtr.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPagePolicyClient):
        Update for API::PolicyClient changes.

        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        Add new delegate.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        Set a policy client on the page.

        * UIProcess/Cocoa/NavigationState.h:
        Add a new PolicyClient class.

        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::NavigationState):
        Initialize m_navigationDelegateMethods.

        (WebKit::NavigationState::navigationDelegate):
        m_delegate was renamed to m_navigationDelegate.

        (WebKit::NavigationState::setNavigationDelegate):
        Update m_navigationDelegateMethods.webViewDecidePolicyForNavigationActionDecisionHandler.
        
        (WebKit::NavigationState::createPolicyClient):
        New helper function for creating a new policy client.

        (WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
        Call the navigation delegate method.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        Use std::move to hand off the listener to the client.

2014-01-30  Jeremy Jones  <jeremyj@apple.com>

        Crash in RemoteLayerBackingStore::encode when m_frontBuffer is nullptr.
        https://bugs.webkit.org/show_bug.cgi?id=127756

        Reviewed by Jer Noble.

        Don't encode RemoteLayerBackingStore when it has no front buffer.

        * Shared/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::hasFrontBuffer):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):

2014-01-30  Mark Rowe  <mrowe@apple.com>

        Host plug-ins in XPC services
        <https://webkit.org/b/127897> / <rdar://problem/13675955>

        We disabled use of XPC services for plug-ins back in r143829 as the per-architecture services
        were not being built for the appropriate architectures. Fixing that allows us to reenable them.

        Reviewed by Anders Carlsson.

        * Configurations/PluginService.32.xcconfig: Use VALID_ARCHS to restrict the service
        to building for i386-only in production builds. Non-production builds allow building
        for all standard architectures to ensure that Xcode will be able to build this target.
        The exact architecture used isn't a concern for non-production builds since we'll use
        the development version of the service anyway.
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::shouldUseXPC): Remove the workaround that disables use of the XPC services.

2014-01-30  Anders Carlsson  <andersca@apple.com>

        Add WKNavigationDelegate class
        https://bugs.webkit.org/show_bug.cgi?id=127927

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKNavigationDelegate.h: Copied from Source/WebKit2/UIProcess/Cocoa/NavigationState.h.
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView navigationDelegate]):
        (-[WKWebView setNavigationDelegate:]):
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::navigationDelegate):
        (WebKit::NavigationState::setNavigationDelegate):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-30  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Provide a way for clients to provide views to swipe
        https://bugs.webkit.org/show_bug.cgi?id=127891
        <rdar://problem/15931413>

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKViewPrivate.h: Add the SPI.

        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::clearCustomSwipeViews):
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::clearCustomSwipeViews):
        * UIProcess/PageClient.h:
        Plumb clearCustomSwipeViews() so that WebPageProxy can clear
        ViewGestureController's list of custom views when the current
        back-forward item changes.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _takeViewSnapshot]):
        If we have custom swipe views, use the union of their bounds as the snapshot region.

        (-[WKView _setCustomSwipeViews:]):
        Forward along to ViewGestureController.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didChangeBackForwardList):
        When the current back forward list item changes, clear the custom swipe views.

        * UIProcess/mac/ViewGestureController.h:
        (WebKit::ViewGestureController::setCustomSwipeViews):
        (WebKit::ViewGestureController::customSwipeViews):
        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::windowRelativeBoundsForCustomSwipeViews):
        Compute the union of the custom swipe view bounds in the window's coordinate space.

        (WebKit::ViewGestureController::beginSwipeGesture):
        Store the layers we'll be swiping as the "live" layers in m_currentSwipeLiveLayers.
        Don't set a shadow (yet) if we have custom swipe views, because it's not clear where to put it.

        (WebKit::ViewGestureController::handleSwipeGesture):
        Compute the swipe distance ('width') based on the union of the custom views bounds if needed.
        Update the transform of all of the live layers. We use transform instead of position now
        so that clients can set the position (having an identity transform is one of the SPI caveats).

        (WebKit::ViewGestureController::removeSwipeSnapshot):
        Reset the transform on all of the live layers.
        Clear the list of live layers.

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: Add no-op plumbing for deleteDatabase and deleteRange
        https://bugs.webkit.org/show_bug.cgi?id=127912

        Reviewed by Alexey Proskuryakov.

        Forward the calls to the DatabaseProcess, and handle completion from the DatabaseProcess:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::deleteDatabase):
        (WebKit::WebIDBServerConnection::didDeleteDatabase):
        (WebKit::WebIDBServerConnection::deleteRange):
        (WebKit::WebIDBServerConnection::didDeleteRange):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Stub out deleteDatabase, and forward deleteRange to the appropriate UniqueIDBDatabase:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::deleteDatabase):
        (WebKit::DatabaseProcessIDBConnection::deleteRange):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Forward the request to the backing store thread, and handle the response from that thread:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::deleteRange):
        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore):
        (WebKit::UniqueIDBDatabase::didDeleteRangeInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

2014-01-30  Antti Koivisto  <antti@apple.com>

        WebPage::determinePrimarySnapshottedPlugIn is slow
        https://bugs.webkit.org/show_bug.cgi?id=127905

        Reviewed by Anders Carlsson.
        
        PLT before:
        132.0ms  0.8% 0,0   WebKit::WebPage::determinePrimarySnapshottedPlugIn()
        130.0ms  0.8% 0,0    WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)
        
        After:
        7.0ms    0.0% 0,0   WebKit::WebPage::determinePrimarySnapshottedPlugIn()
        3.0ms    0.0% 0,0    WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
        
            Instead of shotgunning the page with hit tests, do a DOM crawl for plugins
            and hit test the centers.

2014-01-30  Andrei Bucur  <abucur@adobe.com>

        Remove the ACCELERATED_COMPOSITING flag
        https://bugs.webkit.org/show_bug.cgi?id=127833

        Reviewed by Antti Koivisto.

        Remove the USE(ACCELERATED_COMPOSITING) conditionals from the code base and make AC
        mandatory.

        * PluginProcess/PluginControllerProxy.cpp:
        (WebKit::PluginControllerProxy::PluginControllerProxy):
        * PluginProcess/PluginCreationParameters.cpp:
        (WebKit::PluginCreationParameters::PluginCreationParameters):
        (WebKit::PluginCreationParameters::encode):
        (WebKit::PluginCreationParameters::decode):
        * PluginProcess/PluginCreationParameters.h:
        * PluginProcess/PluginProcess.h:
        * Shared/WebRenderLayer.cpp:
        (WebKit::WebRenderLayer::WebRenderLayer):
        * Shared/mac/RemoteLayerBackingStore.h:
        * Shared/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::enumerateRectsBeingDrawn):
        * UIProcess/API/efl/EvasGLContext.cpp:
        * UIProcess/API/efl/EvasGLContext.h:
        * UIProcess/API/efl/EvasGLSurface.cpp:
        * UIProcess/API/efl/EvasGLSurface.h:
        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::EwkView):
        (EwkView::displayTimerFired):
        (EwkView::createGLSurface):
        (EwkView::handleEvasObjectCalculate):
        (EwkView::handleEvasObjectShow):
        (EwkView::takeSnapshot):
        * UIProcess/API/efl/EwkView.h:
        * UIProcess/API/efl/SnapshotImageGL.cpp:
        (getImageSurfaceFromFrameBuffer):
        * UIProcess/API/efl/SnapshotImageGL.h:
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
        (EWK2UnitTest::EWK2UnitTestBase::SetUp):
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::~CoordinatedDrawingAreaProxy):
        (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
        (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
        (WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode):
        (WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode):
        (WebKit::CoordinatedDrawingAreaProxy::updateAcceleratedCompositingMode):
        (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
        (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
        * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
        * UIProcess/CoordinatedGraphics/PageViewportController.h:
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::setVisible):
        * UIProcess/DrawingAreaProxy.h:
        * UIProcess/DrawingAreaProxy.messages.in:
        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
        (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
        (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
        (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
        (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
        * UIProcess/DrawingAreaProxyImpl.h:
        * UIProcess/PageClient.h:
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::updateAcceleratedCompositingMode):
        * UIProcess/WebPageProxy.h:
        * UIProcess/efl/PageLoadClientEfl.cpp:
        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
        * UIProcess/efl/ViewClientEfl.cpp:
        (WebKit::ViewClientEfl::didChangeContentsSize):
        (WebKit::ViewClientEfl::didChangeContentsPosition):
        (WebKit::ViewClientEfl::didRenderFrame):
        (WebKit::ViewClientEfl::didCompletePageTransition):
        (WebKit::ViewClientEfl::didChangeViewportAttributes):
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitializeWebProcess):
        * WebProcess/FullScreen/WebFullScreenManager.cpp:
        (WebKit::screenRectOfContents):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
        * WebProcess/Plugins/PluginController.h:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::initialize):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::layerTreeStateIsFrozen):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
        (WebKit::CoordinatedDrawingArea::layerHostDidFlushLayers):
        (WebKit::CoordinatedDrawingArea::scheduleCompositingLayerFlush):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
        (WebKit::DrawingAreaImpl::scheduleCompositingLayerFlush):
        (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::exitAcceleratedCompositingMode):
        (WebKit::WebPage::mainFrameDidLayout):
        (WebKit::WebPage::didReceiveMessage):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::hostingContextID):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
        (PlatformCALayerRemoteCustom::hostingContextID):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
        (PlatformCALayerRemoteTiledBacking::setBorderColor):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess):
        * WebProcess/WebProcess.h:

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: Key generator support
        https://bugs.webkit.org/show_bug.cgi?id=127871

        Reviewed by Tim Horton.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore): Update for storing/retrieving integers instead of IDBKeys.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Create a keygen table.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore): Put a record in the keygen table for
          this object store if necessary.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Delete the entry in the keygen table.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber): Pull the current number from the table.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber): Update the number in the table.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::put): Null keys are acceptable for autoIncrement object stores.

2014-01-30  Brady Eidson  <beidson@apple.com>

        IDB: Implement IDBObjectStore.count()
        https://bugs.webkit.org/show_bug.cgi?id=127888

        Reviewed by Tim Horton.

        Forward request to the DatabaseProcess, and handle its completion:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::count):
        (WebKit::WebIDBServerConnection::didCount):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Pass request along to the appropriate UniqueIDBDatabase:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::count):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Pass request to backing store thread, then pass it back to the WebProcess:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::count):
        (WebKit::UniqueIDBDatabase::countInBackingStore):
        (WebKit::UniqueIDBDatabase::didCountInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * Shared/AsyncTask.h:
        (WebKit::createAsyncTask):

2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix the GTK+ build after r163037.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_load_uri):
        (webkit_web_view_load_request):

2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>

        Remove ENABLE(JAVASCRIPT_DEBUGGER) leftovers
        https://bugs.webkit.org/show_bug.cgi?id=127845

        Reviewed by Joseph Pecoraro.

        * Configurations/FeatureDefines.xcconfig:

2014-01-29  Dan Bernstein  <mitz@apple.com>

        Moved linking against common frameworks and a library from the .xcconfig file into the target.

        Reviewed by Tim Horton.

        * Configurations/WebKit2.xcconfig:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-29  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:

2014-01-29  Anders Carlsson  <andersca@apple.com>

        Add a NavigationState object to keep track of the navigations for a given page
        https://bugs.webkit.org/show_bug.cgi?id=127884

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKNavigation.mm:
        (-[WKNavigation request]):
        (-[WKNavigation setRequest:]):
        * UIProcess/API/Cocoa/WKNavigationInternal.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView loadRequest:]):
        * UIProcess/Cocoa/NavigationState.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm.
        * UIProcess/Cocoa/NavigationState.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigation.mm.
        (WebKit::NavigationState::NavigationState):
        (WebKit::NavigationState::~NavigationState):
        (WebKit::NavigationState::createLoadRequestNavigation):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadRequest):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-29  Gavin Barraclough  <barraclough@apple.com>

        Add IsVisibleOrOccluded to ViewState
        https://bugs.webkit.org/show_bug.cgi?id=127875

        Reviewed by Anders Carlsson.

        When the WKView associated with a plugin becomes occluded
        we tell the plugin it is no longer visible. This is a problem
        if the plugin is being occluded by its own fullscreen window.

        Instead, consider plugins to be visible any time they are in
        a visible window – i.e. when they are visible or occluded.

        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewVisibleOrOccluded):
        * UIProcess/PageClient.h:
        (WebKit::PageClient::isViewVisibleOrOccluded):
            - added isViewVisibleOrOccluded.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::updateViewState):
            - update IsVisibleOrOccluded.
        (WebKit::WebPageProxy::viewStateDidChange):
            - when updating IsVisible also update IsVisibleOrOccluded.
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::platformViewStateDidChange):
            - use isVisibleOrOccluded to determine plugin visibility.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::isVisibleOrOccluded):
            - accessor.

2014-01-29  Anders Carlsson  <andersca@apple.com>

        Pass navigation IDs along to LoadRequest and Reload
        https://bugs.webkit.org/show_bug.cgi?id=127883

        Reviewed by Sam Weinig.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::loadRequest):
        (WebKit::WebPageProxy::loadFile):
        (WebKit::WebPageProxy::reload):
        (WebKit::WebPageProxy::generateNavigationID):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebDocumentLoader.cpp:
        (WebKit::WebDocumentLoader::setNavigationID):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::loadRequest):
        (WebKit::WebPage::reload):
        (WebKit::WebPage::createDocumentLoader):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2014-01-29  Anders Carlsson  <andersca@apple.com>

        -[WKWebView loadRequest:] should return a WKNavigation
        https://bugs.webkit.org/show_bug.cgi?id=127873

        Reviewed by Dan Bernstein.

        For now this just returns a dummy navigation.

        * UIProcess/API/Cocoa/WKNavigation.h:
        * UIProcess/API/Cocoa/WKNavigation.mm:
        (-[WKNavigation initWithRequest:]):
        (-[WKNavigation request]):
        * UIProcess/API/Cocoa/WKNavigationInternal.h: Added.
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView loadRequest:]):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-29  Anders Carlsson  <andersca@apple.com>

        

        * UIProcess/API/C/WKPage.cpp:
        (WKPageLoadURL):
        Don't use the resource request constructor that takes a String.

2014-01-29  Brady Eidson  <beidson@apple.com>

        IDB: Fully implement IDBKeyData encoding/decoding
        https://bugs.webkit.org/show_bug.cgi?id=127863

        Rubberstamped by Alexey Proskuryakov.

        Handle invalid buffers, and pass IDBKeyData decoding along:
        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
        (WebKit::deserializeIDBKeyPath):
        (WebKit::serializeIDBKeyData):
        (WebKit::deserializeIDBKeyData):
        * DatabaseProcess/IndexedDB/IDBSerialization.h:

        Implement decodeBool and decodeDouble:
        * Shared/cf/KeyedDecoder.cpp:
        (WebKit::KeyedDecoder::decodeBool):
        (WebKit::KeyedDecoder::decodeDouble):
        * Shared/cf/KeyedDecoder.h:

2014-01-29  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Update rubberBandsAt{Left,Right} when WebKit swipe is enabled
        https://bugs.webkit.org/show_bug.cgi?id=127855
        <rdar://problem/15933878>

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView setAllowsBackForwardNavigationGestures:]):
        Enable implicit control of rubberbanding when using WebKit2's swipe implementation.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::sendWheelEvent):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::setShouldUseImplicitRubberBandControl):
        (WebKit::WebPageProxy::shouldUseImplicitRubberBandControl):
        Rename away from "legacy" name, since we're using it on purpose now.

        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::expectsLegacyImplicitRubberBandControl):
        (WebKit::WebPageProxy::platformInitialize):
        Since NSVersionOfLinkTimeLibrary doesn't work for applications that
        don't link directly against the library (like Safari), let's explicitly
        check if Safari is expecting the legacy behavior, otherwise using
        the linked version of WebKit2, but using the new behavior if we can't
        determine the linked version of WebKit2 and are not Safari.

2014-01-29  Anders Carlsson  <andersca@apple.com>

        Make WKWebView limp along on OS X
        https://bugs.webkit.org/show_bug.cgi?id=127857

        Reviewed by Tim Horton.

        On Mac, create a WKView and add it as a subview of the WKWebVew so we'll actually get something
        on screen when creating a WKWebView.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        Create a WKView.

        (-[WKWebView resizeSubviewsWithOldSize:]):
        Resize the WKView.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:configuration:]):
        Add new initializer.

        * UIProcess/API/mac/WKViewInternal.h:
        Use a class extension for internal methods and add the new initializer.

2014-01-29  Brady Eidson  <beidson@apple.com>

        IDB: Opening an existing database is broken
        https://bugs.webkit.org/show_bug.cgi?id=127851

        Reviewed by Tim Hatcher.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Save the request to get metadata
          to the set before posting the task to the thread.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata): Actually save the retrieved
          object store metadata to the database metadata.

2014-01-29  Anders Carlsson  <andersca@apple.com>

        Consolidate page loading functions
        https://bugs.webkit.org/show_bug.cgi?id=127847

        Reviewed by Tim Horton.

        Get rid of the loadURL functions (and the LoadURL message), rename
        loadURLRequest to loadRequest and change it to take a ResourceRequest instead
        of an API::URLRequest.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageLoadURL):
        (WKPageLoadURLWithUserData):
        (WKPageLoadURLRequest):
        (WKPageLoadURLRequestWithUserData):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadRequest:userData:]):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView loadRequest:]):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::decidePolicyForNavigationAction):
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadRequest):
        (WebKit::WebPageProxy::loadFile):
        * UIProcess/WebPageProxy.h:
        * UIProcess/cf/WebPageProxyCF.cpp:
        (WebKit::WebPageProxy::restoreFromSessionStateData):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::loadRequest):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2014-01-29  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Fix the build after r162835
        https://bugs.webkit.org/show_bug.cgi?id=127753

        Reviewed by Gustavo Noronha Silva.

        * CMakeLists.txt: Add support for using the prefix header (GCC / clang only for now)
        when WebKit2_USE_PREFIX_HEADER is set to true.
        * PlatformGTK.cmake: Set WebKit2_USE_PREFIX_HEADER support and no longer process some message.in files.
        * WebKit2Prefix.h: Add support for the CMake GTK+ build.

2014-01-29  Csaba Osztrogonác  <ossy@webkit.org>

        Remove ENABLE(JAVASCRIPT_DEBUGGER) guards
        https://bugs.webkit.org/show_bug.cgi?id=127840

        Reviewed by Mark Lam.

        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::startJavaScriptDebugging):
        (WebKit::WebInspector::stopJavaScriptDebugging):
        (WebKit::WebInspector::setJavaScriptProfilingEnabled):
        (WebKit::WebInspector::startJavaScriptProfiling):
        (WebKit::WebInspector::stopJavaScriptProfiling):

2014-01-29  Brady Eidson  <beidson@apple.com>

        IDB: Serialize IDBKeyDatas to disk, not IDBKeys
        https://bugs.webkit.org/show_bug.cgi?id=127829

        Reviewed by Tim Horton.

        Serialize IDBKeyDatas, not IDBKeys.

        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
        (WebKit::deserializeIDBKeyPath):
        (WebKit::serializeIDBKeyData):
        * DatabaseProcess/IndexedDB/IDBSerialization.h:

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):

2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r162981.

        * GNUmakefile.list.am: Add WebProcess/WebPage/WebDocumentLoader to
        the compilation.

2014-01-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Actually fix the GTK+ build after r162967.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_can_go_back):
        (webkit_web_view_can_go_forward):

2014-01-28  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed followup to r163006. That change incorrectly modified
        webkit_web_view_go_forward when webkit_web_view_can_go_forward needed fixing.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_go_forward):
        (webkit_web_view_can_go_forward):

2014-01-28  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r162967.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_can_go_back):
        (webkit_web_view_go_forward):

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        Crashes in ViewGestureController::wheelEventWasNotHandledByWebCore
        https://bugs.webkit.org/show_bug.cgi?id=127828
        <rdar://problem/15932902>

        Reviewed by Dan Bernstein.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _wheelEventWasNotHandledByWebCore:]):
        Null check. ViewGestureController only needs unhandled wheel events after it has been created.

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        Fix the Mountain Lion build if you have private headers.

        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):

2014-01-28  Ian Henderson  <ianh@apple.com>

        [iOS] UI process crashes whenever web process crashes
        https://bugs.webkit.org/show_bug.cgi?id=127826

        Reviewed by Tim Horton.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _updateFixedPositionRect]): Null-check the drawing
        area before calling size() on it.

2014-01-28  Ian Henderson  <ianh@apple.com>

        WKRemoteObjectCoder should support more argument types
        https://bugs.webkit.org/show_bug.cgi?id=127824

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocation): Support encoding char values.
        (decodeInvocationArguments): Support decoding char values.

2014-01-28  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on the cmake based port after r162981

        One more build fix.

        * CMakeLists.txt: Added WebDocumentLoader.cpp

2014-01-28  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on the EFL build after r162984

        r162984 added wheelEventWasNotHandledByWebCore which is guarded to PLATFORM(MAC).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didReceiveEvent):

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Fix a thinko.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::goBack):
        Remove early return if isValid() is true.

2014-01-28  Anders Carlsson  <andersca@apple.com>

        WebPage should be in charge of creating document loaders
        https://bugs.webkit.org/show_bug.cgi?id=127818

        Reviewed by Dan Bernstein.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createDocumentLoader):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::createDocumentLoader):
        * WebProcess/WebPage/WebPage.h:

2014-01-28  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        Unreviewed GTK build fix after r162951.
        https://bugs.webkit.org/show_bug.cgi?id=127815

        * GNUmakefile.list.am: Adding missing build targets.

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Give WebCore the first crack at scroll events if it needs it
        https://bugs.webkit.org/show_bug.cgi?id=127396

        Reviewed by Anders Carlsson.

        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _wheelEventWasNotHandledByWebCore:]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didReceiveEvent):
        In addition to informing the page client about un-handled wheel events,
        inform the ViewGestureController, in a roundabout way.

        * UIProcess/mac/ViewGestureController.h:
        Add and use SwipeDirection enum instead of 'bool willSwipeLeft'.

        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::handleScrollWheelEvent):
        If we get a Begin scroll wheel event, any previously deferred
        swipes are invalid.

        If the page has subframes or wheel handlers, defer starting the
        swipe until we get a wheelEventWasNotHandledByWebCore back from the WebProcess.

        (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
        Start the swipe if the WebProcess didn't eat the event.

        (WebKit::ViewGestureController::trackSwipeGesture):
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::handleSwipeGesture):
        Use SwipeDirection.

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * WebProcess/WebPage/WebFrame.cpp:

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Add WebDocumentLoader, a WebCore::DocumentLoader subclass
        https://bugs.webkit.org/show_bug.cgi?id=127817

        Reviewed by Tim Horton.

        We need a place to store navigation IDs, and since they are per document loader, putting them
        in a DocumentLoader subclass seems like a good idea.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createDocumentLoader):
        * WebProcess/WebPage/WebDocumentLoader.cpp: Added.
        (WebKit::WebDocumentLoader::WebDocumentLoader):
        (WebKit::WebDocumentLoader::setNavigationID):
        * WebProcess/WebPage/WebDocumentLoader.h: Added.
        (WebKit::WebDocumentLoader::create):
        (WebKit::WebDocumentLoader::navigationID):

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Simplify WebFrame::isMainFrame
        https://bugs.webkit.org/show_bug.cgi?id=127812

        Reviewed by Sam Weinig.

        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::isMainFrame):

2014-01-28  Andy Estes  <aestes@apple.com>

        [iOS] Set INSTALL_PATH_ACTUAL when building WebKit2 for the iOS Simulator
        https://bugs.webkit.org/show_bug.cgi?id=127811

        Reviewed by Dan Bernstein.

        * Configurations/WebKit2.xcconfig:

2014-01-28  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed EFL WebKit2 build fix.

        * CMakeLists.txt: Added Shared/NavigationActionData.cpp

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Remove WebPageProxy::canGoBack and WebPageProxy::canGoForward
        https://bugs.webkit.org/show_bug.cgi?id=127803

        Reviewed by Andreas Kling.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageCanGoForward):
        (WKPageCanGoBack):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController canGoForward]):
        (-[WKBrowsingContextController canGoBack]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::goForward):
        (WebKit::WebPageProxy::goBack):
        (WebKit::WebPageProxy::sendWheelEvent):
        * UIProcess/WebPageProxy.h:

2014-01-28  Anders Carlsson  <andersca@apple.com>

        API::PolicyClient::decidePolicyForNavigationAction should take a NavigationActionData object
        https://bugs.webkit.org/show_bug.cgi?id=127798

        Reviewed by Tim Horton.

        * UIProcess/API/APIPolicyClient.h:
        (API::PolicyClient::decidePolicyForNavigationAction):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPagePolicyClient):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Add an empty WKNavigation class
        https://bugs.webkit.org/show_bug.cgi?id=127796

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKNavigation.h: Added.
        * UIProcess/API/Cocoa/WKNavigation.mm: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-28  Anders Carlsson  <andersca@apple.com>

        Add a NavigationActionData object for easy storage of navigation action data
        https://bugs.webkit.org/show_bug.cgi?id=127787

        Reviewed by Tim Horton.

        * Scripts/webkit2/messages.py:
        (struct_or_class):
        * Shared/NavigationActionData.cpp: Added.
        (WebKit::NavigationActionData::NavigationActionData):
        (WebKit::NavigationActionData::encode):
        (WebKit::NavigationActionData::decode):
        * Shared/NavigationActionData.h: Added.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        Fix the Mountain Lion build.

        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::removeSwipeSnapshot):
        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::recordSnapshot):

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        Fix the iOS build.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::recordNavigationSnapshot):
        * UIProcess/mac/ViewSnapshotStore.h:
        * UIProcess/mac/ViewSnapshotStore.mm:

2014-01-28  Brady Eidson  <beidson@apple.com>

        Remove unneeded “WebCore::” prefixing in two .cpp files.

        Rubberstamped by Alexey Proskuryakov.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Snapshots should be purgeable
        https://bugs.webkit.org/show_bug.cgi?id=127390
        <rdar://problem/15876775>

        Reviewed by Anders Carlsson.

        Make snapshots be purgeable, and implement a straightforward
        (if perhaps expensive, for now) cache eviction strategy to limit the
        number of snapshots to 20.

        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        When beginning a gesture, attempt to make the retrieved snapshot
        non-volatile. If it was purged while volatile, we won't use it, but if it
        is still valid, we'll go ahead and use it as the swipe layer's contents.

        (WebKit::ViewGestureController::removeSwipeSnapshot):
        When removing the swipe snapshot, make it volatile once again.

        * UIProcess/mac/ViewSnapshotStore.h:
        Store a creation time along with the image.
        Store and return IOSurfaces instead of CGImages.
        Store snapshots and render tree sizes separately, so that we can
        throw away snapshots but keep the render tree sizes indefinitely.

        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::pruneSnapshots):
        Cap the number of snapshots we'll ever have live at 20.
        Enforce this cap by first trying to remove snapshots farthest
        from the current back-forward list's current item, falling back
        to removing the least recently created snapshot if there are no
        snapshots owned by the current back-forward list.

        (WebKit::createIOSurfaceFromImage):
        Build an IOSurface from the CGImage snapshot we took, for ease of
        use of its purgeability API.

        (WebKit::ViewSnapshotStore::recordSnapshot):
        Bail from taking the snapshot if the image is empty; this can happen
        if the view is out of the window when the snapshot is taken.

        Mark snapshots as purgeable as soon as they go into the cache.

        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
        Return the target render tree size even if there is no snapshot image.
        Take care not to look up an empty UUID.

2014-01-27  Alexey Proskuryakov  <ap@apple.com>

        Expose SQL database creation and modification times
        https://bugs.webkit.org/show_bug.cgi?id=127728

        Reviewed by Brady Eidson.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<DatabaseDetails>::encode):
        (IPC::ArgumentCoder<DatabaseDetails>::decode):
        Encode and decode new DatabaseDetails member variables.

        * UIProcess/API/C/WKDatabaseManager.cpp:
        (WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
        (WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
        * UIProcess/API/C/WKDatabaseManager.h:
        Added new keys for database details.

        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::databaseDetailsCreationTimeKey):
        (WebKit::WebDatabaseManagerProxy::databaseDetailsModificationTimeKey):
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        * UIProcess/WebDatabaseManagerProxy.h:
        Set the new keys if times are valid.

2014-01-28  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Use CGSCaptureWindowsContentsToRect for now
        https://bugs.webkit.org/show_bug.cgi?id=127768
        <rdar://problem/15923662>

        Reviewed by Simon Fraser.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _takeViewSnapshot]):
        Until <rdar://problem/15709646> is resolved, we'll use
        CGSCaptureWindowsContentsToRect instead of CGWindowListCreateImage.

2014-01-28  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/127767> Disable some deprecation warnings to fix the build.

        Reviewed by Ryosuke Niwa.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _updateWindowAndViewFrames]):
        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

2014-01-28  Adrian Perez de Castro  <aperez@igalia.com>

        [GTK] Add API to allow setting the process model in WebKitWebContext
        https://bugs.webkit.org/show_bug.cgi?id=125463

        Reviewed by Carlos Garcia Campos.

        Implements accessors in WebKitWebContext for the process model.
        The default behavior is unchanged, and a single web process is
        used. Using WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
        as the process model will make use one web process for each
        WebKitWebView. This also enables the network process. Setting
        the process model must be done as early as possible, before the
        very first web process is spawned.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        Add accessors in the API to get/set the process model.
        (webkit_web_context_set_process_model):
        (webkit_web_context_get_process_model):
        * UIProcess/API/gtk/WebKitWebContext.h:
        Define the WebKitProcessModel enum.
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        Add new public API bits to the documentation.

2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Make webkit_uri_scheme_request_get_web_view() work with CustomProtocols
        https://bugs.webkit.org/show_bug.cgi?id=127614

        Reviewed by Gustavo Noronha Silva.

        * NetworkProcess/RemoteNetworkingContext.h: Remove
        initiatingPageID() method.
        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Ditto.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
        (WebKit::CustomProtocolManagerImpl::send): Create the request with
        the ResourceRequest constructor that receives a SoupRequest.
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData): Encode initiatingPageID.
        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData): Decode initiatingPageID.
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkitURISchemeRequestCreate): Remove initiatingPageID parameter
        and get it from the given ResourceRequest.
        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextStartLoadingCustomProtocol): Update to
        webkitURISchemeRequestCreate API change.
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (willSendRequestForFrame): Set the initiatingPageID to the ResourceRequest.
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
        Remove initiatingPageID() method.
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
        * WebProcess/soup/WebSoupRequestManager.cpp:
        (WebKit::WebSoupRequestManager::send): Get the initiatingPageID
        from the SoupRequest using the ResourceRequest API.

2014-01-27  Roger Fong  <roger_fong@apple.com>

        WebGLLoadPolicy::WebGLAsk is an unnecessary value.
        https://bugs.webkit.org/show_bug.cgi?id=127755

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toWebGLLoadPolicy):
        * UIProcess/API/C/WKPageLoaderClient.h:

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Cursor support - Messaging, IPC, Threading plumbing
        https://bugs.webkit.org/show_bug.cgi?id=127736

        Reviewed by Sam Weinig.

        Pipe three cursor-related calls to the DatabaseProcess, and handle messages
        from the database process when it is done handling them:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didOpenCursor):
        (WebKit::WebIDBServerConnection::didAdvanceCursor):
        (WebKit::WebIDBServerConnection::didIterateCursor):
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Pipe the calls through to the appropriate UniqueIDBDatabase:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openCursor):
        (WebKit::DatabaseProcessIDBConnection::cursorAdvance):
        (WebKit::DatabaseProcessIDBConnection::cursorIterate):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Pass the calls to the backing store thread, then message back to the WebProcess
        when the requests are complete.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openCursor):
        (WebKit::UniqueIDBDatabase::cursorAdvance):
        (WebKit::UniqueIDBDatabase::cursorIterate):
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didOpenCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didAdvanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::didIterateCursorInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::Vector<char>>::copy):
        * Shared/WebCrossThreadCopier.h:

2014-01-27  Joseph Pecoraro  <pecoraro@apple.com>

        WebKit2: Enable -Wimplicit-fallthrough and add FALLTHROUGH annotation where needed
        https://bugs.webkit.org/show_bug.cgi?id=127665

        Reviewed by Anders Carlsson.

        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        These look like they should not have fallen through!

        * Configurations/Base.xcconfig:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):

2014-01-27  Andy Estes  <aestes@apple.com>

        [WebKit2] Add SPI to disable the WebCore memory cache
        https://bugs.webkit.org/show_bug.cgi?id=127747

        Reviewed by Tim Horton.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        Initialized memoryCacheDisabled to false.
        (WebKit::WebProcessCreationParameters::encode):
        Encoded memoryCacheDisabled.
        (WebKit::WebProcessCreationParameters::decode):
        Decoded memoryCacheDisabled.
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetMemoryCacheDisabled):
        Called WebContext::setMemoryCacheDisabled().
        * UIProcess/API/C/WKContextPrivate.h: Declared new SPI.
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false.
        (WebKit::WebContext::createNewWebProcess):
        Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled.
        (WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled
        and sent new value to all existing processes.
        * UIProcess/WebContext.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        Called WebProcess::setMemoryCacheDisabled().
        (WebKit::WebProcess::setMemoryCacheDisabled):
        Called MemoryCache::setDisabled() if the disabled state changed.
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2014-01-27  Anders Carlsson  <andersca@apple.com>

        Add -[WKWebView loadRequest:] API
        https://bugs.webkit.org/show_bug.cgi?id=127727

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView loadRequest:]):

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Rename "IDBTransactionIdentifier" to be more general purpose (take 2)
        https://bugs.webkit.org/show_bug.cgi?id=127717

        Reviewed by Tim Horton.

        Update all related variable names since the type no longer contains the relevant info.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
        * Shared/WebCrossThreadCopier.cpp:

2014-01-27  Anders Carlsson  <andersca@apple.com>

        Copy relevant code from the iOS version of WKView to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=127721

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView setFrame:]):
        (-[WKWebView setBounds:]):
        (-[WKWebView scrollView]):
        (-[WKWebView browsingContextController]):
        (-[WKWebView contentView:contentsSizeDidChange:]):
        (-[WKWebView contentViewDidCommitLoadForMainFrame:]):
        (-[WKWebView contentViewDidReceiveMobileDocType:]):
        (-[WKWebView contentView:didChangeViewportArgumentsSize:initialScale:minimumScale:maximumScale:allowsUserScaling:]):
        (-[WKWebView viewportHandlerDidChangeScales:]):
        (-[WKWebView viewportHandler:didChangeViewportSize:]):
        (-[WKWebView viewForZoomingInScrollView:]):
        (-[WKWebView scrollViewWillBeginZooming:withView:]):
        (-[WKWebView _didFinishScroll]):
        (-[WKWebView scrollViewDidEndDragging:willDecelerate:]):
        (-[WKWebView scrollViewDidEndDecelerating:]):
        (-[WKWebView scrollViewDidScrollToTop:]):
        (-[WKWebView scrollViewDidScroll:]):
        (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
        (-[WKWebView _frameOrBoundsChanged]):
        (-[WKWebView _setDocumentScale:]):

2014-01-27  Tim Horton  <timothy_horton@apple.com>

        Revert the parts of r162629 that add a new pluginLoadPolicy and the context menu item.

        We're leaving the parts that make us use PDFPlugin instead of showing the blocked
        plugin indicator intact, though.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::pluginLoadPolicy):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::findPlugin):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::PDFPlugin):
        (WebKit::PDFPlugin::handleContextMenuEvent):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::createPlugin):
        (WebKit::WebPage::canPluginHandleResponse):

2014-01-27  Anders Carlsson  <andersca@apple.com>

        Add a WKContentView initializer that takes a WKWebViewConfiguration
        https://bugs.webkit.org/show_bug.cgi?id=127718

        Reviewed by Tim Horton.

        This initializer will be used by WKWebView.

        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:configuration:]):

2014-01-27  Andy Estes  <aestes@apple.com>

        Scrub WebKit API headers of WTF macros
        https://bugs.webkit.org/show_bug.cgi?id=127706

        Reviewed by David Kilzer.

        * Configurations/FeatureDefines.xcconfig: Added ENABLE_INSPECTOR.

2014-01-27  Tim Horton  <timothy_horton@apple.com>

        Crashes in RemoteScrollingCoordinatorProxy::rootScrollingNodeID

        Reviewed by Simon Fraser.

        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
        Null-check the root scrolling node, in case something scrolls before
        we've made the first remote layer/scrolling tree commit.

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Rename "IDBTransactionIdentifier" to be more general purpose
        https://bugs.webkit.org/show_bug.cgi?id=127717

        Reviewed by Tim Horton.

        Global rename of IDBTransactionIdentifier to IDBIdentifier.

        * DatabaseProcess/IndexedDB/IDBIdentifier.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * Shared/WebCrossThreadCopier.cpp:
        * Shared/WebCrossThreadCopier.h:

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-27  Anders Carlsson  <andersca@apple.com>

        Move underlying C++ objects to class extensions
        https://bugs.webkit.org/show_bug.cgi?id=127716

        Reviewed by Tim Horton.

        This allows us to get at the internals without calling any Obj-C methods.

        * UIProcess/API/Cocoa/WKProcessClass.mm:
        * UIProcess/API/Cocoa/WKProcessClassInternal.h:
        * UIProcess/API/ios/WKContentView.mm:
        * UIProcess/API/ios/WKContentViewInternal.h:

2014-01-27  Anders Carlsson  <andersca@apple.com>

        Implement the _injectedBundleURL property
        https://bugs.webkit.org/show_bug.cgi?id=127714

        Reviewed by Tim Horton.

        Properties declared in class categories need to be implemented. Do this
        for the _injectedBundleURL property.

        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
        (-[WKProcessClassConfiguration _injectedBundleURL]):
        (-[WKProcessClassConfiguration _setInjectedBundleURL:]):

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: LevelDB backing store shouldn't know about IDBCursor or IDBCallbacks
        https://bugs.webkit.org/show_bug.cgi?id=127708

        Reviewed by Tim Horton.

        Update to new callback signatures:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2014-01-27  Anders Carlsson  <andersca@apple.com>

        Tweak the WKWebView and WKWebViewConfiguration headers
        https://bugs.webkit.org/show_bug.cgi?id=127705

        Reviewed by Dan Bernstein.

        Add WK_API_CLASS to WKWebView and make WKWebView.h and WKWebViewConfiguration.h public.

        * UIProcess/API/Cocoa/WKWebView.h:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Remove unused concept of "cursor prefetch"
        https://bugs.webkit.org/show_bug.cgi?id=127700

        Reviewed by Tim Horton.

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2014-01-27  Tim Horton  <timothy_horton@apple.com>

        Fix the build on case-sensitive filesystems

        * WebProcess/WebPage/ViewGestureGeometryCollector.h:

2014-01-27  Brady Eidson  <beidson@apple.com>

        IDB: Refactor out the last of the operation callbacks that are called by the LevelDB backing store
        https://bugs.webkit.org/show_bug.cgi?id=127592

        Reviewed by Tim Horton.

        Update the WebIDBServerConnection to the new callback signatures:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::count):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2014-01-27  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Fluid back-forward swipe
        https://bugs.webkit.org/show_bug.cgi?id=127363

        Reviewed by Anders Carlsson.

        Add support for a "back-forward swipe", which allows fluid swiping between
        items in the back-forward list. Currently disabled by default.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetViewGestureDebuggingEnabled):
        (WKPreferencesGetViewGestureDebuggingEnabled):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        Add a ViewGestureDebuggingEnabled preference, which currently causes snapshots to be blurred.
        Additional view gesture debugging features could come in the future.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _ensureGestureController]):
        (-[WKView scrollWheel:]):
        If back-forward navigation gestures are enabled, intercept scrollWheel events
        on the WKView and let the ViewGestureController take the first crack at them.

        (-[WKView setAllowsBackForwardNavigationGestures:]):
        (-[WKView allowsBackForwardNavigationGestures]):
        * UIProcess/API/mac/WKViewInternal.h:
        Add allowsBackForwardNavigationGesture property, which enables the gesture.

        * UIProcess/mac/ViewGestureController.h:
        Add swipe-related methods, which will be described below.

        Add an enum for the swipe transition style. Currently only Overlap is accessible,
        but in the future one could see having API to choose the style.
        'Overlap' has the outgoing page swipe out to the right (when swiping right)
        or the incoming page swipe in from the right (when swiping left).
        'Push' has the pages push each other along in sync, as if all the pages in the
        back-forward list were oriented from left to right.

        * UIProcess/mac/ViewGestureController.messages.in:
        * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
        Use some CAFilter SPI to blur the snapshot if ViewGestureDebuggingEnabled is on.

        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::~ViewGestureController):
        (WebKit::ViewGestureController::endMagnificationGesture):
        Move m_activeGestureType clearing to each end* function instead of one global place,
        so that each gesture can handle when it ends separately.

        (WebKit::ViewGestureController::handleScrollWheelEvent):
        If we receive a scroll wheel event which is appropriate for starting a
        fluid swipe, in a direction where the main frame is pinned to the appropriate
        edge of the view, start tracking a swipe.

        This should eventually have some hysterisis to avoid stealing scrolls that
        venture into the wrong direction, but for now it starts tracking immediately.

        Forward events from the tracking loop to {begin, handle, end}SwipeGesture.

        (WebKit::ViewGestureController::beginSwipeGesture):
        Create a layer with the destination page's snapshot, and set it up.

        (WebKit::ViewGestureController::handleSwipeGesture):
        Appropriately adjust the position of the root layer and snapshot layer,
        given the transition style and swipe direction.

        (WebKit::ViewGestureController::endSwipeGesture):
        When the gesture ends, do the navigation, and tell the WebProcess to
        inform us when the render tree hits half the size it was when the
        snapshot was taken (when that happens, we will remove the snapshot
        and the gesture will be truly complete). Also, start a watchdog timer
        in case the render tree never hits that size, after which we will
        also remove the snapshot.

        (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
        (WebKit::ViewGestureController::removeSwipeSnapshot):
        Tear down the swipe snapshot layer, and mark our current gesture as complete.

        (WebKit::ViewGestureController::endActiveGesture):
        Simplify endActiveGesture; it only has work to do for a pinch-zoom gesture,
        as those are the only gestures where the user is directly in control of when they end.

        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
        (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
        (WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
        (WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired):
        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        (WebKit::ViewGestureGeometryCollector::setRenderTreeSizeNotificationThreshold):
        * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
        ViewGestureController pushes a render-tree size threshold to the WebProcess;
        ViewGestureGeometryCollector (whose name is now more unfortunate than before)
        monitors render-tree size changes and informs ViewGestureController when
        it reaches that threshold via the 'DidHitRenderTreeSizeThreshold' message.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _acceleratedCompositingModeRootLayer]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::acceleratedCompositingRootLayer):
        Add a getter for the accelerated compositing root layer.

        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
        Don't extract the CGImageRef from a RetainPtr just to put it back in one.

2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Implement custom URI schemes with CustomProtocols
        https://bugs.webkit.org/show_bug.cgi?id=127091

        Reviewed by Gustavo Noronha Silva.

        The old classes are no longer built for GTK+ and should be removed once
        other ports using soup backend switch to custom protocols implementation.

        * GNUmakefile.am: Remove include path.
        * GNUmakefile.list.am: Remove files from compilation.
        * PlatformGTK.cmake: Ditto.
        * UIProcess/API/gtk/WebKitPrivate.h:
        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
        (startLoading):
        (stopLoading):
        (attachRequestManagerClientToContext):
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkitURISchemeRequestCreate):
        (webkit_uri_scheme_request_get_web_view):
        (webkitURISchemeRequestReadCallback):
        (webkit_uri_scheme_request_finish):
        (webkit_uri_scheme_request_finish_error):
        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (createDefaultWebContext):
        (webkit_web_context_register_uri_scheme):
        (webkitWebContextGetRequestManager):
        (webkitWebContextStartLoadingCustomProtocol):
        (webkitWebContextStopLoadingCustomProtocol):
        (webkitWebContextDidFinishLoadingCustomProtocol):
        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformInitializeWebProcess):
        * WebKit2Prefix.h: Enable CustomProtocols unconditionally for the
        GTK+ port.

2014-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] WebProcess sometimes crashes when a download is cancelled
        https://bugs.webkit.org/show_bug.cgi?id=127650

        Reviewed by Martin Robinson.

        The problem is that when the download is cancelled, the download
        manager removes the download from the map and it's deleted. The
        Download destructor calls platformInvalidate() that cancels the
        resource handle if there's still one. We set to nullptr the
        ResourceHandle when the download is cancelled to avoid cancelling
        it twice, but it's done after calling Download::didCancel(). It
        should be done before, because at that moment, when the download
        is deleted, the resource handle pointer is still valid.

        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::Download::cancel):

2014-01-25  Sam Weinig  <sam@webkit.org>

        Remove unused support for DRAGGABLE_REGION
        https://bugs.webkit.org/show_bug.cgi?id=127642

        Reviewed by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig:

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Remove an unused FrameLoaderClient function
        https://bugs.webkit.org/show_bug.cgi?id=127628

        Reviewed by Andreas Kling.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Remove atomicIncrement/atomicDecrement
        https://bugs.webkit.org/show_bug.cgi?id=127625

        Reviewed by Andreas Kling.

        Replace atomicIncrement/atomicDecrement with std::atomic.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::createSyncMessageEncoder):
        * Shared/mac/SecItemShim.cpp:
        (WebKit::generateSecItemRequestID):
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::StatisticsRequest::addOutstandingRequest):

2014-01-25  Anders Carlsson  <andersca@apple.com>

        Modernize HashTable threading code
        https://bugs.webkit.org/show_bug.cgi?id=127621

        Reviewed by Darin Adler.

        Explicitly include headers that used to be brought in by HashTable.h

        * Shared/BlockingResponseMap.h:

2014-01-25  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Remove null check for WebPopupMenuProxy::Client in WebPopupMenuProxyGtk::showPopupMenu
        https://bugs.webkit.org/show_bug.cgi?id=107036

        Reviewed by Andreas Kling.

        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
        (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Don't perform an early return
        if the client is not available - it always should be. The client is set to null
        only when the proxy is invalidated. This happens immediately after this function
        returns, either with the popup being forced to close or being closed by the user
        with possibly an item being chosen. Rather than the early return, use an ASSERT.

2014-01-24  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Smart Zoom): Can't double-tap zoom-out on the body
        https://bugs.webkit.org/show_bug.cgi?id=127602

        Reviewed by Anders Carlsson.

        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/ViewGestureController.mm:
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
        Use an explicit boolean instead of the emptiness of the renderRect() to determine
        whether or not the user has already smart-zoomed. renderRect() can be 0x0
        if our hit-test hits the body element.

2014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>

        Fix EFL WebKit2 build.

        * WebProcess/WebPage/efl/WebPageEfl.cpp:
        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Fix GTK+ WebKit2 build.

        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        Start using the RemoteScrollingCoordinatorProxy on iOS
        https://bugs.webkit.org/show_bug.cgi?id=127598

        Reviewed by Tim Horton.

        Add a scrollPositionChangedViaDelegatedScrolling() function to
        ScrollingTree, allowing the ScrollingTree to be informed about
        external sources of scrolling.
        
        Call it from -[WKContentView didScrollTo:] for the root node.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView didScrollTo:]):
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::rootScrollingNodeID):
        (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling):
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Try to fix the GTK+ build.

        * GNUmakefile.list.am:

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Remove back/forward list related functions from Page
        https://bugs.webkit.org/show_bug.cgi?id=127596

        Reviewed by Andreas Kling.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performNonEditingBehaviorForSelector):

2014-01-24  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed build fix attemp on the EFL after r162728.

        * CMakeLists.txt: Removed WebLoaderClient.cpp

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        Prepare scrolling tree to handle > 1 scrolling node
        https://bugs.webkit.org/show_bug.cgi?id=127590

        Reviewed by Tim Horton.
        
        Clean up the code path called after the ScrollingTree has scrolled a node,
        to prepare for multiple scrolling nodes.
        
        Change "updateMainFrameScrollPosition" terminology to "updateScrollPositionAfterAsyncScroll",
        and pass along the ScrollingNodeID that scrolled.

        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        (WebKit::RemoteScrollingTree::scrollingTreeNodeDidScroll):
        * UIProcess/Scrolling/RemoteScrollingTree.h:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
        (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        #ifdef out handleWheelEventPhase for iOS
        https://bugs.webkit.org/show_bug.cgi?id=127583

        Reviewed by Tim Horton.

        handleWheelEventPhase() doesn't make any sense for iOS, which
        has no wheel events.

        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        * UIProcess/Scrolling/RemoteScrollingTree.h:

2014-01-24  Simon Fraser  <simon.fraser@apple.com>

        Push a custom fixed position rect down to the WebProcess in iOS WK2
        https://bugs.webkit.org/show_bug.cgi?id=127573

        Reviewed by Tim Horton.
        
        Make it possible for WKContentView to specify a custom rect
        used to layout fixed position elements on iOS.
        
        This is computed in WKContentView, and pushed down
        through the RemoteLayerTreeDrawingArea, and eventually
        pushed onto FrameView.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView fixedPositionRectFromExposedRect:scale:]):
        (-[WKContentView _updateFixedPositionRect]):
        (-[WKContentView didFinishScrollTo:]):
        (-[WKContentView didZoomToScale:]):
        * UIProcess/DrawingAreaProxy.cpp:
        (WebKit::DrawingAreaProxy::setCustomFixedPositionRect):
        * UIProcess/DrawingAreaProxy.h:
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::setCustomFixedPositionRect):

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Get rid of WebLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=127587

        Reviewed by Andreas Kling.

        Move WebLoaderClient into WKPage.cpp.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController setLoadDelegate:]):
        * UIProcess/WebLoaderClient.cpp: Removed.
        * UIProcess/WebLoaderClient.h: Removed.
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-24  Brady Eidson  <beidson@apple.com>

        IDB: Support createIndex/deleteIndex
        <rdar://problem/15779642> and https://bugs.webkit.org/show_bug.cgi?id=127585

        Reviewed by Tim Horton.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::createIndex):
        (WebKit::UniqueIDBDatabase::deleteIndex):
        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore): Also drop all associated indexes.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-01-24  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>

        [GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again
        https://bugs.webkit.org/show_bug.cgi?id=127064

        When pressing <Esc> or <f> at full screen, the WebView shall emit the
        event webkitfullscreenchange, but wk2gtk does not emit it. This is
        because the WebView manages directly the exit of the full screen.

        With this patch the WebView calls requestExitFullScreen to the full
        screen manager, instead of managing directly the exit of the full
        screen, and the event webkitfullscreenchange will be dispatched
        correctly.

        Reviewed by Martin Robinson.

        No tests are included because there is a bug in WKTR that prevents the
        execution of a test for this patch. See
        https://bugs.webkit.org/show_bug.cgi?id=127348

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseKeyPressEvent): Call
        webkitWebViewBaseRequestExitFullScreen.
        (webkitWebViewBaseRequestExitFullScreen): Added.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.

2014-01-24  Tim Horton  <timothy_horton@apple.com>

        iOS build fix after r162710.

        This is why these sorts of comments are bad.

        * UIProcess/WebPageProxy.cpp:

2014-01-24  Anders Carlsson  <andersca@apple.com>

        Use a side table to map WebPageProxy objects to WKBrowsingContextController objects
        https://bugs.webkit.org/show_bug.cgi?id=127577

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (browsingContextControllerMap):
        (-[WKBrowsingContextController dealloc]):
        (-[WKBrowsingContextController _initWithPageRef:]):
        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
        * UIProcess/WebPageProxy.h:

2014-01-24  Tim Horton  <timothy_horton@apple.com>

        iOS build fix after r162710.

        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::takeViewSnapshot):

2014-01-24  Enrique Ocaña González  <eocanha@igalia.com>

        [GTK] Put cache files in XDG_CACHE_HOME
        https://bugs.webkit.org/show_bug.cgi?id=123458

        Reviewed by Martin Robinson.

        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformDefaultIconDatabasePath):

2014-01-24  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures (Swipe): Add a simple cache of view snapshots
        https://bugs.webkit.org/show_bug.cgi?id=127438

        Reviewed by Sam Weinig.

        Add a cache of bitmap snapshots of the WKView, taken via OS X's window server
        snapshotting mechanism. For now, we store all snapshots; refinements to the
        caching strategy (or really having one at all) will come in future patches.

        Snapshots are stored in a side map, with a UUID that allows references
        to be stored inside WebBackForwardListItem (and serialized along with
        the back-forward list when it is copied).

        * Shared/WebBackForwardListItem.h:
        (WebKit::WebBackForwardListItem::setSnapshotUUID):
        (WebKit::WebBackForwardListItem::snapshotUUID):
        * UIProcess/cf/WebBackForwardListCF.cpp:
        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
        (WebKit::extractBackForwardListEntriesFromArray):
        Store and serialize a UUID along with each back-forward list item which
        identifies that item's view snapshot in the ViewSnapshotStore.

        * UIProcess/cf/WebPageProxyCF.cpp:
        Bump the session state data version, as we changed the WebBackForwardList format.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::takeViewSnapshot):

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _takeViewSnapshot]):
        Add _takeViewSnapshot IPI, which is used by ViewSnapshotStore via the PageClient
        to take a snapshot of the view.

        (-[WKView saveBackForwardSnapshotForCurrentItem]):
        Add saveBackForwardSnapshotForCurrentItem SPI, which clients could potentially
        use when they know they're about to manipulate the view hierarchy in such a way
        that they want the current back-forward item's snapshot to be up to date.

        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::recordNavigationSnapshot):
        (WebKit::WebPageProxy::goForward):
        (WebKit::WebPageProxy::goBack):
        (WebKit::WebPageProxy::goToBackForwardItem):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        Update the current back-forward item's snapshot immediately before navigating.

        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::shouldRecordNavigationSnapshots):
        (WebKit::WebPageProxy::setShouldRecordNavigationSnapshots):
        Expose the ability to enable taking view snapshots on every navigation.
        This is off by default, so we won't be taking any snapshots yet.

        * UIProcess/mac/ViewSnapshotStore.h: Added.
        (WebKit::ViewSnapshotStore::disableSnapshotting):
        (WebKit::ViewSnapshotStore::enableSnapshotting):
        * UIProcess/mac/ViewSnapshotStore.mm: Added.
        (WebKit::ViewSnapshotStore::ViewSnapshotStore):
        (WebKit::ViewSnapshotStore::~ViewSnapshotStore):
        (WebKit::ViewSnapshotStore::shared):
        (WebKit::ViewSnapshotStore::recordSnapshot):
        (WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::takeViewSnapshot):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-24  Brady Eidson  <beidson@apple.com>

        IDB: support createIndex/deleteIndex messaging
        https://bugs.webkit.org/show_bug.cgi?id=127546

        Reviewed by Tim Horton.

        Message create/delete requests over to the DatabaseProcess, and listen to its replies:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::createIndex):
        (WebKit::WebIDBServerConnection::didCreateIndex):
        (WebKit::WebIDBServerConnection::deleteIndex):
        (WebKit::WebIDBServerConnection::didDeleteIndex):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Pass create/delete requests to the appropriate unique IDB database:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::createIndex):
        (WebKit::DatabaseProcessIDBConnection::deleteIndex):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Message the create/delete request to the database thread for the backing store to handle:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::didCreateIndex):
        (WebKit::UniqueIDBDatabase::didDeleteIndex):
        (WebKit::UniqueIDBDatabase::createIndex):
        (WebKit::UniqueIDBDatabase::deleteIndex):
        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * Scripts/webkit2/messages.py:
        (struct_or_class):

2014-01-24  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL][WK2] Debug buildfix
        https://bugs.webkit.org/show_bug.cgi?id=127496

        Reviewed by Gyuyoung Kim.

        * Shared/SessionTracker.cpp:

2014-01-23  Brady Eidson  <beidson@apple.com>

        IDB: Support IDBObjectStore.clear()
        https://bugs.webkit.org/show_bug.cgi?id=127541

        Reviewed by Anders Carlsson.

        Make the WebProcess call out to the DatabaseProcess with a clear request, and handle the
        response from the DatabaseProcess:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::clearObjectStore):
        (WebKit::WebIDBServerConnection::didClearObjectStore):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Pass the clear request to the appropriate UniqueIDBDatabase:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::clearObjectStore):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Pass the clear request to the backing store:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::didClearObjectStore):
        (WebKit::UniqueIDBDatabase::clearObjectStore):
        (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Actually drop the records in the database:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Fix crash when opening the inspector
        https://bugs.webkit.org/show_bug.cgi?id=127542
        <rdar://problem/15899544>

        Reviewed by Joseph Pecoraro.

        Create default clients so we won't crash if they're never set.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):

2014-01-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attemp on the EFL and GTK build after r162678

        * CMakeLists.txt: Removed WebPolicyClient.cpp
        * GNUmakefile.list.am: Removed WebPolicyClient.cpp and WebPolicyClient.h

2014-01-23  Yongjun Zhang  <yongjun_zhang@apple.com>

        Support NSInteger argument type for encoding/decoding invocations.
        https://bugs.webkit.org/show_bug.cgi?id=127522

        Reviewed by Dan Bernstein.

        Add support for NSInteger argument type ('q') for remote invocations.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocation):
        (decodeInvocationArguments):

2014-01-23  Brady Eidson  <beidson@apple.com>

        IDB: Implement SQLite backing store 'get' support
        https://bugs.webkit.org/show_bug.cgi?id=127502

        Reviewed by Tim Horton.

        This makes get of a single IDBKey work, and lays the groundwork for getting an IDBKeyRange.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Add custom collation
          to the Records table.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata): Install the custom collator.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::collate): Collation function to be filled in later.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

2014-01-23  Jon Honeycutt  <jhoneycutt@apple.com>

        Assertion failure in WebCore::PseudoElement::didRecalcStyle()
        <https://bugs.webkit.org/show_bug.cgi?id=126761>
        <rdar://problem/15793540>

        Reviewed by Andy Estes.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):
        Check isRenderImage() rather than isImage() before casting to
        RenderImage.

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Move policy client into WKPage.cpp and get rid of WebPolicyClient files
        https://bugs.webkit.org/show_bug.cgi?id=127536

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPagePolicyClient):
        * UIProcess/WebPolicyClient.cpp: Removed.
        * UIProcess/WebPolicyClient.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-23  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove recompileAllJSFunctions timer in ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=127409

        Reviewed by Geoffrey Garen.

        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
        (WebKit::WebInspectorFrontendClient::closeWindow):
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::remoteFrontendDisconnected):
        Include InspectorDisconnectReason.

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Only WKPage should know about WebPolicyClient
        https://bugs.webkit.org/show_bug.cgi?id=127535

        Reviewed by Andreas Kling.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPagePolicyClient):
        (-[WKBrowsingContextController setPolicyDelegate:]):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage):

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Simplify API::LoaderClient management
        https://bugs.webkit.org/show_bug.cgi?id=127531

        Reviewed by Tim Horton.

        Add default implementations to API::LoaderClient and change WebPageProxy::setLoaderClient to
        always create a policy client, even if the loader client set is null. That way we don't have to null
        check the loader client everywhere.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didStartProvisionalLoadForFrame):
        (API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        (API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (API::LoaderClient::didCommitLoadForFrame):
        (API::LoaderClient::didFinishDocumentLoadForFrame):
        (API::LoaderClient::didFinishLoadForFrame):
        (API::LoaderClient::didFailLoadWithErrorForFrame):
        (API::LoaderClient::didSameDocumentNavigationForFrame):
        (API::LoaderClient::didReceiveTitleForFrame):
        (API::LoaderClient::didFirstLayoutForFrame):
        (API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
        (API::LoaderClient::didRemoveFrameFromHierarchy):
        (API::LoaderClient::didDisplayInsecureContentForFrame):
        (API::LoaderClient::didRunInsecureContentForFrame):
        (API::LoaderClient::didDetectXSSForFrame):
        (API::LoaderClient::didLayout):
        (API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
        (API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
        (API::LoaderClient::didStartProgress):
        (API::LoaderClient::didChangeProgress):
        (API::LoaderClient::didFinishProgress):
        (API::LoaderClient::processDidBecomeUnresponsive):
        (API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
        (API::LoaderClient::processDidBecomeResponsive):
        (API::LoaderClient::processDidCrash):
        (API::LoaderClient::didChangeBackForwardList):
        (API::LoaderClient::willGoToBackForwardListItem):
        (API::LoaderClient::pluginLoadPolicy):
        (API::LoaderClient::didFailToInitializePlugin):
        (API::LoaderClient::didBlockInsecurePluginVersion):
        (API::LoaderClient::webGLLoadPolicy):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setLoaderClient):
        (WebKit::WebPageProxy::didChangeBackForwardList):
        (WebKit::WebPageProxy::willGoToBackForwardListItem):
        (WebKit::WebPageProxy::findPlugin):
        (WebKit::WebPageProxy::didStartProgress):
        (WebKit::WebPageProxy::didChangeProgress):
        (WebKit::WebPageProxy::didFinishProgress):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        (WebKit::WebPageProxy::didFailLoadForFrame):
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
        (WebKit::WebPageProxy::didReceiveTitleForFrame):
        (WebKit::WebPageProxy::didFirstLayoutForFrame):
        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::WebPageProxy::didLayout):
        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
        (WebKit::WebPageProxy::didDetectXSSForFrame):
        (WebKit::WebPageProxy::webGLPolicyForURL):
        (WebKit::WebPageProxy::processDidBecomeUnresponsive):
        (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
        (WebKit::WebPageProxy::processDidBecomeResponsive):
        (WebKit::WebPageProxy::processDidCrash):
        (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
        (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
        (WebKit::WebPageProxy::didFailToInitializePlugin):
        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Simplify API::PolicyClient management
        https://bugs.webkit.org/show_bug.cgi?id=127529

        Reviewed by Tim Horton.

        Add default implementations to API::PolicyClient and change WebPageProxy::setPolicyClient to
        always create a policy client, even if the policy object set is null. That way we don't have to null
        check the policy client everywhere.

        * UIProcess/API/APIPolicyClient.h:
        (API::PolicyClient::decidePolicyForNavigationAction):
        (API::PolicyClient::decidePolicyForNewWindowAction):
        (API::PolicyClient::decidePolicyForResponse):
        (API::PolicyClient::unableToImplementPolicy):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setPolicyClient):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::unableToImplementPolicy):

2014-01-23  Simon Fraser  <simon.fraser@apple.com>

        Fix GTK.

        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (webkitWebPageDidReceiveMessage):

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Add an APILoaderClient base class
        https://bugs.webkit.org/show_bug.cgi?id=127527

        Reviewed by Tim Horton.

        * UIProcess/API/APILoaderClient.h: Added.
        (API::LoaderClient::~LoaderClient):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPageLoaderClient):
        (-[WKBrowsingContextController setLoadDelegate:]):
        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::WebLoaderClient):
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setLoaderClient):
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::didChangeBackForwardList):
        (WebKit::WebPageProxy::willGoToBackForwardListItem):
        (WebKit::WebPageProxy::findPlugin):
        (WebKit::WebPageProxy::didStartProgress):
        (WebKit::WebPageProxy::didChangeProgress):
        (WebKit::WebPageProxy::didFinishProgress):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        (WebKit::WebPageProxy::didFailLoadForFrame):
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
        (WebKit::WebPageProxy::didReceiveTitleForFrame):
        (WebKit::WebPageProxy::didFirstLayoutForFrame):
        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::WebPageProxy::didLayout):
        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
        (WebKit::WebPageProxy::didDetectXSSForFrame):
        (WebKit::WebPageProxy::webGLPolicyForURL):
        (WebKit::WebPageProxy::processDidBecomeUnresponsive):
        (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
        (WebKit::WebPageProxy::processDidBecomeResponsive):
        (WebKit::WebPageProxy::processDidCrash):
        (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
        (WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
        (WebKit::WebPageProxy::didFailToInitializePlugin):
        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::loaderClient):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Build break after r162650
        https://bugs.webkit.org/show_bug.cgi?id=127525

        Reviewed by Anders Carlsson.

        WKPreferences.h was renamed to WKPreferencesRef.

        * UIProcess/API/C/WKPreferences.cpp:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Fix a refactoring bug that crept in and is causing the inspector to crash.

        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForResponse):

2014-01-23  Simon Fraser  <simon.fraser@apple.com>

        Make visibleContentRect() return actualVisibleContentRect() on iOS most of the time
        https://bugs.webkit.org/show_bug.cgi?id=127456
        
        Reviewed by Antti Koivisto.
        
        On iOS, visibleContentRect() returns the entire document rect for historical
        reasons, and actualVisibleContentRect() returns what visibleContentRect()
        returns on other platforms.
        
        In addition, actualVisibleContentRect() was returning an empty rect in WK2.
        
        Reduce the confusion of #ifdefs by making visibleContentRect() behave like
        actualVisibleContentRect() by default on iOS. Where it needs the old behavior,
        an optional parameter, LegacyIOSDocumentVisibleRect, provides this.
        
        Achieve this by having the virtual ScrollableArea::visibleContentRectInternal(),
        which is called by non-virtual visibleContentRect() and visibleContentRectIncludingScrollbars().
        
        Similarly clean up visibleHeight/visibleWidth functions by having visibleSize() be virtual,
        with non-virtual visibleHeight() and visibleWidth().
        
        ScrollableArea subclasses override visibleContentRectInternal() and visibleSize() where necessary.
        
        Mechanically change all the call sites of actualVisibleContentRect() to
        use visibleContentRect(), and the call sites of visibleContentRect()
        to visibleContentRect(..., LegacyIOSDocumentVisibleRect), adding comments
        where this may not be appropriate.
        
        Change callers of visibleContentRect(IncludeScrollbars...) to visibleContentRectIncludingScrollbars().
        
        Also add actualScrollPosition(), and clean up some actualScroll* call sites.
        
        No behavior change.

        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
        (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::visibleContentBounds):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

2014-01-23  Tim Horton  <timothy_horton@apple.com>

        [wk2] Page Overlays: Add API to clear the page overlay (and get rid of its backing store)
        https://bugs.webkit.org/show_bug.cgi?id=127518

        Reviewed by Anders Carlsson.

        Add WKBundlePageOverlayClear, to allow clients of the page overlay API to
        manually clear the page overlay's backing store, for memory, power, and performance gains.

        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
        (WKBundlePageOverlayClear):
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::clearPageOverlay):
        * WebProcess/WebPage/PageOverlay.cpp:
        (WebKit::PageOverlay::clear):
        * WebProcess/WebPage/PageOverlay.h:
        Add WKBundlePageOverlayClear and plumb it through PageOverlay to the DrawingArea.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::clearPageOverlay):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::clearPageOverlay):
        Set the layer to drawsContent=false and give it 0x0 size, effectively
        removing its backing store.

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Explicitly link XPC services with AppKit
        https://bugs.webkit.org/show_bug.cgi?id=127520
        <rdar://problem/15759718>

        Reviewed by Mark Rowe.

        Explicitly link XPC services that use the _NSApplicationMain run loop type with AppKit.

        * Configurations/PluginService.32.xcconfig:
        * Configurations/PluginService.64.xcconfig:
        * Configurations/PluginService.Development.xcconfig:
        * Configurations/WebContentService.Development.xcconfig:
        * Configurations/WebContentService.xcconfig:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Fix build again.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _windowDidChangeBackingProperties:]):

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Another 32-bit build fix.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _windowDidChangeBackingProperties:]):

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Clean up WKView.mm a little
        https://bugs.webkit.org/show_bug.cgi?id=127517

        Reviewed by Tim Horton.

        Remove an unused ivar and migrate to API constants that were added in Lion.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView setFrameSize:]):
        (-[WKView addWindowObserversForWindow:]):
        (-[WKView removeWindowObservers]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidResize:]):
        (-[WKView _windowDidChangeBackingProperties:]):

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Try to fix the 32-bit build.

        * UIProcess/API/Cocoa/WKPreferences.mm:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Remove an unneeded synchronous back/forward message
        https://bugs.webkit.org/show_bug.cgi?id=127516

        Reviewed by Tim Horton.

        * UIProcess/WebLoaderClient.cpp:
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeLoaderClient):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Rename WKPreferences.h to WKPreferencesRef.h and add a stubbed out WKPreferences class
        https://bugs.webkit.org/show_bug.cgi?id=127512

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKPreferencesRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKPreferences.h.
        * UIProcess/API/C/WebKit2_C.h:
        * UIProcess/API/Cocoa/WKPreferences.h: Added.
        * UIProcess/API/Cocoa/WKPreferences.mm: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-23  Max Vujovic  <mvujovic@adobe.com>

        Remove CSS Custom Filters code and tests
        https://bugs.webkit.org/show_bug.cgi?id=127382

        Reviewed by Simon Fraser.

        * CMakeLists.txt:
        * Configurations/FeatureDefines.xcconfig:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (IPC::ArgumentCoder<WebCore::FilterOperations>::encode):
        (IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
        (IPC::ArgumentCoder<CoordinatedGraphicsState>::encode):
        (IPC::ArgumentCoder<CoordinatedGraphicsState>::decode):
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Removed.
        * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Removed.
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::encodeFilterOperation):
        (IPC::decodeFilterOperation):
        * Shared/WebPreferencesStore.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):
        * UIProcess/API/C/WKPreferences.cpp:
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):
        * mac/WebKit2.order:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Add API::PolicyClient base class
        https://bugs.webkit.org/show_bug.cgi?id=127509

        Reviewed by Tim Horton.

        * UIProcess/API/APIPolicyClient.h: Copied from Source/WebKit2/UIProcess/WebPolicyClient.h.
        (API::PolicyClient::~PolicyClient):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPagePolicyClient):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPagePolicyClient):
        (-[WKBrowsingContextController setPolicyDelegate:]):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setPolicyClient):
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::unableToImplementPolicy):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::WebPolicyClient):
        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
        (WebKit::WebPolicyClient::decidePolicyForResponse):
        * UIProcess/WebPolicyClient.h:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-23  Anders Carlsson  <andersca@apple.com>

        Add init methods that create default configurations
        https://bugs.webkit.org/show_bug.cgi?id=127503

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKProcessClass.mm:
        (-[WKProcessClass init]):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:]):

2014-01-23  Brady Eidson  <beidson@apple.com>

        IDB: Implement cross-thread and IPC plumbing for 'get' support
        https://bugs.webkit.org/show_bug.cgi?id=127501

        Reviewed by Anders Carlsson.

        Make the WebProcess call out to the DatabaseProcess with a get request, and handle the
        response from the DatabaseProcess:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::get):
        (WebKit::WebIDBServerConnection::didGetRecord):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Get the request from the WebProcess and forward it to the appropriate unique IDB database:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::getRecord):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Forward the request to the database thread, and response to the result from that thread:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::getRecord):
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
        (WebKit::UniqueIDBDatabase::didGetRecordFromBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        IPC and asynchronous request infrastructure:
        * Scripts/webkit2/messages.py:
        (struct_or_class):

        * Shared/AsyncTask.h:
        (WebKit::createAsyncTask):

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBGetResult>::encode):
        (IPC::ArgumentCoder<IDBGetResult>::decode):
        (IPC::ArgumentCoder<IDBKeyRangeData>::encode):
        (IPC::ArgumentCoder<IDBKeyRangeData>::decode):
        * Shared/WebCoreArgumentCoders.h:

2014-01-23  Tim Horton  <timothy_horton@apple.com>

        PDFPlugin: Use PDFPlugin even if there's an external plugin installed, if it's blocked
        https://bugs.webkit.org/show_bug.cgi?id=127415
        <rdar://problem/12482452>

        Reviewed by Sam Weinig.

        Allow use of PDFPlugin even if an external plugin is installed but blocked.
        If an external plugin is installed and not blocked, we will continue to use that.

        Inject a context menu item into the PDFPlugin context menu that allows the client
        to unblock the plugin and reload the page (via the same mechanism that the
        unavailable plugin button uses).

        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPageLoaderClient):
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::pluginLoadPolicy):
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::findPlugin):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        Add a new PluginLoadPolicy callback for the V4 client with
        yet another string out-argument, to allow clients to customize the string
        that will appear in the PDFPlugin context menu when it is used in place
        of a blocked plugin.

        * WebProcess/Plugins/PDF/PDFPlugin.h:
        Add setUsedInPlaceOfBlockedPlugin(), which determines whether or not
        we should include an item in the PDFPlugin context menu that acts identically
        to the unavailable plugin button, allowing the client to potentially unblock
        the plugin.

        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (-[WKPDFPluginContextMenuTarget initWithPDFPlugin:WebKit::]):
        (-[WKPDFPluginContextMenuTarget useBlockedPlugin:]):
        Added WKPDFPluginContextMenuTarget, which is the Objective-C object that the
        aforementioned context menu item targets.

        (WebKit::PDFPlugin::PDFPlugin):
        By default, we won't show the extra context menu item.

        (WebKit::PDFPlugin::handleContextMenuEvent):
        If we were used in place of a blocked plugin, inject our additional context
        menu item into the menu. If we were handed a custom string via setUsedInPlaceOfBlockedPlugin,
        use that. Otherwise, use the generic string from WebCore's localized strings.

        (WebKit::PDFPlugin::openWithPlugin):
        Pretend that the user clicked the unavailable plugin button when they click
        the injected context menu item.

        (WebKit::PDFPlugin::setUsedInPlaceOfBlockedPlugin):

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::createPlugin):
        If we end up with a blocked plugin, but could have used PDFPlugin to display
        the content, do so instead of showing the unavailable plugin indicator.

        Pass PDFPlugin the custom context menu item title acquired from the client.

        (WebKit::WebPage::canPluginHandleResponse):

2014-01-23  Tim Horton  <timothy_horton@apple.com>

        [iOS] [WK2] WKContentView has a black background
        https://bugs.webkit.org/show_bug.cgi?id=127471
        <rdar://problem/12287363>

        Reviewed by Sam Weinig.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        Instead of giving it a (black!) background to make hit-testing work, use CALayer SPI
        to tell CA that the whole layer should be treated as opaque when it comes to hit-testing.

2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GLIB] Use GUniquePtr instead of GOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=127431

        Reviewed by Martin Robinson.

        GUniquePtr is a template alias of std::unique_ptr with a custom
        deleter that replaces GOwnPtr. GOwnPtr is still used for the cases
        where the output pointer is needed, but it will also be replaced soon.

        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::didReceiveResponse):
        * Shared/NativeWebKeyboardEvent.h:
        * Shared/NativeWebMouseEvent.h:
        * Shared/NativeWebWheelEvent.h:
        * Shared/gtk/ArgumentCodersGtk.cpp:
        (IPC::encodeGKeyFile):
        (IPC::decodeGKeyFile):
        (IPC::encode):
        (IPC::decode):
        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        (webkitContextMenuItemSetSubMenuFromGtkMenu):
        * UIProcess/API/gtk/WebKitDownload.cpp:
        (webkitDownloadDecideDestination):
        (webkitDownloadNotifyProgress):
        (webkitDownloadFailed):
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_select_files):
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (didReceiveWebViewMessageFromInjectedBundle):
        (getInjectedBundleInitializationUserData):
        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
        (didFailProvisionalLoadWithErrorForFrame):
        (didFailLoadWithErrorForFrame):
        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (drawPagesForPrintingCompleted):
        * UIProcess/API/gtk/WebKitURIRequest.cpp:
        (webkit_uri_request_get_http_headers):
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkit_uri_scheme_request_get_scheme):
        (webkit_uri_scheme_request_get_path):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (injectedBundleFilename):
        (webkit_web_context_set_favicon_database_directory):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewLoadFail):
        (webkitWebViewCreateJavaScriptDialog):
        (fileChooserDialogResponseCallback):
        (webkitWebViewLoadChanged):
        (webkitWebViewLoadFailedWithTLSErrors):
        (webkitWebViewPopulateContextMenu):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseButtonPressEvent):
        (webkitWebViewBaseStartDrag):
        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
        (WebKit::WebInspectorServer::platformResourceForPath):
        * UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
        (WebKit::connectionCallback):
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
        (WebKit::WebContext::platformDefaultDatabaseDirectory):
        (WebKit::WebContext::platformDefaultIconDatabasePath):
        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
        (WebKit::WebContext::platformDefaultDiskCacheDirectory):
        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::contextMenuItemVisibilityChanged):
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformInspectedURLChanged):
        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
        (WebKit::WebPopupMenuProxyGtk::createGtkActionForMenuItem):
        * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::platformInitialize):
        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
        * WebProcess/gtk/WebProcessMainGtk.cpp:
        * WebProcess/soup/WebSoupRequestManager.cpp:
        (WebKit::WebSoupRequestManager::send):

2014-01-22  Simon Fraser  <simon.fraser@apple.com>

        Surround fixedVisibleContentRect code with USE(TILED_BACKING_STORE)
        https://bugs.webkit.org/show_bug.cgi?id=127461

        Reviewed by Andreas Kling.
        
        The "fixedVisibleContentRect" code path is only used by platforms
        which enabled TILED_BACKING_STORE, so to reduce confusion, surround
        this code with #if USE(TILED_BACKING_STORE).

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

2014-01-22  Benjamin Poulain  <bpoulain@apple.com>

        Add a minimalistic SPI to control the layout size outside of WKView
        https://bugs.webkit.org/show_bug.cgi?id=127403

        Reviewed by Sam Weinig.

        The API lets a client of WKView force the layout size. Once the size
        is set this way, default update is disabled and the client needs to
        update the size systematically as needed. This is done to avoid double
        layout or flickering.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView _frameOrBoundsChanged]):
        (-[WKView overrideMinimumLayoutSize:]):

2014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] defaultTextEncodingName should be stored as a member variable of EwkSettings
        https://bugs.webkit.org/show_bug.cgi?id=127420

        Reviewed by Gyuyoung Kim.

        As the defaultTextEncodingName is returned as a local WKEinaSharedString variable, 
        the stringshared data is de-refed by eina_stringshare_del().
        To maintain the reference counter, the defaultTextEncodingName should be stored 
        as a member variable of EwkSettings class.

        * UIProcess/API/efl/ewk_settings.cpp:
        (ewk_settings_encoding_detector_enabled_get): Reordering.
        (ewk_settings_default_text_encoding_name_set):
        (ewk_settings_default_text_encoding_name_get):
        (EwkSettings::setDefaultTextEncodingName):
        (EwkSettings::defaultTextEncodingName):
        * UIProcess/API/efl/ewk_settings_private.h:
        (EwkSettings::EwkSettings): Add m_defaultTextEncodingName and setter/getter methods.

2014-01-22  Enrica Casucci  <enrica@apple.com>

        Support WebSelections in WK2 on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127015
        <rdar://problem/15211964>

        Reviewed by Benjamin Poulain.

        This change adds support for text only (non block mode)
        selections in non editable content.
        The main changes consist in hooking up the new gesture type
        and touches to handle selection creation and interaction.
        It also includes changes to the way first responder is handled
        which includes the implementation of the isEditable method
        to allow iOS to know when to show the keyboard.

        * Shared/ios/WKGestureTypes.h:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView isEditable]):
        (-[WKInteractionView canBecomeFirstResponder]):
        (-[WKInteractionView webSelectionRects]):
        (-[WKInteractionView _highlightLongPressRecognized:]):
        (-[WKInteractionView _singleTapRecognized:]):
        (-[WKInteractionView inputAccessoryView]):
        (-[WKInteractionView canPerformAction:withSender:]):
        (-[WKInteractionView _showDictionary:]):
        (toWKGestureType):
        (toUIWKGestureType):
        (selectionChangedWithGesture):
        (selectionChangedWithTouch):
        (-[WKInteractionView selectedTextRange]):
        (-[WKInteractionView webSelectionAssistant]):
        (-[WKInteractionView _startAssistingNode]):
        (-[WKInteractionView _stopAssistingNode]):
        (-[WKInteractionView _selectionChanged]):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::selectWithGesture):
        (WebKit::WebPage::updateSelectionWithTouches):

2014-01-22  Anders Carlsson  <andersca@apple.com>

        WKBrowsingContextController should not be an API wrapper around WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=127454

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController _initWithPageRef:]):
        (+[WKBrowsingContextController _browsingContextControllerForPageRef:]):
        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (didNavigateWithNavigationData):
        (didPerformClientRedirect):
        (didPerformServerRedirect):
        (didUpdateHistoryTitle):
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView browsingContextController]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView browsingContextController]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::platformInitialize):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::platformInitialize):

2014-01-22  Myles C. Maxfield  <mmaxfield@apple.com>

        Remove CSS3_TEXT_DECORATION define
        https://bugs.webkit.org/show_bug.cgi?id=127333

        Reviewed by Simon Fraser.

        This is required for unprefixing the text-decoration-* CSS properties.

        * Configurations/FeatureDefines.xcconfig:

2014-01-22  Gavin Barraclough  <barraclough@apple.com>

        Debug mechanism to override process QoS on Mac
        https://bugs.webkit.org/show_bug.cgi?id=127455

        Reviewed by Anders Carlsson.

        * NetworkProcess/NetworkProcess.messages.in:
            - added message.
        * PluginProcess/PluginProcess.messages.in:
            - added message.
        * Shared/ChildProcess.h:
        * Shared/mac/ChildProcessMac.mm:
        (WebKit::ChildProcess::setQOS):
            - Added implementation of new message.
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::didFinishLaunching):
            - SetQOS for the PluginProcess.
        * UIProcess/Plugins/PluginProcessProxy.h:
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::pluginProcessLatencyQOS):
        (WebKit::pluginProcessThroughputQOS):
            - read NSUserDefaults.
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::ensureNetworkProcess):
            - SetQOS for the NetworkProcess.
        (WebKit::WebContext::createNewWebProcess):
            - SetQOS for the WebProcess.
        * UIProcess/WebContext.h:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::networkProcessLatencyQOS):
        (WebKit::networkProcessThroughputQOS):
        (WebKit::webProcessLatencyQOS):
        (WebKit::webProcessThroughputQOS):
            - read NSUserDefaults.
        * WebProcess/WebProcess.messages.in:
            - added message.

2014-01-22  David Farler  <dfarler@apple.com>

        ASAN builds are broken - missing flags
        https://bugs.webkit.org/show_bug.cgi?id=127231

        Reviewed by Andy Estes.

        Add missing $(ASAN_OTHER_LDFLAGS).
        * Configurations/PluginProcessShim.xcconfig:
        * Configurations/SecItemShim.xcconfig:
        * Configurations/WebKit2.xcconfig:
        * Configurations/WebProcessShim.xcconfig:

2014-01-22  Brady Eidson  <beidson@apple.com>

        The IDB backing store get() method shouldn't call IDB callbacks directly
        https://bugs.webkit.org/show_bug.cgi?id=127453
        
        Reviewed by Beth Dakin.

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::get):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2014-01-22  Martin Hock  <mhock@apple.com>

        Enable Session API.
        https://bugs.webkit.org/show_bug.cgi?id=127255

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::start):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/RemoteNetworkingContext.h:
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::storageSession):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/Network/NetworkResourceLoadParameters.cpp:
        (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
        (WebKit::NetworkResourceLoadParameters::encode):
        (WebKit::NetworkResourceLoadParameters::decode):
        * Shared/Network/NetworkResourceLoadParameters.h:
        * Shared/SessionTracker.cpp:
        (WebKit::staticSessionMap):
        (WebKit::SessionTracker::sessionMap):
        (WebKit::SessionTracker::session):
        (WebKit::SessionTracker::setSession):
        (WebKit::SessionTracker::destroySession):
        * Shared/SessionTracker.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetSession):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKSessionRef.cpp:
        (WKSessionCreate):
        * UIProcess/API/C/WKSessionRef.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setSession):
        * UIProcess/WebPageProxy.h:
        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::scheduleLoad):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::startDownload):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::sessionID):
        (WebKit::WebPage::updatePreferences):
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::setSessionID):
        * WebProcess/WebPage/WebPage.messages.in:

2014-01-21  Brady Eidson  <beidson@apple.com>

        IDB: "Put" support
        <rdar://problem/15779643> and https://bugs.webkit.org/show_bug.cgi?id=127401

        Reviewed by Alexey Proskuryakov.

        Ship putRecord requests over to the DatabaseProcess, and listen for completion from the DatabaseProcess:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::put):
        (WebKit::WebIDBServerConnection::didPutRecord):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Pass off the putRecord request to the Unique IDBDatabase:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::putRecord):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Pass off the putRecord request to the backing store:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecord):
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
        (WebKit::UniqueIDBDatabase::didPutRecordInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Add backing store methods related to putRecord, though only one is critical right now:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKey):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGenerator):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        Add the IDBKeyData type to IPC:
        * Scripts/webkit2/messages.py:
        (struct_or_class):

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBKeyData>::encode):
        (IPC::ArgumentCoder<IDBKeyData>::decode):
        * Shared/WebCoreArgumentCoders.h:

        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
        (WebKit::serializeIDBKey):
        * DatabaseProcess/IndexedDB/IDBSerialization.h:

        Implement more cross-thread copying:
        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::Vector<uint8_t>>::copy):
        (WebCore::Vector<Vector<IDBKeyData>>>::copy):
        (WebCore::ASCIILiteral>::copy):
        * Shared/WebCrossThreadCopier.h:

        Implement more numbers of generic AsyncTask templates:
        * Shared/AsyncTask.h:
        (WebKit::createAsyncTask):

2014-01-22  Anders Carlsson  <andersca@apple.com>

        WKProcessClass should create a WebContext
        https://bugs.webkit.org/show_bug.cgi?id=127449
        <rdar://problem/15885582>

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        * UIProcess/API/Cocoa/WKProcessClass.mm:
        (-[WKProcessClass initWithConfiguration:]):
        (-[WKProcessClass dealloc]):
        (-[WKProcessClass API::]):
        * UIProcess/API/Cocoa/WKProcessClassInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h.
        (WebKit::wrapper):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-22  Tim Horton  <timothy_horton@apple.com>

        Crashes in DrawingAreaProxy::setExposedRect (null DrawingAreaProxy)
        https://bugs.webkit.org/show_bug.cgi?id=127445

        Reviewed by Anders Carlsson.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _updateViewExposedRect]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _updateViewExposedRect]):
        Null-check.

2014-01-22  Anders Carlsson  <andersca@apple.com>

        Add WKWebView class
        https://bugs.webkit.org/show_bug.cgi?id=127444
        <rdar://problem/15884418>

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.h: Added.
        * UIProcess/API/Cocoa/WKWebView.mm: Added.
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView configuration]):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-22  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

2014-01-22  Tim Horton  <timothy_horton@apple.com>

        [wk2] Scroll pinning state is wrong until the first scroll event
        https://bugs.webkit.org/show_bug.cgi?id=127437

        Reviewed by Simon Fraser.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updateMainFrameScrollOffsetPinning):
        (WebKit::WebPage::didCommitLoad):
        * WebProcess/WebPage/WebPage.h:
        Rename WebPage::didChangeScrollOffsetForMainFrame to
        updateMainFrameScrollOffsetPinning, which better describes what it
        actually does. Call it when a load is committed, so that we have valid
        pinning state before the first scroll event comes in.

2014-01-22  Anders Carlsson  <andersca@apple.com>

        Add WKWebViewConfiguration class
        https://bugs.webkit.org/show_bug.cgi?id=127436
        <rdar://problem/15882923>

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebViewConfiguration.h: Added.
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: Added.
        (-[WKWebViewConfiguration copyWithZone:]):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-22  Alice Barraclough  <alice.liu@apple.com>

        [WK2] add cocoa API for private browsing setting
        https://bugs.webkit.org/show_bug.cgi?id=127391

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
        (-[WKBrowsingContextGroup privateBrowsingEnabled]):
        (-[WKBrowsingContextGroup setPrivateBrowsingEnabled:]):
        Adding some API for the private Browsing setting. Reaches through
        to the WKPageGroup's preferences.

2014-01-22  Anders Carlsson  <andersca@apple.com>

        Add WKProcessClass class
        https://bugs.webkit.org/show_bug.cgi?id=127433
        <rdar://problem/15882582>

        Reviewed by Dan Bernstein.

        Add a stubbed out WKProcessClass class.

        * Shared/API/Cocoa/WKFoundation.h:
        * UIProcess/API/Cocoa/WKProcessClass.h: Added.
        * UIProcess/API/Cocoa/WKProcessClass.mm: Added.
        (-[WKProcessClass initWithConfiguration:]):
        (-[WKProcessClass configuration]):
        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-22  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [EFL][GTK] Get EFL and GTK compiling with ACCESSIBILITY disabled
        https://bugs.webkit.org/show_bug.cgi?id=127119

        Reviewed by Mario Sanchez Prada.

        Guarding ACCESSIBILITY code with HAVE(ACCESSIBILITY).

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::platformInitialize):

2014-01-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK][CMake] Add support for building the NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=127195

        Reviewed by Daniel Bates.

        * CMakeLists.txt: Add shared network process build instructions.
        * PlatformEfl.cmake: Move build instructions to the platform-independent file.
        * PlatformGTK.cmake: Add some files to the source lists.

2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r162441): [GTK] ResourceLoader is broken when there aren't user extensions
        https://bugs.webkit.org/show_bug.cgi?id=127422

        Reviewed by Anders Carlsson.

        * WebProcess/gtk/WebGtkExtensionManager.cpp:
        (WebKit::WebGtkExtensionManager::initialize): Always create the
        WebKitWebExtension object since it's used internally to implement
        the ResourceLoader client.

2014-01-22  Jer Noble  <jer.noble@apple.com>

        [Mac][WK2] Unable to play video protected by session cookies
        https://bugs.webkit.org/show_bug.cgi?id=127207

        Reviewed by Sam Weinig.

        Recent changes in our underlying media frameworks caused our shimmed methods
        in CookieStorageShim to stop being called. Insert an objective-c shim in addition
        to our original shim to intercept pulling cookies out of cookie storage.

        * Shared/mac/CookieStorageShim.mm: Renamed from Source/WebKit2/Shared/mac/CookieStorageShim.cpp.
        (WebKit::CookieStorageShim::initialize): Insert the shim.
        (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
            Pass through to webKitCookieStorageCopyRequestHeaderFieldsForURL().
        * WebKit2.xcodeproj/project.pbxproj: Rename CookieStorageShim.cpp -> .mm.

2014-01-22  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=127380
        Add more methods to WKWebProcessPlugInNodeHandle.

        Reviewed by Sam Weinig.

        Add a static method that creates a WKWebProcessPlugInNodeHandle from a JSValue* and a JSContext*.  Also
        add a method to return the iframe's content frame from a WKWebProcessPlugInNodeHandle.
 
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
        (+[WKWebProcessPlugInNodeHandle nodeHandleWithJSValue:inContext:]):
        (-[WKWebProcessPlugInNodeHandle htmlIFrameElementContentFrame]):

2014-01-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build with CUSTOM_PROTOCOL enabled after r162449.

        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h:
        Use override instead of OVERRIDE.

2014-01-22  Koop Mast <kwm@FreeBSD.org>

        Build fixes for FreeBSD.
        https://bugs.webkit.org/show_bug.cgi?id=126779

        Reviewed by Csaba Osztrogonác.

        * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
        (WebKit::PluginProcessProxy::scanPlugin):

2014-01-22  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Use std::function in the rest of EFL's WorkQueue implementation
        https://bugs.webkit.org/show_bug.cgi?id=127397

        Reviewed by Anders Carlsson.

        Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
        and DispatchQueue::setSocketEventHandler.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::open):
        * Platform/WorkQueue.h:
        * Platform/efl/DispatchQueueEfl.cpp:
        (DispatchQueue::setSocketEventHandler):
        * Platform/efl/DispatchQueueEfl.h:
        * Platform/efl/WorkQueueEfl.cpp:
        (WorkQueue::registerSocketEventHandler):

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        [wk2] De-.get()ify receivers of Objective-C messages
        https://bugs.webkit.org/show_bug.cgi?id=127398

        Reviewed by Sam Weinig.

        RetainPtr does the right thing when you use it as the
        receiver of an Obj-C message, so we don't need .get().

        Long and useless file list elided.

2014-01-21  Brady Eidson  <beidson@apple.com>

        The IDB backing store put() method shouldn't call IDB callbacks directly
        https://bugs.webkit.org/show_bug.cgi?id=127399

        Reviewed by Beth Dakin.

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::put):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2014-01-21  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:

2014-01-21  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Use nanoseconds in TimerWorkItem class consistently
        https://bugs.webkit.org/show_bug.cgi?id=127263

        Reviewed by Gyuyoung Kim.

        After r162276 and r162300, TimerWorkItem is getting nanoseconds as parameter.
        So it would be better to use nanoseconds in TimerWorkItem for consistency.

        * Platform/efl/DispatchQueueEfl.cpp:
        (DispatchQueue::performTimerWork):
        (DispatchQueue::insertTimerWorkItem):
        (DispatchQueue::getNextTimeOut):
        * Platform/efl/DispatchQueueWorkItemEfl.h:
        (TimerWorkItem::create):
        (TimerWorkItem::expirationTimeNanoSeconds):
        (TimerWorkItem::hasExpired):
        (TimerWorkItem::TimerWorkItem):

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Don't copy ViewGestureGeometryCollector.messages.in into the WebProcess bundle.

        Reviewed by Simon Fraser.

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-21  Anders Carlsson  <andersca@apple.com>

        Add a WKProcessClassConfiguration class
        https://bugs.webkit.org/show_bug.cgi?id=127378
        <rdar://problem/15875413>

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKProcessClassConfiguration.h: Added.
        * UIProcess/API/Cocoa/WKProcessClassConfiguration.mm: Added.
        (-[WKProcessClassConfiguration copyWithZone:]):
        * UIProcess/API/Cocoa/WKProcessClassConfigurationPrivate.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Make ViewGestureController Obj-C++
        https://bugs.webkit.org/show_bug.cgi?id=127385

        Reviewed by Dean Jackson.

        * UIProcess/mac/ViewGestureController.mm: Renamed from Source/WebKit2/UIProcess/mac/ViewGestureController.cpp.
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-21  Anders Carlsson  <andersca@apple.com>

        Make all the WebKit2 headers private and move Cocoa UIProcess API headers to a Deprecated group
        https://bugs.webkit.org/show_bug.cgi?id=127374

        Reviewed by Dan Bernstein.

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162452.
        http://trac.webkit.org/changeset/162452
        https://bugs.webkit.org/show_bug.cgi?id=127366

        broke a few tests on all Mac WebKit1 bots (Requested by
        thorton on #webkit).

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setActive):
        (WebKit::WebPage::setViewIsVisible):
        (WebKit::WebPage::setFocused):
        (WebKit::WebPage::setIsInWindow):
        (WebKit::WebPage::setViewStateInternal):
        (WebKit::WebPage::setIsVisuallyIdle):
        * WebProcess/WebPage/WebPage.h:

2014-01-21  Martin Hock  <mhock@apple.com>

        Trivial Session API cleanup.
        https://bugs.webkit.org/show_bug.cgi?id=127356

        Reviewed by Alexey Proskuryakov.

        * UIProcess/API/C/WKSessionRef.cpp:
        (WKSessionIsEphemeral):
        * UIProcess/API/C/WKSessionRef.h:

2014-01-16  Simon Fraser  <simon.fraser@apple.com>

        Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
        https://bugs.webkit.org/show_bug.cgi?id=127121

        Reviewed by Anders Carlsson.
        
        A common cause of early WebProcess crashes during development is a null return
        from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
        this case rather than passing a null C string to dlsym().

        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
        (WebKit::BootstrapMain):

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Sort headers after the rename that happened in r162454.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Address late review naming comments after r162453.

        * UIProcess/API/mac/WKView.mm:
        And, fix the build by adding an include I accidentally missed.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

2014-01-21  Tim Horton  <timothy_horton@apple.com>

        Keep CALayer implicit animation disabling code in a single place
        https://bugs.webkit.org/show_bug.cgi?id=127355

        Reviewed by Simon Fraser.

        * Shared/mac/RemoteLayerTreePropertyApplier.h:
        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        Remove disableActionsForLayer.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _rootLayer]):
        Disable actions on the root layer. It doesn't need them, and currently
        isn't affected by implicit animations, but future patches which animate
        the root layer will benefit from this.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::createLayer):
        Use web_disableAllActions instead of disableActionsForLayer.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
        (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
        (PlatformCALayerRemoteCustom::hostingContextID):
        Use web_disableAllActions instead of disableActionsForLayer.
        This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.

2014-01-21  Gavin Barraclough  <barraclough@apple.com>

        Change Page, FocusController to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=126533

        Reviewed by Tim Horton.

        These classes currently maintain a set of separate fields to represent the view state;
        combine these into a single field, and allow WebPage to send the combined update rather
        than individual changes.

        Maintain existing interface for WebKit1 clients.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - Combined separate calls to Page::setViewState.
        (WebKit::WebPage::updateIsInWindow):
            - Simplied from setIsInWindow.
        (WebKit::WebPage::setViewState):
            - Combined separate calls to Page::setViewState.
        * WebProcess/WebPage/WebPage.h:
            - Declare updateIsInWindow.

2014-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Implement CUSTOM PROTOCOLS
        https://bugs.webkit.org/show_bug.cgi?id=125583

        Reviewed by Anders Carlsson.

        Add new classes to implement CustomProtocols for soup. The
        implementation is the same, but using the CustomProtocol API and
        messages. The current implementation can be removed once all ports
        using soup switch to using CustomProtocols.

        * GNUmakefile.am: Add new include paths.
        * GNUmakefile.list.am: Add new files to compilation.
        * PlatformGTK.cmake: Add new files to compilation.
        * Shared/API/c/soup/WKBaseSoup.h:
        * Shared/APIObject.h:
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp: Added.
        (WebKit::generateCustomProtocolID):
        (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
        (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
        (WebKit::WebSoupRequestAsyncData::requestFailed):
        (WebKit::WebSoupRequestAsyncData::releaseTask):
        (WebKit::CustomProtocolManagerImpl::CustomProtocolManagerImpl):
        (WebKit::CustomProtocolManagerImpl::~CustomProtocolManagerImpl):
        (WebKit::CustomProtocolManagerImpl::registerScheme):
        (WebKit::CustomProtocolManagerImpl::supportsScheme):
        (WebKit::CustomProtocolManagerImpl::didFailWithError):
        (WebKit::CustomProtocolManagerImpl::didLoadData):
        (WebKit::CustomProtocolManagerImpl::didReceiveResponse):
        (WebKit::CustomProtocolManagerImpl::didFinishLoading):
        (WebKit::CustomProtocolManagerImpl::send):
        (WebKit::CustomProtocolManagerImpl::finish):
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h: Added.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
        (WebKit::CustomProtocolManager::CustomProtocolManager):
        (WebKit::CustomProtocolManager::initialize):
        (WebKit::CustomProtocolManager::registerScheme):
        (WebKit::CustomProtocolManager::supportsScheme):
        (WebKit::CustomProtocolManager::didFailWithError):
        (WebKit::CustomProtocolManager::didLoadData):
        (WebKit::CustomProtocolManager::didReceiveResponse):
        (WebKit::CustomProtocolManager::didFinishLoading):
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/API/C/soup/WKAPICastSoup.h:
        * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp: Copied from Source/WebKit2/UIProcess/soup/WebContextSoup.cpp.
        (WKSoupCustomProtocolRequestManagerGetTypeID):
        (WKSoupCustomProtocolRequestManagerSetClient):
        * UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h: Added.
        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
        * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
        (WebKit::CustomProtocolManagerProxy::startLoading):
        (WebKit::CustomProtocolManagerProxy::stopLoading):
        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp: Added.
        (WebKit::WebSoupCustomProtocolRequestManager::supplementName):
        (WebKit::WebSoupCustomProtocolRequestManager::create):
        (WebKit::WebSoupCustomProtocolRequestManager::WebSoupCustomProtocolRequestManager):
        (WebKit::WebSoupCustomProtocolRequestManager::~WebSoupCustomProtocolRequestManager):
        (WebKit::WebSoupCustomProtocolRequestManager::initializeClient):
        (WebKit::WebSoupCustomProtocolRequestManager::contextDestroyed):
        (WebKit::WebSoupCustomProtocolRequestManager::processDidClose):
        (WebKit::WebSoupCustomProtocolRequestManager::refWebContextSupplement):
        (WebKit::WebSoupCustomProtocolRequestManager::derefWebContextSupplement):
        (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):
        (WebKit::WebSoupCustomProtocolRequestManager::unregisterSchemeForCustomProtocol):
        (WebKit::WebSoupCustomProtocolRequestManager::startLoading):
        (WebKit::WebSoupCustomProtocolRequestManager::stopLoading):
        (WebKit::WebSoupCustomProtocolRequestManager::didReceiveResponse):
        (WebKit::WebSoupCustomProtocolRequestManager::didLoadData):
        (WebKit::WebSoupCustomProtocolRequestManager::didFailWithError):
        (WebKit::WebSoupCustomProtocolRequestManager::didFinishLoading):
        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.h: Added.
        (WebKit::WebSoupCustomProtocolRequestManager::registeredSchemesForCustomProtocols):
        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp: Added.
        (WebKit::WebSoupCustomProtocolRequestManagerClient::startLoading):
        (WebKit::WebSoupCustomProtocolRequestManagerClient::stopLoading):
        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.h: Added.
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::WebContext):
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::WebProcessProxy):
        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformInitializeWebProcess):
        * UIProcess/soup/WebContextSoup.cpp:
        (WebKit::WebContext::platformInitializeNetworkProcess):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess):
        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
        (webkitSoupRequestGenericSendAsync):
        (webkitSoupRequestGenericSendFinish):
        * WebProcess/soup/WebKitSoupRequestGeneric.h:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformInitializeWebProcess):

2014-01-21  Adrian Perez de Castro  <aperez@igalia.com>

        [GTK] Allow passing extra data to web extensions
        https://bugs.webkit.org/show_bug.cgi?id=125990

        Reviewed by Carlos Garcia Campos.

        Allow passing additional information to the injected bundle. On top
        of the string containing the path to the web extensions directory,
        a GVariant can be set with additional data using
        webkit_web_context_set_web_extensions_initialization_user_data().
        Also, a new initialize-web-extensions signal is emitted before
        launching a new WebProcess to allow setting different user data
        for each process. The GVariant is serialized as a string, passed
        to the injected bundle, and the injected bundle deserializes back
        the data, which is passed to web extensions which define the
        webkit_web_extension_initialize_with_user_data() function (for
        backwards compatibility, webkit_web_extension_initialize() is
        used as a fallback.)

        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (getInjectedBundleInitializationUserData): Define new callback
        function which causes emission of the initialize-web-extensions
        signal, and serializes the data to be passed to the web process.
        (attachInjectedBundleClientToContext): Set the
        getInjectedBundleInitializationUserData() callback.
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_class_init): Define the
        initialize-web-extensions signal.
        (webkit_web_context_set_web_extensions_directory):
        Web extensions directory as now member of WebKitWebContextPrivate,
        to be able to retrieve it later.
        (webkit_web_context_set_web_extensions_initialization_user_data):
        New API method to set the user data passed to the web extensions
        when initialized.
        (webkitWebContextInitializeWebExtensions): Private function used
        to trigger emission of the initialize-web-extensions signal.
        * UIProcess/API/gtk/WebKitWebContext.h:
        Added prototype for new API method
        webkit_web_context_set_web_extensions_initialization_user_data().
        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
        Prototype of the new private function.
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        Add new public API bits to the documentation.
        * WebProcess/gtk/WebGtkExtensionManager.cpp:
        (WebKit::WebGtkExtensionManager::initialize):
        Deserialize the data received from the UI process and pass it to
        webkit_web_extension_initialize_with_user_data() if available,
        keeping webkit_web_extension_initialize() as fallback.

2014-01-20  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Move isEwkViewEvasObject back to ewk_view.cpp
        https://bugs.webkit.org/show_bug.cgi?id=127261

        Reviewed by Gyuyoung Kim.

        isEwkViewEvasObject is general check routine of EFL and mainly used in
        ewk_view.cpp but it was in EwkView.cpp since separated EwkView.cpp from ewk_view.cpp

        This patch moves it to EwkView.h as inline function with small refactoring.
        In addition, this patch added EINA_UNLIKELY keyword in cold paths.

        * UIProcess/API/efl/EwkView.cpp:
        (defaultSmartClassInstance):
        (toSmartData):
        (toEwkView): Moved it from bottom not to expose it to header file.
        * UIProcess/API/efl/EwkView.h:
        * UIProcess/API/efl/ewk_view.cpp:
        (isEwkViewEvasObject):
        (toEwkViewChecked):

2014-01-20  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL][WK2] Amount of scrolling is different from movement of touch when device pixel ratio is not 1.
        https://bugs.webkit.org/show_bug.cgi?id=127268

        Reviewed by Gyuyoung Kim.

        Amount of scrolling should be same with movement of touch even though
        device pixel ratio is not 1, so apply device pixel ratio to the new
        position of scrollBy().

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::scrollBy):

2014-01-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WK2] Setting m_pageScaleFactor directly in WebPageProxy::scalePage
        https://bugs.webkit.org/show_bug.cgi?id=127090

        Reviewed by Simon Fraser.

        When the client side sets the scale factor, the UIProcess will send the message to WebProcess and only after
        WebPageProxy::pageScaleFactorDidChange is called the desired scale factor is returned correctly by
        WebPageProxy::pageScaleFactor.
        This will avoid the client side retrieve a wrong scale factor while UIProcess and WebProcess gets synchronized.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::scalePage):

2014-01-20  Zan Dobersek  <zdobersek@igalia.com>

        [GTK][WK2] Move the rest of GTK's WorkQueue implementation to std::function
        https://bugs.webkit.org/show_bug.cgi?id=127273

        Reviewed by Anders Carlsson.

        Move to using std::function and move semantics in WorkQueue::registerSocketEventHandler
        and WorkQueue::SocketEventSource.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::open):
        * Platform/WorkQueue.h:
        * Platform/gtk/WorkQueueGtk.cpp:
        (WorkQueue::SocketEventSource::SocketEventSource):
        (WorkQueue::registerSocketEventHandler):
        (WorkQueue::dispatchOnSource): Use std::move instead of std::forward<T>.
        (WorkQueue::dispatch): Ditto.
        (WorkQueue::dispatchAfter): Ditto.

2014-01-20  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed. Additional build fixes after r162276 and r163304.

        * Platform/WorkQueue.h:
        * Platform/gtk/WorkQueueGtk.cpp:
        (WorkQueue::EventSource::EventSource):
        (WorkQueue::dispatchOnSource):
        (WorkQueue::dispatch):
        (WorkQueue::dispatchAfter):

2014-01-19  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r162276.

        Updating the WorkQueue implementation to use std::function and std::chrono.

        * Platform/WorkQueue.h:
        * Platform/gtk/WorkQueueGtk.cpp:
        (WorkQueue::dispatchOnSource):
        (WorkQueue::dispatch):
        (WorkQueue::dispatchAfter):

2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>

        Unreviewed debug build fix on EFL port after r162300.

        * Platform/efl/DispatchQueueWorkItemEfl.h:
        (TimerWorkItem::create):

2014-01-19  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] build fix after r162276
        https://bugs.webkit.org/show_bug.cgi?id=127259

        Reviewed by Anders Carlsson.

        * Platform/efl/DispatchQueueEfl.cpp:
        (DispatchQueue::performTimerWork):
        (DispatchQueue::getNextTimeOut):
        * Platform/efl/DispatchQueueWorkItemEfl.h:
        (WorkItem::create):
        (WorkItem::WorkItem):
        (TimerWorkItem::create):
        (TimerWorkItem::TimerWorkItem):
        * Platform/efl/WorkQueueEfl.cpp:
        (WorkQueue::dispatch):
        (WorkQueue::dispatchAfter):

2014-01-18  Anders Carlsson  <andersca@apple.com>

        Replace a couple of uses of WTF::Function with std::function
        https://bugs.webkit.org/show_bug.cgi?id=127218

        Reviewed by Andreas Kling.

        * Platform/IPC/mac/ConnectionMac.cpp:
        (IPC::createDataAvailableSource):
        * Platform/WorkQueue.h:
        * Platform/mac/WorkQueueMac.cpp:
        (WorkQueue::dispatch):
        (WorkQueue::dispatchAfter):
        * Shared/ChildProcess.cpp:
        (WebKit::didCloseOnConnectionWorkQueue):
        * UIProcess/Storage/LocalStorageDatabase.cpp:
        (WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
        * WebProcess/WebPage/DrawingArea.cpp:
        (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):

2014-01-18  Martin Hock  <mhock@apple.com>

        Flesh out session APIs (still not enabled at API level).
        https://bugs.webkit.org/show_bug.cgi?id=126918

        Reviewed by Alexey Proskuryakov.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        (WebKit::NetworkConnectionToWebProcess::startDownload):
        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeNetworkProcess):
        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/RemoteNetworkingContext.h:
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::storageSession):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
        (WebKit::sessionMap):
        (WebKit::identifierBase):
        (WebKit::SessionTracker::getSessionMap):
        (WebKit::SessionTracker::getIdentifierBase):
        (WebKit::SessionTracker::session):
        (WebKit::SessionTracker::destroySession):
        (WebKit::SessionTracker::setIdentifierBase):
        * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
        (WebKit::SessionTracker::isEphemeralID):
        * Shared/mac/CookieStorageShim.cpp:
        (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
        * UIProcess/APISession.cpp:
        (API::generateID):
        (API::Session::defaultSession):
        (API::Session::legacyPrivateSession):
        (API::Session::Session):
        (API::Session::create):
        (API::Session::isEphemeral):
        (API::Session::getID):
        * UIProcess/APISession.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebContext.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::sessionID):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::legacySessionID):
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensurePrivateBrowsingSession):
        (WebKit::WebProcess::destroyPrivateBrowsingSession):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2014-01-18  Brian Burg  <bburg@apple.com>

        Web Inspector: Page should use std::unique_ptr for InspectorController
        https://bugs.webkit.org/show_bug.cgi?id=127068

        Reviewed by Joseph Pecoraro.

        Convert call sites to use a InspectorController reference.

        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
        (WebKit::WebInspectorClient::drawRect):
        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
        (WebKit::WebInspectorFrontendClient::WebInspectorFrontendClient):
        (WebKit::WebInspectorFrontendClient::closeWindow):
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::createInspectorPage):
        (WebKit::WebInspector::show):
        (WebKit::WebInspector::close):
        (WebKit::WebInspector::evaluateScriptForTest):
        (WebKit::WebInspector::showConsole):
        (WebKit::WebInspector::showResources):
        (WebKit::WebInspector::showMainResourceForFrame):
        (WebKit::WebInspector::startJavaScriptDebugging):
        (WebKit::WebInspector::stopJavaScriptDebugging):
        (WebKit::WebInspector::setJavaScriptProfilingEnabled):
        (WebKit::WebInspector::startJavaScriptProfiling):
        (WebKit::WebInspector::stopJavaScriptProfiling):
        (WebKit::WebInspector::startPageProfiling):
        (WebKit::WebInspector::stopPageProfiling):
        (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
        (WebKit::WebInspector::remoteFrontendConnected):
        (WebKit::WebInspector::remoteFrontendDisconnected):

2014-01-18  Anders Carlsson  <andersca@apple.com>

        Remove ENABLE_THREADED_HTML_PARSER defines everywhere
        https://bugs.webkit.org/show_bug.cgi?id=127225

        Reviewed by Andreas Kling.

        This concludes the removal of over 8.8 million lines of threaded parser code.

        * Configurations/FeatureDefines.xcconfig:

2014-01-18  Yongjun Zhang  <yongjun_zhang@apple.com>

        Make WKRenderingProgressEvents a shareable API.
        https://bugs.webkit.org/show_bug.cgi?id=127213

        Reviewed by Dan Bernstein.

        Move WKRenderingProgressEvents from UIProcess to Shared, so that an inject bundle
        could also use this enum when listening to layout milestones.

        * Shared/API/Cocoa/WKRenderingProgressEvents.h: Added.
        (NS_OPTIONS):
        * Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Added.
        (renderingProgressEvents):
        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Move WKRenderingProgressEvents to Shared/API/Cocoa/WKRenderingProgressEvents.h.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Move renderingProgressEvents() to WKRenderingProgressEventsInternal.h.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add
            webProcessPlugInBrowserContextController:renderingProgressDidChange: to load delegate.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (didLayout):
        (setUpPageLoaderClient): Also listen to didLayout callback for layout milestones.

2014-01-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162237 and r162241.
        http://trac.webkit.org/changeset/162237
        http://trac.webkit.org/changeset/162241
        https://bugs.webkit.org/show_bug.cgi?id=127216

        Broke lots of API tests (Requested by ap on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        (WebKit::NetworkConnectionToWebProcess::startDownload):
        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeNetworkProcess):
        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/RemoteNetworkingContext.h:
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::privateBrowsingStorageSession):
        (WebKit::RemoteNetworkingContext::storageSession):
        (WebKit::RemoteNetworkingContext::privateBrowsingSession):
        (WebKit::privateBrowsingStorageSessionIdentifierBase):
        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
        (WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
        (WebKit::RemoteNetworkingContext::privateBrowsingSession):
        * Shared/SessionTracker.cpp: Removed.
        * Shared/SessionTracker.h: Removed.
        * UIProcess/APISession.cpp:
        (API::Session::Session):
        (API::Session::create):
        (API::Session::isEphemeral):
        * UIProcess/APISession.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebContext.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::privateSession):
        (WebKit::identifierBase):
        (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
        (WebKit::privateSession):
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensurePrivateBrowsingSession):
        (WebKit::WebProcess::destroyPrivateBrowsingSession):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2014-01-17  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on EFL port after r162237

        The EFL port disabled NETWORK_PROCESS yet and use -Werror=unused-function.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        Guarded legacySessionID with ENABLE(NETWORK_PROCESS)

2014-01-17  Martin Hock  <mhock@apple.com>

        Flesh out session APIs (still not enabled at API level).
        https://bugs.webkit.org/show_bug.cgi?id=126918

        Reviewed by Alexey Proskuryakov.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        (WebKit::NetworkConnectionToWebProcess::startDownload):
        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
        (WebKit::NetworkConnectionToWebProcess::setCookiesFromDOM):
        (WebKit::NetworkConnectionToWebProcess::cookiesEnabled):
        (WebKit::NetworkConnectionToWebProcess::cookieRequestHeaderFieldValue):
        (WebKit::NetworkConnectionToWebProcess::getRawCookies):
        (WebKit::NetworkConnectionToWebProcess::deleteCookie):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeNetworkProcess):
        (WebKit::NetworkProcess::ensurePrivateBrowsingSession):
        (WebKit::NetworkProcess::destroyPrivateBrowsingSession):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/RemoteNetworkingContext.h:
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::storageSession):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/SessionTracker.cpp: Copied from Source/WebKit2/UIProcess/APISession.cpp.
        (WebKit::sessionMap):
        (WebKit::identifierBase):
        (WebKit::SessionTracker::getSessionMap):
        (WebKit::SessionTracker::getIdentifierBase):
        (WebKit::SessionTracker::session):
        (WebKit::SessionTracker::destroySession):
        (WebKit::SessionTracker::setIdentifierBase):
        * Shared/SessionTracker.h: Copied from Source/WebKit2/UIProcess/APISession.h.
        (WebKit::SessionTracker::isEphemeralID):
        * UIProcess/APISession.cpp:
        (API::generateID):
        (API::Session::defaultSession):
        (API::Session::legacyPrivateSession):
        (API::Session::Session):
        (API::Session::create):
        (API::Session::isEphemeral):
        (API::Session::getID):
        * UIProcess/APISession.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebContext.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::sessionID):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::legacySessionID):
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensurePrivateBrowsingSession):
        (WebKit::WebProcess::destroyPrivateBrowsingSession):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2014-01-17  Andreas Kling  <akling@apple.com>

        Remove unused TOUCH_ADJUSTMENT code.
        <https://webkit.org/b/127181>

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
        (WebKit::WebPage::findZoomableAreaForPoint):

2014-01-17  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2014-01-17  Anders Carlsson  <andersca@apple.com>

        Remove FrameLoaderClient::didPerformFirstNavigation()
        https://bugs.webkit.org/show_bug.cgi?id=127191

        Reviewed by Dan Bernstein.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2014-01-17  Manuel Rego Casasnovas  <rego@igalia.com>

        [GTK] Add CSS Grid Layout as experimental feature
        https://bugs.webkit.org/show_bug.cgi?id=127089

        Reviewed by Martin Robinson.

        Allow CSS Grid Layout to be enabled through the environment variable WEBKITGTK_EXPERIMENTAL_FEATURES.

        Example: WEBKITGTK_EXPERIMENTAL_FEATURES="CSS_GRID_LAYOUT=1"

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webKitSettingsConstructed): Use new experimental feature to enable or disable CSS Grid Layout.
        * UIProcess/gtk/ExperimentalFeatures.cpp: Add new experimental feature.
        * UIProcess/gtk/ExperimentalFeatures.h: Ditto.

2014-01-17  Enrica Casucci  <enrica@apple.com>

        Support WebSelections in WK2 on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127015
        <rdar://problem/15843090>

        Reviewed by Dan Bernstein.

        Removing unused variable in selectWithGesture that
        causes Release build to fail after r162103.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::selectWithGesture):

2014-01-17  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=127138
        Add more delegate callback methods to WKWebProcessPlugInLoadDelegate.

        Reviewed by Sam Weinig.

        Add more WKWebProcessPlugInLoadDelegate callback methods so that a injected
        bundle can listen/react to more frame loading events.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Add more delegate callback methods for
            WKWebProcessPlugInLoadDelegate.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (didCommitLoadForFrame):
        (didFinishDocumentLoadForFrame):
        (didFailLoadWithErrorForFrame):
        (didSameDocumentNavigationForFrame): 
        (didLayoutForFrame):
        (setUpPageLoaderClient):

2014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Add stubs for CustomProtocol classes
        https://bugs.webkit.org/show_bug.cgi?id=126343

        Reviewed by Gustavo Noronha Silva.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * PlatformGTK.cmake:
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp: Added.
        (WebKit::generateCustomProtocolID):
        (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
        (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
        (WebKit::WebSoupRequestAsyncData::requestFailed):
        (WebKit::WebSoupRequestAsyncData::releaseTask):
        (WebKit::CustomProtocolManager::supplementName):
        (WebKit::CustomProtocolManager::CustomProtocolManager):
        (WebKit::CustomProtocolManager::initializeConnection):
        (WebKit::CustomProtocolManager::initialize):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode): Move
        urlSchemesRegisteredForCustomProtocols encoding out of platform
        ifdefs, since it's already guarded by ENABLE(CUSTOM_PROTOCOLS).
        (WebKit::NetworkProcessCreationParameters::decode): Ditto.
        * Shared/Network/NetworkProcessCreationParameters.h: Ditto.
        * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp: Added.
        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
        (WebKit::CustomProtocolManagerProxy::startLoading):
        (WebKit::CustomProtocolManagerProxy::stopLoading):

2014-01-16  Tim Horton  <timothy_horton@apple.com>

        On iOS, zooming in with a TileController-backed main frame makes hundreds of tiles
        https://bugs.webkit.org/show_bug.cgi?id=126531
        <rdar://problem/15745862>

        Reviewed by Anders Carlsson.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _updateViewExposedRect]):
        (-[WKContentView setViewportSize:]):
        (-[WKContentView didFinishScrollTo:]):
        (-[WKContentView didScrollTo:]):
        (-[WKContentView didZoomToScale:]):
        Because zooming is performed by the UIScrollView, we need to transform
        the exposedRect's offset in order to get it in FrameView-relative coordinates.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::didFinishZooming):
        Save the pageScaleFactor when it changes.

2014-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Remove the weak pointer added to the web view in WebKitPrintOperation
        https://bugs.webkit.org/show_bug.cgi?id=127098

        Reviewed by Martin Robinson.

        If the print operation finishes and the web view is still alive,
        the weak pointer added to the view should be removed.

        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):

2014-01-15  Sam Weinig  <sam@webkit.org>

        TextBreakIterator's should support Latin-1 for all iterator types (Part 3)
        https://bugs.webkit.org/show_bug.cgi?id=126856

        Reviewed by Ryosuke Niwa.

        Change all the TextBreakIterator creation functions to take StringViews. Remove a few
        now unnecessary up-conversions to UTF-16 in the process.

        * UIProcess/efl/TextCheckerEfl.cpp:
        (WebKit::nextWordOffset):
        (WebKit::TextChecker::checkTextOfParagraph):

2014-01-16  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL][WK2] EwkView can not be shown without re-sizing once it is hidden.
        https://bugs.webkit.org/show_bug.cgi?id=127084

        Reviewed by Gyuyoung Kim.

        Visibility of EwkView can not be controlled by evas_object_show/hide
        because EwkView can be shown only if re-sizing is requested, so modify
        codes to show EwkView directly if we do not wait for re-sizing.
        Additionally, we have to set default value of m_pendingSurfaceResize
        to true for accelerated mode to prevent to show black empty view for
        the first request to show.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::EwkView):
        (EwkView::handleEvasObjectShow):

2014-01-16  Andy Estes  <aestes@apple.com>

        Build Fix: Use standard architectures when building for iOS

        Even though we don't use the plug-in services on iOS, we still need
        them to build (we won't install them). Be sure we specify valid iOS
        architectures when doing so.

        * Configurations/PluginService.32.xcconfig:
        * Configurations/PluginService.64.xcconfig:

2014-01-16  Enrica Casucci  <enrica@apple.com>

        Crash when destroying WKInteractionView.
        https://bugs.webkit.org/show_bug.cgi?id=127153
        <rdar://problem/15840761>

        Reviewed by Anders Carlsson.

        UIWKSelectionAssistant is a RetainPtr and it is being 
        deallocated after the view and its gesture recognizers
        have been destroyed.
        The parent class UIWebSelectionAssistant assumes to be
        deallocated before the view is gone.
        We deallocate the interaction assistants explicitly to
        fix the problem.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView dealloc]):

2014-01-16  Brady Eidson  <beidson@apple.com>

        IDB: delete object store support
        <rdar://problem/15779641> and https://bugs.webkit.org/show_bug.cgi?id=127123

        Reviewed by Alexey Proskuryakov.

        Pipe through Web -> Database -> Web process messaging for delete object store.
        Perform dropping the object store in the backing store.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::deleteObjectStore):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::didDeleteObjectStore):
        (WebKit::UniqueIDBDatabase::deleteObjectStore):
        (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::deleteObjectStore):
        (WebKit::WebIDBServerConnection::didDeleteObjectStore):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

2014-01-16  Alexey Proskuryakov  <ap@apple.com>

        [Mac] [iOS] Add support for CFHTTPCookieStorageAcceptPolicyExclusivelyFromMainDocumentDomain
        https://bugs.webkit.org/show_bug.cgi?id=127139

        Reviewed by Brady Eidson.

        * Shared/HTTPCookieAcceptPolicy.h:
        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toHTTPCookieAcceptPolicy):
        (WebKit::toAPI):
        * UIProcess/API/C/WKCookieManager.h:
        Added the policy to appropriate switches and enums.

2014-01-16  Jeffrey Pfau  <jpfau@apple.com>

        Fix build after r162161. One FINAL was still present.

        * Shared/cf/KeyedDecoder.h:

2014-01-16  Anders Carlsson  <andersca@apple.com>

        Change all uses of FINAL to final now that all our compilers support it
        https://bugs.webkit.org/show_bug.cgi?id=127142

        Reviewed by Benjamin Poulain.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
        * NetworkProcess/RemoteNetworkingContext.h:
        * Shared/API/Cocoa/RemoteObjectRegistry.h:
        * Shared/APIArray.h:
        * Shared/APIString.h:
        * Shared/AsyncRequest.h:
        * Shared/AsyncTask.h:
        * Shared/cf/KeyedEncoder.h:
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/efl/WebViewEfl.h:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Storage/StorageAreaImpl.h:
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:

2014-01-16  Brady Eidson  <beidson@apple.com>

        Fix the build after r162148

        * Shared/cf/KeyedEncoder.h: s/OVERRIDE/override/

2014-01-15  Brady Eidson  <beidson@apple.com>

        Use KeyedCoding as a persistent storage mechanism for blobs
        https://bugs.webkit.org/show_bug.cgi?id=127012

        Reviewed by Anders Carlsson.

        Add a way to get the encoded buffer to save:
        * Shared/cf/KeyedEncoder.cpp:
        (WebKit::KeyedEncoder::finishEncoding):
        * Shared/cf/KeyedEncoder.h:

        Add a WebKit KeyedDecoder for CF platforms that can decode the previously encoded buffer:
        * Shared/cf/KeyedDecoder.cpp: Added.
        (WebKit::KeyedDecoder::KeyedDecoder):
        (WebKit::KeyedDecoder::~KeyedDecoder):
        (WebKit::KeyedDecoder::decodeInt64):
        (WebKit::KeyedDecoder::decodeUInt32):
        (WebKit::KeyedDecoder::decodeString):
        (WebKit::KeyedDecoder::beginObject):
        (WebKit::KeyedDecoder::endObject):
        (WebKit::KeyedDecoder::beginArray):
        (WebKit::KeyedDecoder::beginArrayElement):
        (WebKit::KeyedDecoder::endArrayElement):
        (WebKit::KeyedDecoder::endArray):
        * Shared/cf/KeyedDecoder.h:

        Create a WebKit KeyedEncoder/Decoder and use to encode/decode IDBKeyPaths:
        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
        (WebKit::serializeIDBKeyPath):
        (WebKit::deserializeIDBKeyPath):
        * DatabaseProcess/IndexedDB/IDBSerialization.h:

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-16  Andy Estes  <aestes@apple.com>

        Stop copying WKOriginDataManager.cpp into WebKit2.framework
        https://bugs.webkit.org/show_bug.cgi?id=127100

        Reviewed by Sam Weinig.

        The file was mistakenly added to the 'All' target. Remove it.

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-16  Andy Estes  <aestes@apple.com>

        [iOS] Install WebKit2 XPC services correctly
        https://bugs.webkit.org/show_bug.cgi?id=127097

        Reviewed by Anders Carlsson.

        * Configurations/PluginService.32.xcconfig: Set SKIP_INSTALL to YES on iOS.
        * Configurations/PluginService.64.xcconfig: Ditto.
        * Configurations/PluginService.Development.xcconfig: Ditto.
        * WebKit2.xcodeproj/project.pbxproj: Modified the "Add XPCServices symlink"
        build phase to only execute on OS X. Modified the
        "Copy XPC services for engineering builds" build phase to copy files
        directly to WebKit2.framework/XPCServices/ on iOS, and modified its
        output file paths to omit "Versions/A/" (since OS X will have a
        XPCServices symlink at the root of the framework bundle).

2014-01-16  Roger Fong  <roger_fong@apple.com>

        Build fix for mac following r162141.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Switch OVERRIDE to override.

2014-01-16  Roger Fong  <roger_fong@apple.com>

        Add support for handling WebGL load policies.
        https://bugs.webkit.org/show_bug.cgi?id=126935
        <rdar://problem/15790448>.

        Reviewed by Timothy Horton.

        Boiler plate code for getting the load policy logic from WebProcess to the UIProcess.

        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toWebGLLoadPolicy):
        * UIProcess/API/C/WKPageLoaderClient.h: Define a new WKPageLoaderClientV4 struct.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPageLoaderClient):
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::webGLLoadPolicy):
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::webGLPolicyForURL):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::webGLPolicyForURL): 
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::webGLPolicyForURL): We use a sendSync to get the load policy value from the UIProcess.
        * WebProcess/WebPage/WebPage.h:

2014-01-16  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Remove workaround for compilers not supporting explicit override control
        https://bugs.webkit.org/show_bug.cgi?id=127111

        Reviewed by Anders Carlsson.

        Now all compilers support explicit override control, this workaround can be removed.

        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
        * NetworkProcess/AsynchronousNetworkLoaderClient.h:
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcessPlatformStrategies.h:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/RemoteNetworkingContext.h:
        * NetworkProcess/SynchronousNetworkLoaderClient.h:
        * NetworkProcess/mac/DiskCacheMonitor.h:
        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
        * PluginProcess/PluginControllerProxy.h:
        * PluginProcess/PluginProcess.h:
        * PluginProcess/WebProcessConnection.h:
        * Shared/API/Cocoa/RemoteObjectRegistry.h:
        * Shared/APIObject.h:
        * Shared/AsyncRequest.h:
        * Shared/AsyncTask.h:
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/ChildProcess.h:
        * Shared/ChildProcessProxy.h:
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
        * Shared/Downloads/Download.h:
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/WebConnection.h:
        * Shared/WebResourceBuffer.h:
        * Shared/cf/KeyedEncoder.h:
        * Shared/mac/SecItemShim.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/Databases/DatabaseProcessProxy.h:
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/DrawingAreaProxy.h:
        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Plugins/PluginProcessProxy.h:
        * UIProcess/Scrolling/RemoteScrollingTree.h:
        * UIProcess/Storage/StorageManager.h:
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebBatteryManagerProxy.h:
        * UIProcess/WebConnectionToWebProcess.h:
        * UIProcess/WebContext.h:
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebFullScreenManagerProxy.h:
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebIconDatabase.h:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebKeyValueStorageManager.h:
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebNetworkInfoManagerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.h:
        * UIProcess/WebResourceCacheManagerProxy.h:
        * UIProcess/WebVibrationProxy.h:
        * UIProcess/efl/PageViewportControllerClientEfl.h:
        * UIProcess/efl/WebViewEfl.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/SecItemShimProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/WebColorPickerMac.h:
        * UIProcess/soup/WebSoupRequestManagerProxy.h:
        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
        * WebProcess/Battery/WebBatteryManager.h:
        * WebProcess/Cookies/WebCookieManager.h:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
        * WebProcess/FileAPI/BlobRegistryProxy.h:
        * WebProcess/Geolocation/WebGeolocationManager.h:
        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
        * WebProcess/MediaCache/WebMediaCacheManager.h:
        * WebProcess/Network/NetworkProcessConnection.h:
        * WebProcess/Network/WebResourceLoadScheduler.h:
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
        * WebProcess/Notifications/WebNotificationManager.h:
        * WebProcess/OriginData/WebOriginDataManager.h:
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
        * WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
        * WebProcess/Plugins/PluginProcessConnection.h:
        * WebProcess/Plugins/PluginProcessConnectionManager.h:
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/ResourceCache/WebResourceCacheManager.h:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
        * WebProcess/Storage/StorageAreaImpl.h:
        * WebProcess/Storage/StorageAreaMap.h:
        * WebProcess/Storage/StorageNamespaceImpl.h:
        * WebProcess/WebConnectionToUIProcess.h:
        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
        * WebProcess/WebCoreSupport/WebBatteryClient.h:
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/WebColorChooser.h:
        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
        * WebProcess/WebCoreSupport/WebDeviceProximityClient.h:
        * WebProcess/WebCoreSupport/WebDragClient.h:
        * WebProcess/WebCoreSupport/WebEditorClient.h:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebCoreSupport/WebGeolocationClient.h:
        * WebProcess/WebCoreSupport/WebInspectorClient.h:
        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
        * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h:
        * WebProcess/WebCoreSupport/WebNetworkInfoClient.h:
        * WebProcess/WebCoreSupport/WebNotificationClient.h:
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        * WebProcess/WebCoreSupport/WebPopupMenu.h:
        * WebProcess/WebCoreSupport/WebProgressTrackerClient.h:
        * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
        * WebProcess/WebCoreSupport/WebVibrationClient.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        * WebProcess/WebPage/WebBackForwardListProxy.h:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebProcess.h:
        * WebProcess/soup/WebSoupRequestManager.h:

2014-01-16  Ian Henderson  <ianh@apple.com>

        Expose scrollView on WKView
        https://bugs.webkit.org/show_bug.cgi?id=127085

        Reviewed by Antti Koivisto.

        Expose WKView's scroll view as a property.  In order to support
        clients calling setDelegate:, we create a forwarder object that sends
        delegate methods to both WKView (the "internal delegate") and the
        publicly-exposed delegate (the "external delegate").

        * UIProcess/API/Cocoa/WKView.h:
        * UIProcess/API/ios/WKScrollView.h:
        * UIProcess/API/ios/WKScrollView.mm:
        (-[WKScrollViewDelegateForwarder initWithInternalDelegate:externalDelegate:]):
        (-[WKScrollViewDelegateForwarder methodSignatureForSelector:]):
        (-[WKScrollViewDelegateForwarder respondsToSelector:]):
        (-[WKScrollViewDelegateForwarder forwardInvocation:]):
        (-[WKScrollView setInternalDelegate:]):
        (-[WKScrollView setDelegate:]):
        (-[WKScrollView delegate]):
        Pretend like _externalDelegate is the real delegate to avoid exposing
        our internal delegate or forwarder object.
        (-[WKScrollView _updateDelegate]):
        (-[WKScrollView dealloc]):
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView scrollView]):
        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

2014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK][EFL][NIX] Do not use PrintContext, Frame and DocumentLoader in Errors
        https://bugs.webkit.org/show_bug.cgi?id=127047

        Reviewed by Martin Robinson.

        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
        (WebKit::WebPrintOperationGtk::frameURL): Helper function to get
        the URL of the frame being printed.
        (WebKit::WebPrintOperationGtk::print): Use frameURL() as failing
        URL for printing errors.
        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:

2014-01-15  Benjamin Poulain  <bpoulain@apple.com>

        Move user agent code to WebCore and unify some code between OS X and iOS
        https://bugs.webkit.org/show_bug.cgi?id=127080

        Reviewed by Sam Weinig.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::userVisibleWebKitVersionString):
        (WebKit::WebPageProxy::standardUserAgent):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::standardUserAgent):
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface):

2014-01-15  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL][WK2] Use timestamp when event occurs for touch events.
        https://bugs.webkit.org/show_bug.cgi?id=126424

        Reviewed by Gyuyoung Kim.

        Current time is used for touch event's timestamp instead of timestamp
        when event occurs. Timestamp of touch event is used to implement flick
        gesture, so it should be real value for accurate gesture processing.

        * UIProcess/API/efl/EwkView.cpp:
        Function names for handling touch events are changed to distinguish
        mouse events and multi events.
        (EwkView::setTouchEventsEnabled):
        (EwkView::feedTouchEvents):
        (EwkView::handleMouseDownForTouch):
        (EwkView::handleMouseUpForTouch):
        (EwkView::handleMouseMoveForTouch):
        (EwkView::handleMultiDownForTouch):
        (EwkView::handleMultiUpForTouch):
        (EwkView::handleMultiMoveForTouch):
        * UIProcess/API/efl/EwkView.h:
        * UIProcess/API/efl/GestureRecognizer.cpp:
        (WebKit::GestureHandler::handlePan):
        (WebKit::GestureRecognizer::processTouchEvent):
        (WebKit::GestureRecognizer::noGesture):
        (WebKit::GestureRecognizer::singleTapGesture):
        (WebKit::GestureRecognizer::doubleTapGesture):
        (WebKit::GestureRecognizer::panGesture):
        (WebKit::GestureRecognizer::pinchGesture):
        * UIProcess/API/efl/GestureRecognizer.h:

2014-01-15  Gavin Barraclough  <barraclough@apple.com>

        Change Page, FocusController to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=126533

        Unreviewed rollout, this caused a regression.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setActive):
        (WebKit::WebPage::setViewIsVisible):
        (WebKit::WebPage::setFocused):
        (WebKit::WebPage::setIsInWindow):
        (WebKit::WebPage::setViewStateInternal):
        (WebKit::WebPage::setIsVisuallyIdle):
        * WebProcess/WebPage/WebPage.h:

2014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=127072
        Don't autorelease wrapper object (WebProcessPlugInScriptWorld) for InjectedBundleScriptWorld::normalWorld().

        Reviewed by Geoffrey Garen.

        In [WKWebProcessPlugInScriptWorld normalWorld], InjectedBundleScriptWorld::normalWorld() returns a static
        instance,  autoreleasing its wrapper object could cause a dangling pointer and crash later.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm:
        (+[WKWebProcessPlugInScriptWorld normalWorld]):

2014-01-15  Andy Estes  <aestes@apple.com>

        [iOS] Properly exclude the shim dylibs this time
        https://bugs.webkit.org/show_bug.cgi?id=127075

        Reviewed by Anders Carlsson.

        BaseLegacyProcess.xcconfig was setting EXCLUDED_SOURCE_FILE_NAMES in
        conflict with what I added in r161918, and I misspelled the setting
        name in two instances. Fix these two bugs.

        Also remove a vestigial OTHER_LDFLAGS from WebContentProcess.xcconfig
        while we're here.

        * Configurations/BaseLegacyProcess.xcconfig:
        * Configurations/NetworkProcess.xcconfig:
        * Configurations/PluginProcess.xcconfig:
        * Configurations/WebContentProcess.xcconfig:

2014-01-15  Enrica Casucci  <enrica@apple.com>

        Support WebSelections in WK2 on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=127015

        Reviewed by Benjamin Poulain.

        This is the first step towards adding support for selections in
        non editable content on iOS for WK2.
        In particular, this patch adds the basic plumbing to decide which
        gesture recognizers are enabled and adds empty stubs for the gestures
        that we'll need to support.
        There are two separate assistants for selections, one to be used
        in editable text (UIWKTextInteractionAssistant) and one for non editable
        text (UIWKSelectionAssistant) and they are mutually exclusive.
        UIWKSelectionAssistant is created at the time the view is created, 
        and swapped with UIWKTextInteraction assistant
        only when an editable element is focused and the keyboard appears on screen.

        gestureRecognizerShouldBegin is the delegate call used to decide which gestures
        should begin based on the position the gesture occurred at.
        We want to avoid as much as possible synchronous calls to the WebProcess to
        retrieve information about the content and in order to do so, we take advantage
        of the order in which the gesture recognizers will trigger, based on the delay
        configured at initialization.
        The first gesture to trigger is highlightLongPress, followed by longpress in the
        active assistant and longpress in the WKInteractionView.
        There are two different scenarios for highlighlongpress based on which assistant is
        currently active.

        UIWKSelectionAssistant is active:
            We send a request to the WebProcess to get information on the position
            and we return YES, allowing the gesture to start.
            We delegate to the WebProcess the proper handling of highlight based on the element.
            When longPress gesture fires for the assistant, we assume we have received the reply to our
            previous request, if not we fetch the information synchronously.
            We are then able to make an informed decision about whether
            or not to start the gesture. If the reply is NO, the third and last long press
            gesture can be evaluated to decide whether to show the action sheet or simply generate
            a click event.

        UIWKTextInteractionAssistant is active:
            In this case we must have information about the position immediately and we issue
            a synchronous request to the WebProcess.
            If we are not interacting with the same node, we return NO.
            Then the longpress gesture fires for the assistant which performs the same check.
            If the node is the same, the loupe gesture will start, otherwise the last longpress
            gesture will be evaluated to decide about showing the action sheet or generating a
            click event.

        * Scripts/webkit2/messages.py:
        * Shared/InteractionInformationAtPosition.cpp: Added.
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * Shared/InteractionInformationAtPosition.h: Added.
        (WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::positionInformationDidChange):
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _positionInformationDidChange:]):
        * UIProcess/API/ios/WKContentViewInternal.h:
        * UIProcess/API/ios/WKInteractionView.h:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView initWithFrame:]):
        (-[WKInteractionView dealloc]):
        (-[WKInteractionView gestureRecognizer:canPreventGestureRecognizer:]):
        (-[WKInteractionView gestureRecognizer:canBePreventedByGestureRecognizer:]):
        (isSamePair):
        (-[WKInteractionView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
        (-[WKInteractionView _showImageSheet]):
        (-[WKInteractionView _showLinkSheet]):
        (-[WKInteractionView _actionForLongPress]):
        (-[WKInteractionView ensurePositionInformationIsUpToDate:]):
        (-[WKInteractionView gestureRecognizerShouldBegin:]):
        (-[WKInteractionView hasSelectablePositionAtPoint:]):
        (-[WKInteractionView pointIsInAssistedNode:]):
        (-[WKInteractionView _longPressRecognized:]):
        (-[WKInteractionView _doubleTapRecognized:]):
        (-[WKInteractionView _twoFingerDoubleTapRecognized:]):
        (-[WKInteractionView _twoFingerPanRecognized:]):
        (-[WKInteractionView useSelectionAssistantWithMode:]):
        (-[WKInteractionView _positionInformationDidChange:]):
        (-[WKInteractionView interactionAssistant]):
        (-[WKInteractionView _startAssistingKeyboard]):
        (-[WKInteractionView _stopAssistingKeyboard]):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::didReceivePositionInformation):
        (WebKit::WebPageProxy::getPositionInformation):
        (WebKit::WebPageProxy::requestPositionInformation):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::selectWithGesture):
        (WebKit::WebPage::getPositionInformation):
        (WebKit::WebPage::requestPositionInformation):

2014-01-15  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=127066
        Add WKBrowsingContextHandle.h to WebKit2 private headers.

        Reviewed by Dan Bernstein.

        Add WKBrowsingContextHandle.h to WebKit2 private headers so that WebKit2 client
        can use WKBrowsingContextHandle class.

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-15  Piotr Grad  <p.grad@samsung.com>

        toStringVector static function definition should not be redundant.
        https://bugs.webkit.org/show_bug.cgi?id=126872.

        Reviewed by Anders Carlsson.

        toStringVector function was declared twice in InjectedBundle.cpp and WebPageGroup.cpp as static.
        In order to remove redundant definition this function was moved into API::Array.

        * Shared/APIArray.cpp:
        (API::Array::toStringVector):
        * Shared/APIArray.h:
        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::addUserStyleSheet):
        (WebKit::WebPageGroup::addUserScript):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::addUserScript):
        (WebKit::InjectedBundle::addUserStyleSheet):

2014-01-10  Gavin Barraclough  <barraclough@apple.com>

        REGRESSION (r158369): Some pop-up windows open at incorrect size (affects GMail, theblaze.com)
        https://bugs.webkit.org/show_bug.cgi?id=126289

        Reviewed by Anders Carlson.

        Partial revert of https://bugs.webkit.org/show_bug.cgi?id=123557.
        On window.open, update page when the UIProcess sends the create message

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::creationParameters):
        * UIProcess/WebPageProxy.h:
            - creation paraments are not preserved at window.open.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::reinitializeWebPage):
        (WebKit::WebPage::setViewState):
        (WebKit::WebPage::setViewStateInternal):
        * WebProcess/WebPage/WebPage.h:
            - add interface to update page.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::createWebPage):
            - if we try to create a page that already exists, update the current page's view state.

2014-01-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Web process sometimes crashes when printing in synchronous mode
        https://bugs.webkit.org/show_bug.cgi?id=126979

        Reviewed by Gustavo Noronha Silva.

        When printing synchronously in GTK+ we need to make sure that we
        have a list of Printers before starting the print operation. Getting
        the list of printers is done synchronously by GTK+, but using a
        nested main loop that might process IPC messages comming from the
        UI process like EndPrinting. When the EndPrinting message is
        received while the printer list is being populated, the print
        operation is finished unexpectely and the web process crashes. The
        PrinterListGtk class gets the list of printers in the constructor
        so we just need to ensure there's an instance alive during the
        synchronous print operation. In case of asynchronous printing the
        printer list will be created during the print operation without
        any risk, because the EndPrinting message is not sent until the
        printing callback has been received in the UI process.

        * GNUmakefile.list.am: Add new files to compilation.
        * PlatformGTK.cmake: Ditto.
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::print): Ensure PrinterListGtk is created
        before the synchronous printing and destroyed afterwards.
        * WebProcess/WebPage/gtk/PrinterListGtk.cpp: Added.
        (WebKit::PrinterListGtk::shared): Return the singleton.
        (WebKit::PrinterListGtk::enumeratePrintersFunction): Callback
        called by gtk_enumerate_printers() when a new printer is found.
        (WebKit::PrinterListGtk::PrinterListGtk): Call
        gtk_enumerate_printers() in syhchronous mode.
        (WebKit::PrinterListGtk::~PrinterListGtk):
        (WebKit::PrinterListGtk::addPrinter): Add the printer to the list
        and set the default printer if needed.
        (WebKit::PrinterListGtk::findPrinter): Find the printer for the
        given name.
        * WebProcess/WebPage/gtk/PrinterListGtk.h: Added.
        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Use
        PrinterListGtk class to find the printer instead of calling
        gtk_enumerate_printers().

2014-01-15  Tomas Popela  <tpopela@redhat.com>

        [SOUP] [WK2] - Disable MemoryCache when the DOCUMENT_VIEWER cache model is set
        https://bugs.webkit.org/show_bug.cgi?id=126577

        Reviewed by Carlos Garcia Campos.

        As in http://trac.webkit.org/changeset/152483, but this time for
        WebKit2. When WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER is set we need to
        disable the MemoryCache completely to prevent caching of the resources.

        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformSetCacheModel):

2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] UI process crashes when closing the window right after printing with javascript
        https://bugs.webkit.org/show_bug.cgi?id=126981

        Reviewed by Gustavo Noronha Silva.

        The UI process crashes because when the page is closed, the web
        view is destroyed before the print operation has actually
        finished. Use a weak pointer to make sure the web view pointer is
        set to NULL when the it's destroyed and emit the finished callback
        always so that the user can clean up the operation even when the
        web view has been closed.

        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (drawPagesForPrintingCompleted):

2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] UI process crashes when the web process crashes while printing
        https://bugs.webkit.org/show_bug.cgi?id=126977

        Reviewed by Gustavo Noronha Silva.

        When the web process crashes, the printing callback is
        invalidated, so the function is called with a NULL error.

        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (drawPagesForPrintingCompleted): Check wkError is not NULL before
        trying to use it.
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewPrintFrame): Set the print mode of the operation
        before emitting the print signal.

2014-01-14  Brady Eidson  <beidson@apple.com>

        IDB: create object store support
        <rdar://problem/15779639> and https://bugs.webkit.org/show_bug.cgi?id=127011

        Reviewed by Anders Carlsson.

        Add messaging/callback infrastructure for creating object stores:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::createObjectStore):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::createObjectStore):
        (WebKit::WebIDBServerConnection::didCreateObjectStore):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
        (WebKit::UniqueIDBDatabase::didCreateObjectStore):
        (WebKit::UniqueIDBDatabase::didCompleteBoolRequest):
        (WebKit::UniqueIDBDatabase::createObjectStore):
        (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:

        Add serialization helpers to save/restore an IDBKeyPath to/from disk:
        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
        (WebKit::serializeIDBKeyPath):
        (WebKit::deserializeIDBKeyPath):
        * DatabaseProcess/IndexedDB/IDBSerialization.h:

        Add object store metadata to the schema, and save/restore the metadata:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * Scripts/webkit2/messages.py:
        (struct_or_class):
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-14  Jae Hyun Park  <jae.park@company100.net>

        [GTK] Unreviewed build fix after r162034

        * GNUmakefile.list.am:

2014-01-14  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix for CMake based ports after r162034.

        * CMakeLists.txt:

2014-01-14  Jeffrey Pfau  <jpfau@apple.com>

        Build fix after r162034

        Rubber-stamped by Benjamin Poulain.

        * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp:

2014-01-14  Anders Carlsson  <andersca@apple.com>

        Create separate progress tracker clients
        https://bugs.webkit.org/show_bug.cgi?id=127025

        Reviewed by Sam Weinig.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
        (WebKit::WebProgressTrackerClient::WebProgressTrackerClient):
        (WebKit::WebProgressTrackerClient::progressTrackerDestroyed):
        (WebKit::WebProgressTrackerClient::progressStarted):
        (WebKit::WebProgressTrackerClient::progressEstimateChanged):
        (WebKit::WebProgressTrackerClient::progressFinished):
        * WebProcess/WebCoreSupport/WebProgressTrackerClient.h: Copied from Source/WebCore/loader/ProgressTrackerClient.h.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):

2014-01-14  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Make WebPageProxy's setUserAgent private
        https://bugs.webkit.org/show_bug.cgi?id=127013

        Reviewed by Anders Carlsson.

        * UIProcess/WebPageProxy.h:
        The API to modify the user agent already has 3 "setters":
        -standardUserAgent
        -setApplicationNameForUserAgent
        -setCustomUserAgent

        The method WebPageProxy::setUserAgent() is supposed to be internal, not used directly.
        Using it directly would cause unexpected behaviors, for example:
        -Set the user agent with setUserAgent.
        -Set CustomUserAgent.
        -Reset CustomUserAgent.
        ->The user agent is now standardUserAgent instead of the user agent defined initially.

2014-01-14  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r162000.
        http://trac.webkit.org/changeset/162000
        https://bugs.webkit.org/show_bug.cgi?id=127009

        API versioning is wrong (Requested by rfong on #webkit).

        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/WebLoaderClient.cpp:
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/WebUIClient.cpp:
        * UIProcess/WebUIClient.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:

2014-01-14  Csaba Osztrogonác  <ossy@webkit.org>

        Speculative buildfix after r161999.

        * Shared/APIObject.h:

2014-01-09  Roger Fong  <roger_fong@apple.com>

        Add support for handling WebGL load policies.
        https://bugs.webkit.org/show_bug.cgi?id=126935
        <rdar://problem/15790448>.

        Reviewed by Brent Fulgham.

        Boiler plate code for sending messages to and from the UI and Web Process. 

        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toWebGLLoadPolicy):
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::webGLLoadPolicy):
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::webGLContextCreated):
        (WebKit::WebPageProxy::webGLPolicyForHost):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::webGLContextCreated):
        * UIProcess/WebUIClient.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::webGLContextCreated):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::webGLPolicyForHost):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp: A sendSync is used here to get the webGLPolicyForHost message sent between the Web and UI process.
                                          In the future this will be replaced with a strategy is non-blocking.
        (WebKit::WebPage::getWebGLPolicyForHost):
        * WebProcess/WebPage/WebPage.h:

2014-01-14  Mark Rowe  <mrowe@apple.com>

        WebKit2 leaks sudden termination assertions when a page with unload handlers is closed.
        <https://webkit.org/b/126974> / <rdar://problem/15812954>

        When a page with an unload handler is loaded, the web process tells the UI process that it
        should disable sudden termination. However, when the page is closed the connection between
        the web and UI process is torn down before the web content has a chance to tell the UI
        process to reenable sudden termination.

        Reviewed by Anders Carlsson.

        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::WebProcessProxy):
        (WebKit::WebProcessProxy::~WebProcessProxy): Balance any outstanding disableSuddenTermination calls.
        (WebKit::WebProcessProxy::enableSuddenTermination): Decrement the count.
        (WebKit::WebProcessProxy::disableSuddenTermination): Increment the count.
        * UIProcess/WebProcessProxy.h:

2014-01-14  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: For Remote Inspection link WebProcess's to their parent UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=126995

        Reviewed by Timothy Hatcher.

        * WebProcess/WebCoreSupport/WebInspectorClient.h:
        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
        (WebKit::WebInspectorClient::parentProcessIdentifier):
        WebProcesses are proxies for a parent UIProcess.

2014-01-14  Tim Horton  <timothy_horton@apple.com>

        iOS WebKit2 build fixes, part 3

        * WebKit2.xcodeproj/project.pbxproj:
        Remove some files from the 'All' target that should never have been a part of it.

2014-01-14  Tim Horton  <timothy_horton@apple.com>

        iOS WebKit2 build fixes, part 2

        * WebKit2.xcodeproj/project.pbxproj:
        Add some missing files.

2014-01-14  Brian J. Burg  <burg@cs.washington.edu>

        Add ENABLE(WEB_REPLAY) feature flag to the build system
        https://bugs.webkit.org/show_bug.cgi?id=126949

        Reviewed by Joseph Pecoraro.

        * Configurations/FeatureDefines.xcconfig:

2014-01-14  Tim Horton  <timothy_horton@apple.com>

        Move WKView.mm to WKViewIOS.mm as 161950 was supposed to do.

        * UIProcess/API/ios/WKView.mm: Removed.
        * UIProcess/API/ios/WKViewIOS.mm: Copied from UIProcess/API/ios/WKView.mm.

2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Test /webkit2/WebKitWebContext/languages crashes with network process enabled
        https://bugs.webkit.org/show_bug.cgi?id=126130

        Reviewed by Anders Carlsson.

        We need to notify the network process when the user preferred
        languages have changed to update the SoupSession accordingly.

        * NetworkProcess/NetworkProcess.h: Add
        userPreferredLanguagesChanged when using soup network backend.
        * NetworkProcess/NetworkProcess.messages.in: Add
        UserPreferredLanguagesChanged message when using soup network
        backend.
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::userPreferredLanguagesChanged): Update
        the SoupSession to use the given languages.
        (WebKit::NetworkProcess::platformInitializeNetworkProcess): Call
        userPreferredLanguagesChanged() when initialization parameters
        contain languages.
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
        Remove unnedded WebCore prefix.
        (WebKit::NetworkProcess::clearCacheForAllOrigins): Simplify using
        a single line.
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode): Encode the
        languages vector.
        (WebKit::NetworkProcessCreationParameters::decode): Decode the
        languages vector.
        * Shared/Network/NetworkProcessCreationParameters.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::languageChanged): Send a message also to the
        network process.
        * UIProcess/soup/WebContextSoup.cpp:
        (WebKit::WebContext::platformInitializeNetworkProcess): Set
        languages initial parameter.

2014-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] SoupNetworkSession::setAcceptLanguages should receive a const reference
        https://bugs.webkit.org/show_bug.cgi?id=126966

        Reviewed by Gustavo Noronha Silva.

        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::setSoupSessionAcceptLanguage): Use const Vector<String>&.

2014-01-14  Andreas Kling  <akling@apple.com>

        Remove deprecated DeferrableOneShotTimer constructor.
        <https://webkit.org/b/126984>

        Reviewed by Anders Carlsson.

        * WebProcess/Plugins/PluginView.h:
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::pluginSnapshotTimerFired):

            Take the timer by reference so we can use the new constructor.

2014-01-13  Tim Horton  <timothy_horton@apple.com>

        iOS WebKit2 build fixes, part 1

        * Configurations/WebKit2.xcconfig:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/RemoteNetworkingContext.h:
        * Shared/WebEventConversion.h:
        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKTextPosition isEqual:]):
        * UIProcess/API/ios/WKViewIOS.mm: Renamed from Source/WebKit2/UIProcess/API/ios/WKView.mm.
        * UIProcess/ios/WebPageProxyIOS.mm:
        * UIProcess/ios/WebProcessProxyIOS.mm:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::elementDidFocus):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Disable failing API tests
        https://bugs.webkit.org/show_bug.cgi?id=126960

        Reviewed by Gyuyoung Kim.

        Disable color picker test until bug 119120 is resolved.

        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
        (TEST_F):

2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] ewk_view_page_contents_get() API test is failing
        https://bugs.webkit.org/show_bug.cgi?id=126957

        Reviewed by Gyuyoung Kim.

        As the day in 'Date' field may be one digit or two digit,
        the data length may also be varied by one byte.

        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (EWK2ViewTest::PageContentsAsMHTMLCallback):

2014-01-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r161939.
        http://trac.webkit.org/changeset/161939
        https://bugs.webkit.org/show_bug.cgi?id=126956

        didn't work with mac, of course (Requested by thorton on
        #webkit).

        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/RemoteNetworkingContext.h:
        * Shared/WebEventConversion.h:
        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKTextPosition isEqual:]):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

2014-01-13  Benjamin Poulain  <bpoulain@apple.com>

        Update WebPageProxyIOS's user agent string
        https://bugs.webkit.org/show_bug.cgi?id=126933

        Reviewed by Darin Adler.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::standardUserAgent):
        Send a more reasonable user agent. The previous one was forcing
        iOS 5.1's iPad user-agent.

2014-01-13  Tim Horton  <timothy_horton@apple.com>

        iOS WebKit2 build fixes

        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:
        Introduce/clarify some confusion about CFNETWORK vs. PLATFORM(IOS).

        * NetworkProcess/RemoteNetworkingContext.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        Get rid of an override of something that doesn't exist anymore.

        * WebKit2.xcodeproj/project.pbxproj:
        Add some files. It's likely there are more missing, but this is a start.

        * Shared/WebEventConversion.h:
        * WebProcess/WebPage/WebPage.h:
        Use WebKitAdditions.

        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
        Something bizarre is happening with internal deprecation warnings.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKTextPosition isEqual:]):
        Fix a typo.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        Remove an override of something that doesn't exist anymore.

2014-01-13  Andy Estes  <aestes@apple.com>

        [iOS] Build Fix: Don't build the 'All-iOS' target on iOS. Just use 'All'.

        * Makefile:

2014-01-13  Martin Robinson  <mrobinson@igalia.com>

        [CMake] Mark all dependency include paths and libraries as advanced variables
        https://bugs.webkit.org/show_bug.cgi?id=126504

        Reviewed by Daniel Bates.

        * CMakeLists.txt: Mark the LIBRT_LIBRARIES variable as advanced.

2014-01-13  Martin Robinson  <mrobinson@igalia.com>

        [GTK][CMake] Circular dependency in generation of WebKitEnumTypes.h
        https://bugs.webkit.org/show_bug.cgi?id=126912

        Reviewed by Daniel Bates.

        * PlatformGTK.cmake: Remove the circular dependency by generating WebKitEnumTypes.h with
        all installed headers except for WebKitEnumTypes.h itself.

2014-01-13  Andy Estes  <aestes@apple.com>

        [iOS] Exclude shims and PluginProcess.app from the WebKit2 build
        https://bugs.webkit.org/show_bug.cgi?id=126936

        Reviewed by Daniel Bates.

        * Configurations/All.xcconfig: Added. Excluded PluginProcess.app from
        being copied into WebKit2.framework on iOS.
        * Configurations/NetworkProcess.xcconfig: Excluded SecItemShim.dylib
        from being copied into NetworkProcess.app on iOS.
        * Configurations/PluginProcess.xcconfig: Excluded
        PluginProcessShim.dylib from being copied into PluginProcess.app and
        set SKIP_INSTALL to YES on iOS.
        * Configurations/PluginProcessShim.xcconfig: Added. Linked the shim
        against necessary frameworks on Mac.
        * Configurations/SecItemShim.xcconfig: Ditto.
        * Configurations/WebProcessShim.xcconfig: Ditto.
        * Configurations/WebContentProcess.xcconfig: Excluded
        WebProcessShim.dylib from being copied into WebProcess.app on iOS.
        * PluginProcess/mac/PluginProcessShim.mm: Added #if !PLATFORM(IOS) guards.
        * Shared/mac/CookieStorageShimLibrary.cpp: Ditto.
        * WebProcess/mac/SecItemShimLibrary.mm: Ditto.
        * WebKit2.xcodeproj/project.pbxproj: Removed Mac-only frameworks from
        the shims' 'Link Binary with Libraries' build phases. Added new xcconfigs.

2014-01-13  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
        https://bugs.webkit.org/show_bug.cgi?id=126882

        Reviewed by Gyuyoung Kim.

        * Shared/efl/ProcessExecutablePathEfl.cpp:
        (WebKit::executablePathOfWebProcess):
        (WebKit::executablePathOfPluginProcess):
        (WebKit::executablePathOfNetworkProcess):
        * UIProcess/API/efl/EwkView.cpp:
        (wkPageToEvasObjectMap):
        * UIProcess/API/efl/ewk_context.cpp:
        (contextMap):
        * UIProcess/API/efl/ewk_page_group.cpp:
        (pageGroupMap):
        * UIProcess/efl/TextCheckerClientEfl.cpp:
        (TextCheckerClientEfl::instance):
        * UIProcess/efl/TextCheckerClientEfl.h:

2014-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Add SoupNetworkSession class to wrap a SoupSession
        https://bugs.webkit.org/show_bug.cgi?id=126813

        Reviewed by Gustavo Noronha Silva.

        Use the new SoupNetworkSession API.

        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        (WebKit::NetworkProcess::platformSetCacheModel):
        (WebKit::NetworkProcess::clearCacheForAllOrigins):
        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
        (WebKit::NetworkProcessMain):
        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
        (WebKit::WebCookieManager::setCookiePersistentStorage):
        * WebProcess/efl/WebProcessMainEfl.cpp:
        (WebKit::WebProcessMainEfl):
        * WebProcess/gtk/WebProcessMainGtk.cpp:
        (WebKit::WebProcessMainGtk):
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformSetCacheModel):
        (WebKit::WebProcess::platformClearResourceCaches):
        (WebKit::setSoupSessionAcceptLanguage):
        (WebKit::WebProcess::platformInitializeWebProcess):
        * WebProcess/soup/WebSoupRequestManager.cpp:
        (WebKit::WebSoupRequestManager::registerURIScheme):

2014-01-13  Zalan Bujtas  <zalan@apple.com>

        Enable SUBPIXEL_LAYOUT on Mac
        <https://webkit.org/b/126283>

        Reviewed by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig:

2014-01-12  Sergio Correia  <sergio.correia@openbossa.org>

        [EFL][WK2] Make API tests work again
        https://bugs.webkit.org/show_bug.cgi?id=126769

        Reviewed by Gyuyoung Kim.

        The EFL and WK2 test binaries are currently being generated at *TestWebKitAPI/
        [E]WebKit2, respectively, and this causes problems because the logic to find
        where WebProcess is to look in the same directory of the running process and
        then proceed to use LIBEXECDIR (typically /usr/loca/bin).

        This patch introduces a WEBKIT_EXEC_PATH environment variable, inspired in the
        Gtk port, which allows us to look for WebProcess initially in this directory,
        if it's defined.

        * Shared/efl/ProcessExecutablePathEfl.cpp:
        (WebKit::findProcessPath): Change the logic to look initially in
        WEBKIT_EXEC_PATH, then proceed with the existing checks.
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
        (EWK2UnitTest::EWK2UnitTestEnvironment::EWK2UnitTestEnvironment):
        Define WEBKIT_EXEC_PATH to be used by EWebKit2 tests.

2014-01-12  Darin Adler  <darin@apple.com>

        Add deprecatedCharacters as a synonym for characters and convert most call sites
        https://bugs.webkit.org/show_bug.cgi?id=126858

        Reviewed by Anders Carlsson.

        * Shared/APIString.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::checkTextOfParagraph):
        (WebKit::WebPageProxy::checkSpellingOfString):
        (WebKit::WebPageProxy::checkGrammarOfString):
        * WebProcess/WebPage/EncoderAdapter.cpp:
        (WebKit::EncoderAdapter::encodeString):
        Use deprecatedCharacters instead of characters.

2014-01-12  Darin Adler  <darin@apple.com>

        Add type checking to isEqual methods
        https://bugs.webkit.org/show_bug.cgi?id=126862

        Reviewed by Anders Carlsson.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKTextRange isEqual:]): Added type checking for the argument. The old
        code asserted instead, and it's not clear what guarantees that assertion is
        true. Added a FIXME about the lack of a hash method. Added another FIXME
        about the fact that this method ignores much of the object state. Removed
        an unneeded extra fetch of the isRange property. Deleted some dead code.
        (-[WKTextPosition isEqual:]): Ditto.

2014-01-12  Anders Carlsson  <andersca@apple.com>

        Remove the last remaining uses of AtomicallyInitializedStatic
        https://bugs.webkit.org/show_bug.cgi?id=126863

        Reviewed by Darin Adler.

        * Shared/mac/SecItemShim.cpp:
        (WebKit::responseMap):

2014-01-12  Dan Bernstein  <mitz@apple.com>

        Added a reference to WebContentService/Info-OSX.plist to the project.

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-12  Dan Bernstein  <mitz@apple.com>

        OS X build fix.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: Copied from WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist.
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist: Removed.

2014-01-12  Andy Estes  <aestes@apple.com>

        Build Fix: Objective-C GC should be unsupported in iOS WebKit2

        * Configurations/Base.xcconfig:

2014-01-12  Andy Estes  <aestes@apple.com>

        [iOS] Upstream WebKit2 xcconfig changes to fix the build

        * Configurations/All-iOS.xcconfig: Added.
        * Configurations/Base.xcconfig:
        * Configurations/BaseLegacyProcess.xcconfig:
        * Configurations/BaseTarget.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/WebContentService.xcconfig:
        * Configurations/iOS.xcconfig: Added.

2014-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.am: Add WebKit2InspectorGResourceBundle.xml to
        EXTRA_DIST.
        * GNUmakefile.list.am: Removed deleted files and add missing ones.
        * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Move
        ProxyResolverSoup.h to EFL platform ifdef, because GTK port doesn't
        build the proxy resolver.

2014-01-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix return value of WebKitDownload::created-destination
        https://bugs.webkit.org/show_bug.cgi?id=126741

        Reviewed by Martin Robinson.

        WebKitDownload::created-destination signal should be void instead
        of gboolean. This doesn't break the API/ABI.

        * UIProcess/API/gtk/WebKitDownload.cpp:
        (webkit_download_class_init):
        (webkitDownloadDestinationCreated):

2014-01-11  Yongjun Zhang  <yongjun_zhang@apple.com>

        Support bool argument for encoding/decoding invocations.
        https://bugs.webkit.org/show_bug.cgi?id=126823

        Reviewed by Sam Weinig.

        For remote invocation method argument, current we support int, double and ObjC
        object, this patch add support for bool type too.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocation):
        (decodeInvocationArguments):

2014-01-11  Alexey Proskuryakov  <ap@apple.com>

        [Mac] [Windows] Stop scheduling network requests in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=126789
        <rdar://problem/15114727>

        Reviewed by Sam Weinig.

        * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
        (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
        We no longer need the trick with 7 connections, as synchronous requests always have
        the right of way.

        * UIProcess/API/C/WKContext.cpp: Removed long obsolete functions.

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
        Updated for new WKSI function names.

2014-01-11  Simon Fraser  <simon.fraser@apple.com>

        Unfork GraphicsContext::drawNativeImage for iOS
        https://bugs.webkit.org/show_bug.cgi?id=126824

        Reviewed by Dean Jackson.

        GraphicsContext::drawNativeImage had a different signature for iOS,
        which required #ifdefs at all the call sites. Unfork by passing the "scale"
        parameter everywhere (it's only used on iOS).

        * Shared/API/c/cg/WKImageCG.cpp:
        (WKImageCreateFromCGImage):

2014-01-11  Sam Weinig  <sam@webkit.org>

        Clean up iterator filter / iterator range code
        https://bugs.webkit.org/show_bug.cgi?id=126817

        Reviewed by Anders Carlsson.

        * Shared/APIArray.h:
        Update elementsOfType() to use combination of FilterIterator and TransformIterator
        (now that FilterIterator no longer has a transform predicate) and make use of the 
        makeFoo() helpers.

2014-01-11  Anders Carlsson  <andersca@apple.com>

        Simplify Timer and DeferrableOneShotTimer using std::function
        https://bugs.webkit.org/show_bug.cgi?id=126816

        Reviewed by Sam Weinig.

        Add another unexported symbol.

        * Configurations/WebKit2.xcconfig:

2014-01-11  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Use nullptr instead of 0 in EFL API layer
        https://bugs.webkit.org/show_bug.cgi?id=126806

        Reviewed by Anders Carlsson.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::create):
        * UIProcess/API/efl/ewk_auth_request.cpp:
        (ewk_auth_request_suggested_username_get):
        (ewk_auth_request_realm_get):
        (ewk_auth_request_host_get):
        * UIProcess/API/efl/ewk_back_forward_list.cpp:
        (ewk_back_forward_list_current_item_get):
        (ewk_back_forward_list_previous_item_get):
        (ewk_back_forward_list_next_item_get):
        (ewk_back_forward_list_item_at_index_get):
        (ewk_back_forward_list_n_back_items_copy):
        (ewk_back_forward_list_n_forward_items_copy):
        * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
        (ewk_back_forward_list_item_url_get):
        (ewk_back_forward_list_item_title_get):
        (ewk_back_forward_list_item_original_url_get):
        * UIProcess/API/efl/ewk_context.cpp:
        (ewk_context_cookie_manager_get):
        (ewk_context_database_manager_get):
        (ewk_context_favicon_database_get):
        (ewk_context_storage_manager_get):
        (ewk_context_new_with_injected_bundle_path):
        * UIProcess/API/efl/ewk_context_menu.cpp:
        (ewk_context_menu_items_get):
        * UIProcess/API/efl/ewk_context_menu_item.cpp:
        (ewk_context_menu_item_new_with_submenu):
        (ewk_context_menu_item_title_get):
        (ewk_context_menu_item_parent_menu_get):
        (ewk_context_menu_item_submenu_get):
        * UIProcess/API/efl/ewk_download_job.cpp:
        (ewk_download_job_request_get):
        (ewk_download_job_response_get):
        (ewk_download_job_destination_get):
        (ewk_download_job_suggested_filename_get):
        * UIProcess/API/efl/ewk_error.cpp:
        (ewk_error_url_get):
        (ewk_error_description_get):
        * UIProcess/API/efl/ewk_file_chooser_request.cpp:
        (ewk_file_chooser_request_accepted_mimetypes_get):
        * UIProcess/API/efl/ewk_form_submission_request.cpp:
        (ewk_form_submission_request_field_names_get):
        (ewk_form_submission_request_field_value_get):
        * UIProcess/API/efl/ewk_navigation_data.cpp:
        (ewk_navigation_data_title_get):
        (ewk_navigation_data_original_request_get):
        (ewk_navigation_data_url_get):
        * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
        (ewk_navigation_policy_frame_name_get):
        (ewk_navigation_policy_request_get):
        * UIProcess/API/efl/ewk_object.cpp:
        (ewk_object_ref):
        * UIProcess/API/efl/ewk_popup_menu.cpp:
        (ewk_popup_menu_items_get):
        * UIProcess/API/efl/ewk_popup_menu_item.cpp:
        (ewk_popup_menu_item_text_get):
        (ewk_popup_menu_item_tooltip_get):
        (ewk_popup_menu_item_accessibility_text_get):
        * UIProcess/API/efl/ewk_security_origin.cpp:
        (ewk_security_origin_host_get):
        (ewk_security_origin_protocol_get):
        * UIProcess/API/efl/ewk_settings.cpp:
        (ewk_settings_default_text_encoding_name_get):
        * UIProcess/API/efl/ewk_url_request.cpp:
        (ewk_url_request_url_get):
        (ewk_request_cookies_first_party_get):
        (ewk_url_request_http_method_get):
        * UIProcess/API/efl/ewk_url_response.cpp:
        (ewk_url_response_url_get):
        (ewk_url_response_mime_type_get):
        * UIProcess/API/efl/ewk_url_scheme_request.cpp:
        (ewk_url_scheme_request_scheme_get):
        (ewk_url_scheme_request_url_get):
        (ewk_url_scheme_request_path_get):
        * UIProcess/API/efl/ewk_view.cpp:
        (toEwkViewChecked):
        (EWKViewGetWKView):
        (ewk_view_smart_add):
        (ewk_view_add_with_context):
        (ewk_view_context_get):
        (ewk_view_page_group_get):
        (ewk_view_url_get):
        (ewk_view_favicon_get):
        (ewk_view_settings_get):
        (ewk_view_title_get):
        (ewk_view_theme_get):
        (ewk_view_back_forward_list_get):
        (ewk_view_custom_encoding_get):
        (ewk_view_user_agent_get):

2014-01-10  Anders Carlsson  <andersca@apple.com>

        Tweak ProgressTrackerClient functions
        https://bugs.webkit.org/show_bug.cgi?id=126808

        Reviewed by Sam Weinig.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::progressStarted):
        (WebKit::WebFrameLoaderClient::progressEstimateChanged):
        (WebKit::WebFrameLoaderClient::progressFinished):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2014-01-10  Sam Weinig  <sam@webkit.org>

        Convert HandleMessage.h to use variadic templates
        https://bugs.webkit.org/show_bug.cgi?id=126469

        Reviewed by Anders Carlsson.

        * Platform/IPC/HandleMessage.h:
        (IPC::callMemberFunctionImpl):
        (IPC::callMemberFunction):
        Replace massive copy and pasted code with variadic magic.

2014-01-10  Anders Carlsson  <andersca@apple.com>

        Move progress tracking functions from FrameLoaderClient to a new ProgressTrackerClient
        https://bugs.webkit.org/show_bug.cgi?id=126801

        Reviewed by Sam Weinig.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):

2014-01-10  Anders Carlsson  <andersca@apple.com>

        Remove dead code
        https://bugs.webkit.org/show_bug.cgi?id=126782

        Reviewed by Tim Horton.

        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2014-01-10  Benjamin Poulain  <bpoulain@apple.com>

        Remove the BlackBerry port from trunk
        https://bugs.webkit.org/show_bug.cgi?id=126715

        Reviewed by Anders Carlsson.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::setCursor):

2014-01-10  Benjamin Poulain  <bpoulain@apple.com>

        Remove the BlackBerry port from trunk
        https://bugs.webkit.org/show_bug.cgi?id=126715

        Reviewed by Anders Carlsson.

        * Scripts/generate-forwarding-headers.pl:

2014-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Implement NetworkResourceLoader::receivedCancellation
        https://bugs.webkit.org/show_bug.cgi?id=126129

        Reviewed Alexey Proskuryakov.

        Implement ResourceHandleClient::receivedCancellation() in the
        network process to cancel the load when cancellation is received
        from the authentication manager like the web process does.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::receivedCancellation): Cancel the load.
        * NetworkProcess/NetworkResourceLoader.h:

2014-01-09  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Add APIs for setting and getting the default text encoding name
        https://bugs.webkit.org/show_bug.cgi?id=126736

        Reviewed by Gyuyoung Kim.

        Add APIs to set and get the default text encoding name.

        * UIProcess/API/efl/ewk_settings.cpp:
        (ewk_settings_default_text_encoding_name_get):
        (ewk_settings_default_text_encoding_name_set):
        * UIProcess/API/efl/ewk_settings.h:
        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
        (TEST_F):

2014-01-09  Simon Fraser  <simon.fraser@apple.com>

        Enable async scrolling for iOS
        https://bugs.webkit.org/show_bug.cgi?id=126730

        Reviewed by Tim Horton.
        
        Turn on ENABLE_ASYNC_SCROLLING for iOS.
        
        On iOS, create ScrollingTreeScrollingNodeIOS nodes.

        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        (WebKit::RemoteScrollingTree::createNode):
        * UIProcess/Scrolling/RemoteScrollingTree.h:

2014-01-06  Gavin Barraclough  <barraclough@apple.com>

        Change Page, FocusController to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=126533

        Reviewed by Tim Horton.

        These classes currently maintain a set of separate fields to represent the view state;
        combine these into a single field, and allow WebPage to send the combined update rather
        than individual changes.

        Maintain existing interface for WebKit1 clients.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - Combined separate calls to Page::setViewState.
        (WebKit::WebPage::updateIsInWindow):
            - Simplied from setIsInWindow.
        (WebKit::WebPage::setViewState):
            - Combined separate calls to Page::setViewState.
        * WebProcess/WebPage/WebPage.h:
            - Declare updateIsInWindow.

2014-01-09  Tim Horton  <timothy_horton@apple.com>

        Upstream iOS changes after r161530
        https://bugs.webkit.org/show_bug.cgi?id=126728

        Reviewed by Dean Jackson.

        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView setViewportSize:]):
        (-[WKContentView didFinishScrollTo:]):
        (-[WKContentView didScrollTo:]):
        Adopt the new approach.

2014-01-09  Brian Burg  <bburg@apple.com>

        REGRESSION (r160152): Selection drag snapshot doesn't appear or has the wrong content on Retina
        https://bugs.webkit.org/show_bug.cgi?id=125375

        Reviewed by Darin Adler.

        Remove scaling from WebDragClient because it is now selectively
        performed by WebCore according to the drag image source.

        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
        (WebKit::WebDragClient::startDrag): Don't scale the provided drag image.

2014-01-09  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Support plugins that take over the page scale gesture
        https://bugs.webkit.org/show_bug.cgi?id=126399
        <rdar://problem/15738928>

        Reviewed by Sam Weinig.

        Teach ViewGestureController how to handle WebFrame::handlesPageScaleGesture=true,
        which is used so that PDFPlugin can deal with magnification itself.

        * UIProcess/mac/ViewGestureController.cpp:
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture):
        (WebKit::ViewGestureController::handleMagnificationGesture):
        (WebKit::ViewGestureController::endMagnificationGesture):
        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
        If the WebFrame is going to handle the page scale gesture itself (which currently
        simply means that it is a main-frame PDFPlugin), send the magnification information
        straight through to it. Also, don't provide smart-zoom in this case, since there
        is currently no way to collect geometry information from the plugin.

        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/ViewGestureController.messages.in:
        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
        (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
        Retrieve WebFrame::handlesPageScaleGesture and return it to the UI process.

2014-01-09  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Promote WKBackForwardList{,Item}.h to public
        https://bugs.webkit.org/show_bug.cgi?id=126707

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBackForwardList.h: Stopped including the C API header.
        * UIProcess/API/Cocoa/WKBackForwardListItem.h: Ditto.
        * WebKit2.xcodeproj/project.pbxproj: Made the headers public.

2014-01-09  Zan Dobersek  <zdobersek@igalia.com>

        Revert back to using the -n option when producing symbolic links to the GTK-specific
        API directories under Source/WebKit2/. Removing the option in r161497 resulted in
        recursive links being created under those directories since the links were dereferenced.

        To actually ensure that the link is created anew, remove it so it is reconstructed.

        Rubber-stamped by Carlos Garcia Campos.

        * GNUmakefile.am:

2014-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        Crash when starting a download before the network process has been launched
        https://bugs.webkit.org/show_bug.cgi?id=126258

        Reviewed by Anders Carlsson.

        We need to ensure there's a network process running before
        starting a new download like we do when using the web process.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::download): Use ChildProcessProxy::send()
        instead of using the connection to make sure messages are queued
        if the process is still launching.
        (WebKit::WebContext::createDownloadProxy): Call
        ensureNetworkProcess() before creating the download proxy.

2014-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] Partial file left on disk after a download fails or is cancelled in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=126686

        Reviewed by Martin Robinson.

        We are currently writing the downloads directly into the
        destination, and when a download fails or is cancelled after the
        destination has been decided, the partial file is left on the
        disk. Deleting the final file is not safe because there might be a
        race condition, so we can use an intermediate file like other
        browsers do, a file in the same directory than the target
        destination but with .wkdownload suffix, that is removed when the
        download fails or is cancelled. If the download finishes
        successfully the intermediate file is renamed to the final
        destination.

        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::deleteIntermediateFileInNeeded): Delete
        the intermdiate file if it's been created already.
        (WebKit::DownloadClient::downloadFailed): Call deleteIntermediateFileInNeeded.
        (WebKit::DownloadClient::didReceiveResponse): Do not create a
        SoupMessage for the given ResourceResponse that is not used, cache
        the ResourceResponse instead. Create the intermediate file and use
        it instead of the final destination.
        (WebKit::DownloadClient::didReceiveData): Use the cached
        ResourceResponse directly.
        (WebKit::DownloadClient::didFinishLoading): Rename the
        intermediate file to the final destination and write the metadata
        in the final target destination.
        (WebKit::DownloadClient::cancel): Handle the download cancellation
        here, removing the intermediate file is needed and cancelling the
        ResourceHandle and the download.
        (WebKit::DownloadClient::handleResponseLater):
        (WebKit::Download::cancel): Let the client handle the cancellation.

2014-01-08  Jinwoo Song  <jinwoo7.song@samsung.com>

        WebKit2 EFL build fix after r161530
        https://bugs.webkit.org/show_bug.cgi?id=126678

        Reviewed by Tim Horton.

        Add PLATFORM(MAC) guards around setExposedRect() and exposedRect()
        in DrawingArea and WebFrameLoaderClient.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        * WebProcess/WebPage/DrawingArea.h:

2014-01-08  Martin Hock  <mhock@apple.com>

        Stub for Session API
        https://bugs.webkit.org/show_bug.cgi?id=126626

        Reviewed by Sam Weinig.

        * Shared/API/c/WKBase.h:
        * Shared/API/c/WKSharedAPICast.h:
        * Shared/APIObject.h:
        * UIProcess/API/C/WKSessionRef.cpp: Added.
        (WKSessionGetTypeID):
        (WKSessionGetEphemeral):
        * UIProcess/API/C/WKSessionRef.h: Added.
        * UIProcess/API/Cocoa/WKSession.h: Added.
        * UIProcess/API/Cocoa/WKSession.mm: Added.
        (-[WKSession dealloc]):
        (-[WKSession ephemeral]):
        (-[WKSession API::]):
        * UIProcess/API/Cocoa/WKSessionInternal.h: Added.
        (WebKit::wrapper):
        * UIProcess/APISession.cpp: Added.
        (API::Session::Session):
        (API::Session::create):
        (API::Session::isEphemeral):
        (API::Session::~Session):
        * UIProcess/APISession.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2014-01-08  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Add xdg.origin.url extended attribute to downloads
        https://bugs.webkit.org/show_bug.cgi?id=126638

        Reviewed by Carlos Garcia Campos.

        This is proposed by fdo in
        http://www.freedesktop.org/wiki/CommonExtendedAttributes/

        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::didReceiveResponse):

2014-01-08  Simon Fraser  <simon.fraser@apple.com>

        Make WK2 build when ENABLE(ASYNC_SCROLLING) is not defined
        https://bugs.webkit.org/show_bug.cgi?id=126675

        Reviewed by Tim Horton.
        
        We need a stub RemoteScrollingCoordinatorTransaction outside
        the #ifdef so that RemoteLayerTreeDrawingAreaProxy messages
        work.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (WebKit::RemoteScrollingCoordinatorTransaction::encode):
        (WebKit::RemoteScrollingCoordinatorTransaction::decode):
        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):

2014-01-08  Tim Horton  <timothy_horton@apple.com>

        TileController can fail to receive exposedRect from the drawing area if set at the wrong time
        https://bugs.webkit.org/show_bug.cgi?id=126536

        Reviewed by Simon Fraser.

        * Configurations/WebKit2.xcconfig:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _updateViewExposedRect]):
        * UIProcess/DrawingAreaProxy.cpp:
        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
        (WebKit::DrawingAreaProxy::setExposedRect):
        (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::exposedRect):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::close):
        * UIProcess/WebPageProxy.h:
        Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        Push the exposedRect down into WebCore.

        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
        Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
        to indicate that now.
        Don't scroll an infinite rect; it won't work.

2014-01-08  Simon Fraser  <simon.fraser@apple.com>

        Add ENABLE(ASYNC_SCROLLING) guards around WK2 scrolling files
        https://bugs.webkit.org/show_bug.cgi?id=126672

        Reviewed by Tim Horton.
        
        Protected WK2 scrolling files with ENABLE(ASYNC_SCROLLING) guards.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h:
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        * UIProcess/Scrolling/RemoteScrollingTree.h:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

2014-01-08  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Add API to execute js script
        https://bugs.webkit.org/show_bug.cgi?id=101904

        Reviewed by Gyuyoung Kim.

        Add ewk_view_script_execute() which provides a way to execute user
        script.

        * UIProcess/API/efl/ewk_context.cpp:
        Added JS Global Contexta which is required to deserialize to the script
        value from the callback.
        (EwkContext::EwkContext):
        (EwkContext::~EwkContext):
        (EwkContext::jsGlobalContext):
        * UIProcess/API/efl/ewk_context_private.h:
        * UIProcess/API/efl/ewk_view.cpp:
        (Ewk_View_Script_Execute_Callback_Context::Ewk_View_Script_Execute_Callback_Context):
        (runJavaScriptCallback):
        (ewk_view_script_execute):
        * UIProcess/API/efl/ewk_view.h:
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        Added unit test for ewk_view_script_execute.
        (scriptExecuteCallback):
        (TEST_F):

2014-01-08  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        [EFL] Move efl API test binaries to TestWebKitAPI/EWebKit|EWebKit2
        https://bugs.webkit.org/show_bug.cgi?id=126615

        Reviewed by Martin Robinson.

        Now EFL API test binaries created in *bin* directory with other executables.
        It would be good to move them to their folder. This patch moves them to
        *TestWebKitAPI/EWebKit|EWebKit2* directories.

        * PlatformEfl.cmake:

2014-01-08  Anders Carlsson  <andersca@apple.com>

        Add WTF::StringView and use it for grammar checking
        https://bugs.webkit.org/show_bug.cgi?id=126644

        Reviewed by Antti Koivisto.

        Use a StringView and remove a FIXME.

        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
        (WebKit::WebEditorClient::checkTextOfParagraph):
        * WebProcess/WebCoreSupport/WebEditorClient.h:

2014-01-08  Zan Dobersek  <zdobersek@igalia.com>

        [Automake] Scripts for generated build targets do not necessarily produce their output
        https://bugs.webkit.org/show_bug.cgi?id=126378

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
        directories to actual source directories. This doesn't replace the original symbolic link,
        which can lead to the actual link being older than its dependencies and subsequent constant
        relinking at every build.

2014-01-07  Eric Carlson  <eric.carlson@apple.com>

        Teach MediaSessionManager to manage interruptions
        https://bugs.webkit.org/show_bug.cgi?id=126530

        Reviewed by Sam Weinig.

        * CMakeLists.txt: Add ${WEBCORE_DIR}/platform/animation to WebCore include directories.

2014-01-07  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL][WK2] Fix failing ewk_view_page_contents_get() API test
        https://bugs.webkit.org/show_bug.cgi?id=126609

        Reviewed by Gyuyoung Kim.

        Compare the amount of bytes in the expected result file with
        the size of callback data from the API since the 'Date' field
        and the boundaries will be different on each case.
        Refered the test case of GTK port.

        * UIProcess/API/efl/tests/resources/resultMHTML.mht: Added.
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (EWK2ViewTest::PageContentsAsMHTMLCallback):

2014-01-07  Seokju Kwon  <seokju@webkit.org>

        Web Inspector: Remove leftover 'device metrics' code
        https://bugs.webkit.org/show_bug.cgi?id=126607

        Reviewed by Joseph Pecoraro.

        * mac/WebKit2.order: Update after removing InspectorClient::overrideDeviceMetrics().

2014-01-07  Simon Fraser  <simon.fraser@apple.com>

        Fix the build. The WebKit2 project copied all of WebKit2/Scripts/webkit2 into WebKit2.framework/PrivateHeaders,
        but that's bad because there are test result files in there now. Fix by having the project copy specific
        .py files into rivateHeaders/webkit2

        * WebKit2.xcodeproj/project.pbxproj:

2014-01-07  Simon Fraser  <simon.fraser@apple.com>

        Make it possible for MessageReceivers to pass messages to their superclass, and use it for RemoteLayerTreeDrawingAreaProxy
        https://bugs.webkit.org/show_bug.cgi?id=126558

        Reviewed by Anders Carlsson.
        
        In a message.in file it's now possible to say:
        
        messages -> Subclass : Superclass { ... } and the generated code will
        call Superclass::didReceiveMessage().
        
        Use this to have RemoteLayerTreeDrawingAreaProxy pass messages up to
        DrawingAreaProxy.

        * Scripts/webkit2/messages.py:
        (generate_message_handler):
        * Scripts/webkit2/model.py:
        (MessageReceiver.__init__):
        * Scripts/webkit2/parser.py:
        (parse):
        * UIProcess/DrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:

2014-01-07  Simon Fraser  <simon.fraser@apple.com>

        Add message-generation test for non-legacy message receiver
        https://bugs.webkit.org/show_bug.cgi?id=126603

        Reviewed by Anders Carlsson.
        
        Add expected output files for a non-legacy message receiver, and add
        testing for same.

        * Scripts/webkit2/LegacyMessageReceiver-expected.cpp: Copied from Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp.
        * Scripts/webkit2/LegacyMessages-expected.h: Added.
        * Scripts/webkit2/MessageReceiver-expected.cpp:
        (WebKit::WebPage::didReceiveMessage):
        (WebKit::WebPage::didReceiveSyncMessage):
        * Scripts/webkit2/messages_unittest.py:
        (MessagesTest.setUp):
        (ParsingTest.test_receiver):
        (HeaderTest.test_header):
        (ReceiverImplementationTest.test_receiver_implementation):
        * Scripts/webkit2/test-legacy-messages.in: Copied from Source/WebKit2/Scripts/webkit2/test-messages.in.
        * Scripts/webkit2/test-messages.in:

2014-01-07  Simon Fraser  <simon.fraser@apple.com>

        Move expected results out of messages_unittest.py into separate files
        https://bugs.webkit.org/show_bug.cgi?id=126602

        Reviewed by Anders Carlsson.
        
        Uninline the test input and output from messages_unittest.py to make
        it easier to add more tests.

        * Scripts/webkit2/MessageReceiver-expected.cpp: Added.
        (WebKit::WebPage::didReceiveWebPageMessage):
        (WebKit::WebPage::didReceiveSyncWebPageMessage):
        * Scripts/webkit2/Messages-expected.h: Added.
        * Scripts/webkit2/messages_unittest.py:
        (ParsingTest.test_receiver):
        * Scripts/webkit2/test-messages.in: Added.

2014-01-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r161447.
        http://trac.webkit.org/changeset/161447
        https://bugs.webkit.org/show_bug.cgi?id=126592

        needs some more work (Requested by thorton on #webkit).

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _updateViewExposedRect]):
        * UIProcess/DrawingAreaProxy.cpp:
        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
        * UIProcess/DrawingAreaProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::viewExposedRectChanged):
        (WebKit::WebPageProxy::exposedRectChangedTimerFired):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::viewExposedRect):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::setExposedRect):
        (WebKit::DrawingArea::setClipsToExposedRect):
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::viewExposedRectChanged):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
        (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
        (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):

2014-01-07  Tim Horton  <timothy_horton@apple.com>

        TileController can fail to receive exposedRect from the drawing area if set at the wrong time
        https://bugs.webkit.org/show_bug.cgi?id=126536

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _updateViewExposedRect]):
        * UIProcess/DrawingAreaProxy.cpp:
        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
        (WebKit::DrawingAreaProxy::setExposedRect):
        (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):
        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::exposedRect):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::close):
        * UIProcess/WebPageProxy.h:
        Move exposedRect stuff from WebPageProxy to DrawingAreaProxy.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        Push the exposedRect down into WebCore.

        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
        (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
        Get rid of "clipsToExposedRect", we just use infinite-ness of the rect
        to indicate that now.
        Don't scroll an infinite rect; it won't work.

2014-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Crash when trying to register a custom scheme before network process has been launched
        https://bugs.webkit.org/show_bug.cgi?id=126385

        Reviewed by Anders Carlsson.

        WebContext::registerSchemeForCustomProtocol() uses
        sendToNetworkingProcess() to send the message to the appropriate
        networking process. In the case of using web process,
        sendToNetworkingProcess() first checks if there's already a web
        process, doing nothing otherwise, but when using the network
        process it assumes there's already a network process. In both
        cases it's safe to do nothing, because the schemes will be passed
        as creation parameters to the process when launched.

        * UIProcess/WebContext.h:
        (WebKit::WebContext::sendToNetworkingProcess):

2014-01-07  Jinwoo Song  <jinwoo7.song@samsung.com>

        WebKit2 EFL build fix after r161387
        https://bugs.webkit.org/show_bug.cgi?id=126566

        Reviewed by Andreas Kling.

        Add missing ASYNC_SCROLLING macro.

        * UIProcess/WebPageProxy.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:

2014-01-06  Simon Fraser  <simon.fraser@apple.com>

        Hook up the RemoteScrollingCoordinator
        https://bugs.webkit.org/show_bug.cgi?id=126547

        Reviewed by Tim Horton.
        
        Hook up the RemoteScrollingCoordinator in WebKit2.
        
        When the RemoteLayerTreeDrawingArea is in use, WebPageProxy creates
        a RemoteScrollingCoordinator, and hands it mouseWheel events. It then
        scrolls via a RemoteScrollingTree constructed from state tree commits from the
        WebProcess.
        
        Scrolling tree commits happen via a transaction received by RemoteLayerTreeDrawingAreaProxy,
        atomically with layer tree transactions.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (WebKit::RemoteScrollingCoordinatorTransaction::encode): Fix encoding for some
        cases seen in WebKitTestRunner where a page has no ScrollingCoordinator.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage): Create the RemoteScrollingCoordinatorProxy
        when using a remote layer tree drawing area.
        (WebKit::WebPageProxy::handleWheelEvent): Pass to the scrolling coordinator.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::scrollingCoordinatorProxy):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: Include the RemoteScrollingCoordinatorTransaction.
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::getLayer): It's valid to get a 0 layerID (e.g. when
        a layer disappears) so handle this case.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createScrollingCoordinator): Override to create the
        RemoteScrollingCoordinator in the WebProcess.
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scrollingCoordinator): Not inline to avoid polluting the
        header with #includes.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Say that we want a ScrollingCoordinator.
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers): Add the scrollingTransaction to the
        message.

2014-01-06  Jaehun Lim  <ljaehun.lim@samsung.com>

        Use hasEnabledVerticalScrollbar instead of hasEnabledHorizontalScrollbar.
        https://bugs.webkit.org/show_bug.cgi?id=126546

        Reviewed by Simon Fraser.

        hasEnabledHorizontalScrollbar is used twice.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):

2014-01-06  Simon Fraser  <simon.fraser@apple.com>

        Another build fix.
        
        Need to look in the WebProcess/Scrolling directory for .messages.in files.

        * DerivedSources.make:

2014-01-06  Simon Fraser  <simon.fraser@apple.com>

        Fix the build.
        
        Need to add RemoteScrollingCoordinator to MESSAGE_RECEIVERS so that
        RemoteScrollingCoordinatorMessages.h gets generated.

        * DerivedSources.make:

2014-01-06  Simon Fraser  <simon.fraser@apple.com>

        Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling()
        https://bugs.webkit.org/show_bug.cgi?id=126529

        Reviewed by Tim Horton.
        
        Change function name from using "threaded" to "async" terminology.

        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::supportsAsyncScrolling):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

2014-01-06  Simon Fraser  <simon.fraser@apple.com>

        Add new files for UI-side scrolling
        https://bugs.webkit.org/show_bug.cgi?id=126532

        Reviewed by Anders Carlson.
        
        Add RemoteScrollingCoordinator, RemoteScrollingCoordinatorProxy,
        RemoteScrollingCoordinatorTransaction, RemoteScrollingTree. 
        
        These allow the scrolling tree to be used in the UI process.
        RemoteScrollingCoordinator builds a ScrollingStateTree, which is
        encoded by RemoteScrollingCoordinatorTransaction. Decoding the
        transaction recreates that ScrollingStateTree in the UI process,
        and RemoteScrollingCoordinatorProxy "commits" that to update
        the RemoteScrollingTree.
        
        New classes are not hooked up to anything yet.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: Added.
        (ArgumentCoder<ScrollingStateNode>::encode):
        (ArgumentCoder<ScrollingStateNode>::decode):
        (ArgumentCoder<ScrollingStateScrollingNode>::encode):
        (ArgumentCoder<ScrollingStateScrollingNode>::decode):
        (ArgumentCoder<ScrollingStateFixedNode>::encode):
        (ArgumentCoder<ScrollingStateFixedNode>::decode):
        (ArgumentCoder<ScrollingStateStickyNode>::encode):
        (ArgumentCoder<ScrollingStateStickyNode>::decode):
        (WebKit::encodeNodeAndDescendants):
        (WebKit::RemoteScrollingCoordinatorTransaction::encode):
        (WebKit::RemoteScrollingCoordinatorTransaction::decode):
        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: Added.
        (WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
        (WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree):
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Added.
        (WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
        (WebKit::RemoteScrollingCoordinatorProxy::~RemoteScrollingCoordinatorProxy):
        (WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
        (WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
        (WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
        (WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
        (WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added.
        * UIProcess/Scrolling/RemoteScrollingTree.cpp: Added.
        (WebKit::RemoteScrollingTree::create):
        (WebKit::RemoteScrollingTree::RemoteScrollingTree):
        (WebKit::RemoteScrollingTree::~RemoteScrollingTree):
        (WebKit::RemoteScrollingTree::tryToHandleWheelEvent):
        (WebKit::RemoteScrollingTree::handleWheelEventPhase):
        (WebKit::RemoteScrollingTree::updateMainFrameScrollPosition):
        (WebKit::RemoteScrollingTree::createNode):
        * UIProcess/Scrolling/RemoteScrollingTree.h: Added.
        (WebKit::RemoteScrollingTree::scrollingCoordinatorProxy):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.h: Added.
        (WebKit::RemoteScrollingCoordinator::create):
        * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: Added.
        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm: Added.
        (WebKit::RemoteScrollingCoordinator::RemoteScrollingCoordinator):
        (WebKit::RemoteScrollingCoordinator::~RemoteScrollingCoordinator):
        (WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit):
        (WebKit::RemoteScrollingCoordinator::createScrollingTreeNode):
        (WebKit::RemoteScrollingCoordinator::isRubberBandInProgress):
        (WebKit::RemoteScrollingCoordinator::setScrollPinningBehavior):
        (WebKit::RemoteScrollingCoordinator::buildTransaction):
        (WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

2014-01-06  Martin Robinson  <mrobinson@igalia.com>

        Small build fix for the GTK+ CMake port

        * PlatformGTK.cmake: Include a missing GeoClue include directory.

2014-01-06  Simon Fraser  <simon.fraser@apple.com>

        Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling()
        https://bugs.webkit.org/show_bug.cgi?id=126529

        Reviewed by Tim Horton.
        
        Change function name from using "threaded" to "async" terminology.

        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::supportsAsyncScrolling):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:

2014-01-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Move all GTK/GObject unit tests to Tools/TestWebKitAPI
        https://bugs.webkit.org/show_bug.cgi?id=126342

        Reviewed by Gustavo Noronha Silva.

        * UIProcess/API/gtk/tests/CMakeLists.txt: Removed.
        * UIProcess/API/gtk/tests/GNUmakefile.am: Removed.

2014-01-06  Enrica Casucci  <enrica@apple.com>

        Add support to retrieve the autocorrection context.
        https://bugs.webkit.org/show_bug.cgi?id=126479

        Reviewed by Sam Weinig.
        
        We are adding the support to retrieve the input context for autocorrection
        and input methods on iOS. The implementation is provided both via synchronous
        and asynchronous calls to the WebProcess.

        * Platform/IPC/HandleMessage.h: Added template with zero input parameters and six reply parameters.
        * UIProcess/API/ios/WKInteractionView.mm:
        (autocorrectionData):
        (-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
        (autocorrectionResult):
        (-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
        (autocorrectionContext):
        (-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
        (-[WKInteractionView hasMarkedText]):
        (-[WKInteractionView _startAssistingNode]):
        (+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
        (-[WKAutocorrectionContext dealloc]):
        * UIProcess/AutoCorrectionCallback.h:
        (WebKit::AutocorrectionContextCallback::create):
        (WebKit::AutocorrectionContextCallback::~AutocorrectionContextCallback):
        (WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
        (WebKit::AutocorrectionContextCallback::invalidate):
        (WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::resetState):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::autocorrectionContextCallback):
        (WebKit::WebPageProxy::requestAutocorrectionContext):
        (WebKit::WebPageProxy::getAutocorrectionContext):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::computeAutocorrectionContext):
        (WebKit::WebPage::requestAutocorrectionContext):
        (WebKit::WebPage::getAutocorrectionContext):

2014-01-06  Gavin Barraclough  <barraclough@apple.com>

        Move ViewState to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=126488

        Reviewed by Anders Carlson.

        This change also partial reverts handling of LayerHostingMode, making this
        a separate message again. With hindsight the new way of doing this wasn't
        in all ways simpler, and it won't make sense to move this to WebCore.

        * Shared/ViewState.h: Removed.
            - Moved to WebCore.
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
            - Added layerHostingMode.
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::PageClientImpl):
        (WebKit::PageClientImpl::viewLayerHostingMode):
        * UIProcess/PageClient.h:
        (WebKit::PageClient::viewLayerHostingMode):
            - Revert isLayerWindowServerHosted -> viewLayerHostingMode.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            - Added back m_layerHostingMode.
        (WebKit::WebPageProxy::updateViewState):
            - Removed IsLayerWindowServerHosted from ViewState.
        (WebKit::WebPageProxy::viewStateDidChange):
            - Added SetLayerHostingMode message.
        (WebKit::WebPageProxy::initializeCreationParameters):
            - Pass layerHostingMode.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::isInWindow):
        (WebKit::WebPageProxy::isViewVisible):
            - ViewState moved to WebCore.
        * WebKit2.xcodeproj/project.pbxproj:
            - Removed ViewState.
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::setLayerHostingMode):
        (WebKit::PluginView::platformViewStateDidChange):
            - Separated setLayerHostingMode from platformViewStateDidChange.
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::viewStateDidChange):
        (WebKit::DrawingArea::setLayerHostingMode):
            - Added virtual function, overridden in TiledCoreAnimationDrawingArea.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setLayerHostingMode):
            - Separated setLayerHostingMode from platformViewStateDidChange.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::isVisible):
        (WebKit::WebPage::layerHostingMode):
            - ViewState moved to WebCore.
        * WebProcess/WebPage/WebPage.messages.in:
            - Added SetLayerHostingMode message.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
            - viewStateDidChange no longer calls setLayerHostingMode (this is called by WebPage).

2014-01-06  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Parallel builds still fail when building WebKit2 GObject API unit tests
        https://bugs.webkit.org/show_bug.cgi?id=126465

        Reviewed by Gustavo Noronha Silva.

        * UIProcess/API/gtk/tests/CMakeLists.txt: Explicitly link the libWebKit2APITestCore static object against
        WebKit2, which seems to be necessary on my new system. Also create an explicit dependency between the
        injected bundle tests and WebKit2, because they need to use the generated headers.

2014-01-06  László Langó  <lango@inf.u-szeged.hu>

        Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
        https://bugs.webkit.org/show_bug.cgi?id=124579

        Reviewed by Anders Carlsson.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didReceiveData):
        (WebKit::NetworkResourceLoader::willStopBufferingData):
        * NetworkProcess/NetworkResourceLoader.h:
        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::didReceiveData):

2014-01-04  Simon Fraser  <simon.fraser@apple.com>

        Add encoding of ViewportConstraint and ScrollingParameter types
        https://bugs.webkit.org/show_bug.cgi?id=126497

        Reviewed by Andreas Kling.
        
        Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints
        and StickyPositionViewportConstraints.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
        (IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode):
        (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode):
        (IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode):
        (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode):
        (IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode):
        * Shared/WebCoreArgumentCoders.h:

2014-01-05  Simon Fraser  <simon.fraser@apple.com>

        Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=126501

        Reviewed by Sam Weinig.
        
        Soon we shall need to do atomic commits of both the remote layer tree, and
        the remote scrolling tree. Pave the way by moving responsibility for remote
        layer tree committing to RemoteLayerTreeDrawingArea.
        
        So move the flushing logic from RemoteLayerTreeHost to RemoteLayerTreeDrawingArea.
        After this change, RemoteLayerTreeHost doesn't do much and could possibly be
        removed in future.
        
        Also add type-safe casting to GraphicsLayer and DrawingArea.

        * DerivedSources.make: Out with RemoteLayerTreeHost, in with RemoteLayerTreeDrawingAreaProxy
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::remoteLayerTreeHost):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: Renamed from Source/WebKit2/UIProcess/mac/RemoteLayerTreeHost.messages.in.
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Add message receiver.
        (WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy): Remove message receiver.
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Hand the transaction off to the layer
        tree host.
        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): No longer a message receiver.
        (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
        (WebKit::RemoteLayerTreeHost::updateLayerTree):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::type):
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
        (WebKit::RemoteLayerTreeContext::flushOutOfTreeLayers):
        (WebKit::RemoteLayerTreeContext::buildTransaction):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
        (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
        (WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
        (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):

2014-01-05  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Ensure that the autotools build and the CMake install the same files
        https://bugs.webkit.org/show_bug.cgi?id=116379

        Reviewed by Gustavo Noronha Silva.

        * CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which
        for non-GTK+ platforms is the same as EXEC.
        * PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move
        a couple installed and generated headers to the installed headers list. Rename the
        headers list to be consistent with the WebKit1 build. No longer use a variable for
        the name of the plugin process, as it's unnecessary.

2014-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Stop installing WebKit2 C API headers
        https://bugs.webkit.org/show_bug.cgi?id=126489

        Reviewed by Martin Robinson.

        We are not actually maintaining the API/ABI compatibility of the
        WebKit2 C API, it's only used internally by the public GTK+ API
        and nobody is using it.

        * GNUmakefile.am:
        * GNUmakefile.list.am:

2014-01-05  Gavin Barraclough  <barraclough@apple.com>

        Move process suppression of WebProcess to Page (from UIProcess)
        https://bugs.webkit.org/show_bug.cgi?id=126480

        Reviewed by Sam Weinig.

        Let each page take a UserActivity rather than having to coalesce this state, and take different activity
        tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.

        * Shared/mac/ChildProcessMac.mm:
        (WebKit::ChildProcess::platformInitialize):
            - Don't start with process supression disabled; this is unnecessary,
              message from the UIProcess should wake.
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::WebProcessProxy::updateProcessSuppressionState):
            - Don't send explicit messages to supress the WebProcess, it handles this for itself.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - call setIsVisuallyIdle.
        (WebKit::WebPage::setViewState):
            - call setIsVisuallyIdle.
        (WebKit::WebPage::updatePreferences):
            - Use m_suppressionDisabled to disable supression if the WebPreference is set.
        (WebKit::WebPage::setIsVisuallyIdle):
            - setThrottled -> setIsVisuallyIdle.
        * WebProcess/WebPage/WebPage.h:
            - setThrottled -> setIsVisuallyIdle, added m_suppressionDisabled.
        * WebProcess/WebProcess.cpp:
        * WebProcess/WebProcess.h:
        (WebKit::WebProcess::shouldForceScreenFontSubstitution):
            - Removed setProcessSuppressionEnabled - WebPage now detects the supression change.

2014-01-04  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Improve the way we locate gobject-introspection
        https://bugs.webkit.org/show_bug.cgi?id=126452

        Reviewed by Philippe Normand.

        * PlatformGTK.cmake: Use the new introspection variables.

2014-01-04  Zan Dobersek  <zdobersek@igalia.com>

        Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
        https://bugs.webkit.org/show_bug.cgi?id=126439

        Reviewed by Andreas Kling.

        Instead of relying on std::pair and std::make_pair symbols being present in the current scope
        through the pair and make_pair symbols, the std:: specifier should be used explicitly.

        * Shared/mac/ArgumentCodersMac.mm:
        (IPC::encode):
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::show):
        (WebKit::WebNotificationManagerProxy::cancel):
        (WebKit::WebNotificationManagerProxy::didDestroyNotification):
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        * UIProcess/WebContext.h:

2014-01-03  Piotr Grad  <p.grad@samsung.com>

        Build brake after 161045 on EFL port with WebKit2 and gcc 4.6.3
        https://bugs.webkit.org/show_bug.cgi?id=126383

        Reviewed by Sam Weinig.

        Class identifier was missing.

        * DatabaseProcess/DatabaseProcess.h:
        * NetworkProcess/NetworkProcess.h:
        * PluginProcess/PluginProcess.h:
        * Shared/mac/CookieStorageShim.h:
        * UIProcess/Plugins/PluginProcessManager.h:
        * UIProcess/WebPageProxy.cpp:
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        * WebProcess/WebProcess.h:

2014-01-03  Seokju Kwon  <seokju@webkit.org>

        Unreviewed build fix on non-Mac port

        * Shared/API/c/WKDeprecatedFunctions.cpp: Add ENABLE(MAC) guard for "WKContextPrivateMac.h".

2014-01-03  Gavin Barraclough  <barraclough@apple.com>

        Simplify process suppression state calculation
        https://bugs.webkit.org/show_bug.cgi?id=126473

        Reviewed by Geoffrey Garen & Sam Weinig.

        Don't check the application occlusion state (this is covered by the pages already),
        and let the page check visually idle. Remove layers of functions.

        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::didFinishLaunching):
            - Let the network process nap if all processes in its context are napping.*
              (* Except not really. We currently leak a boost onto the process anyway.)
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::didFinishLaunching):
            - Let the plugin process nap if all processes in all contexts are napping.
        * UIProcess/WebContext.h:
            - Remove canEnableProcessSuppressionForNetworkProcess & canEnableProcessSuppressionForWebProcess
            - canEnableProcessSuppressionForGlobalChildProcesses -> processSuppressionIsEnabledForAllContexts
            - combine updateProcessSuppressionStateOfChildProcesses & updateProcessSuppressionStateOfGlobalChildProcesses
                -> updateProcessSuppressionState
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::isProcessSuppressible):
            - WebProcess is supressible if IsVisuallyIdle.
        (WebKit::WebPageProxy::viewStateDidChange):
            - WebProcessProxy should updateProcessSuppressionState when IsVisuallyIdle changes.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        (WebKit::WebProcessProxy::addExistingWebPage):
        (WebKit::WebProcessProxy::pageSuppressibilityChanged):
        (WebKit::WebProcessProxy::pagePreferencesChanged):
            - pageIsProcessSuppressible -> isProcessSuppressible
        * UIProcess/WebProcessProxy.h:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::updateProcessSuppressionState):
            - Update supression state of network & plugin processes.
        (WebKit::WebContext::processSuppressionIsEnabledForAllContexts):
            - Changed iterator style, made a static member of WebContext.
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::WebProcessProxy::updateProcessSuppressionState):
            - Ask the WebContext to update supression state.
        * UIProcess/mac/WindowServerConnection.h:
        * UIProcess/mac/WindowServerConnection.mm:
        (WebKit::WindowServerConnection::windowServerConnectionStateChanged):
        (WebKit::WindowServerConnection::WindowServerConnection):
            - Remove application occlusion state.

2014-01-03  Tim Horton  <timothy_horton@apple.com>

        [iOS] [WK2] TileController creates all tiles on first paint, making it slow and consuming lots of memory
        https://bugs.webkit.org/show_bug.cgi?id=126457

        Reviewed by Simon Fraser.

        Instead of making all of the tiles all of the time, we should use the
        view-exposed-rect mechanism to inform TileController about what portion
        of the WKContentView is currently exposed by the WKScrollView.

        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView setViewportSize:]):
        (-[WKContentView didFinishScrollTo:]):
        (-[WKContentView didScrollTo:]):
        Inform the WebPageProxy that our exposed rect changed.

        * UIProcess/API/ios/WKView.mm:
        (-[WKView scrollViewDidScroll:]):
        Inform the WKContentView that we've scrolled at all.
        Rename the existing WKContentView didScrollTo: to didFinishScrollTo:,
        because it is expected to only fire when a scroll lands. Add didScrollTo:,
        which fires continually as scrolling progresses.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::viewExposedRectChanged):
        (WebKit::WebPageProxy::exposedRectChangedTimerFired):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::viewExposedRect):
        * UIProcess/mac/WebPageProxyMac.mm:
        Move view-exposed-rect stuff to WebPageProxy so it can be built on both
        Mac and iOS, and un-!PLATFORM(IOS) some of the related members.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::setExposedRect):
        (WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
        (WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
        (WebKit::RemoteLayerTreeDrawingArea::mainFrameTiledBacking):
        Steal TiledCoreAnimationDrawingArea's exposed-rect code.
        Note that on iOS, we don't need to manually offset the exposed rect by
        the scroll position, because the scroll position is already baked into
        the exposed rect, and WebCore's notion of the scroll position will be
        inaccurate until the scroll lands.

2014-01-03  Simon Fraser  <simon.fraser@apple.com>

        Give all PlatformCALayers a PlatformLayerID, not just remote ones
        https://bugs.webkit.org/show_bug.cgi?id=126466

        Reviewed by Tim Horton.

        The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
        which is confusing, and is necessary because the underlying PlatformLayer
        inside a GraphicsLayer can change. In order to hide some of this complexity,
        expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
        can hold onto to test for underlying layer swapping.
        
        GraphicsLayerCARemote and PlatformCALayerRemote can now just use the
        primaryLayerID() function exposed via the base class.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        (PlatformCALayerRemote::recursiveBuildTransaction):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

2014-01-03  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose session state API
        https://bugs.webkit.org/show_bug.cgi?id=126463

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
        (-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
        WebPageProxy::restoreFromSessionState.

2014-01-03  Gavin Barraclough  <barraclough@apple.com>

        Remove SPI, user default for disabling process suppression
        https://bugs.webkit.org/show_bug.cgi?id=126458

        Reviewed by Sam Weinig.

        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKContextGetProcessSuppressionEnabled):
        (WKContextSetProcessSuppressionEnabled):
            - depracated SPI.
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
            - depracated SPI.
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::WebContext):
            - removed m_processSuppressionEnabled.
        * UIProcess/WebContext.h:
            - removed setProcessSuppressionEnabled, processSuppressionEnabled implementation,
              processSuppressionEnabledChanged, m_processSuppressionEnabled.
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitialize):
            - removed m_processSuppressionEnabled.
        (WebKit::WebContext::processSuppressionEnabled):
            - check whether all pages in all processes are suppressible.
        (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
            - removed call to omitProcessSuppression, m_processSuppressionEnabled -> processSuppressionEnabled().
        (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
            - removed call to omitProcessSuppression, processSuppressionEnabled (we don't care if a page in a difference process is not suppresible).
        (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
            - removed call to omitProcessSuppression, s_processSuppressionEnabledForAllContexts -> processSuppressionIsEnabledForAllContexts().

2014-01-03  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WK2][CoordinatedGraphics] Removing repeated protected keyword in WebView
        https://bugs.webkit.org/show_bug.cgi?id=126462

        Reviewed by Simon Fraser.

        * UIProcess/CoordinatedGraphics/WebView.h:

2014-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Define WebProcess::usesNetworkProcess unconditionally
        https://bugs.webkit.org/show_bug.cgi?id=126208

        Reviewed by Martin Robinson.

        Returning false when network process is not enabled like
        WebContext does. This way we reduce the amount of ifdefs used when
        checking whether network process is in use.

        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef
        and only setup network features when not using network process.
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::downloadManager):
        (WebKit::WebProcess::shouldTerminate):
        (WebKit::WebProcess::usesNetworkProcess):
        * WebProcess/WebProcess.h:
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformSetCacheModel): Remove #ifdef.
        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformSetCacheModel): Ditto.
        (WebKit::WebProcess::platformClearResourceCaches): Ditto.
        (WebKit::WebProcess::platformInitializeWebProcess): Ditto.
        (WebKit::WebProcess::platformTerminate): Only remove the language
        observer when not using network process.
        (WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is
        called with network process enabled.
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto.

2014-01-03  Jinwoo Song  <jinwoo7.song@samsung.com>

        VibrationPattern should allocate an single vector instance for single integer input
        https://bugs.webkit.org/show_bug.cgi?id=126417

        Reviewed by Gyuyoung Kim.

        Fix a vibration unit test regression after r161139. Also remove unnecessary test cases. 

        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (EWK2ViewTest::loadVibrationHTMLString):
        (TEST_F):

2014-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to WebKitResponsePolicyDecision to check if the MIME type can be shown
        https://bugs.webkit.org/show_bug.cgi?id=124652

        Reviewed by Martin Robinson.

        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
        (decidePolicyForResponse): Pass canShowMIMEType to
        webkitResponsePolicyDecisionCreate.
        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
        (webkit_response_policy_decision_is_mime_type_supported): Return
        canShowMIMEType.
        (webkitResponsePolicyDecisionCreate): Set the canShowMIMEType
        member from the given parameter.
        * UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewDecidePolicy): Use the new API instead of
        webkit_web_view_can_show_mime_type() since it's more efficient.
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
        * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
        (testResponsePolicy): Test the new API.

2014-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r160304): [GTK] Disable libtool fast install
        https://bugs.webkit.org/show_bug.cgi?id=126381

        Reviewed by Martin Robinson.

        Remove -no-fast-install ld flag since fast install is now disabled
        globally.

        * GNUmakefile.am:
        * UIProcess/API/gtk/tests/GNUmakefile.am:

2014-01-02  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Remove defaultPageGroupIdentifier not to make the confusion
        https://bugs.webkit.org/show_bug.cgi?id=126249

        Reviewed by Gyuyoung Kim.

        ewk_page_group_create always creates new page group,
        but the identifiers of page groups will be same as "defaultPageGroupIdentifier" when passed 0 or "".
        It is unnecessary and just makes the confusion.

        This patch let WebPageGroup generate unique identifier if 0 or "" is passed as argument.

        * UIProcess/API/efl/ewk_page_group.cpp:
        (EwkPageGroup::create):
        * UIProcess/API/efl/ewk_page_group_private.h:

2014-01-02  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Switch from WTF::Function to std::function in WebProcessTest
        https://bugs.webkit.org/show_bug.cgi?id=126397

        Reviewed by Anders Carlsson.

        Use std::function<> and std::bind() instead of WTF::Function and WTF::bind,
        following the effort of using STL concepts where possible.

        * UIProcess/API/gtk/tests/WebProcessTest.cpp:
        (WebProcessTest::add):
        * UIProcess/API/gtk/tests/WebProcessTest.h:

2014-01-02  Gavin Barraclough  <barraclough@apple.com>

        Refactor NSActivity handling code from ChildProcess to UserActivity
        https://bugs.webkit.org/show_bug.cgi?id=126330

        Reviewed by Sam Weinig.

        UserActivity is a mechanism to express to the operating system (where appropriate)
        that a user initiated activity is taking place, and as such that resources should be
        made available to the process accordingly.

        Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
        to hold different activity tokens for different user actions (which simplifies the
        handling, and aides debugging since the token can more accurately express the activity
        taking place), and also will allow us to avoid the layering difficulty of calling back
        up the stack to WebKit to register that an activity is taking place.

        * Shared/ChildProcess.cpp:
        (WebKit::ChildProcess::ChildProcess):
            - removed fields to directly manage NSActivity, use UserActivity objects instead.
        * Shared/ChildProcess.h:
        (WebKit::ChildProcess::processSuppressionEnabled):
            - changed to initialize new fields.
        * Shared/mac/ChildProcessMac.mm:
        (WebKit::ChildProcess::setProcessSuppressionEnabled):
            - implemented in terms of UserActivity m_processSuppressionDisabled.
        (WebKit::ChildProcess::incrementActiveTaskCount):
            - implemented in terms of UserActivity m_activeTasks.
        (WebKit::ChildProcess::decrementActiveTaskCount):
            - implemented in terms of UserActivity m_activeTasks.
        (WebKit::ChildProcess::platformInitialize):
            - implemented in terms of UserActivity m_processSuppressionDisabled.

2014-01-02  Gavin Barraclough  <barraclough@apple.com>

        Propagate WindowServer modifications state to WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=126356

        Reviewed by Sam Weinig.

        This will be necessary to move control of process suppression to the WebProcess.
        IsVisuallyIdle implies the process has stopped painting, or painted rects are
        occluded and not actually being composited. State is provided on a per
        WindowServer connection basis, and as such may produce (safe) false positives.

        * Shared/ViewState.h:
            - added IsVisuallyIdle.
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isVisuallyIdle):
            - added, on mac checks WindowServerConnection.
        * UIProcess/PageClient.h:
        (WebKit::PageClient::isVisuallyIdle):
            - base implementation purely based on isViewVisible.
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::windowServerConnectionStateChanged):
            - broadcast the state change.
        * UIProcess/WebContext.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::updateViewState):
        (WebKit::WebPageProxy::viewStateDidChange):
            - propagate IsVisuallyIdle.
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::windowServerConnectionStateChanged):
            - broadcast the state change.
        * UIProcess/WebProcessProxy.h:
            - add windowServerConnectionStateChanged.
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::updateProcessSuppressionStateOfGlobalChildProcesses):
            - moved from static in fle to static member of class.
        (WebKit::WebContext::platformInitialize):
            - no need to enableOcclusionNotifications.
        (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
        (WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
        (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):
            - changed to call WindowServerConnection.
        (WebKit::WebContext::processSuppressionEnabledChanged):
            - don't remove/reregister occlusion notifications.
        * UIProcess/mac/WindowServerConnection.h: Added.
        (WebKit::WindowServerConnection::applicationIsOccluded):
        (WebKit::WindowServerConnection::applicationWindowModificationsHaveStopped):
            - accessors.
        * UIProcess/mac/WindowServerConnection.mm: Added.
        (WebKit::WindowServerConnection::applicationBecameOccluded):
        (WebKit::WindowServerConnection::applicationWindowModificationsStopped):
        (WebKit::WindowServerConnection::applicationBecameVisible):
        (WebKit::WindowServerConnection::applicationWindowModificationsStarted):
            - handle notifications from the WindowServer.
        (WebKit::WindowServerConnection::windowServerConnectionStateChanged):
            - broadcast the state change.
        (WebKit::WindowServerConnection::shared):
            - accessor for singleton object.
        (WebKit::WindowServerConnection::WindowServerConnection):
            - constructor inizializes fields & register notification handlers.
        * WebKit2.xcodeproj/project.pbxproj:
            - added new files.
        * config.h:
            - added HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS.

2014-01-02  Gavin Barraclough  <barraclough@apple.com>

        Remove WindowIsVisible
        https://bugs.webkit.org/show_bug.cgi?id=126270

        Reviewed by Tim Horton.

        We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
        The latter detects that the content is hidden in fewer cases than the former, and as such, the
        former is always preferable.

        This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
        Plugin::windowVisibilityChanged.

        * Shared/ViewState.h:
            - remove WindowIsVisible.
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
            - remove isWindowVisible.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
            - remove ViewState::WindowIsVisible.
        * UIProcess/PageClient.h:
            - remove isWindowVisible.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::updateViewState):
            - remove handling of ViewState::WindowIsVisible.
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::setIsVisible):
        (WebKit::PluginView::didInitializePlugin):
        * WebProcess/Plugins/PluginView.h:
            - setWindowIsVisible -> setIsVisible.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setViewIsVisible):
        (WebKit::WebPage::setViewState):
        (WebKit::WebPage::windowAndWebPageAreFocused):
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::isVisible):
            - remove m_windowIsVisible, setWindowIsVisible (implementation moved to setViewIsVisible).

2014-01-02  Gavin Barraclough  <barraclough@apple.com>

        Refactor ViewState handling for drawing area / plugins
        https://bugs.webkit.org/show_bug.cgi?id=126272

        Reviewed by Tim Horton.

        Instead of all ViewState changes being handled by the WebPage, notify the DrawingArea & PluginView to better encapsulate.

        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::viewStateDidChange):
        (WebKit::PluginView::platformViewStateDidChange):
            - added, handle changes in ViewState relevant to PluginView.
        (WebKit::PluginView::didInitializePlugin):
            - helper function removed.
        * WebProcess/Plugins/PluginView.h:
            - added/removed function declarations.
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::viewStateDidChange):
            - declare viewStateDidChange.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setActive):
            - no need to notify plugin.
        (WebKit::WebPage::setViewIsVisible):
            - no need to notify drawing area.
        (WebKit::WebPage::setViewState):
            - send viewStateDidChange to drawing area / plugin.
        (WebKit::WebPage::setWindowIsVisible):
            - no need to notify plugin.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::layerHostingMode):
            - removed setLayerHostingMode.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
            - declare viewStateDidChange.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
            - added, handle changes in ViewState relevant to DrawingArea.

2014-01-02  Alexey Proskuryakov  <ap@apple.com>

        Merge didMoveOnscreen / page visibility to isVisible
        https://bugs.webkit.org/show_bug.cgi?id=126268

        Build fix.

        * UIProcess/WebContext.h: Removed some accidental input.

2014-01-02  Gavin Barraclough  <barraclough@apple.com>

        Merge didMoveOnscreen / page visibility to isVisible
        https://bugs.webkit.org/show_bug.cgi?id=126268

        Reviewed by Tim Horton.

        The onscreen state most closely tracks view visibility (though currently
        also tracks a mix of in-window state). Make more consistent, simplify,
        and move all animation suspension logic to Page, so it can be controlled
        by the PageThrottler.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setViewIsVisible):
            - updateVisibilityState -> setIsVisible.
        (WebKit::WebPage::setIsInWindow):
            - remove redundant willMoveOffscreen/didMoveOnscreen calls - this is handled
              by setIsVisible.
        (WebKit::WebPage::setMayStartMediaWhenInWindow):
            - isOnscreen -> isInWindow. We start media when the view is in a window, not
              when the view is visible.
        (WebKit::WebPage::setVisibilityStatePrerender):
            - setVisibilityState -> setIsPrerender.

2013-12-23  Oliver Hunt  <oliver@apple.com>

        Refactor PutPropertySlot to be aware of custom properties
        https://bugs.webkit.org/show_bug.cgi?id=126187

        Reviewed by Antti Koivisto.

        Update for new method signatures.

        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
        (WebKit::NPJSObject::setProperty):

2014-01-02  Simon Fraser  <simon.fraser@apple.com>

        Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
        https://bugs.webkit.org/show_bug.cgi?id=126389

        Reviewed by Tim Horton.
        
        Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
        and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.
        
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::addScrollingTreeForPage): The ScrollingTree is exposed on
        AsyncScrollingCoordinator now, not ScrollingCoordinator, so we have to cast here.
        * WebProcess/WebPage/WebPage.cpp: m_useThreadedScrolling -> m_useAsyncScrolling terminology change.
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::~WebPage):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Cast to AsyncScrollingCoordinator in order
        to get to the ScrollingTree.

2014-01-01  Simon Fraser  <simon.fraser@apple.com>

        Create a ThreadedScrollingTree subclass of ScrollingTree, and push all knowledge of the scrolling thread into it
        https://bugs.webkit.org/show_bug.cgi?id=126362

        Reviewed by Sam Weinig.

        Eventually we'll have a ScrollingTree in situations where there is no scrolling
        thread, so make the ScrollingTree base class thread-agnostic (but threadsafe),
        and subclass it in ThreadedScrollingTree for scrolling-thread-specific functionality.
        
        The ScrollingTree base class also no longer needs to know about the
        ScrollingCoordinator.

        ScrollingCoordinatorMac creates a ThreadedScrollingTree.

        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::addScrollingTreeForPage):
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:

2014-01-01  Simon Fraser  <simon.fraser@apple.com>

        Add a typedef for PlatformLayerID on GraphicsLayer, and migrate RemoteLayerTreeTransaction to use it
        https://bugs.webkit.org/show_bug.cgi?id=126346

        Reviewed by Tim Horton.
        
        Remote scrolling tree code is soon going to use RemoteLayerTreeTransaction::LayerID,
        so it makes more sense to put this layerID type on GraphicsLayer as
        GraphicsLayer::PlatformLayerID.
        
        Also add some type cast macros for PlatformCALayer and subclasses, and use them
        where appropriate.

        * Shared/mac/RemoteLayerTreePropertyApplier.h:
        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::rootLayerID):
        (WebKit::RemoteLayerTreeTransaction::changedLayers):
        (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::RemoteLayerTreeTransaction::setRootLayerID):
        (WebKit::RemoteLayerTreeTransaction::setDestroyedLayerIDs):
        (WebKit::RemoteLayerTreeTextStream::operator<<):
        (WebKit::dumpChangedLayers):
        (WebKit::RemoteLayerTreeTransaction::description):
        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        (WebKit::RemoteLayerTreeHost::getLayer):
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
        (WebKit::GraphicsLayerCARemote::primaryLayerID):
        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (generateLayerID):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        (WebKit::PlatformCALayerRemote::layerID):
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:

2014-01-01  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Fix the WEBKIT_SRC_DIR define when building the WebKit2 GObject API unit tests
        https://bugs.webkit.org/show_bug.cgi?id=126350

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/tests/CMakeLists.txt: Fix the define.

2014-01-01  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Rename libtestnetscapeplugin to libTestNetscapePlugin
        https://bugs.webkit.org/show_bug.cgi?id=126349

        Reviewed by Carlos Garcia Campos.

        All CMake ports use "libTestNetscapePlugin," so choosing the same
        name in the autotools port will make the transition easier.

        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
        (testWebContextGetPlugins): Use the new plugin library name.

2013-12-31  Brendan Long  <b.long@cablelabs.com>

        [Gtk] WebKitWebInspector has build warnings due to uninitialized didChangeAttachedWidth member
        https://bugs.webkit.org/show_bug.cgi?id=126353

        Reviewed by Martin Robinson.

        * UIProcess/API/gtk/WebKitWebInspector.cpp:
        (webkitWebInspectorCreate): Initialize didChangeAttachedWidth to null.

2013-12-30  Martin Robinson  <mrobinson@igalia.com>

        [GTK] Make the output directory of GObject unit tests binaries consistent with the CMake build
        https://bugs.webkit.org/show_bug.cgi?id=126297

        Reviewed by Philippe Normand.

        * UIProcess/API/gtk/tests/GNUmakefile.am: Build the tests in the new directory.
        * UIProcess/API/gtk/tests/TestInspectorServer.cpp:
        (startTestServer): Update the search path to reflect the new directory.
        * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
        (startTestServer): Update the search path to reflect the new directory.

2013-12-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] willSendRequest doesn't work after a redirect
        https://bugs.webkit.org/show_bug.cgi?id=126290

        Reviewed by Martin Robinson.

        Add test cases to test send-request signal in case of
        redirection.

        * UIProcess/API/gtk/tests/TestResources.cpp:
        (testWebResourceSendRequest):
        (serverCallback):

2013-12-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r161157, r161158, r161160, r161161,
        r161163, and r161165.
        http://trac.webkit.org/changeset/161157
        http://trac.webkit.org/changeset/161158
        http://trac.webkit.org/changeset/161160
        http://trac.webkit.org/changeset/161161
        http://trac.webkit.org/changeset/161163
        http://trac.webkit.org/changeset/161165
        https://bugs.webkit.org/show_bug.cgi?id=126332

        Broke WebKit2 on Mountain Lion (Requested by ap on #webkit).

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::SyncMessageState::wait):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::waitForSyncReply):

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Try to fix the test failures seen on the bots.

        Restore the BinarySemaphore behavior that existed in the old binary semaphore.

        * Platform/IPC/Connection.cpp:
        (IPC::BinarySemaphore::wait):

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Fix.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::plugInDidStartFromOrigin):

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Move more of Connection over to STL threading primitives
        https://bugs.webkit.org/show_bug.cgi?id=126308

        Reviewed by Andreas Kling.

        * Platform/IPC/Connection.cpp:
        (IPC::BinarySemaphore::BinarySemaphore):
        (IPC::BinarySemaphore::~BinarySemaphore):
        (IPC::BinarySemaphore::signal):
        (IPC::BinarySemaphore::wait):
        Add a new BinarySemaphore class that uses STL threading primitives.

        (IPC::Connection::SyncMessageState::wait):
        Change this to take a std::chrono::steady_clock::time_point.

        (IPC::absoluteTimeoutTime):
        Add a new helper function that returns a time point from the a given timeout duration,
        correctly handling the max duration.

        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        Pass a time point to SyncMessageState::wait.

        (IPC::Connection::waitForSyncReply):
        Ditto.

2013-12-30  Ryuan Choi  <ryuan.choi@samsung.com>

        Replace remaning CoreIPC namespace to IPC
        https://bugs.webkit.org/show_bug.cgi?id=126305

        Reviewed by Anders Carlsson.

        This patch replaces CoreIPC to IPC in build scripts and source codes to fix
        build break on CMake based ports and Gtk (and maybe IOS).

        * CMakeLists.txt:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Platform/IPC/unix/AttachmentUnix.cpp:
        * Platform/IPC/unix/ConnectionUnix.cpp:
        * Platform/unix/SharedMemoryUnix.cpp:
        (WebKit::SharedMemory::Handle::encode):
        (WebKit::SharedMemory::Handle::decode):
        (WebKit::SharedMemory::Handle::releaseToAttachment):
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
        (WebKit::WebCoordinatedSurface::Handle::encode):
        (WebKit::WebCoordinatedSurface::Handle::decode):
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::downloadFailed):
        (WebKit::Download::cancel):
        * Shared/WebBatteryStatus.cpp:
        (WebKit::WebBatteryStatus::Data::encode):
        (WebKit::WebBatteryStatus::Data::decode):
        * Shared/WebBatteryStatus.h:
        * Shared/WebNetworkInfo.cpp:
        (WebKit::WebNetworkInfo::Data::encode):
        (WebKit::WebNetworkInfo::Data::decode):
        * Shared/WebNetworkInfo.h:
        * Shared/cairo/LayerTreeContextCairo.cpp:
        (WebKit::LayerTreeContext::encode):
        (WebKit::LayerTreeContext::decode):
        * Shared/efl/LayerTreeContextEfl.cpp:
        (WebKit::LayerTreeContext::encode):
        (WebKit::LayerTreeContext::decode):
        * Shared/gtk/ArgumentCodersGtk.cpp:
        * Shared/gtk/ArgumentCodersGtk.h:
        * Shared/gtk/LayerTreeContextGtk.cpp:
        (WebKit::LayerTreeContext::encode):
        (WebKit::LayerTreeContext::decode):
        * Shared/ios/WebPlatformTouchPointIOS.cpp:
        (WebKit::WebPlatformTouchPoint::encode):
        (WebKit::WebPlatformTouchPoint::decode):
        * Shared/ios/WebTouchEventIOS.cpp:
        (WebKit::WebTouchEvent::encode):
        (WebKit::WebTouchEvent::decode):
        * Shared/linux/SeccompFilters/OpenSyscall.cpp:
        (WebKit::OpenSyscall::encode):
        (WebKit::OpenSyscall::decode):
        (WebKit::OpenSyscallResult::encode):
        (WebKit::OpenSyscallResult::decode):
        * Shared/linux/SeccompFilters/OpenSyscall.h:
        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SeccompBrokerClient::dispatch):
        (WebKit::SeccompBroker::runLoop):
        * Shared/linux/SeccompFilters/Syscall.cpp:
        (WebKit::Syscall::createFromDecoder):
        (WebKit::SyscallResult::createFromDecoder):
        * Shared/linux/SeccompFilters/Syscall.h:
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (IPC::ArgumentCoder<CertificateInfo>::encode):
        (IPC::ArgumentCoder<CertificateInfo>::decode):
        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
        * UIProcess/API/mac/PDFViewController.h:
        * UIProcess/API/mac/PDFViewController.mm:
        (WebKit::convertPostScriptDataSourceToPDF):
        (WebKit::PDFViewController::setPDFDocumentData):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
        * UIProcess/DrawingAreaProxyImpl.h:
        * UIProcess/WebBatteryManagerProxy.h:
        * UIProcess/WebNetworkInfoManagerProxy.h:
        * UIProcess/WebVibrationProxy.h:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
        (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
        (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
        * UIProcess/soup/WebSoupRequestManagerProxy.h:
        * WebProcess/Battery/WebBatteryManager.h:
        * WebProcess/NetworkInfo/WebNetworkInfoManager.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
        (WebKit::CoordinatedDrawingArea::didReceiveCoordinatedLayerTreeHostMessage):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::registerUIProcessAccessibilityTokens):
        * WebProcess/ios/WebProcessIOS.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformInitializeWebProcess):
        * WebProcess/soup/WebSoupRequestManager.cpp:
        (WebKit::WebSoupRequestManager::didHandleURIRequest):
        (WebKit::WebSoupRequestManager::didReceiveURIRequestData):
        * WebProcess/soup/WebSoupRequestManager.h:
        * WebProcess/soup/WebSoupRequestManager.messages.in:

2013-12-30  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on GTK port after 161152

        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
        (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Use std::chrono::milliseconds for all IPC message timeouts
        https://bugs.webkit.org/show_bug.cgi?id=126303

        Reviewed by Andreas Kling.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::sendSyncMessage):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::waitForSyncReply):
        * Platform/IPC/Connection.h:
        (IPC::Connection::sendSync):
        * Platform/IPC/MessageSender.h:
        (IPC::MessageSender::sendSync):
        * Shared/ChildProcessProxy.h:
        (WebKit::ChildProcessProxy::sendSync):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::stringSelectionForPasteboard):
        (WebKit::WebPageProxy::dataSelectionForPasteboard):
        (WebKit::WebPageProxy::readSelectionFromPasteboard):
        (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
        (WebKit::WebPageProxy::acceptsFirstMouse):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::postSynchronousMessage):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::runJavaScriptAlert):
        (WebKit::WebChromeClient::runJavaScriptConfirm):
        (WebKit::WebChromeClient::runJavaScriptPrompt):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::createInspectorPage):

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Remove empty directories.

        * Platform/CoreIPC: Removed.
        * Platform/CoreIPC/mac: Removed.
        * Platform/CoreIPC/unix: Removed.

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Move code over to the IPC namespace.

        Rubber-stamped by Andreas Kling.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::initializeConnection):
        (WebKit::DatabaseProcess::didClose):
        (WebKit::DatabaseProcess::didReceiveInvalidMessage):
        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::create):
        (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        (WebKit::DatabaseToWebProcessConnection::didClose):
        (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        (WebKit::DatabaseToWebProcessConnection::connection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::messageSenderConnection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
        (WebKit::AsynchronousNetworkLoaderClient::willSendRequest):
        (WebKit::AsynchronousNetworkLoaderClient::canAuthenticateAgainstProtectionSpace):
        (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::create):
        (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
        (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
        (WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
        (WebKit::NetworkConnectionToWebProcess::didClose):
        (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        (WebKit::NetworkConnectionToWebProcess::connection):
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::didReceiveMessage):
        (WebKit::NetworkProcess::didReceiveSyncMessage):
        (WebKit::NetworkProcess::didClose):
        (WebKit::NetworkProcess::didReceiveInvalidMessage):
        (WebKit::NetworkProcess::downloadProxyConnection):
        (WebKit::NetworkProcess::initializeConnection):
        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::messageSenderConnection):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/mac/DiskCacheMonitor.h:
        * NetworkProcess/mac/DiskCacheMonitor.mm:
        (WebKit::DiskCacheMonitor::messageSenderConnection):
        * Platform/IPC/ArgumentCoder.h:
        * Platform/IPC/ArgumentCoders.cpp:
        * Platform/IPC/ArgumentCoders.h:
        * Platform/IPC/ArgumentDecoder.cpp:
        * Platform/IPC/ArgumentDecoder.h:
        * Platform/IPC/ArgumentEncoder.cpp:
        * Platform/IPC/ArgumentEncoder.h:
        * Platform/IPC/Arguments.h:
        * Platform/IPC/Attachment.cpp:
        * Platform/IPC/Attachment.h:
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::Connection):
        * Platform/IPC/Connection.h:
        * Platform/IPC/HandleMessage.h:
        * Platform/IPC/MessageDecoder.cpp:
        * Platform/IPC/MessageDecoder.h:
        * Platform/IPC/MessageEncoder.cpp:
        * Platform/IPC/MessageEncoder.h:
        * Platform/IPC/MessageFlags.h:
        * Platform/IPC/MessageReceiver.h:
        * Platform/IPC/MessageReceiverMap.cpp:
        * Platform/IPC/MessageReceiverMap.h:
        * Platform/IPC/mac/ConnectionMac.cpp:
        * Platform/IPC/mac/ImportanceAssertion.h:
        * Platform/IPC/mac/MachPort.h:
        * Platform/SharedMemory.h:
        * Platform/mac/SharedMemoryMac.cpp:
        (WebKit::SharedMemory::Handle::encode):
        (WebKit::SharedMemory::Handle::decode):
        * PluginProcess/PluginControllerProxy.cpp:
        (WebKit::PluginControllerProxy::streamDidReceiveData):
        (WebKit::PluginControllerProxy::manualStreamDidReceiveData):
        * PluginProcess/PluginControllerProxy.h:
        * PluginProcess/PluginControllerProxy.messages.in:
        * PluginProcess/PluginCreationParameters.cpp:
        (WebKit::PluginCreationParameters::encode):
        (WebKit::PluginCreationParameters::decode):
        * PluginProcess/PluginCreationParameters.h:
        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::didReceiveMessage):
        (WebKit::PluginProcess::didClose):
        (WebKit::PluginProcess::didReceiveInvalidMessage):
        (WebKit::PluginProcess::createWebProcessConnection):
        * PluginProcess/PluginProcess.h:
        * PluginProcess/WebProcessConnection.cpp:
        (WebKit::WebProcessConnection::create):
        (WebKit::WebProcessConnection::WebProcessConnection):
        (WebKit::WebProcessConnection::setGlobalException):
        (WebKit::WebProcessConnection::didReceiveMessage):
        (WebKit::WebProcessConnection::didReceiveSyncMessage):
        (WebKit::WebProcessConnection::didClose):
        (WebKit::WebProcessConnection::didReceiveInvalidMessage):
        * PluginProcess/WebProcessConnection.h:
        (WebKit::WebProcessConnection::connection):
        * PluginProcess/mac/PluginControllerProxyMac.mm:
        (WebKit::PluginControllerProxy::setComplexTextInputState):
        * Scripts/webkit2/messages.py:
        (arguments_type_old):
        (message_to_struct_declaration):
        (forward_declarations_and_headers):
        (generate_messages_header):
        (async_message_statement):
        (sync_message_statement):
        (headers_for_type):
        (generate_message_handler):
        * Scripts/webkit2/messages_unittest.py:
        (IPC):
        (std):
        * Shared/API/Cocoa/RemoteObjectRegistry.h:
        * Shared/APIGeometry.cpp:
        (API::Point::encode):
        (API::Point::decode):
        (API::Size::encode):
        (API::Size::decode):
        (API::Rect::encode):
        (API::Rect::decode):
        * Shared/APIGeometry.h:
        * Shared/APINumber.h:
        (API::Number::encode):
        (API::Number::decode):
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/ChildProcess.cpp:
        (WebKit::didCloseOnConnectionWorkQueue):
        (WebKit::ChildProcess::initialize):
        (WebKit::ChildProcess::initializeConnection):
        (WebKit::ChildProcess::addMessageReceiver):
        (WebKit::ChildProcess::removeMessageReceiver):
        (WebKit::ChildProcess::messageSenderConnection):
        * Shared/ChildProcess.h:
        (WebKit::ChildProcess::parentProcessConnection):
        (WebKit::ChildProcess::messageReceiverMap):
        * Shared/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::fromConnection):
        (WebKit::ChildProcessProxy::sendMessage):
        (WebKit::ChildProcessProxy::addMessageReceiver):
        (WebKit::ChildProcessProxy::removeMessageReceiver):
        (WebKit::ChildProcessProxy::dispatchMessage):
        (WebKit::ChildProcessProxy::dispatchSyncMessage):
        (WebKit::ChildProcessProxy::didFinishLaunching):
        (WebKit::ChildProcessProxy::connectionWillOpen):
        (WebKit::ChildProcessProxy::connectionWillClose):
        * Shared/ChildProcessProxy.h:
        (WebKit::ChildProcessProxy::connection):
        (WebKit::ChildProcessProxy::send):
        * Shared/ChildProcessSupplement.h:
        (WebKit::ChildProcessSupplement::initializeConnection):
        * Shared/ConnectionStack.h:
        (WebKit::ConnectionStack::current):
        (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
        (WebContextLegacyMessages::messageReceiverName):
        (WebContextLegacyMessages::postMessageMessageName):
        (WebContextLegacyMessages::postSynchronousMessageMessageName):
        * Shared/Databases/DatabaseProcessCreationParameters.cpp:
        (WebKit::DatabaseProcessCreationParameters::encode):
        (WebKit::DatabaseProcessCreationParameters::decode):
        * Shared/Databases/DatabaseProcessCreationParameters.h:
        * Shared/DictionaryPopupInfo.cpp:
        (WebKit::DictionaryPopupInfo::encode):
        (WebKit::DictionaryPopupInfo::decode):
        * Shared/DictionaryPopupInfo.h:
        * Shared/Downloads/Download.cpp:
        (WebKit::Download::didFail):
        (WebKit::Download::didCancel):
        (WebKit::Download::messageSenderConnection):
        * Shared/Downloads/Download.h:
        * Shared/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::downloadProxyConnection):
        * Shared/Downloads/DownloadManager.h:
        * Shared/Downloads/mac/DownloadMac.mm:
        (WebKit::Download::cancel):
        (-[WKDownloadAsDelegate download:didFailWithError:]):
        * Shared/EditorState.cpp:
        (WebKit::EditorState::encode):
        (WebKit::EditorState::decode):
        * Shared/EditorState.h:
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
        (WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
        (WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):
        * Shared/FileAPI/BlobRegistrationData.cpp:
        (WebKit::BlobRegistrationData::encode):
        (WebKit::BlobRegistrationData::decode):
        * Shared/FileAPI/BlobRegistrationData.h:
        * Shared/FontInfo.cpp:
        (WebKit::FontInfo::encode):
        (WebKit::FontInfo::decode):
        * Shared/FontInfo.h:
        * Shared/LayerTreeContext.h:
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
        * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
        (WebKit::CustomProtocolManager::initializeConnection):
        (WebKit::CustomProtocolManager::didLoadData):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * Shared/Network/NetworkResourceLoadParameters.cpp:
        (WebKit::NetworkResourceLoadParameters::encode):
        (WebKit::NetworkResourceLoadParameters::decode):
        * Shared/Network/NetworkResourceLoadParameters.h:
        * Shared/OriginAndDatabases.cpp:
        (WebKit::OriginAndDatabases::encode):
        (WebKit::OriginAndDatabases::decode):
        * Shared/OriginAndDatabases.h:
        * Shared/PlatformPopupMenuData.cpp:
        (WebKit::PlatformPopupMenuData::encode):
        (WebKit::PlatformPopupMenuData::decode):
        * Shared/PlatformPopupMenuData.h:
        * Shared/Plugins/NPIdentifierData.cpp:
        (WebKit::NPIdentifierData::encode):
        (WebKit::NPIdentifierData::decode):
        * Shared/Plugins/NPIdentifierData.h:
        * Shared/Plugins/NPObjectMessageReceiver.h:
        * Shared/Plugins/NPRemoteObjectMap.cpp:
        (WebKit::NPRemoteObjectMap::create):
        (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
        (WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
        * Shared/Plugins/NPRemoteObjectMap.h:
        (WebKit::NPRemoteObjectMap::connection):
        * Shared/Plugins/NPVariantData.cpp:
        (WebKit::NPVariantData::encode):
        (WebKit::NPVariantData::decode):
        * Shared/Plugins/NPVariantData.h:
        * Shared/Plugins/PluginProcessCreationParameters.cpp:
        (WebKit::PluginProcessCreationParameters::encode):
        (WebKit::PluginProcessCreationParameters::decode):
        * Shared/Plugins/PluginProcessCreationParameters.h:
        * Shared/PrintInfo.cpp:
        (WebKit::PrintInfo::encode):
        (WebKit::PrintInfo::decode):
        * Shared/PrintInfo.h:
        * Shared/SandboxExtension.h:
        (WebKit::SandboxExtension::Handle::encode):
        (WebKit::SandboxExtension::Handle::decode):
        (WebKit::SandboxExtension::HandleArray::encode):
        (WebKit::SandboxExtension::HandleArray::decode):
        * Shared/SecurityOriginData.cpp:
        (WebKit::SecurityOriginData::encode):
        (WebKit::SecurityOriginData::decode):
        * Shared/SecurityOriginData.h:
        * Shared/SessionState.cpp:
        (WebKit::SessionState::encode):
        (WebKit::SessionState::decode):
        * Shared/SessionState.h:
        * Shared/ShareableBitmap.cpp:
        (WebKit::ShareableBitmap::Handle::encode):
        (WebKit::ShareableBitmap::Handle::decode):
        * Shared/ShareableBitmap.h:
        * Shared/ShareableResource.cpp:
        (WebKit::ShareableResource::Handle::encode):
        (WebKit::ShareableResource::Handle::decode):
        * Shared/ShareableResource.h:
        * Shared/StatisticsData.cpp:
        (WebKit::StatisticsData::encode):
        (WebKit::StatisticsData::decode):
        * Shared/StatisticsData.h:
        * Shared/TextCheckerState.h:
        * Shared/UpdateInfo.cpp:
        (WebKit::UpdateInfo::encode):
        (WebKit::UpdateInfo::decode):
        * Shared/UpdateInfo.h:
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserData.h:
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebBackForwardListItem.cpp:
        (WebKit::WebBackForwardListItem::encode):
        (WebKit::WebBackForwardListItem::decode):
        * Shared/WebBackForwardListItem.h:
        * Shared/WebConnection.cpp:
        (WebKit::WebConnection::postMessage):
        (WebKit::WebConnection::didReceiveMessage):
        (WebKit::WebConnection::handleMessage):
        * Shared/WebConnection.h:
        * Shared/WebContextMenuItemData.cpp:
        (WebKit::WebContextMenuItemData::encode):
        (WebKit::WebContextMenuItemData::decode):
        * Shared/WebContextMenuItemData.h:
        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:
        * Shared/WebEvent.cpp:
        (WebKit::WebEvent::encode):
        (WebKit::WebEvent::decode):
        * Shared/WebEvent.h:
        * Shared/WebGeolocationPosition.cpp:
        (WebKit::WebGeolocationPosition::Data::encode):
        (WebKit::WebGeolocationPosition::Data::decode):
        * Shared/WebGeolocationPosition.h:
        * Shared/WebHitTestResult.cpp:
        (WebKit::WebHitTestResult::Data::encode):
        (WebKit::WebHitTestResult::Data::decode):
        * Shared/WebHitTestResult.h:
        * Shared/WebKeyboardEvent.cpp:
        (WebKit::WebKeyboardEvent::encode):
        (WebKit::WebKeyboardEvent::decode):
        * Shared/WebMouseEvent.cpp:
        (WebKit::WebMouseEvent::encode):
        (WebKit::WebMouseEvent::decode):
        * Shared/WebNavigationDataStore.h:
        (WebKit::WebNavigationDataStore::encode):
        (WebKit::WebNavigationDataStore::decode):
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * Shared/WebPageGroupData.cpp:
        (WebKit::WebPageGroupData::encode):
        (WebKit::WebPageGroupData::decode):
        * Shared/WebPageGroupData.h:
        * Shared/WebPlatformTouchPoint.cpp:
        (WebKit::WebPlatformTouchPoint::encode):
        (WebKit::WebPlatformTouchPoint::decode):
        * Shared/WebPopupItem.cpp:
        (WebKit::WebPopupItem::encode):
        (WebKit::WebPopupItem::decode):
        * Shared/WebPopupItem.h:
        * Shared/WebPreferencesStore.cpp:
        (WebKit::WebPreferencesStore::encode):
        (WebKit::WebPreferencesStore::decode):
        * Shared/WebPreferencesStore.h:
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * Shared/WebSerializedScriptValue.h:
        (WebKit::WebSerializedScriptValue::dataReference):
        * Shared/WebTouchEvent.cpp:
        (WebKit::WebTouchEvent::encode):
        (WebKit::WebTouchEvent::decode):
        * Shared/WebWheelEvent.cpp:
        (WebKit::WebWheelEvent::encode):
        (WebKit::WebWheelEvent::decode):
        * Shared/cf/ArgumentCodersCF.cpp:
        (IPC::encode):
        (IPC::decode):
        * Shared/cf/ArgumentCodersCF.h:
        * Shared/mac/ArgumentCodersMac.h:
        * Shared/mac/ArgumentCodersMac.mm:
        (IPC::encode):
        (IPC::decode):
        * Shared/mac/AttributedString.h:
        * Shared/mac/AttributedString.mm:
        (WebKit::AttributedString::encode):
        (WebKit::AttributedString::decode):
        * Shared/mac/ColorSpaceData.h:
        * Shared/mac/ColorSpaceData.mm:
        (WebKit::ColorSpaceData::encode):
        (WebKit::ColorSpaceData::decode):
        * Shared/mac/LayerTreeContextMac.mm:
        (WebKit::LayerTreeContext::encode):
        (WebKit::LayerTreeContext::decode):
        * Shared/mac/ObjCObjectGraphCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::ObjCObjectGraphEncoder::baseEncode):
        (WebKit::ObjCObjectGraphDecoder::baseDecode):
        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
        (WebKit::WebContextObjCObjectGraphEncoder::encode):
        (WebKit::WebContextObjCObjectGraphDecoder::decode):
        (WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
        (WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
        * Shared/mac/RemoteLayerBackingStore.h:
        * Shared/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        * Shared/mac/SandboxExtensionMac.mm:
        (WebKit::SandboxExtension::Handle::encode):
        (WebKit::SandboxExtension::Handle::decode):
        (WebKit::SandboxExtension::HandleArray::encode):
        (WebKit::SandboxExtension::HandleArray::decode):
        * Shared/mac/SecItemRequestData.cpp:
        (WebKit::SecItemRequestData::encode):
        (WebKit::SecItemRequestData::decode):
        * Shared/mac/SecItemRequestData.h:
        * Shared/mac/SecItemResponseData.cpp:
        (WebKit::SecItemResponseData::encode):
        (WebKit::SecItemResponseData::decode):
        * Shared/mac/SecItemResponseData.h:
        * Shared/mac/SecItemShim.cpp:
        (WebKit::SecItemShim::initializeConnection):
        * Shared/mac/SecItemShim.h:
        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
        (IPC::ArgumentCoder<ResourceResponse>::encodePlatformData):
        (IPC::ArgumentCoder<ResourceResponse>::decodePlatformData):
        (IPC::ArgumentCoder<CertificateInfo>::encode):
        (IPC::ArgumentCoder<CertificateInfo>::decode):
        (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
        (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _accessibilityRegisterUIProcessTokens]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
        (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
        (WebKit::AuthenticationChallengeProxy::create):
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::connectionWillOpen):
        (WebKit::DatabaseProcessProxy::connectionWillClose):
        (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
        (WebKit::DatabaseProcessProxy::didClose):
        (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
        (WebKit::DatabaseProcessProxy::didFinishLaunching):
        * UIProcess/Databases/DatabaseProcessProxy.h:
        * UIProcess/Databases/DatabaseProcessProxy.messages.in:
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::createData):
        (WebKit::DownloadProxy::didFail):
        (WebKit::DownloadProxy::didCancel):
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/Downloads/DownloadProxy.messages.in:
        * UIProcess/DrawingAreaProxy.h:
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::connectToService):
        (WebKit::tryPreexistingProcess):
        (WebKit::createProcess):
        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
        (-[WKCustomProtocolLoader connection:didReceiveData:]):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::connectionWillOpen):
        (WebKit::NetworkProcessProxy::connectionWillClose):
        (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
        (WebKit::NetworkProcessProxy::didReceiveMessage):
        (WebKit::NetworkProcessProxy::didReceiveSyncMessage):
        (WebKit::NetworkProcessProxy::didClose):
        (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
        (WebKit::NetworkProcessProxy::didFinishLaunching):
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Network/NetworkProcessProxy.messages.in:
        * UIProcess/Notifications/WebNotification.h:
        * UIProcess/PageClient.h:
        * UIProcess/Plugins/PluginProcessManager.h:
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::getPluginProcessConnection):
        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
        (WebKit::PluginProcessProxy::didClose):
        (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
        (WebKit::PluginProcessProxy::didFinishLaunching):
        (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
        * UIProcess/Plugins/PluginProcessProxy.h:
        * UIProcess/Plugins/PluginProcessProxy.messages.in:
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
        * UIProcess/Storage/StorageManager.cpp:
        (WebKit::StorageManager::StorageArea::addListener):
        (WebKit::StorageManager::StorageArea::removeListener):
        (WebKit::StorageManager::StorageArea::setItem):
        (WebKit::StorageManager::StorageArea::removeItem):
        (WebKit::StorageManager::StorageArea::clear):
        (WebKit::StorageManager::StorageArea::dispatchEvents):
        (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
        (WebKit::StorageManager::SessionStorageNamespace::create):
        (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
        (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
        (WebKit::StorageManager::createSessionStorageNamespace):
        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
        (WebKit::StorageManager::processWillCloseConnection):
        (WebKit::StorageManager::createLocalStorageMap):
        (WebKit::StorageManager::createSessionStorageMap):
        (WebKit::StorageManager::destroyStorageMap):
        (WebKit::StorageManager::getValues):
        (WebKit::StorageManager::setItem):
        (WebKit::StorageManager::removeItem):
        (WebKit::StorageManager::clear):
        (WebKit::StorageManager::createSessionStorageNamespaceInternal):
        (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
        (WebKit::StorageManager::invalidateConnectionInternal):
        (WebKit::StorageManager::findStorageArea):
        * UIProcess/Storage/StorageManager.h:
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebConnectionToWebProcess.cpp:
        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
        (WebKit::WebConnectionToWebProcess::messageSenderConnection):
        * UIProcess/WebConnectionToWebProcess.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::networkingProcessConnection):
        (WebKit::WebContext::didReceiveInvalidMessage):
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::postMessageToInjectedBundle):
        (WebKit::WebContext::addMessageReceiver):
        (WebKit::WebContext::removeMessageReceiver):
        (WebKit::WebContext::dispatchMessage):
        (WebKit::WebContext::dispatchSyncMessage):
        (WebKit::WebContext::didReceiveMessage):
        (WebKit::WebContext::didReceiveSyncMessage):
        * UIProcess/WebContext.h:
        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebEditCommandProxy.cpp:
        (WebKit::WebEditCommandProxy::unapply):
        (WebKit::WebEditCommandProxy::reapply):
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebFullScreenManagerProxy.h:
        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::startUpdating):
        (WebKit::WebGeolocationManagerProxy::stopUpdating):
        (WebKit::WebGeolocationManagerProxy::removeRequester):
        (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::setIconDataForIconURL):
        (WebKit::WebIconDatabase::synchronousIconDataForPageURL):
        * UIProcess/WebIconDatabase.h:
        * UIProcess/WebIconDatabase.messages.in:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::willGoToBackForwardListItem):
        (WebKit::WebPageProxy::preferencesDidChange):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        (WebKit::WebPageProxy::didFailLoadForFrame):
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
        (WebKit::WebPageProxy::didReceiveTitleForFrame):
        (WebKit::WebPageProxy::didFirstLayoutForFrame):
        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::WebPageProxy::didLayout):
        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
        (WebKit::WebPageProxy::didDetectXSSForFrame):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::decidePolicyForResponseSync):
        (WebKit::WebPageProxy::unableToImplementPolicy):
        (WebKit::WebPageProxy::willSubmitForm):
        (WebKit::WebPageProxy::mouseDidMoveOverElement):
        (WebKit::WebPageProxy::connectionWillOpen):
        (WebKit::WebPageProxy::connectionWillClose):
        (WebKit::WebPageProxy::sendMessage):
        (WebKit::WebPageProxy::messageSenderConnection):
        (WebKit::WebPageProxy::showContextMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        (WebKit::WebPageProxy::dataCallback):
        (WebKit::WebPageProxy::scriptValueCallback):
        (WebKit::WebPageProxy::beginPrinting):
        (WebKit::WebPageProxy::endPrinting):
        (WebKit::WebPageProxy::computePagesForPrinting):
        (WebKit::WebPageProxy::drawRectToImage):
        (WebKit::WebPageProxy::drawPagesToPDF):
        (WebKit::WebPageProxy::drawPagesForPrinting):
        (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::connectionWillOpen):
        (WebKit::WebProcessProxy::connectionWillClose):
        (WebKit::WebProcessProxy::addBackForwardItem):
        (WebKit::WebProcessProxy::didReceiveMessage):
        (WebKit::WebProcessProxy::didReceiveSyncMessage):
        (WebKit::WebProcessProxy::didClose):
        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
        (WebKit::WebProcessProxy::didFinishLaunching):
        * UIProcess/WebProcessProxy.h:
        (WebKit::WebProcessProxy::fromConnection):
        * UIProcess/WebProcessProxy.messages.in:
        * UIProcess/WebResourceCacheManagerProxy.h:
        * UIProcess/cf/WebBackForwardListCF.cpp:
        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/SecItemShimProxy.cpp:
        (WebKit::SecItemShimProxy::initializeConnection):
        (WebKit::SecItemShimProxy::secItemRequest):
        * UIProcess/mac/SecItemShimProxy.h:
        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitializeWebProcess):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
        (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
        (WebKit::WebPageProxy::savePDFToTemporaryFolderAndOpenWithNativeApplication):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
        * WebProcess/Cookies/WebCookieManager.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::messageSenderConnection):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
        (WebKit::WebToDatabaseProcessConnection::didClose):
        (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
        (WebKit::WebToDatabaseProcessConnection::create):
        (WebKit::WebToDatabaseProcessConnection::connection):
        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
        (WebKit::WebContentProcessMainDelegate::getConnectionIdentifier):
        * WebProcess/FullScreen/WebFullScreenManager.cpp:
        (WebKit::WebFullScreenManager::didReceiveMessage):
        * WebProcess/FullScreen/WebFullScreenManager.h:
        * WebProcess/Geolocation/WebGeolocationManager.h:
        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
        (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
        (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
        * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::postMessage):
        (WebKit::InjectedBundle::postSynchronousMessage):
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        (WebKit::InjectedBundleUserMessageEncoder::encode):
        (WebKit::InjectedBundleUserMessageDecoder::decode):
        * WebProcess/MediaCache/WebMediaCacheManager.h:
        * WebProcess/Network/NetworkProcessConnection.cpp:
        (WebKit::NetworkProcessConnection::NetworkProcessConnection):
        (WebKit::NetworkProcessConnection::didReceiveMessage):
        (WebKit::NetworkProcessConnection::didReceiveSyncMessage):
        (WebKit::NetworkProcessConnection::didClose):
        (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
        * WebProcess/Network/NetworkProcessConnection.h:
        (WebKit::NetworkProcessConnection::create):
        (WebKit::NetworkProcessConnection::connection):
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::messageSenderConnection):
        (WebKit::WebResourceLoader::didReceiveData):
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/Notifications/WebNotificationManager.h:
        * WebProcess/OriginData/WebOriginDataManager.h:
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/Plugin.cpp:
        (WebKit::Plugin::Parameters::encode):
        (WebKit::Plugin::Parameters::decode):
        * WebProcess/Plugins/Plugin.h:
        * WebProcess/Plugins/PluginProcessConnection.cpp:
        (WebKit::PluginProcessConnection::PluginProcessConnection):
        (WebKit::PluginProcessConnection::didReceiveMessage):
        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
        (WebKit::PluginProcessConnection::didClose):
        (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
        * WebProcess/Plugins/PluginProcessConnection.h:
        (WebKit::PluginProcessConnection::create):
        (WebKit::PluginProcessConnection::connection):
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
        (WebKit::PluginProcessConnectionManager::initializeConnection):
        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
        * WebProcess/Plugins/PluginProcessConnectionManager.h:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::geometryDidChange):
        (WebKit::PluginProxy::streamDidReceiveData):
        (WebKit::PluginProxy::manualStreamDidReceiveData):
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/ResourceCache/WebResourceCacheManager.h:
        * WebProcess/Storage/StorageAreaMap.h:
        * WebProcess/WebConnectionToUIProcess.cpp:
        (WebKit::WebConnectionToUIProcess::encodeMessageBody):
        (WebKit::WebConnectionToUIProcess::decodeMessageBody):
        (WebKit::WebConnectionToUIProcess::messageSenderConnection):
        * WebProcess/WebConnectionToUIProcess.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::runJavaScriptAlert):
        (WebKit::WebChromeClient::runJavaScriptConfirm):
        (WebKit::WebChromeClient::runJavaScriptPrompt):
        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        * WebProcess/WebPage/DecoderAdapter.cpp:
        (WebKit::DecoderAdapter::decodeBytes):
        (WebKit::DecoderAdapter::decodeString):
        * WebProcess/WebPage/DecoderAdapter.h:
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/EncoderAdapter.cpp:
        (WebKit::EncoderAdapter::dataReference):
        (WebKit::EncoderAdapter::encodeBytes):
        (WebKit::EncoderAdapter::encodeString):
        * WebProcess/WebPage/EncoderAdapter.h:
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::initializeConnection):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/LayerTreeHost.h:
        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::createInspectorPage):
        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::messageSenderConnection):
        (WebKit::WebPage::loadURL):
        (WebKit::WebPage::loadURLRequest):
        (WebKit::WebPage::loadDataImpl):
        (WebKit::WebPage::loadString):
        (WebKit::WebPage::loadData):
        (WebKit::WebPage::loadHTMLString):
        (WebKit::WebPage::loadAlternateHTMLString):
        (WebKit::WebPage::loadPlainTextString):
        (WebKit::WebPage::loadWebArchiveData):
        (WebKit::WebPage::postInjectedBundleMessage):
        (WebKit::WebPage::runJavaScriptInMainFrame):
        (WebKit::WebPage::getContentsAsMHTMLData):
        (WebKit::WebPage::getSelectionAsWebArchiveData):
        (WebKit::WebPage::getMainResourceDataOfFrame):
        (WebKit::WebPage::getResourceDataFromFrame):
        (WebKit::WebPage::getWebArchiveOfFrame):
        (WebKit::WebPage::didReceiveMessage):
        (WebKit::WebPage::didReceiveSyncMessage):
        (WebKit::WebPage::drawPagesToPDF):
        (WebKit::WebPage::savePDFToFileInDownloadsFolder):
        (WebKit::WebPage::savePDFToTemporaryFolderAndOpenWithNativeApplication):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/WebPageGroupProxy.h:
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::platformInitialize):
        (WebKit::WebPage::registerUIProcessAccessibilityTokens):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeConnection):
        (WebKit::WebProcess::downloadProxyConnection):
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensureNetworkProcessConnection):
        (WebKit::WebProcess::didReceiveSyncMessage):
        (WebKit::WebProcess::didReceiveMessage):
        (WebKit::WebProcess::didClose):
        (WebKit::WebProcess::didReceiveInvalidMessage):
        (WebKit::WebProcess::postInjectedBundleMessage):
        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):
        * config.h:

2013-12-30  Anders Carlsson  <andersca@apple.com>

        Move remaining IPC related files to Platform/IPC.

        Rubber-stamped by Andreas Kling.

        * Platform/IPC/ArgumentCoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h.
        * Platform/IPC/ArgumentCoders.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp.
        * Platform/IPC/ArgumentCoders.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h.
        * Platform/IPC/ArgumentDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp.
        * Platform/IPC/ArgumentDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h.
        * Platform/IPC/ArgumentEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp.
        * Platform/IPC/ArgumentEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h.
        * Platform/IPC/Arguments.h: Renamed from Source/WebKit2/Platform/CoreIPC/Arguments.h.
        * Platform/IPC/Attachment.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.cpp.
        * Platform/IPC/Attachment.h: Renamed from Source/WebKit2/Platform/CoreIPC/Attachment.h.
        * Platform/IPC/Connection.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.cpp.
        * Platform/IPC/Connection.h: Renamed from Source/WebKit2/Platform/CoreIPC/Connection.h.
        * Platform/IPC/HandleMessage.h: Renamed from Source/WebKit2/Platform/CoreIPC/HandleMessage.h.
        * Platform/IPC/MessageDecoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp.
        * Platform/IPC/MessageDecoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageDecoder.h.
        * Platform/IPC/MessageEncoder.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp.
        * Platform/IPC/MessageEncoder.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageEncoder.h.
        * Platform/IPC/MessageFlags.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageFlags.h.
        * Platform/IPC/MessageReceiver.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiver.h.
        * Platform/IPC/MessageReceiverMap.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp.
        * Platform/IPC/MessageReceiverMap.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h.
        * Platform/IPC/mac/ConnectionMac.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp.
        * Platform/IPC/mac/ImportanceAssertion.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h.
        * Platform/IPC/mac/MachPort.h: Renamed from Source/WebKit2/Platform/CoreIPC/mac/MachPort.h.
        * Platform/IPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp.
        * Platform/IPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp.
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-30  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Parallel build sometimes fails when building libWebKit2APITestCore
        https://bugs.webkit.org/show_bug.cgi?id=126294

        Reviewed by Daniel Bates.

        * UIProcess/API/gtk/tests/CMakeLists.txt: Give libWebKit2APITestCore a dependency on
        WebKit2 so that it's always built before the auto-generated sources.

2013-12-30  Martin Robinson  <mrobinson@igalia.com>

        [CMake] [GTK] Add support for GObject introspection
        https://bugs.webkit.org/show_bug.cgi?id=126162

        Reviewed by Daniel Bates.

        * PlatformGTK.cmake: Add the GIR targets, split the installed headers list
        between WebKitWebExtension and the WebKit2 library. Update the headers list
        with new headers.

2013-12-30  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL][WK2] Replace ecore_main_loop_iterate with waitUntilTrue in ewk tests
        https://bugs.webkit.org/show_bug.cgi?id=125919

        Reviewed by Gyuyoung Kim.

        Using ecore_main_loop_iterate in while loop may result in tests hang-up when
        condition is not met. Replacing it with waitUntilTrue introduces a timer
        after which internal loop is canceled. This will cause test to fail instead
        of running infinitely.

        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
        (TEST_F):
        * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
        (TEST_F):
        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
        (TEST_F):
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (EWK2ViewTest::onVibrate):
        (EWK2ViewTest::onCancelVibration):
        (EWK2ViewTest::loadVibrationHTMLString):
        (TEST_F):

2013-12-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Split WebKit2APITests/TestWebKitWebView
        https://bugs.webkit.org/show_bug.cgi?id=126284

        Reviewed by Philippe Normand.

        WebKitWebView test is too big already making more difficult to
        handle timeouts and skipped tests. Split it in 3 by moving
        UIClient and auth tests to their own files.

        * UIProcess/API/gtk/tests/GNUmakefile.am:
        * UIProcess/API/gtk/tests/TestAuthentication.cpp: Added.
        (testWebViewAuthenticationRequest):
        (testWebViewAuthenticationCancel):
        (testWebViewAuthenticationLoadCancelled):
        (testWebViewAuthenticationFailure):
        (testWebViewAuthenticationNoCredential):
        (testWebViewAuthenticationStorage):
        (testWebViewAuthenticationSuccess):
        (serverCallback):
        (beforeAll):
        (afterAll):
        * UIProcess/API/gtk/tests/TestUIClient.cpp: Added.
        (testWebViewCreateReadyClose):
        (checkMimeTypeForFilter):
        (testWebViewAllowModalDialogs):
        (testWebViewDisallowModalDialogs):
        (testWebViewJavaScriptDialogs):
        (testWebViewWindowProperties):
        (testWebViewMouseTarget):
        (testWebViewPermissionRequests):
        (testWebViewFileChooserRequest):
        (beforeAll):
        (afterAll):
        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
        (beforeAll):
        (afterAll):

2013-12-29  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Convenience libraries that export API should be compiled with --whole-archive on Unix
        https://bugs.webkit.org/show_bug.cgi?id=126232

        Reviewed by Gustavo Noronha Silva.

        * PlatformGTK.cmake: Prefix libGObjectDOMBindings with --whole-archive so that
        symbols are not omitted during final linking.

2013-12-26  Sam Weinig  <sam@webkit.org>

        Move FilterIterator and IteratorPair to WTF and reimplement HashMap::keys() and HashMap::values() using IteratorPair
        https://bugs.webkit.org/show_bug.cgi?id=126253

        Reviewed by Anders Carlsson.

        * Shared/APIArray.h:
        Update includes and make elementsOfType() a bit easier to read by using a typedef and some
        judicial indentation.

        * Shared/FilterIterator.h: Moved to WTF.
        * Shared/IteratorPair.h: Moved to WTF.
        
        * WebKit2.xcodeproj/project.pbxproj:
        Remove the two files.

2013-12-28  Kwang Yul Seo  <skyul@company100.net>

        [WK2][SOUP] Fix handling of cookies when network process is enabled
        https://bugs.webkit.org/show_bug.cgi?id=125576

        Reviewed by Carlos Garcia Campos.

        Initialize the network process with cookie accept policy, persistent
        storage path and type. Use
        WebContext::sendToNetworkingProcessRelaunchingIfNecessary instead of
        WebContext::sendToAllProcessesRelaunchingThemIfNecessary to send
        SetCookiePersistentStorage message.

        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * UIProcess/soup/WebContextSoup.cpp:
        (WebKit::WebContext::platformInitializeNetworkProcess):
        * UIProcess/soup/WebCookieManagerProxySoup.cpp:
        (WebKit::WebCookieManagerProxy::setCookiePersistentStorage):
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformInitializeWebProcess):

2013-12-27  Daniel Bates  <dabates@apple.com>

        [iOS] Upstream WebCore/page changes
        https://bugs.webkit.org/show_bug.cgi?id=126180

        Reviewed by Darin Adler.

        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm: Added.
        * WebProcess/WebPage/WebPage.cpp: Include header <WebCore/HitTestResult.h>.

2013-12-27  Gavin Barraclough  <barraclough@apple.com>

        Merge PageVisibilityState & ViewState::IsVisible in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=126214

        Reviewed by Alexey Proskuryakov.

        WebKit2 redundantly tracks the visibility of the view through two mechanisms - the visibility
        state, and the view state. Remove visibility state from the WebKit2 layer. The visibility
        state also tracks the prerender state - so split this out and handle it separately (a change
        we should make in WebCore, too).

        Removing the redundancy also removes the ability from the API to set a fake visibility state
        (IsVisible tracks the actual visibility of the view). Through private API
        (WKPageSetVisibilityState) a client could previously request the view be reported as hidden or
        visible, but this didn't really work - the override was not enforced and the API may reset the
        state at an arbitrary point. The mechanism is only used by testing code, which instead should
        actually update the view visibility (this tests more of the actual visibility mechanisms used
        by the browser). The one aspect of the API relied on by existing clients is the ability to
        initialize a hidden view as prerender - continue to support this specific functionality via
        WKPageSetVisibilityState, to maintain backwards compatibility.

        - WebKit2 - remove internal state that tracks page visibility separately from the view state
        visibility. For backwards compatibility continue to support the WKPageSetVisibilityState API,
        but only to initialize the state to prerender.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetVisibilityState):
            - only support initializing the visibility state to prerender.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            - remove m_visibilityState
        (WebKit::WebPageProxy::initializeWebPage):
            - no need to send initial visibility state (this is sent as a part of the creation parameters).
        (WebKit::WebPageProxy::viewStateDidChange):
            - no need to send visibility state change (this is sent as a part of view state).
        (WebKit::WebPageProxy::setVisibilityStatePrerender):
            - setVisibilityState -> setVisibilityStatePrerender.
        * UIProcess/WebPageProxy.h:
            - remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - added call to updateVisibilityState.
        (WebKit::WebPage::setViewIsVisible):
            - added call to updateVisibilityState.
        (WebKit::WebPage::updateVisibilityState):
            - previously setVisibilityState, updates the page visibility state according to the view state.
        (WebKit::WebPage::setVisibilityStatePrerender):
            - set visibility state to prerender.
        * WebProcess/WebPage/WebPage.h:
            - remove m_visibilityState, setVisibilityState -> setVisibilityStatePrerender.
        * WebProcess/WebPage/WebPage.messages.in:
            - SetVisibilityState -> SetVisibilityStatePrerender.

2013-12-27  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Unnecessary code is built into WebKitPluginProcess
        https://bugs.webkit.org/show_bug.cgi?id=126259

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.list.am: Stop building ChildProcessProxy and ProcessLauncher classes into WebKitPluginProcess.
        That code is not required in the plugin process, as one would expect.

2013-12-27  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] MiniBrowser scale up/down infinitely after r161087
        https://bugs.webkit.org/show_bug.cgi?id=126254

        Reviewed by Gyuyoung Kim.

        After r161087, contentScaleFactor of WebView is synced with pageScaleFactor
        of WebPage. It means that WKViewGetContentScaleFactor might not be same
        with PageViewportController's current scale value until received PageScaleFactorDidChange.

        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
        Use controller's current scale just to update and sync the position.

2013-12-26  Martin Robinson  <mrobinson@igalia.com>

        Small build fix for the GTK+ CMake port

        * UIProcess/API/gtk/tests/CMakeLists.txt: Make the way the output directory is specified similar
        to the WebKit1 version of these tests, so that it is more difficult to inadvertently specify the
        wrong directory.

2013-12-26  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        [WK2][CoordinatedGraphics] Removing duplicate scale information from WebVIew.cpp
        https://bugs.webkit.org/show_bug.cgi?id=126243

        Reviewed by Benjamin Poulain.

        The scale factor of the WebView must reflect the same information present in
        WebPageProxy.
        Previously, in WebView.cpp, there was a m_contentScaleFactor member, which adds
        information duplication and needs to be synchronizing with pageScaleFactor in
        WebPageProxy. We can avoid this by just making WebView access and set WebPageProxy's
        pageScaleFactor directly.

        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):
        (WebKit::WebView::setContentScaleFactor):
        (WebKit::WebView::transformToScene):
        (WebKit::WebView::visibleContentsSize):
        * UIProcess/CoordinatedGraphics/WebView.h:
        (WebKit::WebView::contentScaleFactor):

2013-12-25  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r161033 and r161074.
        http://trac.webkit.org/changeset/161033
        http://trac.webkit.org/changeset/161074
        https://bugs.webkit.org/show_bug.cgi?id=126240

        Oliver says that a rollout would be better (Requested by ap on
        #webkit).

        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
        (WebKit::NPJSObject::setProperty):

2013-12-25  Brady Eidson  <beidson@apple.com>

        DatabaseProcess: Implement version changing
        https://bugs.webkit.org/show_bug.cgi?id=126099

        Reviewed by Sam Weinig.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Add logging.
        (WebKit::DatabaseProcessIDBConnection::openTransaction): Ditto.
        (WebKit::DatabaseProcessIDBConnection::beginTransaction): Ditto.
        (WebKit::DatabaseProcessIDBConnection::commitTransaction): Ditto.
        (WebKit::DatabaseProcessIDBConnection::resetTransaction): Ditto.
        (WebKit::DatabaseProcessIDBConnection::rollbackTransaction): Ditto.
        (WebKit::DatabaseProcessIDBConnection::changeDatabaseVersion): Implement this!
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown): Clean up all requests, and also cleanup the backing store
          on the database queue.
        (WebKit::UniqueIDBDatabase::shutdownBackingStore): Shutdown the backing store.
        (WebKit::UniqueIDBDatabase::didShutdownBackingStore):
        (WebKit::UniqueIDBDatabase::changeDatabaseVersion): Pass along the new version to the database queue.
        (WebKit::UniqueIDBDatabase::didChangeDatabaseVersion):
        (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore): Set the new version in the backing store.
        (WebKit::UniqueIDBDatabase::postMainThreadTask): Add a ref() to keep the database alive incase it is being
          shutdown on the main thread.
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask): Balance the ref() from postMainThreadTask, and
          accept an empty mainThreadTask queue.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h: Add changeDatabaseVersion.

        Flesh out SQLiteIDBTransaction to actually operation on a SQLiteTransaction in a real SQLiteDatabase:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
        (WebKit::SQLiteIDBTransaction::~SQLiteIDBTransaction):
        (WebKit::SQLiteIDBTransaction::begin):
        (WebKit::SQLiteIDBTransaction::commit):
        (WebKit::SQLiteIDBTransaction::reset):
        (WebKit::SQLiteIDBTransaction::rollback):
        (WebKit::SQLiteIDBTransaction::inProgress):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
        (WebKit::SQLiteIDBTransaction::create):
        (WebKit::SQLiteIDBTransaction::mode):

        Rename m_metadataDB to m_sqliteDB, 
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath): Disable threading checks on the DB
          as work queues can change threads.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion): After validating the transaction, actually
          update the version number on disk.
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Make sure to abort in-flight requests.
        (WebKit::WebIDBServerConnection::changeDatabaseVersion): 
        (WebKit::WebIDBServerConnection::didChangeDatabaseVersion):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

2013-12-25  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Fix CMake style errors in Source/WebKit2/PlatformGTK.cmake
        https://bugs.webkit.org/show_bug.cgi?id=126221

        Reviewed by Gustavo Noronha Silva.

        * PlatformGTK.cmake: Fix CMake style errors.

2013-12-25  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Clean up generated sources directories
        https://bugs.webkit.org/show_bug.cgi?id=126216

        Reviewed by Gustavo Noronha Silva.

        * PlatformGTK.cmake: Use the new derived sources variables.
        * UIProcess/API/gtk/tests/CMakeLists.txt: Ditto.

2013-12-25  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix after r161063

        * GNUmakefile.am: Use locally built .gir dependencies when
        building the WebExtensions gir file.

2013-12-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix warnings when generating WebExtensions gobject-instrospection files
        https://bugs.webkit.org/show_bug.cgi?id=126225

        Reviewed by Philippe Normand.

        Add transfer annotation to webkit_web_page_get_dom_document() and
        document webkit_web_page_get_main_frame().

        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

2013-12-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Missing introspection information for WebExtensions
        https://bugs.webkit.org/show_bug.cgi?id=122407

        Reviewed by Philippe Normand.

        Generate WebKit2WebExtension-3.0.gir with the WebExtensions API
        and move the DOM bindings API from WebKit2-3.0.gir to
        WebKit2WebExtension-3.0.gir.

        * GNUmakefile.am:

2013-12-24  Ryosuke Niwa  <rniwa@webkit.org>

        32-bit Mac build fix attempt after r161045.

        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::windowMap):

2013-12-22  Sam Weinig  <sam@webkit.org>

        [WK2] Replace usage of DEFINE_STATIC_LOCAL with NeverDestroyed
        https://bugs.webkit.org/show_bug.cgi?id=126144

        Reviewed by Anders Carlsson.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::shared):
        * DatabaseProcess/DatabaseProcess.h:
        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::shared):
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::shared):
        (WebKit::NetworkProcess::downloadManager):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
        (WebKit::NetworkProcessPlatformStrategies::initialize):
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::privateBrowsingStorageSessionIdentifierBase):
        * Platform/CoreIPC/Connection.cpp:
        (CoreIPC::Connection::SyncMessageState::syncMessageStateMap):
        (CoreIPC::Connection::SyncMessageState::syncMessageStateMapMutex):
        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::shared):
        * PluginProcess/PluginProcess.h:
        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::fullscreenWindowTracker):
        * Shared/ConnectionStack.cpp:
        (WebKit::ConnectionStack::shared):
        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
        (WebKit::initializedNetscapePluginModules):
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::separatorItem):
        * Shared/WebPreferencesStore.cpp:
        (WebKit::boolTestRunnerOverridesMap):
        * Shared/mac/CookieStorageShim.cpp:
        (WebKit::CookieStorageShim::shared):
        * Shared/mac/CookieStorageShim.h:
        (WebKit::CookieStorageShim::CookieStorageShim):
        * UIProcess/Plugins/PluginProcessManager.cpp:
        (WebKit::PluginProcessManager::shared):
        * UIProcess/Plugins/PluginProcessManager.h:
        * UIProcess/WebContext.cpp:
        (WebKit::contexts):
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::originKey):
        (WebKit::WebDatabaseManagerProxy::originQuotaKey):
        (WebKit::WebDatabaseManagerProxy::originUsageKey):
        (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
        (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
        (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
        (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
        (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorPageGroups::shared):
        * UIProcess/WebPageGroup.cpp:
        (WebKit::webPageGroupMap):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::ExceededDatabaseQuotaRecords::shared):
        (WebKit::WebPageProxy::executeEditCommand):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::globalPageMap):
        * UIProcess/cf/WebBackForwardListCF.cpp:
        (WebKit::SessionHistoryCurrentVersion):
        (WebKit::createEmptySessionHistoryDictionary):
        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
        (WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
        (WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
        (WebKit::extractBackForwardListEntriesFromArray):
        * UIProcess/cf/WebPageProxyCF.cpp:
        (WebKit::WebPageProxy::sessionStateData):
        (WebKit::WebPageProxy::restoreFromSessionStateData):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::standardUserAgent):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::sharedDatabaseBackendMap):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::generateServerConnectionIdentifier):
        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
        (WebKit::WKDOMNodeCache):
        (WebKit::WKDOMRangeCache):
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
        (WebKit::domHandleCache):
        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
        (WebKit::domHandleCache):
        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
        (WebKit::allExtensions):
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
        (WebKit::allWorlds):
        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
        (WebKit::globalExceptionString):
        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::windowMap):
        * WebProcess/Storage/StorageNamespaceImpl.cpp:
        (WebKit::localStorageNamespaceMap):
        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
        (WebKit::WebEditorClient::didBeginEditing):
        (WebKit::WebEditorClient::respondToChangedContents):
        (WebKit::WebEditorClient::respondToChangedSelection):
        (WebKit::WebEditorClient::didEndEditing):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::shouldFallBack):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::initialize):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
        (WebKit::idToHistoryItemMap):
        (WebKit::historyItemToIDMap):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::downloadManager):
        * WebProcess/WebProcess.h:
        * config.h:

2013-12-23  Tim Horton  <timothy_horton@apple.com>

        Fix the iOS build after r161013 and r160672.

        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::updateCustomAppearance):
        * Shared/mac/RemoteLayerTreeTransaction.mm:

2013-12-23  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix for EFL after r161007

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
        Changed the timeout parameter to std::chrono::milliseconds

2013-12-23  Oliver Hunt  <oliver@apple.com>

        Refactor PutPropertySlot to be aware of custom properties
        https://bugs.webkit.org/show_bug.cgi?id=126187

        Reviewed by msaboff.

        Update for new method signatures.

        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
        (WebKit::NPJSObject::setProperty):

2013-12-23  Zan Dobersek  <zdobersek@igalia.com>

        [GTK][WK2] Simplify ProcessExecutablePathGtk
        https://bugs.webkit.org/show_bug.cgi?id=126173

        Reviewed by Martin Robinson.

        Don't store process name strings in global variables -- each of the names is only used in the relevant
        function, so the string can be directly passed into the findWebKitProcess function call.

        Simplify the findWebKitProcess function. Make the execDirectory variable static so that g_getenv is only
        called once, as it's not expected for the WEBKIT_EXEC_PATH environment variable to change during the runtime.

        Introduce the getExecutablePath helper function that gets the current executable path and, if non-null, returns
        the directory path of that executable. The helper function preserves the small performance improvement of querying
        and processing the executable path only once.
        The return value of getExecutablePath is stored in a static variable and is used to construct the process path
        if the executable path was successfully retrieved.

        * Shared/gtk/ProcessExecutablePathGtk.cpp:
        (WebKit::getExecutablePath):
        (WebKit::findWebKitProcess):
        (WebKit::executablePathOfWebProcess):
        (WebKit::executablePathOfPluginProcess):
        (WebKit::executablePathOfNetworkProcess):

2013-12-23  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed build fix for GTK and EFL after r161007.

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
        Use std::chrono::milliseconds instead of double for the timeout parameter to
        CoreIPC::Connection::waitForAndDispatchImmediately.

2013-12-23  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] [CMake] Add support for generating gtkdoc
        https://bugs.webkit.org/show_bug.cgi?id=116376

        Reviewed by Martin Robinson.

        * PlatformGTK.cmake: make generated API files go to DerivedSources/WebKit2, to
        match the autotools build and gtkdoc.py's expectation.

2013-12-23  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Build the WebKit2 GObject API tests
        https://bugs.webkit.org/show_bug.cgi?id=125683

        Reviewed by Daniel Bates.

        * UIProcess/API/gtk/tests/CMakeLists.txt: Added.

2013-12-23  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r160672): Random remote layers are getting shadows
        https://bugs.webkit.org/show_bug.cgi?id=126126

        Reviewed by Anders Carlsson.

        In http://trac.webkit.org/changeset/160672, we unconditionally
        check m_properties.customAppearance without regard for whether it
        has ever been initialized. This would result in sending an uninitialized
        custom appearance to the UI process, which could end up requesting a shadow.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
        Initialize LayerProperties to the CoreAnimation defaults.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Remove wrongly-placed default initialization of contentsScale;
        there's no reason to send it across the wire for every new layer
        if it's left at the default.

2013-12-23  Anders Carlsson  <andersca@apple.com>

        Use std::chrono::milliseconds for message wait timeouts in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=126168

        Reviewed by Sam Weinig.

        * Platform/CoreIPC/Connection.cpp:
        (CoreIPC::Connection::waitForMessage):
        * Platform/CoreIPC/Connection.h:
        (CoreIPC::Connection::waitForAndDispatchImmediately):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
        * UIProcess/DrawingAreaProxy.cpp:
        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::didUpdateBackingStoreStateTimeout):
        (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::waitForDidUpdateViewState):
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):

2013-12-23  Anders Carlsson  <andersca@apple.com>

        Include <condition_variable>, not <thread>.

        * Platform/CoreIPC/Connection.h:
        * Shared/BlockingResponseMap.h:
        * UIProcess/API/mac/WKPrintingView.h:

2013-12-23  Lucas Forschler  <lforschler@apple.com>

        <rdar://problem/15682948> Update copyright strings

        Reviewed by Dan Bernstein

        * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist:
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist:
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist:
        * Info.plist:
        * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/Info.plist:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist:
        * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
        * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
        * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
        * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist:
        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:

2013-12-23  Anders Carlsson  <andersca@apple.com>

        Convert ThreadCondition in WebKit2 over to std::condition_variable
        https://bugs.webkit.org/show_bug.cgi?id=126161

        Reviewed by Sam Weinig.

        * Platform/CoreIPC/Connection.cpp:
        (CoreIPC::Connection::waitForMessage):
        (CoreIPC::Connection::processIncomingMessage):
        * Platform/CoreIPC/Connection.h:
        * Shared/BlockingResponseMap.h:
        (BlockingResponseMap::waitForResponse):
        (BlockingResponseMap::didReceiveResponse):
        (BlockingResponseMap::cancel):
        * UIProcess/API/mac/WKPrintingView.h:
        * UIProcess/API/mac/WKPrintingView.mm:
        (pageDidDrawToPDF):
        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
        (prepareDataForPrintingOnSecondaryThread):
        (-[WKPrintingView knowsPageRange:]):

2013-12-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK][CMake] libtool-compatible soversion calculation
        https://bugs.webkit.org/show_bug.cgi?id=125511

        Reviewed by Gustavo Noronha Silva.

        * CMakeLists.txt: Use the POPULATE_LIBRARY_VERSION macro and the
        library-specific version information.

2013-12-23  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] [CMake] Generate pkg-config files
        https://bugs.webkit.org/show_bug.cgi?id=125685

        Reviewed by Martin Robinson.

        * PlatformGTK.cmake: generate webkit2gtk.pc.

2013-12-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Build with network process unconditionally
        https://bugs.webkit.org/show_bug.cgi?id=126128

        Reviewed by Martin Robinson.

        Build always with the network process enabled and decide whether
        to use it or not using an environment variable. This makes a lot
        easier to work on the network process and also to switch between
        using it or not.

        * GNUmakefile.am: Make sure we always include the WebKit2Prefix.h.
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (createDefaultWebContext): Use the network process when
        WEBKIT_USE_NETWORK_PROCESS environment variable is present.
        * WebKit2Prefix.h: Always enable network process for GTK port.

2013-12-23  Brian Holt  <brian.holt@samsung.com>

        [WK2] Implement platform specific Resource Response for SOUP
        https://bugs.webkit.org/show_bug.cgi?id=125422

        Reviewed by Martin Robinson.

        SOUP specific Resource Response implementation for the Network
        Process.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::continueWillSendRequest):
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):

2013-12-22  Kwang Yul Seo  <skyul@company100.net>

        [WK2][SOUP] WebContext::allowSpecificHTTPSCertificateForHost does not work correctly when m_usesNetworkProcess is false
        https://bugs.webkit.org/show_bug.cgi?id=125564

        Reviewed Carlos Garcia Campos.

        WebContext::allowSpecificHTTPSCertificateForHost should send
        AllowSpecificHTTPSCertificateForHost to the web process when
        m_usesNetworkProcess is false. Also we shouldn't guard
        WebProcess::allowSpecificHTTPSCertificateForHost with
        !ENABLE(NETWORK_PROCESS) because we need this method when
        m_usesNetworkProcess is false.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:

2013-12-22  Martin Robinson  <mrobinson@igalia.com>

        [GTK][CMake] Integrate GResource for inspector files (and others?)
        https://bugs.webkit.org/show_bug.cgi?id=125569

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: Use the newly added static WebKit2InspectorGResourceBundle.xml
        instead of generating the same file each time.
        * PlatformGTK.cmake: Add support for building the GResource bundles into WebKit2.
        * UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml: Added.

2013-12-22  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r160971 to try to make EFL build again.

        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
        (WebKit::internalError):

2013-12-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r160971 and r160969.

        * GNUmakefile.list.am:
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_select_files):
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (didReceiveWebViewMessageFromInjectedBundle):
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkitURISchemeRequestCreate):
        * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h:
        * UIProcess/API/gtk/WebKitWebResource.cpp:
        (webkit_web_resource_get_data):
        * UIProcess/soup/WebSoupRequestManagerClient.h:
        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
        (WebKit::internalError):

2013-12-21  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on EFL port after r160971 and r160969

        * CMakeLists.txt:
        * UIProcess/soup/WebSoupRequestManagerClient.cpp:
        (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):

2013-12-21  Sam Weinig  <sam@webkit.org>

        [WK2] Rename WebError to API::Error
        https://bugs.webkit.org/show_bug.cgi?id=126125

        Reviewed by Anders Carlsson.

        * Shared/API/c/WKError.cpp:
        (WKErrorGetTypeID):
        (WKErrorCopyWKErrorDomain):
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toAPI):
        * Shared/API/c/cf/WKErrorCF.cpp:
        (WKErrorCreateWithCFError):
        * Shared/APIError.cpp: Copied from Source/WebKit2/Shared/WebError.cpp.
        (API::Error::webKitErrorDomain):
        (API::Error::encode):
        (API::Error::decode):
        * Shared/APIError.h: Copied from Source/WebKit2/Shared/WebError.h.
        (API::Error::create):
        (API::Error::domain):
        (API::Error::failingURL):
        (API::Error::localizedDescription):
        (API::Error::Error):
        * Shared/Cocoa/WKNSError.h:
        (WebKit::wrapper):
        * Shared/Cocoa/WKNSError.mm:
        (-[WKNSError _web_createTarget]):
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebError.cpp: Removed.
        * Shared/WebError.h: Removed.
        * UIProcess/AutoCorrectionCallback.h:
        (WebKit::AutocorrectionDataCallback::invalidate):
        * UIProcess/GenericCallback.h:
        (WebKit::VoidCallback::invalidate):
        (WebKit::GenericCallback::invalidate):
        (WebKit::ComputedPagesCallback::invalidate):
        (WebKit::ImageCallback::invalidate):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::printFinishedCallback):
        * UIProcess/WebPageProxy.h:
        (WebKit::ValidateCommandCallback::invalidate):
        (WebKit::GestureCallback::invalidate):
        (WebKit::TouchesCallback::invalidate):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
        (WebKit::blockedError):
        (WebKit::cannotShowURLError):
        (WebKit::interruptedForPolicyChangeError):
        (WebKit::cannotShowMIMETypeError):
        (WebKit::pluginWillHandleLoadError):
        (WebKit::internalError):

2013-12-20  Sam Weinig  <sam@webkit.org>

        [WK2] Rename WebURL to API::URL
        https://bugs.webkit.org/show_bug.cgi?id=126100

        Reviewed by Anders Carlsson.

        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toURLRef):
        (WebKit::toCopiedURLAPI):
        * Shared/API/c/WKURL.cpp:
        (WKURLGetTypeID):
        (WKURLCreateWithUTF8CString):
        (WKURLCreateWithBaseURL):
        * Shared/API/c/cf/WKURLCF.mm:
        (WKURLCreateWithCFURL):
        * Shared/APIURL.h: Copied from Source/WebKit2/Shared/WebURL.h.
        (API::URL::create):
        (API::URL::string):
        (API::URL::host):
        (API::URL::protocol):
        (API::URL::path):
        (API::URL::lastPathComponent):
        (API::URL::encode):
        (API::URL::decode):
        (API::URL::URL):
        * Shared/Cocoa/WKNSURL.h:
        (WebKit::wrapper):
        * Shared/Cocoa/WKNSURL.mm:
        (-[WKNSURL _web_createTarget]):
        * Shared/Plugins/Netscape/PluginInformation.cpp:
        (WebKit::createPluginInformationDictionary):
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebArchiveResource.h:
        * Shared/WebURL.h: Removed.
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::getResourceData):
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::didChangeIconForPageURL):
        (WebKit::WebIconDatabase::notifyIconDataReadyForPageURL):
        * UIProcess/WebIconDatabaseClient.cpp:
        (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
        (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
        * UIProcess/WebIconDatabaseClient.h:
        * UIProcess/WebOpenPanelResultListenerProxy.cpp:
        (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::getResourceDataFromFrame):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

2013-12-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Test /webkit2/WebKitWebResource/mime-type fails when run after /webkit2/WebKitWebView/resources
        https://bugs.webkit.org/show_bug.cgi?id=126119

        Reviewed by Martin Robinson.

        The problem is that when the blank.ico resource is loaded from the
        disk cache, the mime type is null, because the soup cache doesn't
        cache sniffed mime types. This doesn't happen when a resource is
        loaded form the memory cache, because the ResourceResponse is
        cached, not only the headers. I think the disk cache should also
        cache the sniffed content type, but that needs to be done in
        soup. For now we can workaround the issue in the unit test by
        making sure that resources that can be cached, also include the
        Content-Type header, this way the mime type won't be sniffed and
        it will be cached as a HTTP header in the disk cache.

        * UIProcess/API/gtk/tests/TestResources.cpp:
        (serverCallback): Add Content-Type header for resources that can
        be cached.

2013-12-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r160909): [GTK] Tests /webkit2/WebKitWebView/default-menu and /webkit2/WebKitSettings/webkit-settings fail
        https://bugs.webkit.org/show_bug.cgi?id=126117

        Reviewed by Martin Robinson.

        In r160909 the fullscreen setting default value was changed, but
        the unit tests relaying on the default value were not updated
        accordingly.

        * UIProcess/API/gtk/tests/TestContextMenu.cpp:
        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
        (testWebKitSettings):

2013-12-20  Jaehun Lim  <ljaehun.lim@samsung.com>

        Unreviewed build fix after r160939

        Add ENABLE(CUSTOM_PROTOCOLS) guard.

        * UIProcess/WebContext.cpp:

2013-12-20  Simon Fraser  <simon.fraser@apple.com>

        Change "threaded scrolling" terminology to "asynchronous scrolling"
        https://bugs.webkit.org/show_bug.cgi?id=126094

        Reviewed by Tim Horton.
        
        Rename ENABLE_THREADED_SCROLLING to ENABLE_ASYNC_SCROLLING, and change
        references to "main thread scrolling" to "synchronous scrolling".

        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::~WebPage):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):

2013-12-20  Ricky Mondello  <rmondello@apple.com>

        Rename PlugInAutoStartProvider's ...EntriesAddedBeforeTime facility to ...EntriesAddedAfterTime
        https://bugs.webkit.org/show_bug.cgi?id=126078

        Reviewed by Anders Carlsson.

        r160922 accidentally named a facility for filtering out data added after a certain time,
        "...FilteringOutEntriesAddedBeforeTime", which was incorrect. This patch renames those instances
        to "...FilteringOutEntriesAddedAfterTime".

        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
        * UIProcess/API/C/WKContext.h:
        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime):
        * UIProcess/Plugins/PlugInAutoStartProvider.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime):
        * UIProcess/WebContext.h:

2013-12-20  Sam Weinig  <sam@webkit.org>

        [WK2] Add SPI for using a custom protocol handler
        https://bugs.webkit.org/show_bug.cgi?id=126089

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/mac/WKContextPrivateMac.h:
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextRegisterSchemeForCustomProtocol):
        (WKContextUnregisterSchemeForCustomProtocol):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
        (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::globalURLSchemesWithCustomProtocolHandlers):
        (WebKit::WebContext::registerGlobalURLSchemeAsHavingCustomProtocolHandlers):
        (WebKit::WebContext::unregisterGlobalURLSchemeAsHavingCustomProtocolHandlers):
        * UIProcess/WebContext.h:
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitializeWebProcess):
        (WebKit::WebContext::platformInitializeNetworkProcess):
        (WebKit::WebContext::registerNotificationObservers):
        (WebKit::WebContext::unregisterNotificationObservers):

2013-12-20  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Implement smartMagnifyWithEvent: and make it work
        https://bugs.webkit.org/show_bug.cgi?id=125752
        <rdar://problem/15664245>

        Reviewed by Anders Carlsson.

        Implement "smart magnify", which is the double-tap-to-zoom gesture on OS X.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView smartMagnifyWithEvent:]):
        Forward smartMagnifyWithEvent to ViewGestureController.

        * UIProcess/mac/ViewGestureController.cpp:
        (WebKit::ViewGestureController::handleMagnificationGesture):
        Drive-by repair a comment.

        (WebKit::ViewGestureController::handleSmartMagnificationGesture):
        Added. Immediately dispatch a message to the web process to retrieve
        the rendered rect of the element under the gesture.

        (WebKit::maximumRectangleComponentDelta):
        Return the absolute maximum delta between corresponding components of two rects.

        (WebKit::ViewGestureController::didCollectGeometryForSmartMagnificationGesture):
        Once the WebProcess has replied with the relevant geometry, use it to
        determine our target rectangle (the element's rect, with some padding)
        and target magnification (attempting to keep replaced elements
        fully in-view, and otherwise zooming in as far as possible to fit the
        element's width).

        If this gesture occurs after the page is already magnified, and targets
        a similar region to the previous smart magnification gesture, zoom out
        instead of panning across the page.

        Begin a transient zoom with the current magnification, and immediately
        commit it at our target magnification and offset, so that the drawing
        area will animate to the new parameters.

        (WebKit::ViewGestureController::endActiveGesture):
        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/ViewGestureController.messages.in:
        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
        Hit-test the document to determine the node under the smart magnification
        gesture, and return it to the UI process along with various other bits of data.

        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
        Instead of short-circuiting the animation if we didn't have to constrain
        the origin, short-circuit if we're already *at* the right origin,
        like the comment said. This prevents jarring jumps when double-tap-panning
        between elements when zoomed all the way in.

2013-12-20  Ricky Mondello  <rmondello@apple.com>

        Allow partial application of PlugInAutoStart tables based on timestamp
        https://bugs.webkit.org/show_bug.cgi?id=125871

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): New API.
        * UIProcess/API/C/WKContext.h: New API.

        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable): Call setAutoStartOriginsTableWithItemsPassingTest
            with a predicate that lets all policies pass.
        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Call
            setAutoStartOriginsTableWithItemsPassingTest with a predicate that lets policies created before a certain
            time pass.
        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest): Added. Contains most of the
            contents of setAutoStartOriginsTable, with support for applying a predicate.
        * UIProcess/Plugins/PlugInAutoStartProvider.h: Add public method,
            `setAutoStartOriginsFilteringOutEntriesAddedBeforeTime`, and private method,
            `setAutoStartOriginsTableWithItemsPassingTest`.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime): Pass through to the
            PlugInAutoStartProvider.
        * UIProcess/WebContext.h: Declare `setPlugInAutoStartOriginsFilteringOutEntriesAddedBeforeTime`.

2013-12-20  Enrique Ocaña González  <eocanha@igalia.com>

        [GTK] WebKitWebViewBase's ClickCounter should be reset
        https://bugs.webkit.org/show_bug.cgi?id=122551

        Reviewed by Martin Robinson.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseResetClickCounter):
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:

2013-12-20  Enrique Ocaña González  <eocanha@igalia.com>

        [GTK] The fullscreen API should be enabled by default
        https://bugs.webkit.org/show_bug.cgi?id=125993

        Reviewed by Gustavo Noronha Silva.

        Set the WebSettings property to TRUE

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webkit_settings_class_init):

2013-12-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Some unit tests using web extensions fail when run alone
        https://bugs.webkit.org/show_bug.cgi?id=126002

        Reviewed by Gustavo Noronha Silva.

        The problem is that the page is created before the dbus connection
        has been established, and we are connecting to web-page-created
        signal once we have a valid dbus connection. We should connect to
        the signal before connecting to dbus and queue any request to emit
        a dbus signal until the connection is set. This also fixes the
        WebExtensions tests when using the network process because a new
        web process is launched for every test case.

        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
        (DelayedSignal::DelayedSignal): Helper struct to queue signal
        emissions requested before the dbus connection has been
        established.
        (emitDocumentLoaded): Emit the dbus DocumentLoaded signal.
        (documentLoadedCallback): Queue the signal emission if we still
        don't have a connection or call emitDocumentLoaded otherwise.
        (emitURIChanged): Emit the dbus URIChanged signal.
        (uriChangedCallback): Queue the signal emission if we still don't
        have a connection or call emitURIChanged otherwise.
        (pageCreatedCallback): Pass the web extension as user data to
        document-loaded and uri-changed callbacks.
        (busAcquiredCallback): Set the connection as user data of the web
        extension and process any delayed signal emission pending.
        (webkit_web_extension_initialize): Connect to web-page-create
        signal before connecting to dbus.

2013-12-19  Benjamin Poulain  <bpoulain@apple.com>

        [WK2][iOS] Enable multiprocess by default
        https://bugs.webkit.org/show_bug.cgi?id=126030

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):

2013-12-19  Andy Estes  <aestes@apple.com>

        Remove WebFilterEvaluator wrappers from WebKitSystemInterface
        https://bugs.webkit.org/show_bug.cgi?id=126028

        Reviewed by Anders Carlsson.

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Don't INIT() removed function pointers.

2013-12-19  Benjamin Poulain  <bpoulain@apple.com>

        Remove WKContentViewPrivate.h, WKContentView.h is private now
        https://bugs.webkit.org/show_bug.cgi?id=125981

        Reviewed by Dan Bernstein.

        There is no need for a separate header, WKContentView has become an implementation
        detail of WKView.

        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentViewInternal.h:
        * UIProcess/API/ios/WKContentViewPrivate.h: Removed.
        * UIProcess/API/ios/WKView.mm:

2013-12-19  Alexey Proskuryakov  <ap@apple.com>

        REGRESSION (r160515): Frequent assertion failures on printing/print-close-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=126014

        Rolled out r160515 while Chris is investigating. Added FIXME comments in other
        places where we use this pattern.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::runJavaScriptAlert):
        (WebKit::WebChromeClient::runJavaScriptConfirm):
        (WebKit::WebChromeClient::runJavaScriptPrompt):
        (WebKit::WebChromeClient::print):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

2013-12-19  Ricky Mondello  <rmondello@apple.com>

        Add WebKit2 API for clearing the back-forward list
        https://bugs.webkit.org/show_bug.cgi?id=126005

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKBackForwardListRef.cpp:
        (WKBackForwardListClear): Call through to the back-forward list's `clear()`.
        * UIProcess/API/C/WKBackForwardListRef.h: Declare new API.

2013-12-19  Csaba Osztrogonác  <ossy@webkit.org>

        One more URTBF to make GTK build happy after r160853.

        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (didReceiveWebViewMessageFromInjectedBundle):
        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
        (webkitResponsePolicyDecisionCreate):
        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:

2013-12-19  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF for GTK after r160853.

        * GNUmakefile.list.am:

2013-12-19  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL build fix attempt after r160853

        * CMakeLists.txt: Change WebURLResponse.cpp to APIURLResponse.cpp.

2013-12-17  Sam Weinig  <sam@webkit.org>

        [WK2] Rename WebURLResponse to API::URLResponse
        https://bugs.webkit.org/show_bug.cgi?id=125910

        Reviewed by Andreas Kling.

        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toAPI):
        * Shared/API/c/WKURLResponse.cpp:
        (WKURLResponseGetTypeID):
        * Shared/API/c/mac/WKURLResponseNS.mm:
        (WKURLResponseCreateWithNSURLResponse):
        * Shared/APIURLRequest.cpp:
        * Shared/APIURLResponse.cpp: Copied from Source/WebKit2/Shared/WebURLResponse.cpp.
        (API::URLResponse::URLResponse):
        (API::URLResponse::encode):
        (API::URLResponse::decode):
        * Shared/APIURLResponse.h: Copied from Source/WebKit2/Shared/WebURLResponse.h.
        (API::URLResponse::create):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebURLResponse.cpp: Removed.
        * Shared/WebURLResponse.h: Removed.
        * UIProcess/WebDownloadClient.cpp:
        (WebKit::WebDownloadClient::didReceiveResponse):
        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForResponse):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):

2013-12-19  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [CoordinatedGraphics] Regressions in WebView's contentScaleFactor/contentPosition
        https://bugs.webkit.org/show_bug.cgi?id=125943

        Reviewed by Noam Rosenthal.

        When WebView::pageDidRequestScroll is called it is scaling position requested
        to scroll before store it as contentPosition, that is not necessary since WebView
        already stores the requested contentScaleFactor so it's able to do that internally
        when needed, what simplifies the API and improves the readability of webview's code.
        This patch reverts changes from https://bugs.webkit.org/show_bug.cgi?id=118548, which
        was causing some regressions in contentScaleFactor/contentPosition related stuff.
        Besides that WebView::pageDidRequestScroll calls viewClient callback with the wrong
        position (different from the position stored in WebView).

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::scrollBy):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::transformToScene):
        (WebKit::WebView::updateViewportSize):
        (WebKit::WebView::pageDidRequestScroll):
        * UIProcess/efl/PageViewportControllerClientEfl.cpp:
        (WebKit::PageViewportControllerClientEfl::setViewportPosition):
2013-12-18  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Move WebProcess-side geometry collection into its own class
        https://bugs.webkit.org/show_bug.cgi?id=125967

        Reviewed by Anders Carlsson.

        Move the messages dispatched by ViewGestureController that grab geometry
        from the WebProcess out of the DrawingArea and into ViewGestureGeometryCollector.
        This class will grow when smart magnification is implemented.

        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        Remove BeginTransientZoom() message.

        * DerivedSources.make:
        * UIProcess/DrawingAreaProxy.h:
        
        * UIProcess/mac/ViewGestureController.cpp:
        (WebKit::ViewGestureController::didCollectGeometryForMagnificationGesture):
        (WebKit::ViewGestureController::handleMagnificationGesture):
        * UIProcess/mac/ViewGestureController.h:
        * UIProcess/mac/ViewGestureController.messages.in:
        Make use of ViewGestureGeometryCollector and rename didBeginTransientZoom to didCollectGeometryForMagnificationGesture.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new files.
        
        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp: Added.
        (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector):
        (WebKit::ViewGestureGeometryCollector::~ViewGestureGeometryCollector):
        (WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):
        * WebProcess/WebPage/ViewGestureGeometryCollector.h: Added.
        * WebProcess/WebPage/ViewGestureGeometryCollector.messages.in: Added.
        Move the code to collect the visible content rect and return it to the ViewGestureController into its own class.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/WebPage.h:
        Move m_pageID to the top of WebPage's initialization list so that
        it can be safely used from other members' constructors.

        Add a ViewGestureGeometryCollector member and construct it.

2013-12-18  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed cmake build fix for GTK+.

        * PlatformGTK.cmake: fix paths for files that were moved.

2013-12-18  Anders Carlsson  <andersca@apple.com>

        MessageReceiverMap::addMessageReceiver should assert that destinationID is not zero
        https://bugs.webkit.org/show_bug.cgi?id=125965

        Reviewed by Tim Horton.

        * Platform/CoreIPC/MessageReceiverMap.cpp:
        (CoreIPC::MessageReceiverMap::addMessageReceiver):

2013-12-18  Anders Carlsson  <andersca@apple.com>

        Deprecate some WKMutableDictionary functions
        https://bugs.webkit.org/show_bug.cgi?id=125962

        Reviewed by Tim Horton.

        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKDictionaryIsMutable):
        (WKDictionaryAddItem):
        (WKDictionaryRemoveItem):
        * Shared/API/c/WKMutableDictionary.cpp:
        * Shared/API/c/WKMutableDictionary.h:

2013-12-18  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Allow the web process plug-in to intercept resource requests
        https://bugs.webkit.org/show_bug.cgi?id=125959

        Reviewed by Anders Carlsson.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Declared new
        delegate method.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (willSendRequestForFrame): Implemented this WKBundlePageResourceClient callback by calling
        the load delegate.
        (setUpResourceLoadClient): Added. Initializes the resource load client with the above
        function.
        (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]): Added calls to initialize
        and clear the resource load client.

2013-12-18  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=125941
        Add Obj C API for injected bundle PageGroup class.

        Reviewed by Dan Bernstein.

        Add Obj C API (WKWebProcessPlugInPageGroup) for injected bundle PageGroup class. And add APIs to
        expose the main frame and page group from WKWebProcessPlugInBrowsingContextController.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Create wrapper object for InjectedPageGroup object.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h: Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.mm: Added.
        (-[WKWebProcessPlugInPageGroup identifier]):
        (-[WKWebProcessPlugInPageGroup dealloc]):
        (-[WKWebProcessPlugInPageGroup API::]):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroupInternal.h: Added.
        (WebKit::wrapper):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h: Add API to expose the main frame and page group
            for WKWebPocessPlugInBrowserContextController.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (-[WKWebProcessPlugInBrowserContextController mainFrame]):
        (-[WKWebProcessPlugInBrowserContextController pageGroup]):

2013-12-18  Tim Horton  <timothy_horton@apple.com>

        PDFPlugin: Never make a NSEventType = 0
        https://bugs.webkit.org/show_bug.cgi?id=125955

        Reviewed by Dan Bernstein.

        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::getEventTypeFromWebEvent):
        Make getEventTypeFromWebEvent return its NSEventType as an out arg, and
        make the return value represent whether or not we set it.

        (WebKit::PDFPlugin::nsEventForWebMouseEvent):
        (WebKit::PDFPlugin::handleKeyboardEvent):
        Make use of getEventTypeFromWebEvent.

2013-12-18  Anders Carlsson  <andersca@apple.com>

        WKRemoteObjectRegistry should invoke invocations
        https://bugs.webkit.org/show_bug.cgi?id=125945

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):

2013-12-18  Gavin Barraclough  <barraclough@apple.com>

        Add layer hosting mode to ViewState
        https://bugs.webkit.org/show_bug.cgi?id=125803

        Reviewed by Anders Carlsson.

        When the view state of the page is updated the layer mode may also
        change. Currently this is passed by a separate message, remove this
        and fold it into ViewState.
        
        Previously the setLayerHostingMode message would be passed to the
        DrawingArea, which would inform the WebPage. Since the WebPage is
        passed the SetVisibilityState messgae reverse this.

        WebPageProxy had a policy of only updating the hosting mode when
        visible - the value is sticky whilst the view is not visible. Make
        this policy explicit in the PageClientImpl, rather then implicit
        from the flow control.

        * Shared/ViewState.h:
            - Added ViewState::IsLayerWindowServerHosted.
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
            - removed layerHostingMode.
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::PageClientImpl):
        (WebKit::PageClientImpl::isLayerWindowServerHosted):
        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
            - viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode.
        * UIProcess/DrawingAreaProxy.h:
            - removed layerHostingModeDidChange.
        * UIProcess/PageClient.h:
            - viewLayerHostingMode -> isLayerWindowServerHosted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            - removed m_layerHostingMode.
        (WebKit::WebPageProxy::updateViewState):
            - added IsLayerWindowServerHosted.
        (WebKit::WebPageProxy::viewStateDidChange):
            - changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too.
            - remove special handling (separate message) for LayerHostingMode.
        (WebKit::WebPageProxy::initializeCreationParameters):
            - removed m_layerHostingMode.
        * UIProcess/WebPageProxy.h:
            - removed m_layerHostingMode.
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
            - removed layerHostingModeDidChange.
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::setLayerHostingMode):
        (WebKit::DrawingArea::didUpdate):
            - setLayerHostingMode takes a LayerHostingMode.
        * WebProcess/WebPage/DrawingArea.messages.in:
            - SetLayerHostingMode is no longer a message.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - removed m_layerHostingMode.
        (WebKit::WebPage::setViewState):
            - handle ViewState::IsLayerWindowServerHosted.
        (WebKit::WebPage::setLayerHostingMode):
            - moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::layerHostingMode):
            - layerHostingMode queries m_viewState, removed m_layerHostingMode.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
            - removed setLayerHostingMode.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
            - setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea.
        * WebProcess/WebPage/mac/WebPageMac.mm:
            - removed setLayerHostingMode.

2013-12-18  Gavin Barraclough  <barraclough@apple.com>

        Fix page visibility api test, initialization in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=125933

        Reviewed by Anders Carlsson.

        The API test for page visibility is broken, fix this. This revealed a recent regression in WebKit2
        (introduced in https://bugs.webkit.org/show_bug.cgi?id=123379), caused by a typo removing a '!'.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setVisibilityState):
            - Fix regression, accidentally removed a '!'.

2013-12-18  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * Shared/API/Cocoa/RemoteObjectRegistry.mm:
        (WebKit::RemoteObjectRegistry::invokeMethod):

2013-12-18  Anders Carlsson  <andersca@apple.com>

        Make WKObjectRegistry objects be per page
        https://bugs.webkit.org/show_bug.cgi?id=125937

        Reviewed by Andreas Kling.

        Remove WKObjectRegistry from WKConnection. Also, add a C++ object that is in charge 
        of actually sending and receiving messages.

        * DerivedSources.make:
        * Shared/API/Cocoa/RemoteObjectRegistry.h: Added.
        * Shared/API/Cocoa/RemoteObjectRegistry.messages.in: Added.
        * Shared/API/Cocoa/RemoteObjectRegistry.mm: Added.
        (WebKit::RemoteObjectRegistry::RemoteObjectRegistry):
        (WebKit::RemoteObjectRegistry::~RemoteObjectRegistry):
        (WebKit::RemoteObjectRegistry::sendInvocation):
        (WebKit::RemoteObjectRegistry::invokeMethod):
        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
        (-[WKRemoteObjectRegistry _invalidate]):
        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
        (-[WKRemoteObjectRegistry WebKit::]):
        (-[WKRemoteObjectRegistry _invokeMethod:]):
        * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController dealloc]):
        (-[WKBrowsingContextController remoteObjectRegistry]):
        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
        * UIProcess/API/Cocoa/WKConnection.h:
        * UIProcess/API/Cocoa/WKConnection.mm:
        (didReceiveMessage):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

2013-12-18  Conrad Shultz  <conrad_shultz@apple.com>

        API to set a favicon
        https://bugs.webkit.org/show_bug.cgi?id=125892

        Reviewed by Brian Weinstein.

        * UIProcess/API/C/WKIconDatabase.cpp:
        (WKIconDatabaseSetIconDataForIconURL):
        Call WebIconDatabase::setIconDataForIconURL().

        * UIProcess/API/C/WKIconDatabase.h:
        Declare WKIconDatabaseSetIconDataForIconURL().

2013-12-18  Anders Carlsson  <andersca@apple.com>

        Fix Dictionary encoding
        https://bugs.webkit.org/show_bug.cgi?id=125930

        Reviewed by Andreas Kling.

        Encode the HashMap size as a 64-bit unsigned integer.

        * Shared/UserData.cpp:
        (WebKit::UserData::encode):

2013-12-18  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.list.am:

2013-12-17  Jae Hyun Park  <jae.park@company100.net>

        [GTK] Build fix after r160737

        Unreviewed.

        Rename WebURLRequest to API::URLRequest

        * GNUmakefile.list.am:
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (didReceiveWebViewMessageFromInjectedBundle):
        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
        (webkitNavigationPolicyDecisionCreate):
        * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h:
        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
        (webkitResponsePolicyDecisionCreate):
        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_load_request):
        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (willSendRequestForFrame):

2013-12-17  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on EFL port after r160737

        Rename WebURLRequest to API::URLRequest

        * CMakeLists.txt:
        * UIProcess/API/efl/ewk_url_request_private.h:

2013-12-17  Simon Fraser  <simon.fraser@apple.com>

        Rename "canRubberBands" to "canRubberBand"
        https://bugs.webkit.org/show_bug.cgi?id=125897

        Reviewed by Anders Carlsson.

        Rename "canRubberBands" to "canRubberBand" in various places.

        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/EventDispatcher.messages.in:

2013-12-17  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Fix the shadow layer restore-from-overpinched animation
        https://bugs.webkit.org/show_bug.cgi?id=125884

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        Set to-values on the right animations.

        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
        We don't need to explicitly set the shadow path, because PlatformCALayer::setBounds does it for us now.

2013-12-17  Sam Weinig  <sam@webkit.org>

        [WK2] Rename WebURLRequest to API::URLRequest
        https://bugs.webkit.org/show_bug.cgi?id=125886

        Reviewed by Anders Carlsson.

        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toAPI):
        * Shared/API/c/WKURLRequest.cpp:
        (WKURLRequestGetTypeID):
        (WKURLRequestCreateWithWKURL):
        (WKURLRequestSetDefaultTimeoutInterval):
        * Shared/API/c/mac/WKURLRequestNS.mm:
        (WKURLRequestCreateWithNSURLRequest):
        * Shared/APIString.h:
        * Shared/APIURLRequest.cpp: Copied from Source/WebKit2/Shared/WebURLRequest.cpp.
        (API::URLRequest::URLRequest):
        (API::URLRequest::defaultTimeoutInterval):
        (API::URLRequest::setDefaultTimeoutInterval):
        (API::URLRequest::encode):
        (API::URLRequest::decode):
        * Shared/APIURLRequest.h: Copied from Source/WebKit2/Shared/WebURLRequest.h.
        (API::URLRequest::create):
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebURLRequest.cpp: Removed.
        * Shared/WebURLRequest.h: Removed.
        * UIProcess/API/C/WKContext.cpp:
        * UIProcess/API/C/WKDownload.cpp:
        (WKDownloadCopyRequest):
        * UIProcess/API/C/WKNavigationDataRef.cpp:
        (WKNavigationDataCopyOriginalRequest):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadRequest:userData:]):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        * UIProcess/WebInspectorProxy.cpp:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadURLRequest):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
        (WebKit::WebPolicyClient::decidePolicyForResponse):
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::createNewPage):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):

2013-12-17  Brady Eidson  <beidson@apple.com>

        DatabaseProcess: Pipe through object store IDs and transaction mode for "openTransaction"
        https://bugs.webkit.org/show_bug.cgi?id=125872

        Reviewed by Alexey Proskuryakov.

        Pipe through the objectStoreIDs and mode:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openTransaction):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Rework postTransactionOperation to take a pre-made AsyncTask to allow for different
        transaction operation function signatures:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openTransaction): Pipe through the objectStoreIDs and mode:
        (WebKit::UniqueIDBDatabase::beginTransaction):
        (WebKit::UniqueIDBDatabase::commitTransaction):
        (WebKit::UniqueIDBDatabase::resetTransaction):
        (WebKit::UniqueIDBDatabase::rollbackTransaction):
        (WebKit::UniqueIDBDatabase::postTransactionOperation):
        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Pipe through the objectStoreIDs and mode:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        * Platform/Logging.h: Add an IDB logging channel.

        * Shared/AsyncTask.h:
        (WebKit::createAsyncTask): Add a 3-argument variant.

        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::::copy): Add a Vector<int64_t> copier.
        * Shared/WebCrossThreadCopier.h:

        Add logging throughout currently implemented methods:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::openTransaction): Pipe through the objectStoreIDs and mode.
        (WebKit::WebIDBServerConnection::didOpenTransaction):
        (WebKit::WebIDBServerConnection::beginTransaction):
        (WebKit::WebIDBServerConnection::didBeginTransaction):
        (WebKit::WebIDBServerConnection::commitTransaction):
        (WebKit::WebIDBServerConnection::didCommitTransaction):
        (WebKit::WebIDBServerConnection::resetTransaction):
        (WebKit::WebIDBServerConnection::didResetTransaction):
        (WebKit::WebIDBServerConnection::rollbackTransaction):
        (WebKit::WebIDBServerConnection::didRollbackTransaction):

2013-12-17  Gavin Barraclough  <barraclough@apple.com>

        Remove PageVisibilityStateUnloaded
        https://bugs.webkit.org/show_bug.cgi?id=125869

        Reviewed by Anders Carlsson.

        This is not currently supported by WebKit, remove this enum value.
        We can always add this back later if/when we add support for this state.

        * Shared/API/c/WKPageVisibilityTypes.h:
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toPageVisibilityState):
            - removed PageVisibilityStateUnloaded/kWKPageVisibilityStateUnloaded

2013-12-12  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Build the plugin process against GTK+ 2
        https://bugs.webkit.org/show_bug.cgi?id=116374

        Reviewed by Gustavo Noronha Silva.

        * CMakeLists.txt: Use the new GENERATE_WEBKIT2_MESSAGE_SOURCES macro so we
        can share messaging file generation with the plugin process.
        * PlatformGTK.cmake: Add more files to the plugin process source list. Properly
        generate message sources, add the appropriate include paths, defines, and libraries
        for the plugin process.

2013-12-17  Anders Carlsson  <andersca@apple.com>

        Back out r159982
        https://bugs.webkit.org/show_bug.cgi?id=125870
        <rdar://problem/15598485>

        Reviewed by Dan Bernstein.

        Looks like r159982 caused intermittent crashes. Back it out for now.

        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebPageGroup.cpp:
        * UIProcess/WebPageGroup.h:
        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::disconnect):
        * UIProcess/WebProcessProxy.h:

2013-12-17  Dan Bernstein  <mitz@apple.com>

        Fixed an assertion failure seen running some mixed-content tests.
        https://bugs.webkit.org/show_bug.cgi?id=125862

        Reviewed by Alexey Proskuryakov.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::didDisplayOrRunInsecureContent): Removed an assertion about the URL
        of the main frame when dealing with a notification that could have come from any frame.

2013-12-17  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add properties related to the user agent string
        https://bugs.webkit.org/show_bug.cgi?id=125856

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new properties.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController applicationNameForUserAgent]): Added accessor.
        (-[WKBrowsingContextController setApplicationNameForUserAgent:]): Ditto.
        (-[WKBrowsingContextController customUserAgent]): Ditto.
        (-[WKBrowsingContextController setCustomUserAgent:]): Ditto.

2013-12-16  Gavin Barraclough  <barraclough@apple.com>

        Add layer hosting mode to ViewState
        https://bugs.webkit.org/show_bug.cgi?id=125803

        Unreviewed - reverting last commit - might have broken tests. :-(

        * Shared/ViewState.h:
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::PageClientImpl):
        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
        (WebKit::PageClientImpl::viewLayerHostingMode):
        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
        * UIProcess/PageClient.h:
        (WebKit::PageClient::viewLayerHostingMode):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::updateViewState):
        (WebKit::WebPageProxy::viewStateDidChange):
        (WebKit::WebPageProxy::initializeCreationParameters):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::layerHostingMode):
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::resumePainting):
        (WebKit::DrawingArea::setLayerHostingMode):
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::~WebPage):
        (WebKit::WebPage::scalePage):
        (WebKit::WebPage::setDeviceScaleFactor):
        (WebKit::WebPage::setActive):
        (WebKit::WebPage::setViewState):
        (WebKit::WebPage::setWindowIsVisible):
        (WebKit::WebPage::windowAndViewFramesChanged):
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::layerHostingMode):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::setLayerHostingMode):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::sendComplexTextInputToPlugin):
        (WebKit::WebPage::setLayerHostingMode):

2013-12-13  Gavin Barraclough  <barraclough@apple.com>

        Add layer hosting mode to ViewState
        https://bugs.webkit.org/show_bug.cgi?id=125803

        Reviewed by Anders Carlsson.

        When the view state of the page is updated the layer mode may also
        change. Currently this is passed by a separate message, remove this
        and fold it into ViewState.
        
        Previously the setLayerHostingMode message would be passed to the
        DrawingArea, which would inform the WebPage. Since the WebPage is
        passed the SetVisibilityState messgae reverse this.

        WebPageProxy had a policy of only updating the hosting mode when
        visible - the value is sticky whilst the view is not visible. Make
        this policy explicit in the PageClientImpl, rather then implicit
        from the flow control.

        * Shared/ViewState.h:
            - Added ViewState::IsLayerWindowServerHosted.
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
            - removed layerHostingMode.
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::PageClientImpl):
        (WebKit::PageClientImpl::isLayerWindowServerHosted):
        (WebKit::PageClientImpl::viewWillMoveToAnotherWindow):
            - viewLayerHostingMode -> isLayerWindowServerHosted, added m_layerHostingMode.
        * UIProcess/DrawingAreaProxy.h:
            - removed layerHostingModeDidChange.
        * UIProcess/PageClient.h:
            - viewLayerHostingMode -> isLayerWindowServerHosted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            - removed m_layerHostingMode.
        (WebKit::WebPageProxy::updateViewState):
            - added IsLayerWindowServerHosted.
        (WebKit::WebPageProxy::viewStateDidChange):
            - changes to ViewState::IsInWindow implies ViewState::IsLayerWindowServerHosted may change too.
            - remove special handling (separate message) for LayerHostingMode.
        (WebKit::WebPageProxy::initializeCreationParameters):
            - removed m_layerHostingMode.
        * UIProcess/WebPageProxy.h:
            - removed m_layerHostingMode.
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
            - removed layerHostingModeDidChange.
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::setLayerHostingMode):
        (WebKit::DrawingArea::didUpdate):
            - setLayerHostingMode takes a LayerHostingMode.
        * WebProcess/WebPage/DrawingArea.messages.in:
            - SetLayerHostingMode is no longer a message.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - removed m_layerHostingMode.
        (WebKit::WebPage::setViewState):
            - handle ViewState::IsLayerWindowServerHosted.
        (WebKit::WebPage::setLayerHostingMode):
            - moved from ~Mac.mm (matching other ViewState setters), calls to DrawingArea.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::layerHostingMode):
            - layerHostingMode queries m_viewState, removed m_layerHostingMode.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
            - removed setLayerHostingMode.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
            - setLayerHostingMode takes a LayerHostingMode, WebPage now calls to DrawingArea.
        * WebProcess/WebPage/mac/WebPageMac.mm:
            - removed setLayerHostingMode.

2013-12-16  Sam Weinig  <sam@webkit.org>

        [Cocoa] Remove unused contentAnchor SPI from WKView
        https://bugs.webkit.org/show_bug.cgi?id=125826

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView setFrameSize:]):
        (-[WKView _setDrawingAreaSize:]):
        (-[WKView _setAcceleratedCompositingModeRootLayer:]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):

2013-12-16  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
        https://bugs.webkit.org/show_bug.cgi?id=125750

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        Remove some accidentally included commented out code.

2013-12-16  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Pinching beyond the extremes doesn't animate back to the min/max
        https://bugs.webkit.org/show_bug.cgi?id=125750

        Reviewed by Simon Fraser.

        When you let go of a pinch where you exceeded the maximum or minimum scale,
        the view should animate back to the limit instead of snapping back.

        * UIProcess/mac/ViewGestureController.cpp:
        (WebKit::ViewGestureController::endMagnificationGesture):
        Unscrolling the scaled origin here is wrong; we should send the same
        value for 'origin' for commitTransientZoom that we do for adjustTransientZoom.
        The drawing area can deal with transforming that however it needs to call scalePage().

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
        Drive-by use WebPage::mainFrameView().

        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
        Update the shadow layer's bounds, position, and shadow path while zooming,
        instead of hiding it.

        (WebKit::transientZoomSnapAnimationForKeyPath):
        Create a CABasicAnimation that stays applied to its target when it finishes,
        lasts for a quarter second, and uses the ease-in-ease-out timing function.

        (WebKit::constrainZoomOriginForFrameView):
        When we land a transient zoom, there may be overhang areas (linen, in the case of Mac)
        visible. During the commit animation, we should move the RenderView layer appropriately
        so that the page covers the entire view and there are no overhang areas visible.
        Adapt some code from ScrollableArea to constrain the zoom origin to do so.

        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        Animate the RenderView layer's transform, and the shadow layer's bounds, position, and path.
        When they complete, apply the zoom via scalePage() and flush the layer tree (otherwise there
        can be a flash between removing the animations and the next flush with the new scale).

        (WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
        Move the code to land the transient zoom (via scalePage) and to put the shadow back
        in the state WebCore left it out into its own function, so it can be called both from the
        animation completion callback and from the short-circuit in the case where we don't need to animate.

2013-12-16  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed. Fix GTK+ build after r160653.

        Renamed WebData to API::Data

        * GNUmakefile.list.am: Added APIData.cpp and APIData.h
        * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
        (webkitURISchemeRequestReadCallback):
        * UIProcess/API/gtk/WebKitWebResource.cpp:
        * UIProcess/API/gtk/WebKitWebView.cpp:

2013-12-16  Benjamin Poulain  <bpoulain@apple.com>

        [WK2][iOS] WKView sends unscaled scroll position to WKContentView
        https://bugs.webkit.org/show_bug.cgi?id=125819

        Reviewed by Anders Carlsson.

        WKView was sending untransformed scroll coordinates to WKContentView. The scroll position
        seen by WebKit was wrong when the content is scaled.

        * UIProcess/API/ios/WKView.mm:
        (-[WKView _didScroll]):
        (-[WKView scrollViewDidEndDragging:willDecelerate:]):
        (-[WKView scrollViewDidEndDecelerating:]):
        (-[WKView scrollViewDidScrollToTop:]):

2013-12-16  Brady Eidson  <beidson@apple.com>

        DatabaseProcess: Plumb through messaging for the 4 basic transaction operations
        https://bugs.webkit.org/show_bug.cgi?id=125816

        Reviewed by Alexey Proskuryakov.

        The messaging begins and ends in the WebProcess:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::beginTransaction):
        (WebKit::WebIDBServerConnection::didBeginTransaction):
        (WebKit::WebIDBServerConnection::commitTransaction):
        (WebKit::WebIDBServerConnection::didCommitTransaction):
        (WebKit::WebIDBServerConnection::resetTransaction):
        (WebKit::WebIDBServerConnection::didResetTransaction):
        (WebKit::WebIDBServerConnection::rollbackTransaction):
        (WebKit::WebIDBServerConnection::didRollbackTransaction):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        It travels from the WebProcess to the DatabaseProcess connection:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::beginTransaction):
        (WebKit::DatabaseProcessIDBConnection::commitTransaction):
        (WebKit::DatabaseProcessIDBConnection::resetTransaction):
        (WebKit::DatabaseProcessIDBConnection::rollbackTransaction):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        It travels from the connection to the appropriate UniqueIDBDatabase:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openTransaction):
        (WebKit::UniqueIDBDatabase::beginTransaction):
        (WebKit::UniqueIDBDatabase::commitTransaction):
        (WebKit::UniqueIDBDatabase::resetTransaction):
        (WebKit::UniqueIDBDatabase::rollbackTransaction):
        (WebKit::UniqueIDBDatabase::postTransactionOperation):
        (WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        The UniqueIDBDatabase object performs the operation with the backing store:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        And the SQLite backing store calls the appropriate method on the SQLite transaction:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::begin): Stubbed for now.
        (WebKit::SQLiteIDBTransaction::commit): Ditto.
        (WebKit::SQLiteIDBTransaction::reset): Ditto.
        (WebKit::SQLiteIDBTransaction::rollback): Ditto.
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

2013-12-16  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on EFL port after r160653

        Rename WebData to API::Data

        * CMakeLists.txt: Added APIData.cpp to include list.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::sessionStateData):
        (WebKit::WebPageProxy::restoreFromSessionStateData):
        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
        (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest):
        * UIProcess/soup/WebSoupRequestManagerProxy.h:

2013-12-16  Tim Horton  <timothy_horton@apple.com>

        WKView.magnification should include magnification due to the active gesture
        https://bugs.webkit.org/show_bug.cgi?id=125813

        Reviewed by Simon Fraser.

        Make WKView.magnification respect active pinch-zoom gestures.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView magnification]):
        If we have a ViewGestureController, defer to it for the current magnification.

        * UIProcess/mac/ViewGestureController.cpp:
        (WebKit::ViewGestureController::magnification):
        Return either the current pinch-zoom magnification, if we're in the middle of a gesture,
        or the pageScaleFactor, if we're not.

        * UIProcess/mac/ViewGestureController.h:

2013-12-16  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Remove the constraint that highlight rects must be smaller than the scrollview bounds
        https://bugs.webkit.org/show_bug.cgi?id=125812

        Reviewed by Dan Bernstein.

        Currently, _scrollView is never set on WKInteractionView and all highlight rects are discarded.

        Eventually, the constraint rect should be computed from the useful area of ScrollView and the scale
        of the document. In the meantime, the constraint code is just causing troubles.

        The issue is tracked by <rdar://problem/15673655>.

        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):

2013-12-16  Simon Fraser  <simon.fraser@apple.com>

        Apply overhang shadow and linen to UI-side layers
        https://bugs.webkit.org/show_bug.cgi?id=125807

        Reviewed by Tim Horton.

        With UI-side compositing, we need to apply the overhang shadow and linen
        background to layers in the UI process. Achieve this by setting a "custom
        appearance" flag on layers that need a shadow or linen background, and
        migrating this flag to the UI process. Static functions on ScrollbarThemeMac
        are exposed to do the actual setting.

        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::updateCustomAppearance): Use ScrollbarThemeMac to update the
        appearance.
        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpChangedLayers):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setBounds): If the bounds change, also set the
        CustomAppearanceChanged bit so that the UI side updates the shadow bounds
        (done here because the UI side is not stateful).
        (PlatformCALayerRemote::requiresCustomAppearanceUpdateOnBoundsChange):
        (PlatformCALayerRemote::customAppearance):
        (PlatformCALayerRemote::updateCustomAppearance):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

2013-12-16  Brady Eidson  <beidson@apple.com>

        DatabaseProcess: Implement openTransaction()
        https://bugs.webkit.org/show_bug.cgi?id=125794

        Reviewed by Darin Adler.

        This patch hooks up all of the necessary infrastructure to open a uniquely
        identified transaction in the DatabaseProcess backing store.

        The transaction itself is not yet functional.

        Add openTransaction messaging to the WebProcess side:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::isClosed):
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::openTransaction):
        (WebKit::WebIDBServerConnection::didOpenTransaction):
        (WebKit::WebIDBServerConnection::deleteObjectStore):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        Add openTransaction messaging to the DatabaseProcess side:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::openTransaction):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Add a hashable identifier that represents a connection/transactionID pair:
        * DatabaseProcess/IndexedDB/IDBTransactionIdentifier.h: Added.
        (WebKit::IDBTransactionIdentifier::IDBTransactionIdentifier):
        (WebKit::IDBTransactionIdentifier::isolatedCopy):
        (WebKit::IDBTransactionIdentifier::isEmpty):
        (WebKit::IDBTransactionIdentifier::hash):
        (WebKit::IDBTransactionIdentifier::operator==):
        (WebKit::IDBTransactionIdentifier::isHashTableDeletedValue):
        (WebKit::IDBTransactionIdentifierHash::hash):
        (WebKit::IDBTransactionIdentifierHash::equal):
        (WebKit::IDBTransactionIdentifierHashTraits::isEmptyValue):

        Allow that identifier to be cross-thread copied:
        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::::copy):
        * Shared/WebCrossThreadCopier.h:

        Ask the backing store to open this uniquely identified transaction:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::openTransaction):
        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::didOpenBackingStoreTransaction):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Add the backing store implementation for opening a transaction:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        Object to represent the backing store transaction itself, to be used in future patches:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp:
        (WebKit::SQLiteIDBTransaction::SQLiteIDBTransaction):
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:
        (WebKit::SQLiteIDBTransaction::create):
        (WebKit::SQLiteIDBTransaction::identifier):

        * WebKit2.xcodeproj/project.pbxproj:

2013-12-16  Anders Carlsson  <andersca@apple.com>

        Fix crash when trying to load a null HTML string
        https://bugs.webkit.org/show_bug.cgi?id=125801

        Reviewed by Dan Bernstein.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::loadString):
        Check that the string is not null before calling is8Bit(). Also, Use the latin1 encoding for
        8-bit strings, since Latin 1 strings are not necessarily valid UTF-8 strings.

2013-12-16  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose whether the page contains only secure content
        https://bugs.webkit.org/show_bug.cgi?id=125758

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController hasOnlySecureContent]): Added a getter that calls
        PageLoadState::hasOnlySecureContent.
        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Declared new property.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::commitChanges): Notify observers of hasOnlySecureContent() changes.
        (WebKit::PageLoadState::reset): Reset hasInsecureContent in the uncommitted state.
        (WebKit::PageLoadState::hasOnlySecureContent): Added. Returns true if there is no insecure
        content and the URL is an HTTPS URL.
        (WebKit::PageLoadState::didCommitLoad): Set hasInsecureContent to false in the uncommitted
        state.
        (WebKit::PageLoadState::didDisplayOrRunInsecureContent): Set hasInsecureContent to true in
        the uncommitted state.
        * UIProcess/PageLoadState.h:
        (WebKit::PageLoadState::Data::Data): Added hasInsecureContent member.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame): Call
        PageLoadState::didDisplayOrRunInsecureContent and commit the change before calling out to
        the client.
        (WebKit::WebPageProxy::didRunInsecureContentForFrame): Ditto.

2013-12-16  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] The NetworkProcess tries to load SecItemShim.dylib on iOS
        https://bugs.webkit.org/show_bug.cgi?id=125800

        Reviewed by Dan Bernstein.

        Give the NetworkService its own Info.plist configured without the Shim.

        * Configurations/NetworkService.xcconfig:
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: Copied from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: Renamed from Source/WebKit2/NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info.plist.
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-16  Brady Eidson  <beidson@apple.com>

        DatabaseProcess: Fix a few bugs with opening an IDB connection
        https://bugs.webkit.org/show_bug.cgi?id=125798

        Reviewed by Alexey Proskuryakov.

        Database metadata always needs a non-zero database identifier, unique at runtime.

        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::generateDatabaseId):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):

2013-12-16  Anders Carlsson  <andersca@apple.com>

        UserData should encode and decode API::Data objects
        https://bugs.webkit.org/show_bug.cgi?id=125799

        Reviewed by Beth Dakin.

        * Shared/APIData.cpp: Added.
        (API::Data::encode):
        (API::Data::decode):
        * Shared/APIData.h:
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-16  Anders Carlsson  <andersca@apple.com>

        Rename WebData to API::Data
        https://bugs.webkit.org/show_bug.cgi?id=125797

        Reviewed by Beth Dakin.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
        * Shared/API/c/WKData.cpp:
        (WKDataGetTypeID):
        (WKDataCreate):
        * Shared/API/c/WKSharedAPICast.h:
        * Shared/API/c/mac/WKWebArchive.cpp:
        (WKWebArchiveCopyData):
        * Shared/API/c/mac/WKWebArchiveResource.cpp:
        (WKWebArchiveResourceCopyData):
        * Shared/APIData.h: Renamed from Source/WebKit2/Shared/WebData.h.
        (API::Data::createWithoutCopying):
        (API::Data::create):
        (API::Data::~Data):
        (API::Data::bytes):
        (API::Data::size):
        (API::Data::dataReference):
        (API::Data::Data):
        (API::Data::fastFreeBytes):
        * Shared/Cocoa/WKNSData.h:
        (WebKit::wrapper):
        * Shared/Cocoa/WKNSData.mm:
        (-[WKNSData dealloc]):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebArchive.cpp:
        (WebKit::WebArchive::create):
        (WebKit::WebArchive::WebArchive):
        (WebKit::WebArchive::data):
        * Shared/WebArchive.h:
        * Shared/WebArchiveResource.cpp:
        (WebKit::WebArchiveResource::create):
        (WebKit::WebArchiveResource::WebArchiveResource):
        (WebKit::WebArchiveResource::data):
        * Shared/WebArchiveResource.h:
        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
        * UIProcess/API/mac/WKPrintingView.mm:
        (pageDidDrawToPDF):
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::createData):
        (WebKit::DownloadProxy::didFail):
        (WebKit::DownloadProxy::didCancel):
        * UIProcess/Downloads/DownloadProxy.h:
        (WebKit::DownloadProxy::resumeData):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadData):
        (WebKit::WebPageProxy::loadWebArchiveData):
        (WebKit::WebPageProxy::dataCallback):
        (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
        (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
        * UIProcess/WebUIClient.h:
        * UIProcess/cf/WebPageProxyCF.cpp:
        (WebKit::WebPageProxy::sessionStateData):
        (WebKit::WebPageProxy::restoreFromSessionStateData):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleCreateWKDataFromUInt8Array):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::createWebDataFromUint8Array):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::loadDataImpl):

2013-12-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Fix build warning in files including DrawingAreaProxy.h
        https://bugs.webkit.org/show_bug.cgi?id=125778

        Reviewed by Anders Carlsson.

        Remove unused parameters from method declaration.

        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::adjustTransientZoom):
        (WebKit::DrawingAreaProxy::commitTransientZoom):

2013-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r160549.

        * GNUmakefile.am: Fix the include paths to make sure we include
        the WebKit2 config.h file when building libWebKit2Platform.

2013-12-16  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] can't build from trunk: WebKitCookieManager: 'WebString' was not declared in this scope
        https://bugs.webkit.org/show_bug.cgi?id=125759

        Reviewed by Carlos Garcia Campos.

        Renamed WebString to API::String after r160608.

        * UIProcess/API/gtk/WebKitCookieManager.cpp:
        (webkitCookieManagerGetDomainsWithCookiesCallback):
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_get_mime_types):
        (webkit_file_chooser_request_get_mime_types_filter):
        (webkit_file_chooser_request_get_selected_files):
        * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
        (webkit_form_submission_request_get_text_fields):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_set_web_extensions_directory):
        (webkit_web_context_prefetch_dns):
        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
        (toAPIArray):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
        (webkitWebExtensionDidReceiveMessage):

2013-12-15  Tim Horton  <timothy_horton@apple.com>

        WebKit2 View Gestures: Can't pinch in past the maximum scale
        https://bugs.webkit.org/show_bug.cgi?id=125749

        Reviewed by Anders Carlsson.

        Pinching in past the maximum scale should result in the zoom resisting, but continuing.

        * UIProcess/mac/ViewGestureController.cpp:
        (WebKit::resistanceForDelta):
        Clean up the logic and apply resistance to pinching in past the maximum.

        (WebKit::ViewGestureController::handleMagnificationGesture):
        (WebKit::ViewGestureController::endMagnificationGesture):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

2013-12-15  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose the certificate chain for the main frame
        https://bugs.webkit.org/show_bug.cgi?id=125760

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared certificateChain property.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController certificateChain]): Added this getter, which calls through
        to WebFrameProxy::certificateInfo.

2013-12-15  Andy Estes  <aestes@apple.com>

        [iOS] Upstream changes to FeatureDefines.xcconfig
        https://bugs.webkit.org/show_bug.cgi?id=125742

        Reviewed by Dan Bernstein.

        * Configurations/FeatureDefines.xcconfig:

2013-12-15  Dan Bernstein  <mitz@apple.com>

        Build fix for 32-bit clients.

        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h:

2013-12-15  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL build fix after r160608.

        * UIProcess/WebGrammarDetail.cpp:
        (WebKit::WebGrammarDetail::WebGrammarDetail):
        (WebKit::WebGrammarDetail::guesses):
        * UIProcess/WebTextCheckerClient.cpp:
        (WebKit::WebTextCheckerClient::guessesForWord):

2013-12-14  Yongjun Zhang  <yongjun_zhang@apple.com>

        Add page load delegate for WebProcessPlugInBrowsingContextController.
        https://bugs.webkit.org/show_bug.cgi?id=125697

        Add page load delegate for WebProcessPlugInBrowsingContextController so that a
        WebProcess injected bundle can listen to page load events.

        Reviewed by Sam Weinig.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (didStartProvisionalLoadForFrame):
        (didFinishLoadForFrame):
        (globalObjectIsAvailableForFrame):
        (setUpPageLoaderClient):
        (-[WKWebProcessPlugInBrowserContextController loadDelegate]):
        (-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):

2013-12-14  Dan Bernstein  <mitz@apple.com>

        [iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
        https://bugs.webkit.org/show_bug.cgi?id=125744

        Reviewed by Sam Weinig.

        * NetworkProcess/ios/NetworkProcessIOS.mm:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Implemented by calling
        +[NSURLRequest setAllowsSpecificHTTPSCertificate:forHost:].

2013-12-13  Sam Weinig  <sam@webkit.org>

        [WK2] Rename WebString to API::String
        https://bugs.webkit.org/show_bug.cgi?id=125726

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        * Shared/API/c/WKPluginInformation.cpp:
        * Shared/API/c/WKSharedAPICast.h:
        * Shared/API/c/WKString.cpp:
        * Shared/API/c/cf/WKStringCF.mm:
        * Shared/APIArray.cpp:
        * Shared/APIArray.h:
        * Shared/APIString.h: Copied from Source/WebKit2/Shared/WebString.h.
        * Shared/Cocoa/WKNSString.h:
        * Shared/Cocoa/WKNSString.mm:
        * Shared/ImmutableDictionary.cpp:
        * Shared/Plugins/Netscape/PluginInformation.cpp:
        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
        * Shared/UserData.cpp:
        * Shared/UserMessageCoders.h:
        * Shared/WebArchiveResource.h:
        * Shared/WebOpenPanelParameters.cpp:
        * Shared/WebRenderLayer.cpp:
        * Shared/WebRenderObject.cpp:
        * Shared/WebString.h: Removed.
        * UIProcess/API/C/WKCredential.cpp:
        * UIProcess/API/C/WKDatabaseManager.cpp:
        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
        * UIProcess/APINavigationData.h:
        * UIProcess/Authentication/WebCredential.h:
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebDatabaseManagerProxy.cpp:
        * UIProcess/WebFormClient.cpp:
        * UIProcess/WebLoaderClient.cpp:
        * UIProcess/WebPageGroup.cpp:
        * UIProcess/WebUIClient.cpp:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:

2013-12-14  Andy Estes  <aestes@apple.com>

        Unify FeatureDefines.xcconfig
        https://bugs.webkit.org/show_bug.cgi?id=125741

        Rubber-stamped by Dan Bernstein.

        * Configurations/FeatureDefines.xcconfig: Remove a space in
        FEATURE_DEFINES and fix a typo in ENABLE_CSS3_TEXT_DECORATION.

2013-12-14  Dan Bernstein  <mitz@apple.com>

        iOS build fix.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared
        observedRenderingProgressEvents as nonatomic.

2013-12-14  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost
        https://bugs.webkit.org/show_bug.cgi?id=125738

        Reviewed by Mark Rowe.

        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Added. Calls through to
        WebContext::allowSpecificHTTPSCertificateForHost.
        * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Declared new method.

2013-12-14  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose some layout milestones
        https://bugs.webkit.org/show_bug.cgi?id=125721

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
        (WKRenderingProgressEvents): Declared new enum.
        (@interface WKBrowsingContextController): Declared new observedRenderingProgressEvents
        property.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (layoutMilestones): Added helper to translate rendering progress events into layout
        milestones.
        (-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Added this setter.
        Sets the ivar and calls WebPageProxy::listenForLayoutMilestones.
        (renderingProgressEvents): Added helper to translate layout milestones into rendering
        progress events.
        (didLayout): Implemented this WKPageLoaderClient callback by calling the load delegate.
        (setUpPageLoaderClient): Set the above callback in the client structure.
        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Declared new delegate method.

2013-12-14  Dan Bernstein  <mitz@apple.com>

        Clarify Owners’ role
        https://bugs.webkit.org/show_bug.cgi?id=125739

        Reviewed by Anders Carlsson.

        * Owners: Clarify that a patch authored by an Owner does not have to be reviewed by one, as
        decided during the 2013 WebKit Contributors Meeting.

2013-12-13  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Fix the build and enable the NetworkProcess by default on iOS
        https://bugs.webkit.org/show_bug.cgi?id=125723

        Reviewed by Sam Weinig.

        * Configurations/WebKit2.xcconfig:
        Fix the list of excluded file to get the processes building.

        * NetworkProcess/ios/NetworkProcessIOS.mm:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHosAt):
        Update PlatformCertificateInfo->CertificateInfo match the new name after r159647.

        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        Enable the NetworkProcess by default.

        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        Use the right macro.

        * WebKit2Prefix.h:
        Eanble the flags NETWORK_PROCESS and CUSTOM_PROTOCOLS.

2013-12-13  Dan Bernstein  <mitz@apple.com>

        Demoted ActivityAssertion.h to a project header.

        Rubber-stamped by Sam Weinig.

        * WebKit2.xcodeproj/project.pbxproj:

2013-12-13  Sam Weinig  <sam@webkit.org>

        [WK2] Start removing calls to String::characters()
        https://bugs.webkit.org/show_bug.cgi?id=125699

        Reviewed by Anders Carlsson.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::decodePlatformData):
        * UIProcess/Plugins/PluginInfoStore.cpp:
        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
        (WebKit::PluginInfoStore::findPlugin):
        * UIProcess/Plugins/PluginInfoStore.h:
        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
        (WebKit::PluginInfoStore::pluginsDirectories):
        (WebKit::PluginInfoStore::pluginPathsInDirectory):
        * UIProcess/cf/WebPreferencesCF.cpp:
        (WebKit::makeKey):
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::loadStringImpl):
        (WebKit::WebPage::loadHTMLString):
        (WebKit::WebPage::loadAlternateHTMLString):
        (WebKit::WebPage::loadPlainTextString):
        (WebKit::WebPage::loadWebArchiveData):
        * WebProcess/WebPage/WebPage.h:

2013-12-13  Enrica Casucci  <enrica@apple.com>

        WK2: Add support for inline candidates on iOS.
        https://bugs.webkit.org/show_bug.cgi?id=125667

        Reviewed by Benjamin Poulain.

        The state required to support inline candidates is cached in the UI process.
        Asynchronous messages are used to set and confirm the composition.

        * Shared/EditorState.cpp:
        (WebKit::EditorState::encode):
        (WebKit::EditorState::decode):
        * Shared/EditorState.h:
        * UIProcess/API/ios/WKInteractionView.mm:
        (-[WKInteractionView textFirstRect]):
        (-[WKInteractionView textLastRect]):
        (-[WKInteractionView hasMarkedText]):
        (-[WKInteractionView markedText]):
        (-[WKInteractionView setMarkedText:selectedRange:]):
        (-[WKInteractionView unmarkText]):
        (-[WKInteractionView _selectionChanged]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::editorStateChanged):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::setComposition):
        (WebKit::WebPageProxy::confirmComposition):
        (WebKit::WebPageProxy::notifyRevealedSelection):
        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
        (WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::editorState):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::setComposition):
        (WebKit::WebPage::confirmComposition):

2013-12-13  Anders Carlsson  <andersca@apple.com>

        Fix the build.

        Work around a problem in Functional.h by making the DatabaseProcess destructor public.

        * DatabaseProcess/DatabaseProcess.h:

2013-12-13  Tim Horton  <timothy_horton@apple.com>

        [wk2] Handle pinch-to-zoom gesture
        https://bugs.webkit.org/show_bug.cgi?id=125604

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView magnifyWithEvent:]):
        (-[WKView endGestureWithEvent:]):
        Forward the event up the chain if we're not going to handle it.

2013-12-12  Anders Carlsson  <andersca@apple.com>

        Put classes in the IPC directory in the IPC namespace
        https://bugs.webkit.org/show_bug.cgi?id=125665

        Reviewed by Sam Weinig.

        Also add a hack to config.h that lets us use CoreIPC and IPC interchangeably.
        
        * Platform/IPC/DataReference.cpp:
        * Platform/IPC/DataReference.h:
        * Platform/IPC/MessageSender.cpp:
        * Platform/IPC/MessageSender.h:
        * Platform/IPC/StringReference.cpp:
        * Platform/IPC/StringReference.h:
        * config.h:

2013-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add a unit tests to WebKit2 to test node names
        https://bugs.webkit.org/show_bug.cgi?id=125686

        Reviewed by Gustavo Noronha Silva.

        * UIProcess/API/gtk/tests/DOMNodeTest.cpp:
        (WebKitDOMNodeTest::testTagNames):
        (WebKitDOMNodeTest::runTest):
        (registerTests):
        * UIProcess/API/gtk/tests/TestDOMNode.cpp:
        (testWebKitDOMNodeTagNames):
        (beforeAll):

2013-12-13  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed. Further GTK WK2 build fixes after r160504.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_snapshot):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (didInitiateLoadForResource):
        (willSendRequestForFrame):
        (didReceiveResponseForResource):
        (didReceiveContentLengthForResource):
        (didFinishLoadForResource):
        (didFailLoadForResource):
        (webkitWebPageDidReceiveMessage):

2013-12-13  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r160509.

        * GNUmakefile.list.am: MessageSender.(cpp|h) files were moved to Platform/IPC.

2013-12-13  Dániel Bátyai  <Batyai.Daniel@stud.u-szeged.hu>

        GTK buildfix after r160504.

        Reviewed by Csaba Osztrogonác.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_prefetch_dns):

2013-12-12  Yongjun Zhang  <yongjun_zhang@apple.com>

        Need ObjC APIs for some InjectedBundle classes.
        https://bugs.webkit.org/show_bug.cgi?id=125600

        Add ObjC API classes for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult and InjectedBundleNodeHandle.

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm: creates API wrapper for WebFrame, InjectedBundleScriptWorld, InjectedBundleHitTestResult
             and InjectedBundleNodeHandle.
        (API::Object::newObject):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/Cocoa: Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h: Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm: Added.
        (-[WKWebProcessPlugInFrame dealloc]):
        (-[WKWebProcessPlugInFrame jsContextForWorld:]): returns the JSContextRef for a ScriptWorld in frame.
        (-[WKWebProcessPlugInFrame hitTest:]): returns hitTestResult (with API type) from a hitTest.
        (-[WKWebProcessPlugInFrame jsWrapperForNodeHandle:inWorld:]):
        (-[WKWebProcessPlugInFrame API::]):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrameInternal.h: Added.
        (WebKit::wrapper):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h: Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.mm: Added.
        (-[WKWebProcessPlugInHitTestResult dealloc]):
        (-[WKWebProcessPlugInHitTestResult nodeHandle]):
        (-[WKWebProcessPlugInHitTestResult API::]):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResultInternal.h: Added.
        (WebKit::wrapper):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm: Added.
        (-[WKWebProcessPlugInNodeHandle dealloc]):
        (-[WKWebProcessPlugInNodeHandle API::]):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandleInternal.h: Added.
        (WebKit::wrapper):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h: Added.
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.mm: Added.
        (+[WKWebProcessPlugInScriptWorld world]): returns a new isolated world.
        (+[WKWebProcessPlugInScriptWorld normalWorld]): returns the mainThread normal world. 
        (-[WKWebProcessPlugInScriptWorld dealloc]):
        (-[WKWebProcessPlugInScriptWorld API::]):
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorldInternal.h: Added.
        (WebKit::wrapper):

2013-12-12  Benjamin Poulain  <bpoulain@apple.com>

        Fix unsafe memory load/store from the argument encoder/decoder affecting ARM
        https://bugs.webkit.org/show_bug.cgi?id=125674

        Reviewed by Darin Adler.

        Depending on the CPU and CPU config, load and store may have to be aligned.
        The argument buffer has no particular alignment which can cause problems.

        In this case, on ARMv7, strd and ldrd can have alignment restriction on 16 bytes.
        The code encoding double and 64 bits integers was causing bugs.

        To avoid problems, the encoders/decoders are modified to just use memcpy. The compiler optimizes
        it away for the right instructions (clang uses two ldr/str in the case of 64bits values on ARMv7).

        * Platform/CoreIPC/ArgumentDecoder.cpp:
        (CoreIPC::decodeValueFromBuffer):
        (CoreIPC::ArgumentDecoder::decode):
        * Platform/CoreIPC/ArgumentEncoder.cpp:
        (CoreIPC::copyValueToBuffer):
        (CoreIPC::ArgumentEncoder::encode):

2013-12-12  Tim Horton  <timothy_horton@apple.com>

        Build fix for 32-bit.

        There was no reason for these to be CGFloat.

        * UIProcess/mac/ViewGestureController.cpp:

2013-12-12  Tim Horton  <timothy_horton@apple.com>

        [wk2] Handle pinch-to-zoom gesture
        https://bugs.webkit.org/show_bug.cgi?id=125604

        Reviewed by Simon Fraser.

        Add the concept of a "transient" zoom to DrawingArea, which is a zoom
        that affects the content, but does not cause repaint, as would be used
        for a live pinch-zoom gesture.

        Add ViewGestureController, which currently only handles magnification 
        gestures, and keeps track of the current gesture's scale and origin, and
        forwards relevant events on to the DrawingArea via the transient zoom mechanism.

        * DerivedSources.make:
        Add ViewGestureController to the list of message receivers.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        Add shouldHandleMagnificationGesture property, which controls whether WKView will
        attempt to handle magnifyWithEvent:.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
        Fix a typo.

        (-[WKView _ensureGestureController]):
        Create our ViewGestureController if it doesn't already exist.

        (-[WKView setAllowsMagnification:]):
        (-[WKView allowsMagnification]):
        SPI to enable/disable handling the magnification gesture.

        (-[WKView setMagnification:centeredAtPoint:]):
        (-[WKView setMagnification:]):
        (-[WKView magnification]):
        Adjust or retrieve the current page scale.
        The variant of setMagnification that does not take an origin uses the view's center.

        (-[WKView magnifyWithEvent:]):
        (-[WKView endGestureWithEvent:]):
        Forward gesture methods to ViewGestureController.

        * UIProcess/mac/ViewGestureController.cpp: Added.
        (WebKit::ViewGestureController::create):
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::~ViewGestureController):
        (WebKit::resistanceForDelta):
        Compute a resistance factor, which makes it feel "hard" to zoom out past
        scale=1, and accelerates scaling out before you hit scale=1.

        (WebKit::ViewGestureController::scaledMagnificationOrigin):
        Compute the origin of the magnification gesture with the transient zoom unapplied.

        (WebKit::ViewGestureController::handleMagnificationGesture):
        The first magnification gesture will send a message to the WebProcess
        to retrieve the visible content rect. Subsequent gestures will
        hand the new magnification and origin to the DrawingArea to apply.

        (WebKit::ViewGestureController::didBeginTransientZoom):
        Callback from the WebProcess, with the current visible content rect.
        Subsequent magnification gestures will forward the scale and origin to the DrawingArea.
        
        (WebKit::ViewGestureController::endMagnificationGesture):
        Commit the current transient scale as the actual page scale, which will cause
        a repaint and bring in all the tiles.

        (WebKit::ViewGestureController::endActiveGesture):
        If we have an active gesture, call its end function.

        * UIProcess/mac/ViewGestureController.h: Added.
        * UIProcess/mac/ViewGestureController.messages.in: Added.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new files.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::beginTransientZoom):
        Call back to ViewGestureController with the visibleContentRect.

        (WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
        Scale and translate the RenderView's PlatformCALayer.
        Reaching into the layer tree like this is scary, we should consider
        teaching RenderLayerCompositor about transient zoom.
        Hide the content shadow layer for now.

        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        Clear our custom transform on the RenderView's layer, and
        change the actual page scale, causing a repaint.
        Un-hide the shadow layer.

        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::beginTransientZoom):
        (WebKit::DrawingAreaProxy::adjustTransientZoom):
        (WebKit::DrawingAreaProxy::commitTransientZoom):
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::beginTransientZoom):
        (WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom):
        (WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom):
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::beginTransientZoom):
        (WebKit::DrawingArea::adjustTransientZoom):
        (WebKit::DrawingArea::commitTransientZoom):
        * WebProcess/WebPage/DrawingArea.messages.in:
        Generic plumbing for {begin, adjust, end}TransientZoom.

2013-12-12  Brady Eidson  <beidson@apple.com>

        DatabaseProcess IndexedDB: Establish a metadata backing store on disk
        https://bugs.webkit.org/show_bug.cgi?id=125258

        Reviewed by Alexey Proskuryakov, Anders Carlsson, and Tim Horton.

        The DatabaseProcess already has an "Indexed Database path".
        Each SecurityOrigin with indexed databases will have a subdirectory under the path.
        Each indexed database will have a subdirectory under its SecurityOrigin's path.
        Inside that directory will exist (1) metadata database, and 0-N ObjectStore databases.

        This patch establishes the directory structure and the (1) metadata database.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::initializeDatabaseProcess): Asynchronously ensure the indexed database directory exists.
        (WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists): Allow anyone to make necessary directories relative to
          the indexed database directory.
        (WebKit::DatabaseProcess::ensurePathExists):
        (WebKit::DatabaseProcess::absoluteIndexedDatabasePathFromDatabaseRelativePath): Instead of exposing the indexed database directory, 
          give DatabaseProcess a method to allow others to compute a path relative to the indexed database directory.
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::performNextDatabaseTask):
        * DatabaseProcess/DatabaseProcess.h:
        (WebKit::DatabaseProcess::queue):

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
        (WebKit::UniqueIDBDatabase::filenameForDatabaseName):
        (WebKit::UniqueIDBDatabase::databaseFilenameIdentifier):
        (WebKit::UniqueIDBDatabase::canShareDatabases):
        (WebKit::UniqueIDBDatabase::shutdown): Method to cleanly shutdown a database, emptying its task and request queues.
        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
        (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata): To be run on the database work queue, establishes a backing store
          and extracts metadata from it.
        (WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata): Callback once metadata from the backing store is ready for use.
        (WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
        (WebKit::UniqueIDBDatabase::postMainThreadTask): Add a main thread task for this database.
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask): Add a database queue task for this database.
        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Add a virtual backing store interface:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        (WebKit::UniqueIDBDatabaseBackingStore::~UniqueIDBDatabaseBackingStore):

        Add a SQLite implementation of that interface:
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp: Added.
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

        Add a general purpose asynchronous task that does cross thread copying:
        * Shared/AsyncTask.h: Added.
        (WebKit::AsyncTask::~AsyncTask):
        (WebKit::AsyncTask::AsyncTask):
        (WebKit::createAsyncTask):

        Add more isolated copiers and introduce WebKit CrossThreadCopier specializations:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:
        (WebKit::UniqueIDBDatabaseIdentifier::isolatedCopy):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:

        * Shared/SecurityOriginData.cpp:
        (WebKit::SecurityOriginData::isolatedCopy):
        * Shared/SecurityOriginData.h:

        * Shared/WebCrossThreadCopier.cpp:
        (WebCore::::copy):
        * Shared/WebCrossThreadCopier.h:

        * WebKit2.xcodeproj/project.pbxproj:

2013-12-12  Chris Fleizach  <cfleizach@apple.com>

        AX: HANG: virginamerica.com: Pressing the print button on the boarding pass page locks up VoiceOver and Safari.
        https://bugs.webkit.org/show_bug.cgi?id=125603

        Reviewed by Anders Carlsson.

        Allow the print dialog to spin its run loop while accessibility is enabled so that VoiceOver does not hang on the WebProcess.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::print):

2013-12-12  Jaehun Lim  <ljaehun.lim@samsung.com>

        Unreviewed CMake build fix after r160509

        * CMakeLists.txt: Apply MessageSender's changes

2013-12-12  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Let the load delegate know when the Web process crashes
        https://bugs.webkit.org/show_bug.cgi?id=125660

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (processDidCrash):  Implemented this WKPageLoaderClient callback by calling the load
        delegate.
        (setUpPageLoaderClient): Set the above callback in the client structure
        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Declare new delegate method.

2013-12-12  Anders Carlsson  <andersca@apple.com>

        Move MessageSender to Platform/IPC.

        Rubber-stamped by Andreas Kling.

        * Platform/IPC/MessageSender.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.cpp.
        * Platform/IPC/MessageSender.h: Renamed from Source/WebKit2/Platform/CoreIPC/MessageSender.h.
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-12  Anders Carlsson  <andersca@apple.com>

        WebPageProxy should be a MessageSender
        https://bugs.webkit.org/show_bug.cgi?id=125654

        Reviewed by Sam Weinig.

        * Platform/CoreIPC/MessageSender.cpp:
        (CoreIPC::MessageSender::sendMessage):
        * Platform/CoreIPC/MessageSender.h:
        (CoreIPC::MessageSender::send):
        * Shared/ChildProcessProxy.h:
        * Shared/WebConnection.cpp:
        (WebKit::WebConnection::postMessage):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::sendMessage):
        (WebKit::WebPageProxy::messageSenderConnection):
        (WebKit::WebPageProxy::messageSenderDestinationID):
        * UIProcess/WebPageProxy.h:

2013-12-12  Anders Carlsson  <andersca@apple.com>

        Clean up dictionary handling a little
        https://bugs.webkit.org/show_bug.cgi?id=125644

        Reviewed by Dan Bernstein.

        Add a WKDictionaryCreate function as a first step towards eliminating WKMutableDictionaryRef,
        (in the same way we've eliminated WKMutableArrayRef). Also, rename adopt to create and make it take a Map by value
        so we can use std::move where appropriate.

        * Shared/API/c/WKDictionary.cpp:
        (WKDictionaryCreate):
        * Shared/API/c/WKDictionary.h:
        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary copyWithZone:]):
        * Shared/ImmutableDictionary.cpp:
        (WebKit::ImmutableDictionary::create):
        (WebKit::ImmutableDictionary::ImmutableDictionary):
        * Shared/ImmutableDictionary.h:
        * Shared/MutableDictionary.cpp:
        (WebKit::MutableDictionary::MutableDictionary):
        * Shared/Plugins/Netscape/PluginInformation.cpp:
        (WebKit::createPluginInformationDictionary):
        * Shared/UserData.cpp:
        (WebKit::UserData::transform):
        (WebKit::UserData::decode):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageDecoder::baseDecode):
        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        * UIProcess/WebFormClient.cpp:
        (WebKit::WebFormClient::willSubmitForm):
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::createNewPage):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
        (WebKit::InjectedBundlePageFormClient::willSubmitForm):

2013-12-12  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Navigation action information for policy decisions is missing the original request
        https://bugs.webkit.org/show_bug.cgi?id=125612

        Reviewed by Anders Carlsson.

        * Platform/CoreIPC/HandleMessage.h:
        (CoreIPC::callMemberFunction): Added template with additional message parameter.
        * UIProcess/API/C/WKPagePolicyClientInternal.h: Added. Defines a new version of the client
        interface with a new version of the policy decision callback.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPagePolicyClient): Use the new internal version of the client. Pass the original
        request in the action information dictionary under a new key.
        * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Declared new action information
        key.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originalRequest parameter,
        which is passed to the policy client.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in: Added originalRequest parameter in
        DecidePolicyForNavigationAction.
        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Pass the original request to
        the client.
        * UIProcess/WebPolicyClient.h:
        * WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Send the original
        request from the navigation action to the UI process.

2013-12-12  Zan Dobersek  <zdobersek@igalia.com>

        [Autotools] Prepend the WebCore layer archives' names with 'lib'
        https://bugs.webkit.org/show_bug.cgi?id=125627

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Libtool can complain about the WebCore layer archives not being prepended with 'lib'
        when they are used during linking, so the prefix is now added to avoid such issues.

2013-12-12  Csaba Osztrogonác  <ossy@webkit.org>

        Move CertificateInfo to WebCore
        https://bugs.webkit.org/show_bug.cgi?id=124720

        Reviewed by Darin Adler.

        Based on the patch by Kwang Yul Seo <skyul@company100.net>

        * GNUmakefile.list.am:
        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/API/c/mac/WKCertificateInfoMac.mm:
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/Authentication/AuthenticationManager.messages.in:
        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebCertificateInfo.h:
        (WebKit::WebCertificateInfo::create):
        (WebKit::WebCertificateInfo::certificateInfo):
        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:
        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::ArgumentCoder<CertificateInfo>::encode):
        (CoreIPC::ArgumentCoder<CertificateInfo>::decode):
        * Shared/soup/CertificateInfo.cpp: Removed.
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (CoreIPC::ArgumentCoder<CertificateInfo>::encode):
        (CoreIPC::ArgumentCoder<CertificateInfo>::decode):
        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_tls_info):
        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
        (WebKit::AuthenticationChallengeProxy::useCredential):
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad):
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Network/WebResourceLoader.cpp:
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):

2013-12-12  Zan Dobersek  <zdobersek@igalia.com>

        Use of ar T option not supported by older binutils
        https://bugs.webkit.org/show_bug.cgi?id=118732

        Reviewed by Gustavo Noronha Silva.

        * GNUmakefile.am: To support non-thin archives when generating the WebCoreLayerGtk2 archive,
        switch to using the AR_FLAGS variable (which can be overridden) for providing the ar flags for the
        new archive. Non-thin archives also pose the problem as their members are only noted by the basename
        of the member's object file, and not the full path to it. To work around that, all the object files
        under the build directory are listed by their relative paths. The members of various archives then have
        the basenames of their paths grepped against that list, with the found path correlating to the member
        finally added as the new member of the WebCoreLayerGtk2 archive.

2013-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] WebProcess tests are failing with newer glib
        https://bugs.webkit.org/show_bug.cgi?id=125621

        Reviewed by Martin Robinson.

        Newer versions of glib unset the DISPLAY env variable in
        g_test_dbus_up(). The WebProcess needs the DISPLAY variable to
        work, and it's important to keep its value when running the tests
        under Xvfb.

        * UIProcess/API/gtk/tests/WebProcessTestRunner.cpp:
        (WebProcessTestRunner::WebProcessTestRunner): Restore the DISPLAY
        env variable after calling g_test_dbus_up().

2013-12-12  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Make sure unit tests don't use GVFS and dconf
        https://bugs.webkit.org/show_bug.cgi?id=125620

        Reviewed by Martin Robinson.

        They should use the local vfs and the gsettings memory backend.

        * UIProcess/API/gtk/tests/TestMain.cpp:
        (main):

2013-12-11  KyungTae Kim  <ktf.kim@samsung.com>

        [WK2] Build fix after r160464
        https://bugs.webkit.org/show_bug.cgi?id=125615

        Reviewed by Gyuyoung Kim.

        Modify the 2nd parameter for calling WebContext::addMessageReceiver from "this" to "*this"
        because the parameter type is modified from CoreIPC::MessageReceiver* to CoreIPC::MessageReceiver&

        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
        * UIProcess/WebBatteryManagerProxy.cpp:
        (WebKit::WebBatteryManagerProxy::WebBatteryManagerProxy):
        * UIProcess/WebNetworkInfoManagerProxy.cpp:
        (WebKit::WebNetworkInfoManagerProxy::WebNetworkInfoManagerProxy):
        * UIProcess/WebVibrationProxy.cpp:
        (WebKit::WebVibrationProxy::WebVibrationProxy):
        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
        * WebProcess/Battery/WebBatteryManager.cpp:
        (WebKit::WebBatteryManager::WebBatteryManager):
        * WebProcess/NetworkInfo/WebNetworkInfoManager.cpp:
        (WebKit::WebNetworkInfoManager::WebNetworkInfoManager):
        * WebProcess/soup/WebSoupRequestManager.cpp:
        (WebKit::WebSoupRequestManager::WebSoupRequestManager):

2013-12-11  Anders Carlsson  <andersca@apple.com>

        MessageReceiverMap should take MessageReceiver objects by reference
        https://bugs.webkit.org/show_bug.cgi?id=125605

        Reviewed by Tim Horton.

        * Platform/CoreIPC/MessageReceiverMap.cpp:
        (CoreIPC::MessageReceiverMap::addMessageReceiver):
        * Platform/CoreIPC/MessageReceiverMap.h:
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::AuthenticationManager):
        * Shared/ChildProcess.cpp:
        (WebKit::ChildProcess::addMessageReceiver):
        * Shared/ChildProcess.h:
        * Shared/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::addMessageReceiver):
        * Shared/ChildProcessProxy.h:
        * UIProcess/Downloads/DownloadProxyMap.cpp:
        (WebKit::DownloadProxyMap::createDownloadProxy):
        * UIProcess/DrawingAreaProxy.cpp:
        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
        (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
        * UIProcess/WebApplicationCacheManagerProxy.cpp:
        (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
        * UIProcess/WebConnectionToWebProcess.cpp:
        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::WebContext):
        (WebKit::WebContext::addMessageReceiver):
        * UIProcess/WebContext.h:
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::WebDatabaseManagerProxy):
        * UIProcess/WebFullScreenManagerProxy.cpp:
        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::WebIconDatabase):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::WebInspectorProxy):
        * UIProcess/WebMediaCacheManagerProxy.cpp:
        (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
        * UIProcess/WebOriginDataManagerProxy.cpp:
        (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::reattachToWebProcess):
        * UIProcess/WebResourceCacheManagerProxy.cpp:
        (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy):
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
        (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
        * WebProcess/Cookies/WebCookieManager.cpp:
        (WebKit::WebCookieManager::WebCookieManager):
        * WebProcess/Geolocation/WebGeolocationManager.cpp:
        (WebKit::WebGeolocationManager::WebGeolocationManager):
        * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
        (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
        (WebKit::WebMediaCacheManager::WebMediaCacheManager):
        * WebProcess/Notifications/WebNotificationManager.cpp:
        (WebKit::WebNotificationManager::WebNotificationManager):
        * WebProcess/OriginData/WebOriginDataManager.cpp:
        (WebKit::WebOriginDataManager::WebOriginDataManager):
        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
        (WebKit::WebResourceCacheManager::WebResourceCacheManager):
        * WebProcess/Storage/StorageAreaMap.cpp:
        (WebKit::StorageAreaMap::StorageAreaMap):
        * WebProcess/WebConnectionToUIProcess.cpp:
        (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
        (WebKit::WebDatabaseManager::WebDatabaseManager):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):

2013-12-11  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=125324

        Reviewed by Timothy Hatcher.

        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::performJavaScriptURLRequest):
        * WebProcess/WebPage/WebInspector.cpp:
        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebPage.cpp:

2013-12-11  Anders Carlsson  <andersca@apple.com>

        Remove platform specific gunk from WebURLRequest and WebURLResponse
        https://bugs.webkit.org/show_bug.cgi?id=125589

        Reviewed by Andreas Kling.

        * Shared/API/c/WKURLRequest.cpp:
        (WKURLRequestCopyURL):
        * Shared/API/c/mac/WKURLRequestNS.mm:
        (WKURLRequestCopyNSURLRequest):
        * Shared/API/c/mac/WKURLResponseNS.mm:
        (WKURLResponseCopyNSURLResponse):
        * Shared/WebURLRequest.cpp:
        * Shared/WebURLRequest.h:
        * Shared/WebURLResponse.h:
        * Shared/mac/WebURLRequestMac.mm: Removed.
        * Shared/mac/WebURLResponseMac.mm: Removed.
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::isMainInspectorPage):
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>

        [GTK][WK2] Add the WebKitBatteryProvider class
        https://bugs.webkit.org/show_bug.cgi?id=115720

        Reviewed by Martin Robinson.

        This patch adds the WebKitBatteryProvider class which sets up a BatteryProviderUPower instance,
        controlling the provider's activity when instrumented to do so by the WebBatteryManagerProxy
        and relaying the battery status updates from the battery provider to the battery manager.

        * GNUmakefile.list.am: Add the build targets for the new source files.
        * UIProcess/API/gtk/WebKitBatteryProvider.cpp: Added.
        (toBatteryProvider): A helper inline method that casts the client info to the battery provider instance.
        (startUpdatingCallback): Relays the instruction to the WebKitBattery instance.
        (stopUpdatingCallback): Ditto.
        (WebKitBatteryProvider::create):
        (WebKitBatteryProvider::WebKitBatteryProvider): Set up a WKBatteryProvider and set it to the passed-in battery manager.
        (WebKitBatteryProvider::~WebKitBatteryProvider): Force the BatteryProviderUPower to stop updating.
        (WebKitBatteryProvider::startUpdating): Relays the instruction to the BatteryProviderUPower instance.
        (WebKitBatteryProvider::stopUpdating): Ditto.
        (WebKitBatteryProvider::notifyBatteryStatusUnavailable): Update the battery manager with the new status that
        has the default values that are to be used when the implementation cannot determine the battery status (as per
        the Battery Status API specification).
        (WebKitBatteryProvider::notifyBatteryStatusUpdated): Update the battery status.
        * UIProcess/API/gtk/WebKitBatteryProvider.h: Added.
        (WebKitBatteryProvider): Define the WebKitBatteryProvider reference-counted interface that also inherits from the
        BatteryProviderUPowerClient interface.
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (_WebKitWebContextPrivate): Add a WebKitBatteryProvider member variable to the struct.
        (createDefaultWebContext): Create a new battery provider when initializing the default web context.

2013-12-11  José Dapena Paz  <jdapena@igalia.com> and Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Add a UPower-based BatteryProvider
        https://bugs.webkit.org/show_bug.cgi?id=115719

        Reviewed by Martin Robinson.

        * GNUmakefile.am: Link the libwebkit2gtk library against the upower-glib library.

2013-12-11  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Support right-side attachment of the inspector
        https://bugs.webkit.org/show_bug.cgi?id=124126

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/C/gtk/WKInspectorClientGtk.h: add changed attached width callback.
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseAddWebInspector): take attachment side parameter into account when adding the
        inspector view.
        (webkitWebViewBaseContainerRemove): renamed inspectorViewHeight to inspectorViewSize.
        (resizeWebKitWebViewBaseFromAllocation): take attachment side into account when allocating the
        sizes for the inspector view and the inspected view.
        (webkitWebViewBaseSetInspectorViewSize): renamed from webkitWebViewBaseSetInspectorViewHeight.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/gtk/WebInspectorClientGtk.cpp:
        (WebKit::WebInspectorClientGtk::didChangeAttachedWidth): notify client that view width has changed.
        * UIProcess/gtk/WebInspectorClientGtk.h:
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformAttach): use attachment side for setting the default size
        for the inspector view.
        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): use the new generic SetInspectorViewSize.
        (WebKit::WebInspectorProxy::platformSetAttachedWindowWidth): allow setting the inspector view width.

2013-12-11  Brendan Long  <b.long@cablelabs.com>

        [GTK] Add "enable-mediasource" property to WebKitWebSettings
        https://bugs.webkit.org/show_bug.cgi?id=125566

        Reviewed by Philippe Normand.

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webKitSettingsSetProperty):
        (webKitSettingsGetProperty):
        (webkit_settings_class_init):
        (webkit_settings_get_enable_mediasource):
        (webkit_settings_set_enable_mediasource):
        * UIProcess/API/gtk/WebKitSettings.h:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
        (testWebKitSettings):

2013-12-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        [EFL] Fix build with CONTEXT_MENUS flag set OFF
        https:///bugs.webkit.org/show_bug.cgi?id=125572

        Reviewed by Gyuyoung Kim.

        Fix EFL build by adding necessary guard, also UNUSED_PARAM macros where added.

        * Shared/API/c/WKContextMenuItem.cpp: Added UNUSED_PARAM macros.
        (WKContextMenuItemCreateAsAction):
        (WKContextMenuItemCreateAsCheckableAction):
        (WKContextMenuItemCreateAsSubmenu):
        (WKContextMenuItemGetTag):
        (WKContextMenuItemGetType):
        (WKContextMenuItemCopyTitle):
        (WKContextMenuItemGetEnabled):
        (WKContextMenuItemGetChecked):
        (WKContextMenuCopySubmenuItems):
        (WKContextMenuItemGetUserData):
        (WKContextMenuItemSetUserData):
        * UIProcess/API/C/WKPage.cpp: Ditto.
        (WKPageSetPageContextMenuClient):
        (WKPageSelectContextMenuItem):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Ditto.
        (WKBundlePageSetContextMenuClient):
        (WKBundlePageClickMenuItem):
        (WKBundlePageCopyContextMenuItems):
        (WKBundlePageCopyContextMenuAtPointInWindow)
        * UIProcess/efl/WebViewEfl.cpp: Guard createContextMenuProxy method.
        * UIProcess/efl/WebViewEfl.h: Ditto.

2013-12-11  Kwang Yul Seo  <skyul@company100.net>

        [WK2][Soup] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
        https://bugs.webkit.org/show_bug.cgi?id=125557

        Reviewed by Carlos Garcia Campos.

        Do what WebProcess::allowSpecificHTTPSCertificateForHost does.

        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):

2013-12-10  Mark Rowe  <mrowe@apple.com>

        <http://webkit.org/b/125556> WebKit doesn't deal with longer bundle versions correctly
        <rdar://problem/15634192>

        Reviewed by Dan Bernstein.

        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::userVisibleWebKitVersionString): Strip as many leading digits as is necessary to
        bring the major component of the version down to 3 digits.

2013-12-10  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed GTK build fix attempt after r160395 (second)

        * GNUmakefile.list.am:
        Added new files for UserData, APIFrameHandle, APIGeometry and APIPageHandle.

2013-12-10  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed GTK build fix attempt after r160395

        Renamed WebUInt64 to API::UInt64, WebDouble to API::Double, WebBoolean
        to API::Boolean.

        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        (didReceiveWebViewMessageFromInjectedBundle):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_snapshot):
        * UIProcess/API/gtk/WebKitWindowProperties.cpp: Included APINumber.h instead of WebNumber.h
        (webkitWindowPropertiesUpdateFromWebWindowFeatures):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (didInitiateLoadForResource):
        (willSendRequestForFrame):
        (didReceiveResponseForResource):
        (didReceiveContentLengthForResource):
        (didFinishLoadForResource):
        (didFailLoadForResource):
        (webkitWebPageDidReceiveMessage):

2013-12-10  Dan Bernstein  <mitz@apple.com>

        All observable PageLoadState properties should change in an atomic fashion, with properly nested change notifications
        https://bugs.webkit.org/show_bug.cgi?id=125431

        Reviewed by Anders Carlsson.

        Made PageLoadState maintain two copies of its state data members, one representing the
        committed state and one possibly containing uncommitted changes. When changes are committed,
        change notifications are sent and the uncommitted state is copied into the committed state.
        Changes can be committed explicitly at any time, but are also committed when the last
        outstanding transaction ends. Transactions are RAII objects vended by the PageLoadState.
        Mutating the PageLoadState requires holding a Transaction, which is enforced by making all
        the mutating member functions take a Transaction::Token. Passing a Token also marks the
        PageLoadState as possibly having uncommitted changes.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        Added PageLoadStateObserver::{will,did}ChangeActiveURL overrides that call
        -{will,did}ChangeValueForKey:.

        * UIProcess/PageLoadState.cpp:
        Moved constant from the middle of the file to the beginning and reworded comment.
        (WebKit::PageLoadState::PageLoadState): Added initializers for new member variables, removed
        initialization of members that are not part of Data, which initializes them in its
        constructor.
        (WebKit::PageLoadState::endTransaction): Added. Calles when a Transaction is destructed.
        Decrements the outstanding transaction count, and if it is zero, commits changes.
        (WebKit::PageLoadState::commitChanges): Added. Checks for differences in observable
        properties between the committed state and the uncommitted state, then makes appropriate
        willChange Observer callbacks, then copies the uncommitted state into the committed state,
        then makes appropriate didChange Observer callbacks in reverse order. Also added active URL
        to the set of observable properties.
        (WebKit::PageLoadState::reset): Changed to take a transaction token, act on
        m_uncommittedState, and not make observer callbacks.
        (WebKit::PageLoadState::isLoading): Changed to access m_committedState.
        (WebKit::PageLoadState::activeURL): Changed to call a static function factored out of this.
        (WebKit::PageLoadState::estimatedProgress): Ditto.
        (WebKit::PageLoadState::pendingAPIRequestURL): Changed to access m_committedState.
        (WebKit::PageLoadState::setPendingAPIRequestURL): Changed to take a transaction token, act
        on m_uncommittedState, and not make observer callbacks.
        (WebKit::PageLoadState::clearPendingAPIRequestURL): Ditto.
        (WebKit::PageLoadState::didStartProvisionalLoad): Ditto.
        (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad): Ditto.
        (WebKit::PageLoadState::didFailProvisionalLoad): Ditto.
        (WebKit::PageLoadState::didCommitLoad): Ditto.
        (WebKit::PageLoadState::didFinishLoad): Ditto.
        (WebKit::PageLoadState::didFailLoad): Ditto.
        (WebKit::PageLoadState::didSameDocumentNavigation): Ditto.
        (WebKit::PageLoadState::setUnreachableURL): Ditto.
        (WebKit::PageLoadState::title): Changed to access m_committedState.
        (WebKit::PageLoadState::setTitle): Changed to take a transaction token, act on
        m_uncommittedState, and not make observer callbacks.
        (WebKit::PageLoadState::didStartProgress): Ditto.
        (WebKit::PageLoadState::didChangeProgress): Ditto.
        (WebKit::PageLoadState::didFinishProgress): Ditto.
        * UIProcess/PageLoadState.h:
        (WebKit::PageLoadState::Transaction::Transaction): Added. Calls
        PageLoadState::beginTransaction.
        (WebKit::PageLoadState::Transaction::~Transaction): Added. Calls
        PageLoadState::endTransaction.
        (WebKit::PageLoadState::Transaction::Token::Token): Added. Sets m_mayHaveUncommittedChanges.
        (WebKit::PageLoadState::transaction): Added. Returns a Transaction for this PageLoadState.
        (WebKit::PageLoadState::provisionalURL): Changed to access m_committedState.
        (WebKit::PageLoadState::url): Ditto.
        (WebKit::PageLoadState::unreachableURL): Ditto.
        (WebKit::PageLoadState::beginTransaction): Added. Increments the outstanding transaction
        count.
        (WebKit::PageLoadState::Data::Data): Added. Moved internal state members into this struct
        and made its constructor initialize state and estimatedProgress.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadURL): Changed to create a PageLoadState::Transaction and pass it
        along.
        (WebKit::WebPageProxy::loadURLRequest): Ditto.
        (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
        (WebKit::WebPageProxy::reload): Ditto.
        (WebKit::WebPageProxy::goForward): Ditto.
        (WebKit::WebPageProxy::goBack): Ditto.
        (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
        (WebKit::WebPageProxy::receivedPolicyDecision): Ditto.
        (WebKit::WebPageProxy::didStartProgress): Ditto. Also added a call to
        PageLoadState::commitChanges before calling the client, so that the client sees the updated
        state.
        (WebKit::WebPageProxy::didChangeProgress): Ditto.
        (WebKit::WebPageProxy::didFinishProgress): Ditto.
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Ditto.
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Ditto.
        (WebKit::WebPageProxy::didCommitLoadForFrame): Ditto.
        (WebKit::WebPageProxy::didFinishLoadForFrame): Ditto.
        (WebKit::WebPageProxy::didFailLoadForFrame): Ditto.
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
        (WebKit::WebPageProxy::didReceiveTitleForFrame): Ditto.
        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Changed to create a
        PageLoadState::Transaction and pass it along.
        (WebKit::WebPageProxy::processDidCrash): Ditto. This addressed a FIXME about the client not
        seeing the state prior to the crash, because now the changes cuased by reset() aren’t
        committed until after the client callback.

        * UIProcess/cf/WebPageProxyCF.cpp:
        (WebKit::WebPageProxy::restoreFromSessionStateData): Changed to create a
        PageLoadState::Transaction and pass it along.

2013-12-10  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL build fix attempt

        * CMakeLists.txt: Added APIGeometry.cpp to source lists.

2013-12-10  Anders Carlsson  <andersca@apple.com>

        Move number and geometry classes into the API namespace
        https://bugs.webkit.org/show_bug.cgi?id=125549

        Reviewed by Geoffrey Garen.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectEncoder encodeBool:forKey:]):
        (-[WKRemoteObjectEncoder encodeInt64:forKey:]):
        (-[WKRemoteObjectEncoder encodeDouble:forKey:]):
        (-[WKRemoteObjectDecoder decodeBoolForKey:]):
        (-[WKRemoteObjectDecoder decodeInt64ForKey:]):
        (-[WKRemoteObjectDecoder decodeDoubleForKey:]):
        * Shared/API/c/WKGeometry.cpp:
        (WKSizeGetTypeID):
        (WKPointGetTypeID):
        (WKRectGetTypeID):
        (WKPointCreate):
        (WKSizeCreate):
        (WKRectCreate):
        * Shared/API/c/WKNumber.cpp:
        (WKBooleanGetTypeID):
        (WKBooleanCreate):
        (WKDoubleGetTypeID):
        (WKDoubleCreate):
        (WKUInt64GetTypeID):
        (WKUInt64Create):
        * Shared/API/c/WKSharedAPICast.h:
        * Shared/APIGeometry.cpp:
        (API::Point::encode):
        (API::Point::decode):
        (API::Size::encode):
        (API::Size::decode):
        (API::Rect::encode):
        (API::Rect::decode):
        * Shared/APIGeometry.h:
        (API::Size::create):
        (API::Size::Size):
        (API::Point::create):
        (API::Point::Point):
        (API::Rect::create):
        (API::Rect::Rect):
        * Shared/APINumber.h:
        (API::Number::create):
        (API::Number::decode):
        (API::Number::Number):
        * Shared/APIObject.h:
        * Shared/Plugins/Netscape/PluginInformation.cpp:
        (WebKit::getPluginModuleInformation):
        (WebKit::createPluginInformationDictionary):
        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
        (WebKit::getPlatformPluginModuleInformation):
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        (WebKit::WebNotificationProvider::clearNotifications):
        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        (WebKit::PlugInAutoStartProvider::autoStartOriginsTableCopy):
        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsTable):
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::addToDictionaryFromHashMap):
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFindStringMatches):
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::createNewPage):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::trackedRepaintRects):
        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

2013-12-10  Anders Carlsson  <andersca@apple.com>

        Add encode and decode functions to WebNumber
        https://bugs.webkit.org/show_bug.cgi?id=125547

        Reviewed by Beth Dakin.

        * Shared/APINumber.h:
        (WebKit::WebNumber::encode):
        (WebKit::WebNumber::decode):
        * Shared/UserData.cpp:
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):

2013-12-10  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [EFL] One more WK2 build fix
        https://bugs.webkit.org/show_bug.cgi?id=125544

        API::TypedObject has been renamed to API::ObjectImpl

        Reviewed by Tim Horton.

        * Shared/WebBatteryStatus.h:
        * Shared/WebNetworkInfo.h:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/WebBatteryManagerProxy.h:
        * UIProcess/WebNetworkInfoManagerProxy.h:
        * UIProcess/WebTextChecker.h:
        * UIProcess/WebVibrationProxy.h:
        * UIProcess/WebViewportAttributes.h:
        * UIProcess/efl/WebPopupItemEfl.h:
        * UIProcess/soup/WebSoupRequestManagerProxy.h:

2013-12-10  Anders Carlsson  <andersca@apple.com>

        Rename WebNumber.h to APINumber.h
        https://bugs.webkit.org/show_bug.cgi?id=125545

        Reviewed by Beth Dakin.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        * Shared/API/c/WKNumber.cpp:
        * Shared/API/c/WKSharedAPICast.h:
        * Shared/APINumber.h: Renamed from Source/WebKit2/Shared/WebNumber.h.
        * Shared/Plugins/Netscape/PluginInformation.cpp:
        * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
        * Shared/UserData.cpp:
        * Shared/UserMessageCoders.h:
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        * UIProcess/WebUIClient.cpp:
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-10  Anders Carlsson  <andersca@apple.com>

        UserData should handle geometry types
        https://bugs.webkit.org/show_bug.cgi?id=125542

        Reviewed by Andreas Kling.

        Rename WebGeometry.h to APIGeometry.h in preparation for moving the classes into the API namespace.
        Add encode/decode functions to geometry classes. Use them in UserData::encode and UserData::decode.

        * Shared/API/c/WKGeometry.cpp:
        * Shared/APIGeometry.cpp: Added.
        * Shared/APIGeometry.h: Renamed from Source/WebKit2/Shared/WebGeometry.h.
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserMessageCoders.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/WebPage.cpp:

2013-12-10  Beth Dakin  <bdakin@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=125533
        BackgroundExtendsBeyondPage setting should be switchable per WKView
        -and corresponding-
        <rdar://problem/15571310>

        Reviewed by Anders Carlsson.

        This patch removes the WKPreferences API and adds WKPage API in its place. To 
        ensure that the setting sticks after a crash, it is also now a creation parameter.

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetBackgroundExtendsBeyondPage):
        (WKPageBackgroundExtendsBeyondPage):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKPreferences.cpp:
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setBackgroundExtendsBeyondPage):
        (WebKit::WebPageProxy::backgroundExtendsBeyondPage):
        (WebKit::WebPageProxy::initializeCreationParameters):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setBackgroundExtendsBeyondPage):
        (WebKit::WebPage::updatePreferences):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2013-12-10  Anders Carlsson  <andersca@apple.com>

        Rename API::TypedObject to API::ObjectImpl
        https://bugs.webkit.org/show_bug.cgi?id=125539

        Reviewed by Tim Horton.

        All API::Objects are by definition typed, so ObjectImpl makes more sense as a name.

        * Shared/APIArray.h:
        * Shared/APIFrameHandle.h:
        * Shared/APIObject.h:
        (API::ObjectImpl::~ObjectImpl):
        (API::ObjectImpl::ObjectImpl):
        * Shared/APIPageHandle.h:
        * Shared/ImmutableDictionary.h:
        * Shared/WebArchive.h:
        * Shared/WebArchiveResource.h:
        * Shared/WebBackForwardListItem.h:
        * Shared/WebCertificateInfo.h:
        * Shared/WebConnection.h:
        * Shared/WebContextMenuItem.h:
        * Shared/WebData.h:
        * Shared/WebError.h:
        * Shared/WebGeolocationPosition.h:
        * Shared/WebGeometry.h:
        * Shared/WebHitTestResult.h:
        * Shared/WebImage.h:
        * Shared/WebNumber.h:
        * Shared/WebOpenPanelParameters.h:
        * Shared/WebRenderLayer.h:
        * Shared/WebRenderObject.h:
        * Shared/WebSecurityOrigin.h:
        * Shared/WebSerializedScriptValue.h:
        * Shared/WebString.h:
        * Shared/WebURL.h:
        * Shared/WebURLRequest.h:
        * Shared/WebURLResponse.h:
        * Shared/WebUserContentURLPattern.h:
        * Shared/mac/ObjCObjectGraph.h:
        * UIProcess/APINavigationData.h:
        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
        * UIProcess/Authentication/AuthenticationDecisionListener.h:
        * UIProcess/Authentication/WebCredential.h:
        * UIProcess/Authentication/WebProtectionSpace.h:
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/GeolocationPermissionRequestProxy.h:
        * UIProcess/Notifications/NotificationPermissionRequest.h:
        * UIProcess/Notifications/WebNotification.h:
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Plugins/WebPluginSiteDataManager.h:
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebBackForwardList.h:
        * UIProcess/WebColorPickerResultListenerProxy.h:
        * UIProcess/WebContext.h:
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebEditCommandProxy.h:
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebGrammarDetail.h:
        * UIProcess/WebIconDatabase.h:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebKeyValueStorageManager.h:
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebOpenPanelResultListenerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPreferences.h:
        * UIProcess/WebResourceCacheManagerProxy.h:
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
        * WebProcess/WebPage/PageBanner.h:
        * WebProcess/WebPage/PageOverlay.h:
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPageGroupProxy.h:

2013-12-10  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [EFL] Fix WK2 build after r160341
        https://bugs.webkit.org/show_bug.cgi?id=125529

        Reviewed by Anders Carlsson.

        * CMakeLists.txt: Added new files UserData.cpp, APIFrameHandle.cpp and APIPageHandle.cpp.

2013-12-10  Anders Carlsson  <andersca@apple.com>

        Add more API object types to UserData
        https://bugs.webkit.org/show_bug.cgi?id=125532

        Reviewed by Beth Dakin.

        * Shared/UserData.cpp:
        (WebKit::UserData::transform):
        Handle dictionaries.

        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        Handle more API::Objects.

2013-12-10  Anders Carlsson  <andersca@apple.com>

        More UserData work
        https://bugs.webkit.org/show_bug.cgi?id=125524

        Reviewed by Dan Bernstein.

        * Shared/APIObject.h:
        * Shared/UserData.cpp:
        (WebKit::UserData::transform):
        New helper function that takes an API::Object and returns a new API::Object with all "sub-objects" (arrays etc)
        transformed by calling the transformer.

        * Shared/UserData.h:
        (WebKit::UserData::object):
        New getter.

        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::apiObjectByConvertingToHandles):
        Helper function that creates a new API::Object graph by converting WebFrameProxy objects to FrameHandles.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::apiObjectByConvertingFromHandles):
        Helper function that creates a new API::Object graph by converting FrameHandles to WebFrame objects.

2013-12-10  Alberto Garcia  <berto@igalia.com>

        [WK2] [SOUP] Allow running the network process with an arbitrary prefix command
        https://bugs.webkit.org/show_bug.cgi?id=125520

        Reviewed by Carlos Garcia Campos.

        Launch the network process using NETWORK_PROCESS_CMD_PREFIX as a
        prefix. Useful for debugging the web process with gdb, valgrind,
        etc.

        * UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):

2013-12-10  Kwang Yul Seo  <skyul@company100.net>

        Allow us to use network process with a single process model
        https://bugs.webkit.org/show_bug.cgi?id=125507

        Reviewed by Brady Eidson.

        Currently, WebContext::sendToNetworkingProcess and
        WebContext::sendToNetworkingProcessRelaunchingIfNecessary assume that
        network process is not used when the given process model is
        ProcessModelSharedSecondaryProcess. This is not consistent with
        WebContext::networkingProcessConnection which returns the networking
        process connection for ProcessModelSharedSecondaryProcess.

        * UIProcess/WebContext.h:
        (WebKit::WebContext::sendToNetworkingProcess):
        (WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):

2013-12-10  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL build fix

        * CMakeLists.txt: Remove UIProcess/DrawingAreaProxy.cpp.
        * PlatformGTK.cmake: Add the file above.

2013-12-10  Martin Robinson  <mrobinson@igalia.com>

        [GTK] [CMake] Add support for building the WebKit injected bundle
        https://bugs.webkit.org/show_bug.cgi?id=116373

        Reviewed by Gustavo Noronha Silva.

        * PlatformGTK.cmake: Add support for building the InjectedBundle and link the WebKit2
        shared library against the GObject DOM bindings.
        * WebProcess/gtk/WebGtkExtensionManager.h: Properly export symbols used by the InjectedBundle.

2013-12-10  Kwang Yul Seo  <skyul@company100.net>

        [WK2][SOUP] WebContext::setIgnoreTLSErrors should send SetIgnoreTLSErrors to the network process when network process is enabled
        https://bugs.webkit.org/show_bug.cgi?id=125505

        Reviewed by Carlos Garcia Campos.

        This is a follow-up patch for r160355.

        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::setIgnoreTLSErrors):

2013-12-10  Martin Robinson  <mrobinson@igalia.com>

        Try to fix the EFL build

        * CMakeLists.txt: Remove DrawingAreaImpl.cpp from the global list.
        * PlatformGTK.cmake: Move it to the GTK+ specific list.

2013-12-10  Martin Robinson  <mrobinson@igalia.com>

        Various fixes for the CMake GTK+ build

        Reviewed by Gustavo Noronha.

        * CMakeLists.txt: Update the source lists.
        * PlatformGTK.cmake: Ditto.

2013-12-10  Alberto Garcia  <berto@igalia.com>

        [WK2] [GTK] Enable the network process in the WebContext
        https://bugs.webkit.org/show_bug.cgi?id=125494

        Reviewed by Carlos Garcia Campos.

        This should be initialized using the setUsesNetworkProcess() API.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (createDefaultWebContext):
        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformInitializeWebProcess):

2013-12-10  Brian Holt  <brian.holt@samsung.com>

        [WK2][SOUP] initialise the Network Process with ignoreTLSErrors
        https://bugs.webkit.org/show_bug.cgi?id=125490

        ResourceHandleSoup in the Network Process and is not initialised with
        a policy on ignoring TLS errors.  This simply requires that the
        appropriate message is created for the Network Process and the
        parameter created for initialisation.

        Reviewed by Gustavo Noronha Silva.

        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        (WebKit::NetworkProcess::setIgnoreTLSErrors):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformInitializeWebProcess):
        * UIProcess/soup/WebContextSoup.cpp:
        (WebKit::WebContext::platformInitializeNetworkProcess):

2013-12-09  Anders Carlsson  <andersca@apple.com>

        Begin working on a UserData class intended to replace UserMessageCoders
        https://bugs.webkit.org/show_bug.cgi?id=125471

        Reviewed by Sam Weinig.

        * Shared/APIFrameHandle.cpp: Added.
        * Shared/APIFrameHandle.h: Added.
        Add a new API::FrameHandle class that represents a frame.

        * Shared/APIObject.h:
        * Shared/APIPageHandle.cpp: Added.
        * Shared/APIPageHandle.h: Added.
        Add a new API::PageHandle class that represents a page.

        * Shared/UserData.cpp: Added.
        (WebKit::UserData::UserData):
        (WebKit::UserData::~UserData):
        (WebKit::UserData::encode):
        (WebKit::UserData::decode):
        * Shared/UserData.h: Added.
        Add a UserData class that can be encoded and decoded. This will be used for sending data
         between the web process and UI process without doing any of the Page -> BundlePage etc conversions.
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-09  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] LayoutTests are broken after r160301
        https://bugs.webkit.org/show_bug.cgi?id=125447

        Reviewed by Darin Adler.

        r160301 moved FullScreenManagerProxyClient logic to WebViewEfl, child class
        of CoordinatedGraphics::WebView, because implementations are EFL specific.
        However, CoordinatedGraphics::WebView creates WebPageProxy in constructor and
        WebPageProxy requires FullScreenManagerProxyClient in constructor.
        So, All WK2/Efl based applications got crashed

        This patch adds virtual methods for FullScreenManagerProxyClient to CoordinatedGraphics::WebView
        so that WebPageProxy can get FullScreenManagerProxyClient instance without
        pure viertual methods.

        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
        (WKViewExitFullScreen):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::fullScreenManagerProxyClient):
        (WebKit::WebView::requestExitFullScreen):
        renamed from exitFullScreen not to conflict with methods of FullScreenManagerProxyClient.
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/efl/WebViewEfl.cpp:
        * UIProcess/efl/WebViewEfl.h:

2013-12-09  Sergio Villar Senin  <svillar@igalia.com>

        [WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=110093

        Reviewed by Martin Robinson.

        Original patch by Balazs Kelemen <kbalazs@webkit.org>.

        Adds the UNIX specific bits to support connections to the
        NetworkProcess. Since the process of creating the pair of sockets
        is exactly the same as in the PluginProcess, I've decided to
        refactor it in ConnectionUnix::createPlatformConnection(). This
        can be reused later to create a cross-platform solution and remove
        all the ifdefs (see bug 110978).

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
        * Platform/CoreIPC/Connection.h:
        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
        (CoreIPC::Connection::createPlatformConnection):
        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::createWebProcessConnection):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::ensureNetworkProcessConnection):

2013-12-09  Kwang Yul Seo  <skyul@company100.net>

        [WK2][Soup] Support cache model in NetworkProcess
        https://bugs.webkit.org/show_bug.cgi?id=118343

        Reviewed by Carlos Garcia Campos.

        Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <ossy@webkit.org>.

        Copied cache model code from WebProcess.
        NetworkProcess is configured not to use the WebCore memory cache.

        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::getCacheDiskFreeSize):
        (WebKit::getMemorySize):
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        Initialize soup cache.
        (WebKit::NetworkProcess::platformSetCacheModel):
        Copied code from WebProcess::platformSetCacheModel but removed
        WebCore memory cache initialization because NetworkProcess does not use
        the WebCore memory cache.
        (WebKit::NetworkProcess::clearCacheForAllOrigins):
        Copied code from WebProcess::clearCacheForAllOrigins.
        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
        Copied initialization code from WebProcessMainGtk.cpp.
        (WebKit::NetworkProcessMain):
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformSetCacheModel):
        Don't set the disk cache if NetworkProcess is used.
        (WebKit::WebProcess::platformClearResourceCaches):
        Don't clear the non-existing disk cache. (if NetworkProcess is used)
        (WebKit::WebProcess::platformInitializeWebProcess):
        Don't initialize the disk cache if NetworkProcess is used.

2013-12-09  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] run-webkit-tests may DOS the system, specially in debug builds
        https://bugs.webkit.org/show_bug.cgi?id=125436

        Reviewed by Martin Robinson.

        * GNUmakefile.am: use -no-fast-install for WebKitWebProcess and WebKitPluginProcess so
        they do not need to be relinked the first time they are executed in-tree.

2013-12-09  Zan Dobersek  <zdobersek@igalia.com>

        [GTK][WK2] Move WebFullScreenManagerProxyGtk logic to PageClientImpl
        https://bugs.webkit.org/show_bug.cgi?id=125440

        Reviewed by Martin Robinson.

        Make PageClientImpl a WebFullScreenManagerProxyClient. This brings the GTK port in line
        with changes in r160296 and fixes the WK2 build for that port.

        * GNUmakefile.list.am:
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::fullScreenManagerProxyClient):
        (WebKit::PageClientImpl::closeFullScreenManager):
        (WebKit::PageClientImpl::isFullScreen):
        (WebKit::PageClientImpl::enterFullScreen):
        (WebKit::PageClientImpl::exitFullScreen):
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreateWebPage):
        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:

2013-12-09  Brian Holt  <brian.holt@samsung.com>

        [WK2][Gtk] Add support for ENABLE_NETWORK_PROCESS to the build system
        https://bugs.webkit.org/show_bug.cgi?id=118231

        Reviewed by Martin Robinson.

        Original patch by Kwang Yul Seo  <skyul@company100.net>.

        Add source files to the build system and build NetworkProcess executable.

        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
        * UIProcess/gtk/WebContextGtk.cpp:
        (WebKit::WebContext::platformInitializeWebProcess):

2013-12-08  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Move FullScreenManager logic to WebViewEfl
        https://bugs.webkit.org/show_bug.cgi?id=125438

        Reviewed by Gyuyoung Kim.

        This patch fixed build break on EFL port Since r160296.

        * PlatformEfl.cmake: Removed WebFullScreenManagerProxyEfl.cpp.
        * UIProcess/WebFullScreenManagerProxy.cpp: Removed EFL specific code.
        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
        * UIProcess/WebFullScreenManagerProxy.h: Ditto.
        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Removed file and moved logic to WebViewEfl.
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebViewEfl::WebViewEfl):
        (WebKit::WebViewEfl::setEwkView): Removed call to setWebView().
        (WebKit::WebViewEfl::fullScreenManagerProxyClient):
        (WebKit::WebViewEfl::isFullScreen):
        (WebKit::WebViewEfl::enterFullScreen):
        (WebKit::WebViewEfl::exitFullScreen):
        * UIProcess/efl/WebViewEfl.h:

2013-12-08  Sam Weinig  <sam@webkit.org>

        Remove WebContext::sharedProcessContext()
        https://bugs.webkit.org/show_bug.cgi?id=125437

        Reviewed by Dan Bernstein.

        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebContext.h:

2013-12-08  Sam Weinig  <sam@webkit.org>

        Fix the iOS build.

        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        * UIProcess/ios/WebFullScreenManagerProxyIOS.mm: Removed.

2013-12-08  Sam Weinig  <sam@webkit.org>

        [Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client
        https://bugs.webkit.org/show_bug.cgi?id=125427

        Reviewed by Dan Bernstein.

        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::fullScreenManagerProxyClient):
        (WebKit::PageClientImpl::closeFullScreenManager):
        (WebKit::PageClientImpl::isFullScreen):
        (WebKit::PageClientImpl::enterFullScreen):
        (WebKit::PageClientImpl::exitFullScreen):
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        Implement the new client.

        * UIProcess/API/mac/WKView.mm:
        Remove call to setWebView() and do some cleanup.

        * UIProcess/API/mac/WKViewInternal.h:
        Convert to property syntax and re-arrange.

        * UIProcess/PageClient.h:
        Expose access to the new client.

        * UIProcess/WebFullScreenManagerProxy.cpp:
        (WebKit::WebFullScreenManagerProxy::create):
        (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
        (WebKit::WebFullScreenManagerProxy::invalidate):
        (WebKit::WebFullScreenManagerProxy::close):
        (WebKit::WebFullScreenManagerProxy::isFullScreen):
        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
        * UIProcess/WebFullScreenManagerProxy.h:
        Use the new client.

        * UIProcess/WebPageProxy.cpp:
        Pass the new client.

        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
        Removed. Now goes through the client.

        * WebKit2.xcodeproj/project.pbxproj:
        Remove WebFullScreenManagerProxyMac.mm.

2013-12-07  Sam Weinig  <sam@webkit.org>

        [Cocoa] Remove webProcessPlugInInitialize: from the WKWebProcessPlugIn protocol
        https://bugs.webkit.org/show_bug.cgi?id=125405

        Reviewed by Dan Bernstein.

        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):

2013-12-08  Brian Holt  <brian.holt@samsung.com>

        [WK2] Guard include of SecItemShim.h with ENABLE(SEC_ITEM_SHIM)
        https://bugs.webkit.org/show_bug.cgi?id=125415

        Reviewed by Gustavo Noronha Silva.

        * NetworkProcess/NetworkProcess.cpp:
        * UIProcess/Network/NetworkProcessProxy.cpp:

2013-12-07  Sam Weinig  <sam@webkit.org>

        [Cocoa] Make WKWebProcessPlugInController work with WKObject wrapping
        https://bugs.webkit.org/show_bug.cgi?id=125404

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * Shared/mac/ObjCObjectGraphCoders.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        (-[WKWebProcessPlugInController dealloc]):
        (didCreatePage):
        (willDestroyPage):
        (-[WKWebProcessPlugInController _setPrincipalClassInstance:]):
        (-[WKWebProcessPlugInController API::]):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
        (WebKit::wrapper):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):

2013-12-07  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WebData has a generic wrapper
        https://bugs.webkit.org/show_bug.cgi?id=125402

        Reviewed by Sam Weinig.

        Added WKNSData, an NSData subclass that conforms to WKObject and wraps a WebData.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate a WKNSData if the API::Object is data.
        * Shared/Cocoa/WKNSData.h: Added.
        (WebKit::wrapper): Added. Returns a WebData’s wrapper as an NSData.
        * Shared/Cocoa/WKNSData.mm: Added.
        (-[WKNSData dealloc]): Calls the WebData destructor.
        (-[WKNSData length]): Added.
        (-[WKNSData bytes]): Added.
        (-[WKNSData copyWithZone:]): Retains self.
        (-[WKNSData _apiObject]): Returns the wrapped WebData.
        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

2013-12-07  Sam Weinig  <sam@webkit.org>

        [Cocoa] Make WKWebProcessPlugInBrowserContextController work with WKObject wrapping
        https://bugs.webkit.org/show_bug.cgi?id=125403

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        (didCreatePage):
        (willDestroyPage):
        (setUpBundleClient):
        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundle:]):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (-[WKWebProcessPlugInBrowserContextController dealloc]):
        (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
        (-[WKWebProcessPlugInBrowserContextController selectedRange]):
        (-[WKWebProcessPlugInBrowserContextController API::]):
        (-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
        (-[WKWebProcessPlugInBrowserContextController handle]):
        (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
        (WebKit::wrapper):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):

2013-12-07  Gustavo Noronha Silva  <gns@gnome.org>

        Fix API test expectation following 160220.

        Rubber-stamped by Martin Robinson.

        * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:
        (testAtspiBasicHierarchy): check for ATK_ROLE_DOCUMENT_WEB instead of ATK_ROLE_DOCUMENT_FRAME.

2013-12-06  Enrica Casucci  <enrica@apple.com>

        Make insertText message asynchronous for iOS.

        Reviewed by Benjamin Poulain.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::insertText):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::insertText):

2013-12-05  Jer Noble  <jer.noble@apple.com>

        [MSE] Add a runtime-setting for the MediaSource constructor.
        https://bugs.webkit.org/show_bug.cgi?id=125336

        Reviewed by Eric Carlson.

        Add a private WKPreferences API to control the WebCore mediaSourceEnabled setting.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetMediaSourceEnabled):
        (WKPreferencesGetMediaSourceEnabled):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2013-12-06  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/15606872> REGRESSION (r160148): Mail throws an exception during launch
        https://bugs.webkit.org/show_bug.cgi?id=125362

        Reviewed by Sam Weinig.

        There were two problems in how WKConnection was made to work with WKObject: first,
        API::Object::newObject() was not updated to allocate the correct wrapper class, and second,
        WebConnection has subclasses with additional data members, which don’t fit in the object
        storage ivar.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Changed to allocate a WKConnection of the required size.
        * UIProcess/API/Cocoa/WKConnection.mm:
        Removed _connection ivar.
        (-[WKConnection dealloc]): Changed to use -_connection accessor instead of ivar.
        (-[WKConnection setDelegate:]): Ditto.
        (-[WKConnection sendMessageWithName:body:]): Ditto.
        (-[WKConnection remoteObjectRegistry]): Ditto.
        (-[WKConnection _connection]): Added.
        (-[WKConnection _apiObject]): Changed to return the object in the instance extra storage.

2013-12-06  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add load delegate methods for responding to authentication challenges
        https://bugs.webkit.org/show_bug.cgi?id=125333

        Reviewed by Darin Adler.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate a WKNSURLAuthenticationChallenge if the object is an
        AuthenticationChallengeProxy.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (canAuthenticateAgainstProtectionSpaceInFrame): Implemented this WKPageLoaderClient callback
        by calling the load delegate.
        (didReceiveAuthenticationChallengeInFrame): Ditto.
        (setUpPageLoaderClient): Set the above callbacks in the client structure.

        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Added. Declares two new
        delegate methods.

        * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.h: Added.
        (WebKit::wrapper): Added. Returns an AuthenticationChallengeProxy’s wrapper as an
        NSURLAuthenticationChallenge.
        * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm: Added.
        (-[WKNSURLAuthenticationChallenge _web_createTarget]): Override this WKObject method to
        return a copy of the challenge with the sender set to a shared instance of
        WKNSURLAuthenticationChallengeSender.
        (-[WKNSURLAuthenticationChallenge _web_authenticationChallengeProxy]): Added. Returns the
        wrapped object.
        (-[WKNSURLAuthenticationChallengeSender cancelAuthenticationChallenge:]): Added. Calls
        AuthenticationDecisionListener::cancel.
        (-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):
        Added. Calls AuthenticationDecisionListener::useCredential, passing nullptr.
        (-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Added.
        Calls AuthenticationDecisionListener::useCredential, passing the credential.

        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

2013-12-05  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Introduce IMAGE_TYPE_CASTS, and use it
        https://bugs.webkit.org/show_bug.cgi?id=125330

        Reviewed by Ryosuke Niwa.

        As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
        BitmapImage, SVGImage can use it to generate toFoo() type case helper functions.

        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::pluginSnapshotTimerFired):

2013-12-05  Mark Lam  <mark.lam@apple.com>

        C Loop LLINT layout test regressions.
        https://bugs.webkit.org/show_bug.cgi?id=125314.

        Reviewed by Geoffrey Garen.

        The regression was due to the ENABLE_LLINT_C_LOOP flag not being included
        in the build of the WebKit and WebKit2 components. As a result, some fields
        in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and
        WebKit2. This resulted in VM::m_initializingObjectClass having 2 different
        offsets depending on whether it is accessed from WebCore and JSC or from
        WebKit and WebKit2, and chaos ensued.

        This issue will manifest when we pass --cloop to build-webkit.
        The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit
        and WebKit2.

        * Configurations/FeatureDefines.xcconfig:

2013-12-04  Oliver Hunt  <oliver@apple.com>

        Refactor static getter function prototype to include thisValue in addition to the base object
        https://bugs.webkit.org/show_bug.cgi?id=124461

        Reviewed by Geoffrey Garen.

        Update the WK2 JSC usage to the new static getter API

        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
        (WebKit::callMethod):
        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
        (WebKit::callNPJSObject):
        (WebKit::constructWithConstructor):
        (WebKit::JSNPObject::propertyGetter):
        (WebKit::JSNPObject::methodGetter):
        * WebProcess/Plugins/Netscape/JSNPObject.h:
        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
        (WebKit::NPRuntimeObjectMap::finalize):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::frameForContext):
        (WebKit::WebFrame::counterValue):

2013-12-05  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r160133.
        http://trac.webkit.org/changeset/160133
        https://bugs.webkit.org/show_bug.cgi?id=125325

        broke bindings tests on all the bots (Requested by thorton on
        #webkit).

        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
        (WebKit::callMethod):
        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
        (WebKit::callNPJSObject):
        (WebKit::constructWithConstructor):
        (WebKit::JSNPObject::propertyGetter):
        (WebKit::JSNPObject::methodGetter):
        * WebProcess/Plugins/Netscape/JSNPObject.h:
        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
        (WebKit::NPRuntimeObjectMap::finalize):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::counterValue):

2013-12-05  Chris Fleizach  <cfleizach@apple.com>

        AX: Seed: safari extension installation crashes safari under voice over and freezes voice over
        https://bugs.webkit.org/show_bug.cgi?id=125308

        Reviewed by Anders Carlsson.

        Much like Javascript alerts, we need to allow accessibility clients to continue to interact with the WebProcess thread
        when using dispatchDecidePolicyResponses.

        * Platform/CoreIPC/MessageSender.h:
        (CoreIPC::MessageSender::sendSync):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

2013-12-05  Anders Carlsson  <andersca@apple.com>

        "Use Selection for Find" doesn't work in PDF viewed in Safari
        https://bugs.webkit.org/show_bug.cgi?id=125319
        <rdar://problem/15486983>

        Reviewed by Tim Horton.

        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]):
        Pass NSGeneralPboard to writeItemsToPasteboard.

        (WebKit::PDFPlugin::handleEditingCommand):
        Handle takeFindStringFromSelection by getting the current selection string and writing it to the find pasteboard.

        (WebKit::PDFPlugin::isEditingCommandEnabled):
        Handle takeFindStringFromSelection.

        (WebKit::PDFPlugin::writeItemsToPasteboard):
        Update this to take a pasteboard name.

2013-12-05  Anders Carlsson  <andersca@apple.com>

        WebKit2 API should use weak ownership for delegate properties rather than assign
        https://bugs.webkit.org/show_bug.cgi?id=125316
        <rdar://problem/15560614>

        Reviewed by Dan Bernstein.

        Use WeakObjCPtr for the delegates.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (didStartProvisionalLoadForFrame):
        (didReceiveServerRedirectForProvisionalLoadForFrame):
        (didFailProvisionalLoadWithErrorForFrame):
        (didCommitLoadForFrame):
        (didFinishLoadForFrame):
        (didFailLoadWithErrorForFrame):
        (didStartProgress):
        (didChangeProgress):
        (didFinishProgress):
        (didChangeBackForwardList):
        (setUpPagePolicyClient):
        (-[WKBrowsingContextController loadDelegate]):
        (-[WKBrowsingContextController setLoadDelegate:]):
        (-[WKBrowsingContextController policyDelegate]):
        (-[WKBrowsingContextController setPolicyDelegate:]):
        (-[WKBrowsingContextController historyDelegate]):
        (-[WKBrowsingContextController setHistoryDelegate:]):
        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
        * UIProcess/API/Cocoa/WKConnection.mm:
        (didReceiveMessage):
        (didClose):
        (-[WKConnection delegate]):
        (-[WKConnection setDelegate:]):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (didCreateConnection):
        (getInjectedBundleInitializationUserData):
        (didNavigateWithNavigationData):
        (didPerformClientRedirect):
        (didPerformServerRedirect):
        (didUpdateHistoryTitle):
        (-[WKProcessGroup delegate]):
        (-[WKProcessGroup setDelegate:]):

2013-12-05  Anders Carlsson  <andersca@apple.com>

        Tweak WeakObjCPtr
        https://bugs.webkit.org/show_bug.cgi?id=125311

        Reviewed by Darin Adler.

        Make it possible to use WeakObjCPtr with pointer types such as id. Also,
        add a getAutoreleased() member that will load the weak pointer and retain + autorelease it.

        * Shared/mac/WeakObjCPtr.h:
        (WebKit::WeakObjCPtr::WeakObjCPtr):
        (WebKit::WeakObjCPtr::operator=):
        (WebKit::WeakObjCPtr::get):
        (WebKit::WeakObjCPtr::getAutoreleased):

2013-12-05  Zan Dobersek  <zdobersek@igalia.com>

        [GTK][WK2] Clean up WorkQueueGtk
        https://bugs.webkit.org/show_bug.cgi?id=125177

        Reviewed by Carlos Garcia Campos.

        Clean up the GTK implementation of the WorkQueue class a bit.
        - registerSocketEventHandler doesn't take a condition argument anymore -- G_IO_IN was the only condition ever passed into
        that method so that is now the hard-coded default.
        - Clean up the declarations of GTK-specific bits in the WorkQueue header file. SocketEventSourceIterator typedef is removed
        and auto will be used instead.
        - WorkQueue::dispatchOnTermination and WorkQueue::SocketEventSource::performWorkOnTermination methods were unused and now removed.
        - WorkQueue::SocketEventSource doesn't expect a GIO condition anymore, and WorkQueue::SocketEventSource::checkCondition is removed.
        G_IO_IN condition was the only one used is now hard-coded into the check in WorkQueue::SocketEventSource::eventCallback.
        - Removed an unnecessary non-null assertion for the heap-allocated SocketEventSource.
        - Removed a technically duplicated assertion that a file descriptor is already present in the event sources map. Moved the
        assertion before the HashMap::find() call.
        - Removed two unnecessary assertions that non-null values are being returned by g_idle_source_new() and g_timeout_source_new().
        Both functions are guaranteed to return non-null values.

        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
        (CoreIPC::Connection::open):
        * Platform/WorkQueue.h:
        * Platform/gtk/WorkQueueGtk.cpp:
        (WorkQueue::SocketEventSource::SocketEventSource):
        (WorkQueue::SocketEventSource::eventCallback):
        (WorkQueue::registerSocketEventHandler):
        (WorkQueue::unregisterSocketEventHandler):
        (WorkQueue::dispatch):
        (WorkQueue::dispatchAfterDelay):

2013-12-04  Gergo Balogh  <geryxyz@inf.u-szeged.hu>

        Report error when #else is used in message receiver generator's input.
        https://bugs.webkit.org/show_bug.cgi?id=124147

        Reviewed by Csaba Osztrogonác.

        * Scripts/webkit2/messages_unittest.py:
        (UnsupportedPrecompilerDirectiveTest):
        (UnsupportedPrecompilerDirectiveTest.test_error_at_else):
        (UnsupportedPrecompilerDirectiveTest.test_error_at_elif):
        * Scripts/webkit2/parser.py:
        (parse):

2013-12-04  Sam Weinig  <sam@webkit.org>

        [Cocoa] Make WKConnection work with WKObject wrapping
        https://bugs.webkit.org/show_bug.cgi?id=125266

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKConnection.mm:
        (-[WKConnection dealloc]):
        (didReceiveMessage):
        (didClose):
        (setUpClient):
        (-[WKConnection delegate]):
        (-[WKConnection setDelegate:]):
        (-[WKConnection sendMessageWithName:body:]):
        (-[WKConnection remoteObjectRegistry]):
        (-[WKConnection API::]):
        * UIProcess/API/Cocoa/WKConnectionInternal.h:
        (WebKit::wrapper):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (didCreateConnection):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
        (-[WKWebProcessPlugInController connection]):
        (-[WKWebProcessPlugInController _bundleRef]):

2013-12-04  Anders Carlsson  <andersca@apple.com>

        Add a WeakObjCPtr class
        https://bugs.webkit.org/show_bug.cgi?id=125267

        Reviewed by Geoffrey Garen.

        WeakObjCPtr is a zeroing weak reference class template that will be used for delegates.

        * Shared/mac/WeakObjCPtr.h: Added.
        (WebKit::WeakObjCPtr::WeakObjCPtr):
        (WebKit::WeakObjCPtr::~WeakObjCPtr):
        (WebKit::WeakObjCPtr::operator=):
        (WebKit::WeakObjCPtr::get):
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-04  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL build fix after r160135

        * CMakeLists.txt: Added rendering/line to include lists.

2013-12-04  Anders Carlsson  <andersca@apple.com>

        Make the estimatedProgress property observable using KVO
        https://bugs.webkit.org/show_bug.cgi?id=125259

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::PageLoadState):
        (WebKit::PageLoadState::reset):
        (WebKit::PageLoadState::activeURL):
        (WebKit::PageLoadState::estimatedProgress):
        (WebKit::PageLoadState::setPendingAPIRequestURL):
        (WebKit::PageLoadState::clearPendingAPIRequestURL):
        (WebKit::PageLoadState::didStartProgress):
        (WebKit::PageLoadState::didChangeProgress):
        (WebKit::PageLoadState::didFinishProgress):
        * UIProcess/PageLoadState.h:
        Move m_estimatedProgress to the page load state and call the observers when it changes.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::estimatedProgress):
        (WebKit::WebPageProxy::didStartProgress):
        (WebKit::WebPageProxy::didChangeProgress):
        (WebKit::WebPageProxy::didFinishProgress):
        (WebKit::WebPageProxy::resetState):
        Call through to m_pageLoadState.

        * UIProcess/WebPageProxy.h:

2013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [WK2] Including SecItemShim.h should be guarded by ENABLE(SEC_ITEM_SHIM)
        https://bugs.webkit.org/show_bug.cgi?id=125255

        Reviewed by Anders Carlsson.

        * UIProcess/WebProcessProxy.cpp:
        * WebProcess/WebProcess.cpp:

2013-12-04  Oliver Hunt  <oliver@apple.com>

        Refactor static getter function prototype to include thisValue in addition to the base object
        https://bugs.webkit.org/show_bug.cgi?id=124461

        Reviewed by Geoffrey Garen.

        Update the WK2 JSC usage to the new static getter API

        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
        (WebKit::callMethod):
        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
        (WebKit::callNPJSObject):
        (WebKit::constructWithConstructor):
        (WebKit::JSNPObject::propertyGetter):
        (WebKit::JSNPObject::methodGetter):
        * WebProcess/Plugins/Netscape/JSNPObject.h:
        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
        (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
        (WebKit::NPRuntimeObjectMap::finalize):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::frameForContext):
        (WebKit::WebFrame::counterValue):

2013-12-04  Anders Carlsson  <andersca@apple.com>

        Add a loading property to WKBrowsingContextController
        https://bugs.webkit.org/show_bug.cgi?id=125256

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h:
        Add loading property.

        * UIProcess/API/Cocoa/WKBrowsingContextConteroller.mm:
        Implement willChangeIsLoading and didChangeIsLoading and call the relevant KVO methods.

        (-[WKBrowsingContextController isLoading]):
        Call through to the PageLoadState.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::reset):
        Use setState.

        (WebKit::PageLoadState::isLoading):
        Call isLoadingState.

        (WebKit::PageLoadState::didStartProvisionalLoad):
        Use setState.

        (WebKit::PageLoadState::didFailProvisionalLoad):
        Use setState.

        (WebKit::PageLoadState::didCommitLoad):
        Use setState.

        (WebKit::PageLoadState::didFinishLoad):
        Use setState.

        (WebKit::PageLoadState::didFailLoad):
        Use setState.

        (WebKit::PageLoadState::isLoadingState):
        Helper function for determining whether a state is a loading state or not.

        (WebKit::PageLoadState::setState):
        If setting the state will cause "isLoading" to change, call out to the observers.

        * UIProcess/PageLoadState.h:

2013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting API clients
        https://bugs.webkit.org/show_bug.cgi?id=125231

        Reviewed by Anders Carlsson.

        After r159988, WKClients have to be instantiated with a specific
        version of that client and its Base field has to used when setting it.
        Eg:

            WKFullScreenClientV0 wkClient = {
                {
                    0, // version
                    this, // clientInfo
                },
                    willEnterFullScreen,
                    willExitFullScreen
            };
            WKViewSetFullScreenClientGtk(this, &wkClient.base);

        So we don't need the reinterpret_casts introduced in r160075.

        * UIProcess/API/gtk/WebKitFullscreenClient.cpp:
        (attachFullScreenClientToView): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base
        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
        (attachRequestManagerClientToContext): Ditto.
        * UIProcess/API/gtk/WebKitTextChecker.cpp:
        (WebKitTextChecker::WebKitTextChecker): Ditto.
        * UIProcess/API/gtk/WebKitWebInspector.cpp:
        (webkitWebInspectorCreate): Ditto.
        * UIProcess/efl/BatteryProvider.cpp:
        (BatteryProvider::BatteryProvider): Ditto.
        * UIProcess/efl/NetworkInfoProvider.cpp:
        (NetworkInfoProvider::NetworkInfoProvider): Ditto.
        * UIProcess/efl/PageUIClientEfl.cpp:
        (WebKit::PageUIClientEfl::PageUIClientEfl): Ditto.
        * UIProcess/efl/RequestManagerClientEfl.cpp:
        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl): Ditto.
        * UIProcess/efl/TextCheckerClientEfl.cpp:
        (TextCheckerClientEfl::TextCheckerClientEfl): Ditto.
        * UIProcess/efl/VibrationClientEfl.cpp:
        (VibrationClientEfl::VibrationClientEfl): Ditto.
        * UIProcess/efl/ViewClientEfl.cpp:
        (WebKit::ViewClientEfl::ViewClientEfl): Ditto.

2013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [GTK][WK2] Fix build after r160104
        https://bugs.webkit.org/show_bug.cgi?id=125240

        Reviewed by Anders Carlsson.

        Using specific version of API client when instantiating them.
        Applied that same change to the following files:

        * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
        * UIProcess/API/gtk/WebKitCookieManager.cpp:
        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
        * UIProcess/API/gtk/WebKitFindController.cpp:
        * UIProcess/API/gtk/WebKitFormClient.cpp:
        * UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
        * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
        * UIProcess/API/gtk/WebKitUIClient.cpp:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

2013-12-04  Dan Bernstein  <mitz@apple.com>

        Fixed the 32-bit Mac build.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData):

2013-12-04  Dan Bernstein  <mitz@apple.com>

        [Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder should extract it from NSURLErrorFailingURLPeerTrustErrorKey
        https://bugs.webkit.org/show_bug.cgi?id=125251

        Reviewed by Anders Carlsson.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData): If the user info doesn’t include
        NSURLErrorFailingURLPeerTrustErrorKey, copy the peer certificate chain from the peer trust
        under NSURLErrorFailingURLPeerTrustErrorKey. On the decoding side, it will appear under the
        NSURLErrorFailingURLPeerTrustErrorKey, because a trust object can’t be fully serialized.

2013-12-04  Dan Bernstein  <mitz@apple.com>

        Replace USE(SECURITY_FRAMEWORK) with finer-grained defines
        https://bugs.webkit.org/show_bug.cgi?id=125242

        Reviewed by Sam Weinig.

        * Configurations/WebKit2.xcconfig: Removed “-framework Security” from the linker flags, now
        that it’s included in the target’s Link Binary with Libraries build phase.
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess): Ditto.
        * Shared/Authentication/AuthenticationManager.cpp: Changed to use HAVE(SEC_IDENTITY).
        * Shared/Authentication/mac/AuthenticationManager.mac.mm: Ditto.
        * Shared/cf/ArgumentCodersCF.cpp:
        (CoreIPC::typeFromCFTypeRef): Removed use of USE(SECURITY_FRAMEWORK) since all CF platforms
        use it. Added HAVE(SEC_KEYCHAIN) where needed.
        (CoreIPC::encode): Ditto.
        (CoreIPC::decode): Ditto.
        * Shared/cf/ArgumentCodersCF.h: Ditto.
        * Shared/mac/SecItemShim.cpp: Chanegd to use ENABLE(SEC_ITEM_SHIM).
        * Shared/mac/SecItemShim.h: Ditto.
        * Shared/mac/SecItemShim.messages.in: Ditto.
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::connectionWillOpen): Ditto.
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::connectionWillOpen): Ditto.
        * UIProcess/mac/SecItemShimProxy.cpp: Ditto.
        * UIProcess/mac/SecItemShimProxy.h: Ditto,
        * UIProcess/mac/SecItemShimProxy.messages.in: Ditto.
        * WebKit2.xcodeproj/project.pbxproj: Link Security.framework unconditionally.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).
        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformInitializeProcess): Ditto.
        * config.h: Defined ENABLE_SEC_ITEM_SHIM.

2013-12-04  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL][WK2] Buildfix after r160104
        https://bugs.webkit.org/show_bug.cgi?id=125233

        Reviewed by Anders Carlsson.

        * UIProcess/API/efl/ewk_cookie_manager.cpp:
        (EwkCookieManager::EwkCookieManager):
        * UIProcess/API/efl/ewk_favicon_database.cpp:
        (EwkFaviconDatabase::EwkFaviconDatabase):
        * UIProcess/efl/ContextHistoryClientEfl.cpp:
        (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
        * UIProcess/efl/ContextMenuClientEfl.cpp:
        (ContextMenuClientEfl::ContextMenuClientEfl):
        * UIProcess/efl/DownloadManagerEfl.cpp:
        (WebKit::DownloadManagerEfl::DownloadManagerEfl):
        * UIProcess/efl/FindClientEfl.cpp:
        (WebKit::FindClientEfl::FindClientEfl):
        * UIProcess/efl/FormClientEfl.cpp:
        (WebKit::FormClientEfl::FormClientEfl):
        * UIProcess/efl/PageLoadClientEfl.cpp:
        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
        * UIProcess/efl/PagePolicyClientEfl.cpp:
        (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):
        * UIProcess/efl/PageUIClientEfl.cpp:
        (WebKit::PageUIClientEfl::PageUIClientEfl):

2013-12-03  Anders Carlsson  <andersca@apple.com>

        Deprecate all unversioned client structs in favor of having explicit versioned structs
        https://bugs.webkit.org/show_bug.cgi?id=125203

        Reviewed by Dan Bernstein.

        Deprecate all the "current version" enums and unversioned client structs.

        * Shared/API/c/WKConnectionRef.cpp:
        (WKConnectionSetConnectionClient):
        * Shared/API/c/WKConnectionRef.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetClient):
        (WKContextSetInjectedBundleClient):
        (WKContextSetHistoryClient):
        (WKContextSetDownloadClient):
        (WKContextSetConnectionClient):
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKContextConnectionClient.h:
        * UIProcess/API/C/WKContextDownloadClient.h:
        * UIProcess/API/C/WKContextHistoryClient.h:
        * UIProcess/API/C/WKContextInjectedBundleClient.h:
        * UIProcess/API/C/WKCookieManager.cpp:
        (WKCookieManagerSetClient):
        * UIProcess/API/C/WKCookieManager.h:
        * UIProcess/API/C/WKDatabaseManager.cpp:
        (WKDatabaseManagerSetClient):
        * UIProcess/API/C/WKDatabaseManager.h:
        * UIProcess/API/C/WKGeolocationManager.cpp:
        (WKGeolocationManagerSetProvider):
        * UIProcess/API/C/WKGeolocationManager.h:
        * UIProcess/API/C/WKIconDatabase.cpp:
        (WKIconDatabaseSetIconDatabaseClient):
        * UIProcess/API/C/WKIconDatabase.h:
        * UIProcess/API/C/WKOriginDataManager.cpp:
        (WKOriginDataManagerSetChangeClient):
        * UIProcess/API/C/WKOriginDataManager.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageContextMenuClient):
        (WKPageSetPageFindClient):
        (WKPageSetPageFindMatchesClient):
        (WKPageSetPageFormClient):
        (WKPageSetPageLoaderClient):
        (WKPageSetPagePolicyClient):
        (WKPageSetPageUIClient):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKPageContextMenuClient.h:
        * UIProcess/API/C/WKPageFindClient.h:
        * UIProcess/API/C/WKPageFindMatchesClient.h:
        * UIProcess/API/C/WKPageFormClient.h:
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/C/WKPagePolicyClient.h:
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPagePolicyClient):
        * UIProcess/API/Cocoa/WKConnection.mm:
        (setUpClient):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (setUpConnectionClient):
        (setUpInectedBundleClient):
        (setUpHistoryClient):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::createNewPage):
        (WebKit::WebUIClient::mouseDidMoveOverElement):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleSetClient):
        * WebProcess/InjectedBundle/API/c/WKBundle.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageSetContextMenuClient):
        (WKBundlePageSetEditorClient):
        (WKBundlePageSetFormClient):
        (WKBundlePageSetPageLoaderClient):
        (WKBundlePageSetResourceLoadClient):
        (WKBundlePageSetPolicyClient):
        (WKBundlePageSetUIClient):
        (WKBundlePageSetFullScreenClient):
        (WKBundlePageSetDiagnosticLoggingClient):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
        (WKBundlePageOverlayCreate):
        (WKBundlePageOverlaySetAccessibilityClient):
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h:
        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
        (WKBundlePageBannerCreateBannerWithCALayer):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        (setUpBundleClient):

2013-12-04  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>

        Fix build warnings in DownloadAuthenticationClient.cpp
        https://bugs.webkit.org/show_bug.cgi?id=124920

        Reviewed by Alexey Proskuryakov.

        Fix unused parameter warnings in DownloadAuthenticationClient.cpp

        * Shared/Downloads/DownloadAuthenticationClient.cpp:
        (WebKit::DownloadAuthenticationClient::receivedCredential):
        (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
        (WebKit::DownloadAuthenticationClient::receivedCancellation):

2013-12-03  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
        https://bugs.webkit.org/show_bug.cgi?id=124613

        Reviewed by Timothy Hatcher.

        * WebProcess/WebCoreSupport/WebInspectorClient.h:
        * WebProcess/WebPage/WebInspector.cpp:
        Updated includes.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/com.apple.WebProcess.sb.in:
        Allow the WebProcess to access the "com.apple.webinspector" named
        XPC service to expose its WebCore::Page's to remote debuggers.

2013-12-04  David Farler  <dfarler@apple.com>

        Use All-iOS target when building WK2 on iOS
        <rdar://problem/15574494>

        Reviewed by David Kilzer.

        * Makefile:
        Add -target All-iOS to OTHER_OPTIONS if iphoneos or iphonesimulator
        is in the SDKROOT make option.

2013-12-04  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [EFL][WK2] Fix build after API::Client changes
        https://bugs.webkit.org/show_bug.cgi?id=125206

        Reviewed by Csaba Osztrogonác.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Shared/API/c/WKDeclarationSpecifiers.h:
        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
        (WKViewSetViewClient):
        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
        * UIProcess/API/C/WKBatteryManager.cpp:
        (WKBatteryManagerSetProvider):
        * UIProcess/API/C/WKBatteryManager.h:
        * UIProcess/API/C/WKNetworkInfoManager.cpp:
        (WKNetworkInfoManagerSetProvider):
        * UIProcess/API/C/WKNetworkInfoManager.h:
        * UIProcess/API/C/WKTextChecker.cpp:
        (WKTextCheckerSetClient):
        * UIProcess/API/C/WKTextChecker.h:
        * UIProcess/API/C/WKVibration.cpp:
        (WKVibrationSetProvider):
        * UIProcess/API/C/WKVibration.h:
        * UIProcess/API/C/efl/WKPageEfl.cpp:
        (WKPageSetUIPopupMenuClient):
        * UIProcess/API/C/efl/WKPageEfl.h:
        * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
        (WKViewSetFullScreenClientGtk):
        * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
        * UIProcess/API/C/gtk/WKInspectorClientGtk.cpp:
        (WKInspectorSetInspectorClientGtk):
        * UIProcess/API/C/gtk/WKInspectorClientGtk.h:
        * UIProcess/API/C/soup/WKSoupRequestManager.cpp:
        (WKSoupRequestManagerSetClient):
        * UIProcess/API/C/soup/WKSoupRequestManager.h:
        * UIProcess/API/gtk/WebKitFullscreenClient.cpp:
        (attachFullScreenClientToView):
        * UIProcess/API/gtk/WebKitRequestManagerClient.cpp:
        (attachRequestManagerClientToContext):
        * UIProcess/API/gtk/WebKitTextChecker.cpp:
        (WebKitTextChecker::WebKitTextChecker):
        * UIProcess/API/gtk/WebKitWebInspector.cpp:
        (webkitWebInspectorCreate):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseInitializeFullScreenClient):
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::initializeClient):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/CoordinatedGraphics/WebViewClient.cpp:
        (WebKit::WebViewClient::viewNeedsDisplay):
        (WebKit::WebViewClient::didChangeContentsSize):
        (WebKit::WebViewClient::webProcessCrashed):
        (WebKit::WebViewClient::webProcessDidRelaunch):
        (WebKit::WebViewClient::didChangeContentsPosition):
        (WebKit::WebViewClient::didRenderFrame):
        (WebKit::WebViewClient::didCompletePageTransition):
        (WebKit::WebViewClient::didChangeViewportAttributes):
        (WebKit::WebViewClient::didChangeTooltip):
        (WebKit::WebViewClient::didFindZoomableArea):
        (WebKit::WebViewClient::doneWithTouchEvent):
        * UIProcess/CoordinatedGraphics/WebViewClient.h:
        * UIProcess/WebBatteryManagerProxy.cpp:
        (WebKit::WebBatteryManagerProxy::initializeProvider):
        * UIProcess/WebBatteryManagerProxy.h:
        * UIProcess/WebBatteryProvider.cpp:
        (WebKit::WebBatteryProvider::startUpdating):
        (WebKit::WebBatteryProvider::stopUpdating):
        * UIProcess/WebBatteryProvider.h:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebNetworkInfoManagerProxy.cpp:
        (WebKit::WebNetworkInfoManagerProxy::initializeProvider):
        * UIProcess/WebNetworkInfoManagerProxy.h:
        * UIProcess/WebNetworkInfoProvider.cpp:
        (WebKit::WebNetworkInfoProvider::startUpdating):
        (WebKit::WebNetworkInfoProvider::stopUpdating):
        (WebKit::WebNetworkInfoProvider::bandwidth):
        (WebKit::WebNetworkInfoProvider::isMetered):
        * UIProcess/WebNetworkInfoProvider.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebTextChecker.cpp:
        (WebKit::WebTextChecker::setClient):
        * UIProcess/WebTextChecker.h:
        * UIProcess/WebTextCheckerClient.cpp:
        (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed):
        (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled):
        (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled):
        (WebKit::WebTextCheckerClient::grammarCheckingEnabled):
        (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled):
        (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
        (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag):
        (WebKit::WebTextCheckerClient::checkSpellingOfString):
        (WebKit::WebTextCheckerClient::checkGrammarOfString):
        (WebKit::WebTextCheckerClient::spellingUIIsShowing):
        (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
        (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord):
        (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString):
        (WebKit::WebTextCheckerClient::guessesForWord):
        (WebKit::WebTextCheckerClient::learnWord):
        (WebKit::WebTextCheckerClient::ignoreWord):
        * UIProcess/WebTextCheckerClient.h:
        * UIProcess/WebVibrationProvider.cpp:
        (WebKit::WebVibrationProvider::vibrate):
        (WebKit::WebVibrationProvider::cancelVibration):
        * UIProcess/WebVibrationProvider.h:
        * UIProcess/WebVibrationProxy.cpp:
        (WebKit::WebVibrationProxy::initializeProvider):
        * UIProcess/WebVibrationProxy.h:
        * UIProcess/efl/BatteryProvider.cpp:
        (BatteryProvider::BatteryProvider):
        * UIProcess/efl/NetworkInfoProvider.cpp:
        (NetworkInfoProvider::NetworkInfoProvider):
        * UIProcess/efl/PageUIClientEfl.cpp:
        (WebKit::PageUIClientEfl::PageUIClientEfl):
        * UIProcess/efl/RequestManagerClientEfl.cpp:
        (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
        * UIProcess/efl/TextCheckerClientEfl.cpp:
        (TextCheckerClientEfl::TextCheckerClientEfl):
        * UIProcess/efl/VibrationClientEfl.cpp:
        (VibrationClientEfl::VibrationClientEfl):
        * UIProcess/efl/ViewClientEfl.cpp:
        (WebKit::ViewClientEfl::ViewClientEfl):
        * UIProcess/efl/WebPageProxyEfl.cpp:
        (WebKit::WebPageProxy::initializeUIPopupMenuClient):
        * UIProcess/efl/WebUIPopupMenuClient.cpp:
        (WebUIPopupMenuClient::showPopupMenu):
        (WebUIPopupMenuClient::hidePopupMenu):
        * UIProcess/efl/WebUIPopupMenuClient.h:
        * UIProcess/gtk/WebFullScreenClientGtk.cpp:
        (WebKit::WebFullScreenClientGtk::willEnterFullScreen):
        (WebKit::WebFullScreenClientGtk::willExitFullScreen):
        * UIProcess/gtk/WebFullScreenClientGtk.h:
        * UIProcess/gtk/WebInspectorClientGtk.cpp:
        (WebKit::WebInspectorClientGtk::openWindow):
        (WebKit::WebInspectorClientGtk::didClose):
        (WebKit::WebInspectorClientGtk::bringToFront):
        (WebKit::WebInspectorClientGtk::inspectedURLChanged):
        (WebKit::WebInspectorClientGtk::attach):
        (WebKit::WebInspectorClientGtk::detach):
        (WebKit::WebInspectorClientGtk::didChangeAttachedHeight):
        * UIProcess/gtk/WebInspectorClientGtk.h:
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::initializeInspectorClientGtk):
        * UIProcess/soup/WebSoupRequestManagerClient.cpp:
        (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
        (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):
        * UIProcess/soup/WebSoupRequestManagerClient.h:
        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
        (WebKit::WebSoupRequestManagerProxy::initializeClient):
        * UIProcess/soup/WebSoupRequestManagerProxy.h:

2013-12-03  Simon Fraser  <simon.fraser@apple.com>

        WKContentView should just use InitializeWebKit2()
        https://bugs.webkit.org/show_bug.cgi?id=125209

        Reviewed by Benjamin Poulain.
        
        Rather than calling an motley selection of init fuctions,
        WKContentView should use the one true init function, InitializeWebKit2().

        * Shared/WebKit2Initialize.cpp: On iOS, we need to call InitWebCoreThreadSystemInterface().
        (WebKit::InitializeWebKit2):
        * UIProcess/API/ios/WKContentView.mm: Remove various unused #imports.
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

2013-12-03  Anders Carlsson  <andersca@apple.com>

        PageOverlayClientImpl should be a proper API::Client
        https://bugs.webkit.org/show_bug.cgi?id=125199

        Reviewed by Tim Horton.

        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
        (PageOverlayClientImpl::PageOverlayClientImpl):
        (PageOverlayClientImpl::setAccessibilityClient):
        (PageOverlayClientImpl::willMoveToWebPage):
        (PageOverlayClientImpl::didMoveToWebPage):
        (PageOverlayClientImpl::drawRect):
        (PageOverlayClientImpl::mouseEvent):
        (PageOverlayClientImpl::copyAccessibilityAttributeValue):
        (PageOverlayClientImpl::copyAccessibilityAttributeNames):
        (WKBundlePageOverlayCreate):
        (WKBundlePageOverlaySetAccessibilityClient):

2013-12-03  Anders Carlsson  <andersca@apple.com>

        Initialize the PageBannerClientImpl API::Client
        https://bugs.webkit.org/show_bug.cgi?id=125198

        Reviewed by Tim Horton.

        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
        (PageBannerClientImpl::PageBannerClientImpl):

2013-12-03  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Force repaint
        https://bugs.webkit.org/show_bug.cgi?id=125189
        <rdar://problem/15541789>

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::forceRepaint):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
        Implement WebProcess-synchronous force repaint.
        We don't need the async variant because it is only needed
        to synchronize with the WebProcess-side threaded scrolling
        tree, which is not a component of the remote layer tree model.
        The UI process will not handle the callback until after
        RemoteLayerTreeHost::commit is complete, ensuring that the commit
        is actually done.

2013-12-03  Simon Fraser  <simon.fraser@apple.com>

        Remove some iOS-related documentScale code
        https://bugs.webkit.org/show_bug.cgi?id=125194

        Reviewed by Enrica Casucci.
        
        Upstream bits of removal of Frame::documentScale on iOS.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Whitespace.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::didFinishZooming): Don't call setDocumentScale().
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Remove minimumDocumentScale().
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm: Ditto.
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): We delegate page scaling on iOS.
        (WebKit::RemoteLayerTreeDrawingArea::setDeviceScaleFactor):

2013-12-03  Anders Carlsson  <andersca@apple.com>

        PageBannerClientImpl should be an API::Client
        https://bugs.webkit.org/show_bug.cgi?id=125190

        Reviewed by Tim Horton.

        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
        (PageBannerClientImpl::PageBannerClientImpl):
        (PageBannerClientImpl::~PageBannerClientImpl):
        (WKBundlePageBannerCreateBannerWithCALayer):

2013-12-03  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Give two load delegate methods more conventional names
        https://bugs.webkit.org/show_bug.cgi?id=125183

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (didFailProvisionalLoadWithErrorForFrame): Updated for rename.
        (didFailLoadWithErrorForFrame): Ditto.
        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Renamed
        -browsingContextControllerDidFailProvisionalLoad:withError: to
        -browsingContextController:didFailProvisionalLoadWithError: and
        -browsingContextControllerDidFailLoad:withError: to
        -browsingContextController:didFailLoadWithError:.

2013-12-03  Anders Carlsson  <andersca@apple.com>

        Deprecate WKNotificationProvider
        https://bugs.webkit.org/show_bug.cgi?id=125178

        Reviewed by Sam Weinig.

        * Shared/API/c/WKDeclarationSpecifiers.h:
        Add WK_DEPRECATED and WK_ENUM_DEPRECATED macros so we can things as deprecated.

        * UIProcess/API/C/WKNotificationManager.cpp:
        (WKNotificationManagerSetProvider):
        * UIProcess/API/C/WKNotificationManager.h:
        WKNotificationManagerSetProvider now takes a WKNotificationProviderBase.

        * UIProcess/API/C/WKNotificationProvider.h:
        Deprecate WKNotificationProvider and kWKNotificationProviderCurrentVersion.

2013-12-03  Brady Eidson  <beidson@apple.com>

        Indexed Database work should be done on a non-main queue
        https://bugs.webkit.org/show_bug.cgi?id=125127

        Reviewed by Darin Adler.

        Add a non-main WorkQueue to the DatabaseProcess:
        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::DatabaseProcess):
        (WebKit::DatabaseProcess::queue):
        * DatabaseProcess/DatabaseProcess.h:

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
        (WebKit::UniqueIDBDatabase::enqueueDatabaseQueueRequest): Add an AsyncRequest to the deque then schedule performing
          the requests on the background WorkQueue.
        (WebKit::UniqueIDBDatabase::processDatabaseRequestQueue): Processes all enqueued database requests.
        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata): Renamed from getIDBDatabaseMetadata().
        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadataInternal): For doing i/o on a background queue/thread.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

        Add a creator that takes the abort handler as an argument, and rename requestedCompleted()
        to completeRequest(). This makes more sense in more situations:
        * Shared/AsyncRequest.cpp:
        (WebKit::AsyncRequest::AsyncRequest):
        (WebKit::AsyncRequest::setAbortHandler):
        * Shared/AsyncRequest.h:
        (WebKit::AsyncRequest::completeRequest):

        Update for the AsyncRequest rename:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):

2013-12-03  Tim Horton  <timothy_horton@apple.com>

        Remove TiledCoreAnimationDrawingArea(Proxy)IOS
        https://bugs.webkit.org/show_bug.cgi?id=125176

        Reviewed by Simon Fraser.

        Remove unused code.

        * UIProcess/API/ios/WKContentView.mm:
        * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.h: Removed.
        * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm: Removed.
        * Shared/DrawingAreaInfo.h:
        * WebProcess/WebPage/DrawingArea.cpp:
        (WebKit::DrawingArea::create):
        * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.h: Removed.
        * WebProcess/WebPage/ios/TiledCoreAnimationDrawingAreaIOS.mm: Removed.

2013-12-03  Anders Carlsson  <andersca@apple.com>

        Remove old WebKit::APIClient cruft
        https://bugs.webkit.org/show_bug.cgi?id=125173

        Reviewed by Antti Koivisto.

        * Shared/APIClient.h:
        * Shared/APIClientTraits.cpp: Removed.
        * Shared/APIClientTraits.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:

2013-12-03  Enrica Casucci  <enrica@apple.com>

        Build fix for iOS.

        Reviewed by Tim Horton.

        * Shared/WebCoreArgumentCoders.cpp: Added missing header.

2013-12-03  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>

        Remove WTF:: prefix from types in messages.in files.
        https://bugs.webkit.org/show_bug.cgi?id=124578

        Reviewed by Anders Carlsson.

        The WTF:: prefixes are removed from the messages.in files, and the
        messages.py now handles unprefixed non-template WTF classes (only
        the WTF::String class is used currently). Tests are also updated.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkProcess.messages.in:
        * PluginProcess/PluginControllerProxy.messages.in:
        * PluginProcess/PluginProcess.messages.in:
        * Scripts/webkit2/messages.py:
        (forward_declarations_and_headers):
        (class_template_headers):
        (argument_coder_headers_for_type):
        * Scripts/webkit2/messages_unittest.py:
        (std):
        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
        * UIProcess/Downloads/DownloadProxy.messages.in:
        * UIProcess/Plugins/PluginProcessProxy.messages.in:
        * UIProcess/Storage/StorageManager.messages.in:
        * UIProcess/WebContext.messages.in:
        * UIProcess/WebCookieManagerProxy.messages.in:
        * UIProcess/WebDatabaseManagerProxy.messages.in:
        * UIProcess/WebIconDatabase.messages.in:
        * UIProcess/WebInspectorProxy.messages.in:
        * UIProcess/WebMediaCacheManagerProxy.messages.in:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/WebProcessProxy.messages.in:
        * WebProcess/Cookies/WebCookieManager.messages.in:
        * WebProcess/Geolocation/WebGeolocationManager.messages.in:
        * WebProcess/MediaCache/WebMediaCacheManager.messages.in:
        * WebProcess/Notifications/WebNotificationManager.messages.in:
        * WebProcess/Plugins/PluginProcessConnection.messages.in:
        * WebProcess/Plugins/PluginProxy.messages.in:
        * WebProcess/Storage/StorageAreaMap.messages.in:
        * WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
        * WebProcess/WebPage/WebInspector.messages.in:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebSoupRequestManager.messages.in:

2013-12-03  Anders Carlsson  <andersca@apple.com>

        Tweak build fixes.

        * Shared/APIClient.h:

2013-12-03  Laszlo Vidacs  <lac@inf.u-szeged.hu>

        Fix EFL build error in WK2 (159965)
        https://bugs.webkit.org/show_bug.cgi?id=125153

        Reviewed by Darin Adler.

        * Shared/APIClient.h:

2013-12-03  Seokju Kwon  <seokju@webkit.org>

        Debug build fix : Add '<algorithm>' for 'std::is_sorted' after r159965.
        https://bugs.webkit.org/show_bug.cgi?id=125140

        Reviewed by Csaba Osztrogonác.

        * Shared/APIClient.h:

2013-12-03  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Fix EFL build with INPUT_TYPE_COLOR disabled.
        https://bugs.webkit.org/show_bug.cgi?id=125065

        Reviewed by Zoltan Herczeg.

        * UIProcess/API/efl/ewk_color_picker.cpp:

2013-12-03  Dariusz Frankiewicz  <d.frankiewic@samsung.com>

        Add spatial navigation API in EFL port
        https://bugs.webkit.org/show_bug.cgi?id=125002

        Reviewed by Gyuyoung Kim.

        API enables capability of turning on and off spatial navigation
        and check is state.
        Spatial navigation is the ability to navigate between focusable
        elements by keyboard.

        * UIProcess/API/efl/ewk_settings.cpp:
        (ewk_settings_spatial_navigation_enabled_set):
        (ewk_settings_spatial_navigation_enabled_get):
        * UIProcess/API/efl/ewk_settings.h:
        * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
        (TEST_F):

2013-12-02  Zan Dobersek  <zdobersek@igalia.com>

        Build fixes for GCC-using ports after r159965 and later
        https://bugs.webkit.org/show_bug.cgi?id=125136

        GCC doesn't process API::ClientTraits template instantiations unless they're done
        inside the API namespace.

        * Shared/WebConnectionClient.h:
        * UIProcess/Notifications/WebNotificationProvider.h:
        * UIProcess/WebContextClient.h:
        * UIProcess/WebContextConnectionClient.h:
        * UIProcess/WebContextInjectedBundleClient.h:
        * UIProcess/WebCookieManagerProxyClient.h:
        * UIProcess/WebDatabaseManagerProxyClient.h:
        * UIProcess/WebDownloadClient.h:
        * UIProcess/WebFindClient.h:
        * UIProcess/WebFormClient.h:
        * UIProcess/WebGeolocationProvider.h:
        * UIProcess/WebHistoryClient.h:
        * UIProcess/WebIconDatabaseClient.h:
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebOriginDataManagerProxyChangeClient.h:
        * UIProcess/WebPageContextMenuClient.h:
        * UIProcess/WebPolicyClient.h:
        * UIProcess/WebUIClient.h:
        * WebProcess/InjectedBundle/InjectedBundleClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:

2013-12-02  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
        (-[WKGeolocationProviderIOS initWithContext:]):

2013-12-02  Martin Hock  <mhock@apple.com>

        Add ability to iterate over API::Array
        https://bugs.webkit.org/show_bug.cgi?id=124533

        Reviewed by Sam Weinig.

        * GNUmakefile.list.am:
        * Shared/APIArray.h:
        * Shared/FilterIterator.h:
        * Shared/IteratorPair.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::toStringVector):
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):

2013-12-02  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WebProtectionSpace has a generic wrapper
        https://bugs.webkit.org/show_bug.cgi?id=125125

        Reviewed by Anders Carlsson.

        Added WKNSURLProtectionSpace.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate a WKNSURLProtectionSpace if the object is a
        WebProtectionSpace.
        * Shared/Cocoa/WKNSURLProtectionSpace.h: Added.
        (WebKit::wrapper): Added. Returns a WebProtecitonSpace’s wrapper as an NSURLProtectionSpace.
        * Shared/Cocoa/WKNSURLProtectionSpace.mm: Added.
        (-[WKNSURLProtectionSpace copyWithZone:]): Retains self.
        * UIProcess/Authentication/WebProtectionSpace.h:
        (WebKit::WebProtectionSpace::protectionSpace): Added an accessor for the
        WebCore::ProtectionSpace.
        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

2013-12-02  Anders Carlsson  <andersca@apple.com>

        Replace uses of WebKit::APIClient with API::Client
        https://bugs.webkit.org/show_bug.cgi?id=125129

        Reviewed by Andreas Kling.

        * Shared/API/c/WKConnectionRef.cpp:
        (WKConnectionSetConnectionClient):
        * Shared/WebConnection.cpp:
        (WebKit::WebConnection::initializeConnectionClient):
        * Shared/WebConnection.h:
        * Shared/WebConnectionClient.cpp:
        (WebKit::WebConnectionClient::didReceiveMessage):
        (WebKit::WebConnectionClient::didClose):
        * Shared/WebConnectionClient.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextSetClient):
        (WKContextSetInjectedBundleClient):
        (WKContextSetHistoryClient):
        (WKContextSetDownloadClient):
        (WKContextSetConnectionClient):
        * UIProcess/API/C/WKCookieManager.cpp:
        (WKCookieManagerSetClient):
        * UIProcess/API/C/WKDatabaseManager.cpp:
        (WKDatabaseManagerSetClient):
        * UIProcess/API/C/WKGeolocationManager.cpp:
        (WKGeolocationManagerSetProvider):
        * UIProcess/API/C/WKIconDatabase.cpp:
        (WKIconDatabaseSetIconDatabaseClient):
        * UIProcess/API/C/WKNotificationManager.cpp:
        (WKNotificationManagerSetProvider):
        * UIProcess/API/C/WKOriginDataManager.cpp:
        (WKOriginDataManagerSetChangeClient):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageContextMenuClient):
        (WKPageSetPageFindClient):
        (WKPageSetPageFindMatchesClient):
        (WKPageSetPageFormClient):
        (WKPageSetPagePolicyClient):
        (WKPageSetPageUIClient):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPagePolicyClient):
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::initializeProvider):
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        (WebKit::WebNotificationProvider::show):
        (WebKit::WebNotificationProvider::cancel):
        (WebKit::WebNotificationProvider::didDestroyNotification):
        (WebKit::WebNotificationProvider::clearNotifications):
        (WebKit::WebNotificationProvider::addNotificationManager):
        (WebKit::WebNotificationProvider::removeNotificationManager):
        (WebKit::WebNotificationProvider::notificationPermissions):
        * UIProcess/Notifications/WebNotificationProvider.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::initializeClient):
        (WebKit::WebContext::initializeInjectedBundleClient):
        (WebKit::WebContext::initializeConnectionClient):
        (WebKit::WebContext::initializeHistoryClient):
        (WebKit::WebContext::initializeDownloadClient):
        * UIProcess/WebContext.h:
        * UIProcess/WebContextClient.cpp:
        (WebKit::WebContextClient::plugInAutoStartOriginHashesChanged):
        (WebKit::WebContextClient::networkProcessDidCrash):
        (WebKit::WebContextClient::plugInInformationBecameAvailable):
        * UIProcess/WebContextClient.h:
        * UIProcess/WebContextConnectionClient.cpp:
        (WebKit::WebContextConnectionClient::didCreateConnection):
        * UIProcess/WebContextConnectionClient.h:
        * UIProcess/WebContextInjectedBundleClient.cpp:
        (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
        (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
        (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
        * UIProcess/WebContextInjectedBundleClient.h:
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::initializeClient):
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebCookieManagerProxyClient.cpp:
        (WebKit::WebCookieManagerProxyClient::cookiesDidChange):
        * UIProcess/WebCookieManagerProxyClient.h:
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::initializeClient):
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxyClient.cpp:
        (WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
        (WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
        * UIProcess/WebDatabaseManagerProxyClient.h:
        * UIProcess/WebDownloadClient.cpp:
        (WebKit::WebDownloadClient::didStart):
        (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge):
        (WebKit::WebDownloadClient::didReceiveResponse):
        (WebKit::WebDownloadClient::didReceiveData):
        (WebKit::WebDownloadClient::shouldDecodeSourceDataOfMIMEType):
        (WebKit::WebDownloadClient::decideDestinationWithSuggestedFilename):
        (WebKit::WebDownloadClient::didCreateDestination):
        (WebKit::WebDownloadClient::didFinish):
        (WebKit::WebDownloadClient::didFail):
        (WebKit::WebDownloadClient::didCancel):
        (WebKit::WebDownloadClient::processDidCrash):
        * UIProcess/WebDownloadClient.h:
        * UIProcess/WebFindClient.cpp:
        (WebKit::WebFindClient::didFindString):
        (WebKit::WebFindClient::didFailToFindString):
        (WebKit::WebFindClient::didCountStringMatches):
        (WebKit::WebFindMatchesClient::didFindStringMatches):
        (WebKit::WebFindMatchesClient::didGetImageForMatchResult):
        * UIProcess/WebFindClient.h:
        * UIProcess/WebFormClient.cpp:
        (WebKit::WebFormClient::willSubmitForm):
        * UIProcess/WebFormClient.h:
        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::initializeProvider):
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebGeolocationProvider.cpp:
        (WebKit::WebGeolocationProvider::startUpdating):
        (WebKit::WebGeolocationProvider::stopUpdating):
        (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
        * UIProcess/WebGeolocationProvider.h:
        * UIProcess/WebHistoryClient.cpp:
        (WebKit::WebHistoryClient::didNavigateWithNavigationData):
        (WebKit::WebHistoryClient::didPerformClientRedirect):
        (WebKit::WebHistoryClient::didPerformServerRedirect):
        (WebKit::WebHistoryClient::didUpdateHistoryTitle):
        (WebKit::WebHistoryClient::populateVisitedLinks):
        * UIProcess/WebHistoryClient.h:
        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::initializeIconDatabaseClient):
        * UIProcess/WebIconDatabase.h:
        * UIProcess/WebIconDatabaseClient.cpp:
        (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
        (WebKit::WebIconDatabaseClient::didRemoveAllIcons):
        (WebKit::WebIconDatabaseClient::iconDataReadyForPageURL):
        * UIProcess/WebIconDatabaseClient.h:
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebOriginDataManagerProxy.cpp:
        (WebKit::WebOriginDataManagerProxy::setChangeClient):
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebOriginDataManagerProxyChangeClient.cpp:
        (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
        * UIProcess/WebOriginDataManagerProxyChangeClient.h:
        * UIProcess/WebPageContextMenuClient.cpp:
        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
        (WebKit::WebPageContextMenuClient::customContextMenuItemSelected):
        (WebKit::WebPageContextMenuClient::contextMenuDismissed):
        (WebKit::WebPageContextMenuClient::showContextMenu):
        (WebKit::WebPageContextMenuClient::hideContextMenu):
        * UIProcess/WebPageContextMenuClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializePolicyClient):
        (WebKit::WebPageProxy::initializeFormClient):
        (WebKit::WebPageProxy::initializeUIClient):
        (WebKit::WebPageProxy::initializeFindClient):
        (WebKit::WebPageProxy::initializeFindMatchesClient):
        (WebKit::WebPageProxy::initializeContextMenuClient):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
        (WebKit::WebPolicyClient::decidePolicyForResponse):
        (WebKit::WebPolicyClient::unableToImplementPolicy):
        * UIProcess/WebPolicyClient.h:
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::createNewPage):
        (WebKit::WebUIClient::showPage):
        (WebKit::WebUIClient::close):
        (WebKit::WebUIClient::takeFocus):
        (WebKit::WebUIClient::focus):
        (WebKit::WebUIClient::unfocus):
        (WebKit::WebUIClient::runJavaScriptAlert):
        (WebKit::WebUIClient::runJavaScriptConfirm):
        (WebKit::WebUIClient::runJavaScriptPrompt):
        (WebKit::WebUIClient::setStatusText):
        (WebKit::WebUIClient::mouseDidMoveOverElement):
        (WebKit::WebUIClient::unavailablePluginButtonClicked):
        (WebKit::WebUIClient::didNotHandleKeyEvent):
        (WebKit::WebUIClient::didNotHandleWheelEvent):
        (WebKit::WebUIClient::toolbarsAreVisible):
        (WebKit::WebUIClient::setToolbarsAreVisible):
        (WebKit::WebUIClient::menuBarIsVisible):
        (WebKit::WebUIClient::setMenuBarIsVisible):
        (WebKit::WebUIClient::statusBarIsVisible):
        (WebKit::WebUIClient::setStatusBarIsVisible):
        (WebKit::WebUIClient::isResizable):
        (WebKit::WebUIClient::setIsResizable):
        (WebKit::WebUIClient::setWindowFrame):
        (WebKit::WebUIClient::windowFrame):
        (WebKit::WebUIClient::runBeforeUnloadConfirmPanel):
        (WebKit::WebUIClient::didDraw):
        (WebKit::WebUIClient::pageDidScroll):
        (WebKit::WebUIClient::exceededDatabaseQuota):
        (WebKit::WebUIClient::runOpenPanel):
        (WebKit::WebUIClient::decidePolicyForGeolocationPermissionRequest):
        (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
        (WebKit::WebUIClient::headerHeight):
        (WebKit::WebUIClient::footerHeight):
        (WebKit::WebUIClient::drawHeader):
        (WebKit::WebUIClient::drawFooter):
        (WebKit::WebUIClient::printFrame):
        (WebKit::WebUIClient::runModal):
        (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
        (WebKit::WebUIClient::shouldInterruptJavaScript):
        (WebKit::WebUIClient::showColorPicker):
        (WebKit::WebUIClient::hideColorPicker):
        * UIProcess/WebUIClient.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleSetClient):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageSetContextMenuClient):
        (WKBundlePageSetEditorClient):
        (WKBundlePageSetFormClient):
        (WKBundlePageSetPageLoaderClient):
        (WKBundlePageSetResourceLoadClient):
        (WKBundlePageSetPolicyClient):
        (WKBundlePageSetUIClient):
        (WKBundlePageSetFullScreenClient):
        (WKBundlePageSetDiagnosticLoggingClient):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::initializeClient):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
        (WebKit::InjectedBundleClient::didCreatePage):
        (WebKit::InjectedBundleClient::willDestroyPage):
        (WebKit::InjectedBundleClient::didInitializePageGroup):
        (WebKit::InjectedBundleClient::didReceiveMessage):
        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
        * WebProcess/InjectedBundle/InjectedBundleClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
        (WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage):
        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
        (WebKit::InjectedBundlePageEditorClient::shouldBeginEditing):
        (WebKit::InjectedBundlePageEditorClient::shouldEndEditing):
        (WebKit::InjectedBundlePageEditorClient::shouldInsertNode):
        (WebKit::InjectedBundlePageEditorClient::shouldInsertText):
        (WebKit::InjectedBundlePageEditorClient::shouldDeleteRange):
        (WebKit::InjectedBundlePageEditorClient::shouldChangeSelectedRange):
        (WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):
        (WebKit::InjectedBundlePageEditorClient::didBeginEditing):
        (WebKit::InjectedBundlePageEditorClient::didEndEditing):
        (WebKit::InjectedBundlePageEditorClient::didChange):
        (WebKit::InjectedBundlePageEditorClient::didChangeSelection):
        (WebKit::InjectedBundlePageEditorClient::willWriteToPasteboard):
        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
        (WebKit::InjectedBundlePageEditorClient::didWriteToPasteboard):
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::didFocusTextField):
        (WebKit::InjectedBundlePageFormClient::textFieldDidBeginEditing):
        (WebKit::InjectedBundlePageFormClient::textFieldDidEndEditing):
        (WebKit::InjectedBundlePageFormClient::textDidChangeInTextField):
        (WebKit::InjectedBundlePageFormClient::textDidChangeInTextArea):
        (WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField):
        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
        (WebKit::InjectedBundlePageFormClient::shouldNotifyOnFormChanges):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
        (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
        (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFinishProgress):
        (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
        (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didLayout):
        (WebKit::InjectedBundlePageLoaderClient::didClearWindowObjectForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didCancelClientRedirectForFrame):
        (WebKit::InjectedBundlePageLoaderClient::willPerformClientRedirectForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didHandleOnloadEventsForFrame):
        (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame):
        (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
        (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
        (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
        (WebKit::InjectedBundlePageLoaderClient::shouldForceUniversalAccessFromLocalURL):
        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
        (WebKit::InjectedBundlePageLoaderClient::willDestroyFrame):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
        (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
        (WebKit::InjectedBundlePageResourceLoadClient::didInitiateLoadForResource):
        (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveResponseForResource):
        (WebKit::InjectedBundlePageResourceLoadClient::didReceiveContentLengthForResource):
        (WebKit::InjectedBundlePageResourceLoadClient::didFinishLoadForResource):
        (WebKit::InjectedBundlePageResourceLoadClient::didFailLoadForResource):
        (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse):
        (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage):
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
        (WebKit::InjectedBundlePageUIClient::willAddMessageToConsole):
        (WebKit::InjectedBundlePageUIClient::willSetStatusbarText):
        (WebKit::InjectedBundlePageUIClient::willRunJavaScriptAlert):
        (WebKit::InjectedBundlePageUIClient::willRunJavaScriptConfirm):
        (WebKit::InjectedBundlePageUIClient::willRunJavaScriptPrompt):
        (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
        (WebKit::InjectedBundlePageUIClient::pageDidScroll):
        (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload):
        (WebKit::InjectedBundlePageUIClient::generateFileForUpload):
        (WebKit::InjectedBundlePageUIClient::statusBarIsVisible):
        (WebKit::InjectedBundlePageUIClient::menuBarIsVisible):
        (WebKit::InjectedBundlePageUIClient::toolbarsAreVisible):
        (WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
        (WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
        (WebKit::InjectedBundlePageUIClient::plugInStartLabelTitle):
        (WebKit::InjectedBundlePageUIClient::plugInStartLabelSubtitle):
        (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
        (WebKit::InjectedBundlePageUIClient::plugInExtraScript):
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::initializeInjectedBundleContextMenuClient):
        (WebKit::WebPage::initializeInjectedBundleEditorClient):
        (WebKit::WebPage::initializeInjectedBundleFormClient):
        (WebKit::WebPage::initializeInjectedBundleLoaderClient):
        (WebKit::WebPage::initializeInjectedBundlePolicyClient):
        (WebKit::WebPage::initializeInjectedBundleResourceLoadClient):
        (WebKit::WebPage::initializeInjectedBundleUIClient):
        (WebKit::WebPage::initializeInjectedBundleFullScreenClient):
        (WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient):
        * WebProcess/WebPage/WebPage.h:

2013-12-02  Enrica Casucci  <enrica@apple.com>

        Merging some more iOS WebKit2 stuff.
        https://bugs.webkit.org/show_bug.cgi?id=125119

        Reviewed by Tim Horton.

        * Shared/EditorState.h:
        * Shared/NativeWebKeyboardEvent.h:
        * Shared/NativeWebMouseEvent.h:
        * Shared/NativeWebTouchEvent.h:
        * Shared/mac/RemoteLayerBackingStore.h:
        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        * UIProcess/PageClient.h:
        * UIProcess/ios/TiledCoreAnimationDrawingAreaProxyIOS.mm:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        * UIProcess/mac/SecItemShimProxy.messages.in:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

2013-12-02  Anders Carlsson  <andersca@apple.com>

        Add versioned structs for the remaining clients
        https://bugs.webkit.org/show_bug.cgi?id=125123

        Reviewed by Andreas Kling.

        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKContextConnectionClient.h:
        * UIProcess/API/C/WKContextDownloadClient.h:
        * UIProcess/API/C/WKContextHistoryClient.h:
        * UIProcess/API/C/WKContextInjectedBundleClient.h:
        * UIProcess/API/C/WKOriginDataManager.h:

2013-12-02  Anders Carlsson  <andersca@apple.com>

        Move WKContext clients to separate files
        https://bugs.webkit.org/show_bug.cgi?id=125121

        Reviewed by Andreas Kling.

        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKContextConnectionClient.h: Added.
        * UIProcess/API/C/WKContextDownloadClient.h: Added.
        * UIProcess/API/C/WKContextHistoryClient.h: Added.
        * UIProcess/API/C/WKContextInjectedBundleClient.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2013-12-02  Sam Weinig  <sam@webkit.org>

        WebPageGroups should keep track of what processes they are being used by
        https://bugs.webkit.org/show_bug.cgi?id=124556

        Reviewed by Anders Carlsson.

        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::addProcess):
        (WebKit::WebPageGroup::disconnectProcess):
        * UIProcess/WebPageGroup.h:
        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::disconnect):
        (WebKit::WebProcessProxy::webPageGroup):
        (WebKit::WebProcessProxy::addWebPageGroup):
        * UIProcess/WebProcessProxy.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::webPageGroup):

2013-12-02  Anders Carlsson  <andersca@apple.com>

        Add versioned structs for all clients except the ones in WKContext.h
        https://bugs.webkit.org/show_bug.cgi?id=125120

        Reviewed by Andreas Kling.

        * Shared/API/c/WKConnectionRef.h:
        * UIProcess/API/C/WKCookieManager.h:
        * UIProcess/API/C/WKDatabaseManager.h:
        * UIProcess/API/C/WKGeolocationManager.h:
        * UIProcess/API/C/WKIconDatabase.h:
        * UIProcess/API/C/WKNotificationProvider.h:
        * UIProcess/API/C/WKPageContextMenuClient.h:
        * UIProcess/API/C/WKPageFindClient.h:
        * UIProcess/API/C/WKPageFindMatchesClient.h:
        * UIProcess/API/C/WKPageFormClient.h:
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/C/WKPagePolicyClient.h:
        * UIProcess/API/C/WKPageUIClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundle.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:

2013-12-02  Anders Carlsson  <andersca@apple.com>

        Split bundle page clients out into separate headers
        https://bugs.webkit.org/show_bug.cgi?id=125115

        Reviewed by Andreas Kling.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h: Added.
        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h: Added.

2013-12-02  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [WK2] Improve readability of 'generate_message_handler' function
        https://bugs.webkit.org/show_bug.cgi?id=125085

        Reviewed by Sam Weinig.

        * Scripts/webkit2/messages.py:
        (generate_message_handler):

2013-12-02  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Support cloning layers
        https://bugs.webkit.org/show_bug.cgi?id=124874
        <rdar://problem/15349468>

        Reviewed by Simon Fraser.

        We use PlatformCALayer::clone for CSS reflections, so implement it.

        Also, since many reflections testcases also use masks,
        working on this revealed that masks weren't working, because
        we weren't flushing mask layers.

        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        Rename maskLayer->maskLayerID since it's a LayerID.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        Don't try to look up the layer if it's null.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
        Keep track of all properties that have ever been changed on a layer.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::create):
        (PlatformCALayerRemote::PlatformCALayerRemote):
        (PlatformCALayerRemote::clone):
        Copy all of the layer properties from the original to the clone,
        and mark all properties that have ever been modified as
        needing to be flushed to the UI process.

        (PlatformCALayerRemote::recursiveBuildTransaction):
        Flush our mask layer, if we have one.

        (PlatformCALayerRemote::setMask):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Store the mask layer we're given. Our owning GraphicsLayer will
        hold on to it for us.

2013-12-02  Anders Carlsson  <andersca@apple.com>

        WKPageLoaderClient should be versioned
        https://bugs.webkit.org/show_bug.cgi?id=125104

        Reviewed by Sam Weinig.

        Add multiple versions of the WKPageLoaderClient struct. In a subsequent patch,
        WKPageLoaderClient and kWKPageLoaderClientCurrentVersion will be deprecated. Instead,
        users of the API are supposed to explicitly choose a version and a versioned struct.

        * Shared/APIClient.h:
        Add a new API::Client class with a new ClientTraits template that uses std::tuple for versions.

        * Shared/APIClientTraits.cpp:
        * Shared/APIClientTraits.h:
        Remove WKPageLoaderClient interface sizes.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        Add an explicit cast to WKPageLoaderClientBase. In an upcoming patch, WKPageSetPageLoaderClient
        will be changed to take a WKPageLoaderClientBase instead.

        * UIProcess/API/C/WKPageLoaderClient.h:
        Add new versions.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (setUpPageLoaderClient):
        Use an explicit version.

        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
        (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (WebKit::WebLoaderClient::didCommitLoadForFrame):
        (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
        (WebKit::WebLoaderClient::didFinishLoadForFrame):
        (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
        (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
        (WebKit::WebLoaderClient::didReceiveTitleForFrame):
        (WebKit::WebLoaderClient::didFirstLayoutForFrame):
        (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::WebLoaderClient::didLayout):
        (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
        (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
        (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
        (WebKit::WebLoaderClient::didDetectXSSForFrame):
        (WebKit::WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
        (WebKit::WebLoaderClient::didReceiveAuthenticationChallengeInFrame):
        (WebKit::WebLoaderClient::didStartProgress):
        (WebKit::WebLoaderClient::didChangeProgress):
        (WebKit::WebLoaderClient::didFinishProgress):
        (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
        (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
        (WebKit::WebLoaderClient::processDidBecomeResponsive):
        (WebKit::WebLoaderClient::processDidCrash):
        (WebKit::WebLoaderClient::didChangeBackForwardList):
        (WebKit::WebLoaderClient::shouldGoToBackForwardListItem):
        (WebKit::WebLoaderClient::willGoToBackForwardListItem):
        (WebKit::WebLoaderClient::didFailToInitializePlugin):
        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
        (WebKit::WebLoaderClient::pluginLoadPolicy):
        Go through client.base everywhere.

        * UIProcess/WebLoaderClient.h:
        Add API::ClientTraits specialization. Change WebLoaderClient to derive from API::Client<WKPageLoaderClientBase>.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeLoaderClient):
        This now takes a WKPageLoaderClientBase*.
        
2013-12-02  Beth Dakin  <bdakin@apple.com>

        Add a setting to opt into a mode where the background extends and fixed elements 
        don't move on rubber-band
        https://bugs.webkit.org/show_bug.cgi?id=124745

        Reviewed by Tim Horton.

        Add SPI to enable the new setting.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetBackgroundShouldExtendBeyondPage):
        (WKPreferencesGetBackgroundShouldExtendBeyondPage):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2013-12-02  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Hook up setLayerTreeStateIsFrozen
        https://bugs.webkit.org/show_bug.cgi?id=124872

        Reviewed by Brent Fulgham.

        setLayerTreeStateIsFrozen is the mechanism used to ensure that
        layer property changes (including new backing store) aren't committed
        while e.g. the page is reconfigured for printing.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
        (WebKit::RemoteLayerTreeContext::flushLayers):
        (WebKit::RemoteLayerTreeContext::setIsFlushingSuspended):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):

2013-12-02  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Disable direct image compositing
        https://bugs.webkit.org/show_bug.cgi?id=124875
        <rdar://problem/15446024>

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        Image-as-layer-contents is not implemented for the remote layer tree.

2013-12-01  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed Gtk port Build fix after r159903

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
        (WebKit::DrawingAreaProxyImpl::update):
        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
        (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
        (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
        (WebKit::WebFullScreenManagerProxy::invalidate):
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::WebPageProxy::setAcceleratedCompositingWindowId):

2013-12-01  Sam Weinig  <sam@webkit.org>

        Give UserMessageEncoders WebProcessProxy reference (like the decoders already have)
        https://bugs.webkit.org/show_bug.cgi?id=125053

        Reviewed by Dan Bernstein.

        - Give the UserMessageEncoders a process reference.
        - Switch UserMessageDecoders to storing a process reference, rather than pointer.

        * Shared/UserMessageCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        * UIProcess/WebConnectionToWebProcess.cpp:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebContextUserMessageCoders.h:
        * UIProcess/WebPageProxy.cpp:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:

2013-12-01  Sam Weinig  <sam@webkit.org>

        [Cocoa] The PageLoadState::Observer is not being set on iOS
        https://bugs.webkit.org/show_bug.cgi?id=125051

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::platformInitialize):
        Add missing call to _finishInitialization.

2013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL Build fix attempt after r159903

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::layerHostingModeDidChange):
        (WebKit::CoordinatedDrawingAreaProxy::update):
        (WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
        (WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
        (WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
        (WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
        (WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
        (WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
        (WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
        (WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
        * UIProcess/WebTextChecker.cpp:
        (WebKit::WebTextChecker::checkSpelling):
        (WebKit::WebTextChecker::changeSpellingToWord):
        * UIProcess/WebTextChecker.h:
        * UIProcess/WebVibrationProxy.cpp:
        (WebKit::WebVibrationProxy::WebVibrationProxy):
        (WebKit::WebVibrationProxy::~WebVibrationProxy):
        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
        (WebKit::WebFullScreenManagerProxy::invalidate):
        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * UIProcess/efl/WebPageProxyEfl.cpp:
        (WebKit::WebPageProxy::setThemePath):
        (WebKit::WebPageProxy::confirmComposition):
        (WebKit::WebPageProxy::setComposition):
        (WebKit::WebPageProxy::cancelComposition):

2013-12-01  Sam Weinig  <sam@webkit.org>

        Fix the iOS build.

        * UIProcess/API/ios/WKContentView.mm:
        * UIProcess/API/ios/WKInteractionView.mm:
        * UIProcess/ios/WebPageProxyIOS.mm:

2013-12-01  Sam Weinig  <sam@webkit.org>

        [CTTE] The WebPageProxy's WebProcessProxy is never null so it should be stored in a Ref
        https://bugs.webkit.org/show_bug.cgi?id=125047

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/Downloads/DownloadProxy.cpp:
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/Downloads/DownloadProxyMap.cpp:
        * UIProcess/Downloads/DownloadProxyMap.h:
        * UIProcess/DrawingAreaProxy.cpp:
        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
        * UIProcess/Network/NetworkProcessProxy.cpp:
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebContext.h:
        * UIProcess/WebEditCommandProxy.cpp:
        * UIProcess/WebFrameProxy.cpp:
        * UIProcess/WebFullScreenManagerProxy.cpp:
        * UIProcess/WebInspectorProxy.cpp:
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        * UIProcess/WebProcessProxy.h:
        * UIProcess/cf/WebPageProxyCF.cpp:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        * UIProcess/mac/WebPageProxyMac.mm:

2013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][CoordinatedGraphics] Clear m_contentsSize when new contents are loaded
        https://bugs.webkit.org/show_bug.cgi?id=125033

        Reviewed by Gyuyoung Kim.

        m_contentsSize should be cleared when new contents are loaded so that PageViewportController
        would take care of newly loaded contents with same size as previous one.
        It's because PageViewportController is cleared not to make wrong behaviour
        while loading when new contents are committed.

        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (TEST_F):
        Improve tests to check contents,size,changed signal when loaded contents having
        same size with previous one.
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::didCommitLoadForMainFrame): Cleared m_contentsSize.

2013-12-01  Philippe Normand  <pnormand@igalia.com>

        Unreviewed GTK build fix after r159896.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextCreatePageForWebView):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewConstructed):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseUpdatePreferences):

2013-12-01  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix after r159896.

        * UIProcess/API/efl/ewk_settings.cpp:
        (EwkSettings::preferences):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):

2013-11-30  Sam Weinig  <sam@webkit.org>

        [CTTE] The WebPageProxy's WebPageGroup is never null so it should be stored in a Ref
        https://bugs.webkit.org/show_bug.cgi?id=125038

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageGetPageGroup):
        * UIProcess/API/C/mac/WKPagePrivateMac.cpp:
        (WKPageIsURLKnownHSTSHost):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController browsingContextGroup]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _preferencesDidChange]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::WebContext):
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebContext.h:
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorPageGroups::inspectorLevel):
        (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
        (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
        (WebKit::WebInspectorProxy::isInspectorPage):
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::createNonNull):
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
        (WebKit::WebPageProxy::preferencesDidChange):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::pageGroup):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::createInspectorWindow):
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        (WebKit::WebInspectorProxy::windowFrameDidChange):
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::WebProcessProxy::pageIsProcessSuppressible):

2013-11-30  Dan Bernstein  <mitz@apple.com>

        Added a version of +[NSURL _web_URLWithWTFString:relativeToURL:] that doesn’t take a base URL and switched all callers to it.
        https://bugs.webkit.org/show_bug.cgi?id=125040

        Reviewed by Sam Weinig.

        * Shared/Cocoa/WKNSURLExtras.h: Declared new method.
        * Shared/Cocoa/WKNSURLExtras.mm:
        (urlWithWTFString): Added helper function.
        (+[NSURL _web_URLWithWTFString:]): Added.
        (+[NSURL _web_URLWithWTFString:relativeToURL:]): Changed to use helper function.
        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
        (-[WKBackForwardListItem URL]): Changed to call new method.
        (-[WKBackForwardListItem originalURL]): Ditto.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController activeURL]): Ditto.
        (-[WKBrowsingContextController provisionalURL]): Ditto.
        (-[WKBrowsingContextController committedURL]): Ditto.
        (-[WKBrowsingContextController unreachableURL]): Ditto.
        (setUpPagePolicyClient): Ditto.
        * UIProcess/API/Cocoa/WKNavigationData.mm:
        (-[WKNavigationData destinationURL]): Ditto.

2013-11-30  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Stop using the WKPageRef API in WKBrowsingContextController
        https://bugs.webkit.org/show_bug.cgi?id=125036

        Reviewed by Sam Weinig.

        * Shared/Cocoa/WKNSURLExtras.h: Declared new method.
        * Shared/Cocoa/WKNSURLExtras.mm:
        (-[NSURL _web_originalDataAsWTFString]): Added. Returns a WTF::String with the receiver’s
        bytes.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadRequest:userData:]):
        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]):
        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]):
        (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
        (-[WKBrowsingContextController stopLoading]):
        (-[WKBrowsingContextController reload]):
        (-[WKBrowsingContextController reloadFromOrigin]):
        (-[WKBrowsingContextController goForward]):
        (-[WKBrowsingContextController canGoForward]):
        (-[WKBrowsingContextController goBack]):
        (-[WKBrowsingContextController canGoBack]):
        (-[WKBrowsingContextController activeURL]):
        (-[WKBrowsingContextController provisionalURL]):
        (-[WKBrowsingContextController committedURL]):
        (-[WKBrowsingContextController title]):
        (-[WKBrowsingContextController textZoom]):
        (-[WKBrowsingContextController setTextZoom:]):
        (-[WKBrowsingContextController pageZoom]):
        (-[WKBrowsingContextController setPageZoom:]):
        (setUpPageLoaderClient):
        (setUpPagePolicyClient):
        (-[WKBrowsingContextController setLoadDelegate:]):
        (-[WKBrowsingContextController setPolicyDelegate:]):
        (-[WKBrowsingContextController _pageRef]):
        (-[WKBrowsingContextController setPaginationMode:]):
        (-[WKBrowsingContextController paginationMode]):
        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]):
        (-[WKBrowsingContextController paginationBehavesLikeColumns]):
        (-[WKBrowsingContextController setPageLength:]):
        (-[WKBrowsingContextController pageLength]):
        (-[WKBrowsingContextController setGapBetweenPages:]):
        (-[WKBrowsingContextController gapBetweenPages]):
        (-[WKBrowsingContextController pageCount]):

2013-11-30  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r159865.
        http://trac.webkit.org/changeset/159865
        https://bugs.webkit.org/show_bug.cgi?id=125037

        the position of mouse events are wrong at MiniBrowser/efl
        (Requested by ryuan on #webkit).

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::displayTimerFired):
        (EwkView::createGLSurface):
        (EwkView::handleEvasObjectCalculate):

2013-11-30  Sam Weinig  <sam@webkit.org>

        [CTTE] The WebPageProxy's WebBackForwardList is never null so it should be stored in a Ref
        https://bugs.webkit.org/show_bug.cgi?id=125035

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageGetBackForwardList):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController backForwardList]): Remove null check.
        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::WebBackForwardList):
        (WebKit::WebBackForwardList::currentItem): Constify.
        (WebKit::WebBackForwardList::backItem): Constify.
        (WebKit::WebBackForwardList::forwardItem): Constify.
        (WebKit::WebBackForwardList::itemAtIndex): Constify.
        * UIProcess/WebBackForwardList.h:
        (WebKit::WebBackForwardList::create):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::backForwardList):

2013-11-30  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r159889.

        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::WebPageProxy::viewWidget): Adjust the static cast of the PageClient reference to PageClientImpl.

2013-11-30  Sam Weinig  <sam@webkit.org>

        [CTTE] WebPageProxy should store the PageClient as a reference
        https://bugs.webkit.org/show_bug.cgi?id=125030

        Reviewed by Dan Bernstein.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreateWebPage):
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp:
        (WebKit::WebPageProxy::didFindZoomableArea):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createWebPage):
        * UIProcess/WebContext.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::reattachToWebProcess):
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::setViewNeedsDisplay):
        (WebKit::WebPageProxy::displayView):
        (WebKit::WebPageProxy::canScrollView):
        (WebKit::WebPageProxy::scrollView):
        (WebKit::WebPageProxy::updateViewState):
        (WebKit::WebPageProxy::viewStateDidChange):
        (WebKit::WebPageProxy::viewSize):
        (WebKit::WebPageProxy::startDrag):
        (WebKit::WebPageProxy::handleTouchEvent):
        (WebKit::WebPageProxy::preferencesDidChange):
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        (WebKit::WebPageProxy::closePage):
        (WebKit::WebPageProxy::setWindowFrame):
        (WebKit::WebPageProxy::getWindowFrame):
        (WebKit::WebPageProxy::screenToWindow):
        (WebKit::WebPageProxy::windowToScreen):
        (WebKit::WebPageProxy::pageDidRequestScroll):
        (WebKit::WebPageProxy::pageTransitionViewportReady):
        (WebKit::WebPageProxy::didRenderFrame):
        (WebKit::WebPageProxy::didChangeViewportProperties):
        (WebKit::WebPageProxy::handleDownloadRequest):
        (WebKit::WebPageProxy::didChangeContentSize):
        (WebKit::WebPageProxy::showColorPicker):
        (WebKit::WebPageProxy::editorStateChanged):
        (WebKit::WebPageProxy::canUndoRedo):
        (WebKit::WebPageProxy::executeUndoRedo):
        (WebKit::WebPageProxy::clearAllEditCommands):
        (WebKit::WebPageProxy::setFindIndicator):
        (WebKit::WebPageProxy::showPopupMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        (WebKit::WebPageProxy::registerEditCommand):
        (WebKit::WebPageProxy::setToolTip):
        (WebKit::WebPageProxy::setCursor):
        (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves):
        (WebKit::WebPageProxy::didReceiveEvent):
        (WebKit::WebPageProxy::processDidCrash):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        (WebKit::WebPageProxy::initializeCreationParameters):
        (WebKit::WebPageProxy::enterAcceleratedCompositingMode):
        (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
        (WebKit::WebPageProxy::updateAcceleratedCompositingMode):
        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
        (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
        (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
        (WebKit::WebPageProxy::showCorrectionPanel):
        (WebKit::WebPageProxy::dismissCorrectionPanel):
        (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
        (WebKit::WebPageProxy::recordAutocorrectionResponse):
        (WebKit::WebPageProxy::showDictationAlternativeUI):
        (WebKit::WebPageProxy::removeDictationAlternatives):
        (WebKit::WebPageProxy::dictationAlternatives):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::interpretKeyEvent):
        (WebKit::WebPageProxy::mainDocumentDidReceiveMobileDocType):
        (WebKit::WebPageProxy::didGetTapHighlightGeometries):
        (WebKit::WebPageProxy::didChangeViewportArguments):
        (WebKit::WebPageProxy::startAssistingNode):
        (WebKit::WebPageProxy::stopAssistingNode):
        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::windowAndViewFramesChanged):
        (WebKit::WebPageProxy::insertDictatedText):
        (WebKit::WebPageProxy::setDragImage):
        (WebKit::WebPageProxy::setPromisedData):
        (WebKit::WebPageProxy::interpretQueuedKeyEvent):
        (WebKit::WebPageProxy::didPerformDictionaryLookup):
        (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
        (WebKit::WebPageProxy::makeFirstResponder):
        (WebKit::WebPageProxy::colorSpace):
        (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
        (WebKit::WebPageProxy::setPluginComplexTextInputState):
        (WebKit::WebPageProxy::executeSavedCommandBySelector):
        (WebKit::WebPageProxy::wkView):
        (WebKit::WebPageProxy::intrinsicContentSizeDidChange):
        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):

2013-11-30  Sam Weinig  <sam@webkit.org>

        [RTTE] The PermissionRequestManagerProxies should use WebPageProxy references.
        https://bugs.webkit.org/show_bug.cgi?id=125029

        Reviewed by Dan Bernstein.

        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
        (WebKit::GeolocationPermissionRequestManagerProxy::GeolocationPermissionRequestManagerProxy):
        (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
        (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
        * UIProcess/GeolocationPermissionRequestManagerProxy.h:
        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
        (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
        (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        Do some additional modernization while we are here.

2013-11-30  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/15560240> ResourceError encoding drops NSURL-valued keys in the NSError’s userInfo, including NSErrorFailingURLKey
        https://bugs.webkit.org/show_bug.cgi?id=125016

        Reviewed by Anders “happy name day” Carlsson.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData): Encode all string- and URL-valued keys as a dictionary.
        (CoreIPC::::decodePlatformData): Decode user info as a dictionary.

2013-11-29  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed build fix for EFL and GTK WK2 builds.

        * Scripts/generate-forwarding-headers.pl: Add Cocoa to the list of platform prefixes.

2013-11-29  Tibor Meszaros  <mtibor@inf.u-szeged.hu>

        Fix build warnings in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=125012

        Reviewed by Anders Carlsson.

        fix unused parameter warnings in the following files:

        * Platform/gtk/WorkQueueGtk.cpp:
        (WorkQueue::SocketEventSource::eventCallback):
        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKArrayIsMutable):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
        (WebKit::WebChromeClient::didAddHeaderLayer):
        (WebKit::WebChromeClient::didAddFooterLayer):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createJavaAppletWidget):

2013-11-29  Sam Weinig  <sam@webkit.org>

        [Cocoa] Add a little template magic to the inline API::Object storage to remove the need for all the reinterpret_casts
        https://bugs.webkit.org/show_bug.cgi?id=125024

        Reviewed by Dan Bernstein.

        Introduce API::ObjectStorage which wraps std::aligned_storage and adds some convenience functions
        to reinterpret the data as the corresponding type. Deploy it everywhere we were previously using 
        std::aligned_storage.

        * Shared/Cocoa/WKNSArray.mm:
        * Shared/Cocoa/WKNSDictionary.mm:
        * Shared/Cocoa/WKObject.h:
        * UIProcess/API/Cocoa/WKBackForwardList.mm:
        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
        * UIProcess/API/Cocoa/WKNavigationData.mm:
        * UIProcess/API/Cocoa/WKProcessGroup.mm:

2013-11-29  Sam Weinig  <sam@webkit.org>

        Fix crashing API tests.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController dealloc]):

2013-11-29  Sam Weinig  <sam@webkit.org>

        Fix some style boo-boos.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadDelegate]):
        (-[WKBrowsingContextController setLoadDelegate:]):
        (-[WKBrowsingContextController policyDelegate]):
        (-[WKBrowsingContextController setPolicyDelegate:]):

2013-11-29  Sam Weinig  <sam@webkit.org>

        Fix the iOS build.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadDelegate]):
        (-[WKBrowsingContextController policyDelegate]):
        (-[WKBrowsingContextController setPolicyDelegate:]):

2013-11-29  Sam Weinig  <sam@webkit.org>

        [Cocoa] Make WKBrowsingContextController work with WKObject wrapping
        https://bugs.webkit.org/show_bug.cgi?id=125022

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        
        * Shared/mac/ObjCObjectGraphCoders.mm:
        Add support for WKProcessGroup.

        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
        Replace call to _browsingContextControllerForPageRef: with wrapper.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline.

        (-[WKBrowsingContextController dealloc]):
        Add explicit destructor call.

        (-[WKBrowsingContextController setLoadDelegate:]):
        (-[WKBrowsingContextController setPolicyDelegate:]):
        Lazily set up the load and policy clients only once a delegate has been set to allow
        continued use of the C-SPI clients for WebKitTestRunner.

        (-[WKBrowsingContextController _finishInitialization]):
        Move remaining work that was done in the initialize (setting up the observer) here,
        and have the WebPageProxy call it.

        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
        (WebKit::wrapper):
        Add wrapper() helper and declare conformance to the WKObject protocol. Remove no longer used
        _initWithPageRef: and _browsingContextControllerForPageRef: helpers.

        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (didNavigateWithNavigationData):
        (didPerformClientRedirect):
        (didPerformServerRedirect):
        (didUpdateHistoryTitle):
        Switch to using wrapper().

        * UIProcess/API/ios/WKContentView.mm:
        * UIProcess/API/mac/WKView.mm:
        Stop caching the WKBrowsingContextController, as it no long makes sense since it is the same object
        as the WebPageProxy.

        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::platformInitialize):
        Inform the wrapper that it is safe to finish initialization.

2013-11-29  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add a way to recover from load errors
        https://bugs.webkit.org/show_bug.cgi?id=125020

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (createErrorWithRecoveryAttempter): Added this helper function. It creates an NSError from
        the given error, adding two keys to the user info dictionary: the context controller under
        the recovery attempter key, and the frame under a private key.
        (didFailProvisionalLoadWithErrorForFrame): Changed to use createErrorWithRecoveryAttempter.
        (didFailLoadWithErrorForFrame): Ditto.
        (-[WKBrowsingContextController attemptRecoveryFromError:]): Implemented this
        WKErrorRecoveryAttempting protocol method by loading the failing URL from the error into the
        frame from the error.

        * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Added. Defines a protocol for attempting
        recovery from errors and declares the error user info dictionary key under which an object
        conforming to this protocol may be stored.
        * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.m: Added. Defines
        WKRecoveryAttempterErrorKey.

        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::loadURL): Added. Sends the LoadURLInFrame message to the page.
        * UIProcess/WebFrameProxy.h:

        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::loadURLInFrame): Added. Loads the URL in the given frame.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in: Added LoadURLInFrame.

2013-11-29  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Expose loadAlternateHTMLString via the API
        https://bugs.webkit.org/show_bug.cgi?id=125019

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new method.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]): Added.
        Calls WebPageProxy::loadAlternateHTMLString.

2013-11-29  Sam Weinig  <sam@webkit.org>

        Move API files shared between Mac and iOS to the Cocoa directory
        https://bugs.webkit.org/show_bug.cgi?id=125017

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKBrowsingContextController.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h.
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm.
        * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
        * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h.
        * UIProcess/API/Cocoa/WKBrowsingContextGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h.
        * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm.
        * UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
        * UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h.
        * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h.
        * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h.
        * UIProcess/API/Cocoa/WKConnection.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.h.
        * UIProcess/API/Cocoa/WKConnection.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.mm.
        * UIProcess/API/Cocoa/WKConnectionInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h.
        * UIProcess/API/Cocoa/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h.
        * UIProcess/API/Cocoa/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm.
        * UIProcess/API/Cocoa/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
        * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h.
        * UIProcess/API/Cocoa/WKTypeRefWrapper.h: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h.
        * UIProcess/API/Cocoa/WKTypeRefWrapper.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm.
        * UIProcess/API/Cocoa/WKView.h: Copied from Source/WebKit2/UIProcess/API/mac/WKView.h.
        * UIProcess/API/Cocoa/WKViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h.
        * UIProcess/API/Cocoa/WebKit2.h: Copied from Source/WebKit2/UIProcess/API/mac/WebKit2.h.
        * UIProcess/API/mac/WKBrowsingContextController.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextController.mm: Removed.
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed.
        * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed.
        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Removed.
        * UIProcess/API/mac/WKConnection.h: Removed.
        * UIProcess/API/mac/WKConnection.mm: Removed.
        * UIProcess/API/mac/WKConnectionInternal.h: Removed.
        * UIProcess/API/mac/WKProcessGroup.h: Removed.
        * UIProcess/API/mac/WKProcessGroup.mm: Removed.
        * UIProcess/API/mac/WKProcessGroupInternal.h: Removed.
        * UIProcess/API/mac/WKProcessGroupPrivate.h: Removed.
        * UIProcess/API/mac/WKTypeRefWrapper.h: Removed.
        * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed.
        * UIProcess/API/mac/WKView.h: Removed.
        * UIProcess/API/mac/WKViewPrivate.h: Removed.
        * UIProcess/API/mac/WebKit2.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-29  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] viewport must be same with the size of webview
        https://bugs.webkit.org/show_bug.cgi?id=124965

        Reviewed by Gyuyoung Kim.

        Currently, size of the viewport is larger than size of webview.
        Changed the size of viewport with size of webview, because viewport is translated by wrong calculation.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::displayTimerFired): Changed to use the (0,0). 
        (EwkView::createGLSurface): Modified to use the viewSize instead of the boundsEnd.
        (EwkView::handleEvasObjectCalculate): Removed the WKViewSetUserViewportTranslation.

2013-11-28  Eunmi Lee  <eunmi15.lee@samsung.com>

        [CoordinatedGraphics][WK2] Correct wrong usage of m_contentPosition variable in the WebView.
        https://bugs.webkit.org/show_bug.cgi?id=118548

        Reviewed by Noam Rosenthal.

        CoordinatedGraphics uses its own scaling logic - contents scaling - and
        WebView of CoordinatedGraphics maintains contents position by scaling
        with contents scaling factor.
        However transformToScene() and updateViewportSize() of WebView regard
        the contents position as a non-scaled value, so it should be fixed.

        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::transformToScene):
        (WebKit::WebView::updateViewportSize):

2013-11-28  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] PageViewportController does not need to be unique_ptr instance
        https://bugs.webkit.org/show_bug.cgi?id=124993

        Reviewed by Gyuyoung Kim.

        PageViewportController and PageViewportControllerEfl have same life cycle
        with EwkView. So, we don't need to make them as unique_ptr instance.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::EwkView):
        (EwkView::handleEvasObjectCalculate):
        (EwkView::scrollBy):
        * UIProcess/API/efl/EwkView.h:
        (EwkView::pageViewportController):
        * UIProcess/efl/PageLoadClientEfl.cpp:
        (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
        * UIProcess/efl/ViewClientEfl.cpp:
        (WebKit::ViewClientEfl::didChangeContentsSize):
        (WebKit::ViewClientEfl::didChangeContentsPosition):
        (WebKit::ViewClientEfl::didRenderFrame):
        (WebKit::ViewClientEfl::didCompletePageTransition):
        (WebKit::ViewClientEfl::didChangeViewportAttributes):

2013-11-28  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [GTK] Build fix after r159859
        https://bugs.webkit.org/show_bug.cgi?id=124992

        Reviewed by Gyuyoung Kim.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::didCommitLoadForMainFrame): Added.
        * UIProcess/API/gtk/PageClientImpl.h:

2013-11-28  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] Build fix after r159859
        https://bugs.webkit.org/show_bug.cgi?id=124991

        Reviewed by Gyuyoung Kim.

        Redefined newly added pure virtual function in PageClient class after r159859.

        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::didCommitLoadForMainFrame):
        * UIProcess/CoordinatedGraphics/WebView.h:

2013-11-27  Sam Weinig  <sam@webkit.org>

        Perform some spring cleaning to WKContentView and WKView
        https://bugs.webkit.org/show_bug.cgi?id=124961

        Reviewed by Dan Bernstein.

        - Store the PageClientImpl in a std::unique_ptr.
        - Remove the WKBrowsingContextController internal load delegate. Replace its use with
          a new PageClient function, didCommitLoadForMainFrame.
        - Fix typo in the WKContentViewDelegate. contentViewdidCommitLoadForMainFrame -> contentViewDidCommitLoadForMainFrame.
        - Add initializers for WKContentView and WKView that take WKContextRefs and WKPageGroupRefs to match the Mac WKView.
          These are needed for WebKitTestRunner.
        - Require a WKProcessGroup (or WKContextRef) and a WKBrowsingContextGroup (or WKPageGroupRef).
        - Stop caching the WKProcessGroup and WKBrowsingContextGroup on the WKContentView.
        - Remove incorrect implementations of initWithCoder.
        - Make WKContentView lazily create its WKBrowsingContextController wrapper.

        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::PageClientImpl):
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        (WebKit::PageClientImpl::mainDocumentDidReceiveMobileDocType):
        * UIProcess/API/ios/WKContentView.h:
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView initWithCoder:]):
        (-[WKContentView initWithFrame:processGroup:browsingContextGroup:]):
        (-[WKContentView browsingContextController]):
        (-[WKContentView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        (-[WKContentView _didCommitLoadForMainFrame]):
        (-[WKContentView _didReceiveMobileDocTypeForMainFrame]):
        (-[WKContentView _didChangeViewportArguments:WebCore::]):
        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
        (-[WKContentView _pageRef]):
        (-[WKContentView initWithFrame:contextRef:pageGroupRef:]):
        (-[WKContentView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/API/ios/WKContentViewInternal.h:
        * UIProcess/API/ios/WKContentViewPrivate.h: Added.
        * UIProcess/API/ios/WKView.mm:
        (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
        (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
        (-[WKView contentViewDidCommitLoadForMainFrame:]):
        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        (-[WKView pageRef]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (didCommitLoadForFrame):
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
        * UIProcess/API/mac/WKViewPrivate.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):

2013-11-28  Éva Balázsfalvi  <balazsfalvi.eva@stud.u-szeged.hu>

        Buildfix after r159824 for GCC 4.6
        https://bugs.webkit.org/show_bug.cgi?id=124968

        Reviewed by Csaba Osztrogonác.

        Added explicit "friend class", because GCC 4.6 doesn't support extended friend declaration (c++11)

        * Shared/APIObject.h:

2013-11-28  Antti Koivisto  <antti@apple.com>

        Remove feature: CSS variables
        https://bugs.webkit.org/show_bug.cgi?id=114119

        Reviewed by Andreas Kling.

        * Configurations/FeatureDefines.xcconfig:

2013-11-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>

        [GTK] Support custom types for drag and drop data
        https://bugs.webkit.org/show_bug.cgi?id=124659

        Reviewed by Martin Robinson.

        * Shared/gtk/ArgumentCodersGtk.cpp:
        (CoreIPC::encodeDataObject): encode the unknown types data.
        (CoreIPC::decodeDataObject): decode the unknown types data.

2013-11-27  Sam Weinig  <sam@webkit.org>

        Give the PageClient a chance to handle geolocation permission requests if the UIClient doesn't handle it
        https://bugs.webkit.org/show_bug.cgi?id=124955

        Reviewed by Dan Bernstein.

        Use the new PageClient function to remove the need for WKContentView to take over the WKPageUIClient.

        * UIProcess/API/ios/PageClientImplIOS.h:
        * UIProcess/API/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
        * UIProcess/API/ios/WKContentView.mm:
        (-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]):
        (-[WKContentView _commonInitWithProcessGroup:browsingContextGroup:]):
        * UIProcess/API/ios/WKContentViewInternal.h:
        * UIProcess/PageClient.h:
        (WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):

2013-11-27  Sam Weinig  <sam@webkit.org>

        Fix the iOS build.

        * UIProcess/API/ios/WKGeolocationProviderIOS.mm:
        * UIProcess/API/ios/WKGeolocationProviderIOSObjCSecurityOrigin.mm:

2013-11-27  Sam Weinig  <sam@webkit.org>

        Add accessors for the WKProcessGroup and WKBrowsingContextGroup on the WKBrowsingContextController
        https://bugs.webkit.org/show_bug.cgi?id=124953

        Reviewed by Dan Bernstein.

        * UIProcess/API/mac/WKBrowsingContextController.h:
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController processGroup]):
        (-[WKBrowsingContextController browsingContextGroup]):
        Add accessors.

2013-11-27  Sam Weinig  <sam@webkit.org>

        Make WKProcessGroup work with WKObject wrapping
        https://bugs.webkit.org/show_bug.cgi?id=124952

        Reviewed by Dan Bernstein.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        Add support for WKProcessGroup.

        * UIProcess/API/mac/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        (-[WKProcessGroup dealloc]):
        (-[WKProcessGroup API::]):
        (-[WKProcessGroup _contextRef]):
        (-[WKProcessGroup _geolocationProvider]):
        Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline

        * UIProcess/API/mac/WKProcessGroupInternal.h: Added.
        (WebKit::wrapper):
        Add wrapper() helper and declare conformance to the WKObject protocol.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::create):
        (WebKit::WebContext::WebContext):
        * UIProcess/WebContext.h:
        Make the WebContext constructor public (for use with Object::constructInWrapper) and remove unused ProcessModel parameter.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new file.

2013-11-27  Sam Weinig  <sam@webkit.org>

        Make WKBrowsingContextGroup work with WKObject wrapping
        https://bugs.webkit.org/show_bug.cgi?id=124948

        Reviewed by Dan Bernstein.

        - Adds mechanism to use the inline data wrapping mechanism when the Objective-C wrapper is created
          by the caller (rather than by Object::newObject).
        - Adopts the mechanism for WKBrowsingContextGroup.

        * Shared/APIObject.h:
        (API::Object::constructInWrapper):
        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.

        (API::TypedObject::operator new):
        Add a operator new to for placement-new. Also make TypedObject friends with Object so that constructInWrapper can call this.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        Add support for WKBrowsingContextGroup.

        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
        (-[WKBrowsingContextGroup API::]):
        (-[WKBrowsingContextGroup dealloc]):
        (-[WKBrowsingContextGroup initWithIdentifier:]):
        (-[WKBrowsingContextGroup allowsJavaScript]):
        (-[WKBrowsingContextGroup setAllowsJavaScript:]):
        (-[WKBrowsingContextGroup allowsJavaScriptMarkup]):
        (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]):
        (-[WKBrowsingContextGroup allowsPlugIns]):
        (-[WKBrowsingContextGroup setAllowsPlugIns:]):
        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
        (-[WKBrowsingContextGroup removeAllUserStyleSheets]):
        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
        (-[WKBrowsingContextGroup removeAllUserScripts]):
        (-[WKBrowsingContextGroup _pageGroupRef]):
        Convert from wrapping the C-SPI type to storing the bits of the wrapped object inline (modeled on WKBackForwardList).

        * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
        (WebKit::wrapper):
        Add wrapper() helper and declare conformance to the WKObject protocol.

        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::create):
        (WebKit::WebPageGroup::WebPageGroup):
        * UIProcess/WebPageGroup.h:
        Make the WebPageGroup constructor public (for use with Object::constructInWrapper) and move being set in the webPageGroupMap()
        to the constructor.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new file.

2013-11-27  Nick Diego Yamane  <nick.yamane@openbossa.org>

        Remove Qt-specific .qrc files
        https://bugs.webkit.org/show_bug.cgi?id=124944

        Reviewed by Andreas Kling.

        * WebKit2.qrc: Removed.

2013-11-27  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Programs/WebKit2APITests/TestWebKitSettings unit test is failing
        https://bugs.webkit.org/show_bug.cgi?id=124924

        Reviewed by Carlos Garcia Campos.

        'Chrome'/'Chromium' substrings were removed from the user agent string in r159572, meaning the unit
        test shouldn't check for those two substrings anymore. Instead, 'Safari' (as until now) and 'AppleWebKit'
        substrings should be checked for.

        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
        (testWebKitSettingsUserAgent):

2013-11-26  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [MediaStream API] HTMLMediaElement should be able to use MediaStream as source
        https://bugs.webkit.org/show_bug.cgi?id=121943

        Reviewed by Eric Carlson.

        Add mediastream module and platform to cmake include directories.

        * CMakeLists.txt:

2013-11-26  Dan Bernstein  <mitz@apple.com>

        Some WebKit2 headers are not self-contained
        https://bugs.webkit.org/show_bug.cgi?id=124884

        Reviewed by Anders Carlsson.

        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added import.
        * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Ditto.
        * Shared/API/c/WKContextMenuItemTypes.h: Added include.
        * Shared/API/c/WKFindOptions.h: Ditto.
        * Shared/API/c/WKMutableArray.h: Ditto.
        * Shared/API/c/WKPageLoadTypes.h: Ditto.
        * Shared/API/c/WKPageVisibilityTypes.h: Ditto.

        * Shared/API/c/WKPluginInformation.cpp:
        (WKPluginInformationBundleIdentifierKey): Made this API function always be defined. When
        the Netscape plug-in API is not enabled, it returns 0.
        (WKPluginInformationBundleVersionKey): Ditto.
        (WKPluginInformationBundleShortVersionKey): Ditto.
        (WKPluginInformationPathKey): Ditto.
        (WKPluginInformationDisplayNameKey): Ditto.
        (WKPluginInformationDefaultLoadPolicyKey): Ditto.
        (WKPluginInformationUpdatePastLastBlockedVersionIsKnownAvailableKey): Ditto.
        (WKPluginInformationHasSandboxProfileKey): Ditto.
        (WKPluginInformationFrameURLKey): Ditto.
        (WKPluginInformationMIMETypeKey): Ditto.
        (WKPluginInformationPageURLKey): Ditto.
        (WKPluginInformationPluginspageAttributeURLKey): Ditto.
        (WKPluginInformationPluginURLKey): Ditto.
        (WKPlugInInformationReplacementObscuredKey): Ditto.

        * Shared/API/c/WKString.h: Added include.
        * UIProcess/API/C/WKCredentialTypes.h: Ditto.
        * UIProcess/API/C/WKPageContextMenuClient.h: Ditto.
        * UIProcess/API/C/WKPageLoaderClient.h: Added includes.
        * UIProcess/API/C/WKPagePolicyClient.h: Ditto.
        * UIProcess/API/C/WKPageUIClient.h: Ditto.

        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
        (WKPluginSiteDataManagerGetTypeID): Fixed the !ENABLE(NETSCAPE_PLUGIN_API) build.

        * UIProcess/API/C/mac/WKContextPrivateMac.h: Removed use of ENABLE() from this private
        header.
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextCopyPlugInInfoForBundleIdentifier): Made this API function always be defined.
        When the Netscape plug-in API is not enabled, it returns 0.
        (WKContextGetInfoForInstalledPlugIns): Made this API function always be defined.

        * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Added imports.
        * UIProcess/API/C/mac/WKPagePrivateMac.h: Added include.
        * UIProcess/API/Cocoa/WKBackForwardListItem.h: Added import.
        * UIProcess/API/Cocoa/WKNavigationData.h: Ditto.
        * UIProcess/API/cpp/WKRetainPtr.h: Replaced use of WARN_UNUSED_RETURN in this private header
        with an equivalent macro defined in the header.

        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Added include.
        * WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
        (WKBundleInspectorGetTypeID): Made this API function always be defined. When the Inspector
        is not enabled, it returns the Null type.
        (WKBundleInspectorShow): Made this API function always be defined.
        (WKBundleInspectorClose): Ditto.
        (WKBundleInspectorEvaluateScriptForTest): Ditto.
        (WKBundleInspectorSetPageProfilingEnabled): Ditto.
        * WebProcess/InjectedBundle/API/c/WKBundleInspector.h: Removed use of ENABLE() from this
        private header.

        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added includes.
        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added include.

        * WebProcess/Plugins/Netscape/mac/WKNPAPIPlugInContainer.mm:
        (-[WKNPAPIPlugInContainer openPlugInPreferencePane]): Fixed the !ENABLE(NETSCAPE_PLUGIN_API)
        build.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createJavaAppletWidget): Ditto.

        * WebProcess/WebPage/mac/WebInspectorMac.mm: Fixed the !ENABLE(INSPECTOR) build.

2013-11-25  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Use class extensions for IPI
        https://bugs.webkit.org/show_bug.cgi?id=124870

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.mm: Reordered methods so that the Private
        cateogry isn’t stuck between the API methods and the internal methods.
        (-[WKBrowsingContextController setPaginationMode:]):
        (-[WKBrowsingContextController paginationMode]):
        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]):
        (-[WKBrowsingContextController paginationBehavesLikeColumns]):
        (-[WKBrowsingContextController setPageLength:]):
        (-[WKBrowsingContextController pageLength]):
        (-[WKBrowsingContextController setGapBetweenPages:]):
        (-[WKBrowsingContextController gapBetweenPages]):
        (-[WKBrowsingContextController pageCount]):
        (-[WKBrowsingContextController handle]):
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Changed Internal category into
        a class extension.

        * UIProcess/API/mac/WKConnection.mm:
        * UIProcess/API/mac/WKConnectionInternal.h: Changed Internal category into a class
        extension.

        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h: Ditto.

2013-11-25  Dan Bernstein  <mitz@apple.com>

        Fixed the iOS build.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController loadDelegateInternal]):
        (-[WKBrowsingContextController setLoadDelegateInternal:]):

2013-11-25  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
        https://bugs.webkit.org/show_bug.cgi?id=123065

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.h: Removed _data ivar and
        WKBrowsingContextControllerData class declaration.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController dealloc]): Removed
        WKBrowsingContextControllerData class and moved ivars directly into
        WKBrowsingContextController, declaring them in the @implementation. Removed ivar and
        accessors for the delegate properties, letting the compiler synthesize them.
        (-[WKBrowsingContextController _pageRef]): Removed indirection via _data.
        (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]): Ditto.
        (-[WKBrowsingContextController stopLoading]): Ditto.
        (-[WKBrowsingContextController reload]): Ditto.
        (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
        (-[WKBrowsingContextController goForward]): Ditto.
        (-[WKBrowsingContextController canGoForward]): Ditto.
        (-[WKBrowsingContextController goBack]): Ditto.
        (-[WKBrowsingContextController canGoBack]): Ditto.
        (-[WKBrowsingContextController goToBackForwardListItem:]): Ditto.
        (-[WKBrowsingContextController backForwardList]): Ditto.
        (-[WKBrowsingContextController activeURL]): Ditto.
        (-[WKBrowsingContextController provisionalURL]): Ditto.
        (-[WKBrowsingContextController committedURL]): Ditto.
        (-[WKBrowsingContextController unreachableURL]): Removed idirection via _data.
        (-[WKBrowsingContextController estimatedProgress]): Removed indirection via -_pageRef.
        (-[WKBrowsingContextController title]): Ditto.
        (-[WKBrowsingContextController textZoom]): Ditto.
        (-[WKBrowsingContextController setTextZoom:]): Ditto.
        (-[WKBrowsingContextController pageZoom]): Ditto.
        (-[WKBrowsingContextController setPageZoom:]): Ditto.
        (-[WKBrowsingContextController setPaginationMode:]): Ditto.
        (-[WKBrowsingContextController paginationMode]): Ditto.
        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
        (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
        (-[WKBrowsingContextController setPageLength:]): Ditto.
        (-[WKBrowsingContextController pageLength]): Ditto.
        (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
        (-[WKBrowsingContextController gapBetweenPages]): Ditto.
        (-[WKBrowsingContextController pageCount]): Ditto.
        (-[WKBrowsingContextController handle]): Ditto.
        (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.

        * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed _data ivar and
        WKBrowsingContextGroupData class declaration.
        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed WKBrowsingContextGroupData class and
        moved _pageGroupRef ivar directly into WKBrowsingContextGroup, declaring it in the
        @implementation.
        (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
        (-[WKBrowsingContextGroup allowsJavaScript]): Removed indirection via -_pageGroupRef.
        (-[WKBrowsingContextGroup setAllowsJavaScript:]): Ditto.
        (-[WKBrowsingContextGroup allowsJavaScriptMarkup]): Ditto.
        (-[WKBrowsingContextGroup setAllowsJavaScriptMarkup:]): Ditto.
        (-[WKBrowsingContextGroup allowsPlugIns]): Ditto.
        (-[WKBrowsingContextGroup setAllowsPlugIns:]): Ditto.
        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]): Ditto.
        (-[WKBrowsingContextGroup removeAllUserStyleSheets]): Ditto.
        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]): Ditto.
        (-[WKBrowsingContextGroup removeAllUserScripts]): Ditto.
        (-[WKBrowsingContextGroup _pageGroupRef]): Removed indirection via _data.

        * UIProcess/API/mac/WKConnection.h: Removed _data ivar and WKConnectionData class declaration.
        * UIProcess/API/mac/WKConnection.mm: Removed WKConnectionData class and moved _connectionRef
        ivar directly into WKConnection, declaring it in the @implementation. Removed ivar and
        accessors for the delegate property, letting the compiler synthesize them.
        (-[WKConnection dealloc]): Removed indirection via _data.
        (-[WKConnection sendMessageWithName:body:]): Ditto.
        (-[WKConnection remoteObjectRegistry]): Ditto.
        (didReceiveMessage): Ditto.
        (-[WKConnection _initWithConnectionRef:]): Ditto.

        * UIProcess/API/mac/WKProcessGroup.h: Replaced forward declaration of WKConnection with an
        import. Removed _data ivar and WKProcessGroupData class declaration.
        * UIProcess/API/mac/WKProcessGroup.mm: Removed WKProcessGroupData class and moved
        _contextRef ivar directly into WKProcessGroup, declaring it in the @implementation. Removed
        ivar and accessors for the delegate property, letting the compiler synthesize them.
        (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
        (-[WKProcessGroup dealloc]): Ditto.
        (-[WKProcessGroup _contextRef]): Ditto.
        (-[WKProcessGroup _geolocationProvider]): Ditto.

2013-11-25  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r159740.
        http://trac.webkit.org/changeset/159740
        https://bugs.webkit.org/show_bug.cgi?id=124859

        Crashing xmlhttprequest/access-control-repeated-failed-
        preflight-crash.html on Mavericks and Mountain Lion -
        ASSERT(m_pageGroup) WebPage.cpp:352 (Requested by dino_ on
        #webkit).

        * Scripts/webkit2/messages.py:
        (struct_or_class):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * Shared/mac/ObjCObjectGraphCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::ObjCObjectGraphEncoder::baseEncode):
        (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
        (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
        (WebKit::WebContextObjCObjectGraphEncoder::encode):
        * UIProcess/WebConnectionToWebProcess.cpp:
        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::createWebPage):
        (WebKit::WebContext::postMessageToInjectedBundle):
        (WebKit::WebContext::didReceiveSyncMessage):
        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebPageGroup.cpp:
        * UIProcess/WebPageGroup.h:
        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::loadURL):
        (WebKit::WebPageProxy::loadURLRequest):
        (WebKit::WebPageProxy::loadFile):
        (WebKit::WebPageProxy::loadData):
        (WebKit::WebPageProxy::loadHTMLString):
        (WebKit::WebPageProxy::loadAlternateHTMLString):
        (WebKit::WebPageProxy::loadPlainTextString):
        (WebKit::WebPageProxy::loadWebArchiveData):
        (WebKit::WebPageProxy::postMessageToInjectedBundle):
        (WebKit::WebPageProxy::initializeCreationParameters):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::disconnect):
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        (WebKit::InjectedBundleUserMessageEncoder::encode):
        (WebKit::InjectedBundleUserMessageDecoder::decode):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::webPageGroup):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2013-11-25  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Put most of the Cocoa API behind WK_API_ENABLED guards
        https://bugs.webkit.org/show_bug.cgi?id=124850

        Reviewed by Brady Eidson.

        Guarded all Cocoa API headers and implementations with WK_API_ENABLED. Left the WKView class
        unguarded, but limited its API.

        * Shared/API/Cocoa/WKFoundation.h: Replaced OBJ_VISIBLE with an explicit attribute.
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Moved #if WK_API_ENABLED before the rest of the
        imports.
        * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Ditto.
        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Ditto.
        * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Ditto.
        * UIProcess/API/mac/WKBrowsingContextController.h: Guarded all declarations with
        WK_API_ENABLED, changed to use WK_API_CLASS instead of WK_EXPORT.
        * UIProcess/API/mac/WKBrowsingContextController.mm: Guarded everything with WK_API_ENABLED.
        (-[WKBrowsingContextController dealloc]):
        (-[WKBrowsingContextController setPolicyDelegate:]):
        (-[WKBrowsingContextController backForwardList]):
        (didChangeBackForwardList):
        (setUpPageLoaderClient):
        (setUpPagePolicyClient):
        (-[WKBrowsingContextController _initWithPageRef:]):
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Ditto.
        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.
        * UIProcess/API/mac/WKBrowsingContextGroup.h: Guarded all declarations with WK_API_ENABLED,
        chanegd to use WK_API_CLASS instead of WK_EXPORT.
        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed redundant import, guarded everything
        with WK_API_ENABLED.
        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Guarded with WK_API_ENABLED.
        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Added necessary import.
        * UIProcess/API/mac/WKConnection.h: Guarded all declarations with WK_API_ENABLED, chanegd to
        use WK_API_CLASS instead of WK_EXPORT.
        * UIProcess/API/mac/WKConnection.mm: Guarded everything with WK_API_ENABLED.
        (-[WKConnection remoteObjectRegistry]):
        (didReceiveMessage):
        * UIProcess/API/mac/WKConnectionInternal.h: Guarded the delcarations with WK_API_ENABLED.
        * UIProcess/API/mac/WKProcessGroup.h: Ditto. Also changed to use WK_API_CLASS instead of
        WK_EXPORT.
        * UIProcess/API/mac/WKProcessGroup.mm: Guarded everything with WK_API_ENABLED.
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        * UIProcess/API/mac/WKProcessGroupPrivate.h: Guarded the declarations with WK_API_ENABLED.
        * UIProcess/API/mac/WKTypeRefWrapper.h: Moved #if WK_API_ENABLED before the rest of the
        imports, changed to use WK_API_CLASS instead of WK_EXPORT.
        * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed empty line after #import "config.h".
        * UIProcess/API/mac/WKView.h: Added #if WK_API_ENABLED around API that uses other Cocoa API
        types.
        * UIProcess/API/mac/WKView.mm: Added #if WK_API_ENABLED around implementations of methods
        that are only declared when the API is enabled.
        * UIProcess/API/mac/WKViewInternal.h: Reordered imports.
        * UIProcess/mac/WKFullScreenWindowController.mm: Added comment to #endif.
        * UIProcess/mac/WebContextMac.mm:
        (WebKit::WebContext::platformInitializeWebProcess): Guarded use of
        WKBrowsingContextController with WK_API_ENABLED.
        (WebKit::WebContext::platformInitializeNetworkProcess): Ditto.
        * UIProcess/mac/WebContextMenuProxyMac.mm: Removed newline between imports.
        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h: Moved #if WK_API_ENABLED before the
        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm: Removed newline after #import
        "config.h".
        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h: Moved #if WK_API_ENABLED before the
        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm: Removed newline after #import
        "config.h".
        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm: Ditto.
        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h: Moved #if WK_API_ENABLED before the
        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm: Removed redundant import.
        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:  Moved #if WK_API_ENABLED before the
        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm: Removed newline and redundant import.
        * WebProcess/InjectedBundle/API/mac/WKDOMText.h: Moved #if WK_API_ENABLED before the
        rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h: Ditto.
        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm: Removed newline after
        #import "config.h".
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h: Moved #if WK_API_ENABLED before
        the rest of the imports, and changed to use WK_API_CLASS instead of WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm: Removed newline and redundant
        imports.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:  Moved #if
        WK_API_ENABLED before the rest of the imports, and changed to use WK_API_CLASS instead of
        WK_EXPORT.
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: Removed
        newline after #import "config.h".

2013-11-22  Sam Weinig  <sam@webkit.org>

        WebPageGroup's should keep track of what processes they are being used by
        https://bugs.webkit.org/show_bug.cgi?id=124556

        Reviewed by Dan Bernstein.

        * Scripts/webkit2/messages.py:
        (struct_or_class):
        Mark WebPageGroupData as a struct.

        * Shared/UserMessageCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        * UIProcess/WebConnectionToWebProcess.cpp:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebContextUserMessageCoders.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        Pass the WebProcess/WebProcessProxy to both encode and decode.

        * Shared/WebPageCreationParameters.h:
        Pass the page group by ID when creating a page, as it will have had its own
        creation message sent already.

        * UIProcess/WebPageGroup.cpp:
        * UIProcess/WebPageGroup.h:
        Keep track of processes.

        * UIProcess/WebProcessProxy.cpp:
        * UIProcess/WebProcessProxy.h:
        Keep track of the page groups used by the process.

        * WebProcess/WebPage/WebPage.cpp:
        Get the already create page group on creation.

        * WebProcess/WebProcess.cpp:
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        Explicitly create page groups in the WebProcess.

2013-11-24  Brady Eidson  <beidson@apple.com>

        DatabaseProcess: Add "UniqueIDBDatabase" that multiple WebProcesses can connect to
        https://bugs.webkit.org/show_bug.cgi?id=124819

        Reviewed by Dan Bernstein.

        UniqueIDBDatabase instances are per-DatabaseProcess, so it manages the set of them.
        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
        (WebKit::DatabaseProcess::removeUniqueIDBDatabase):
        * DatabaseProcess/DatabaseProcess.h:

        * DatabaseProcess/DatabaseToWebProcessConnection.h:

        Start forwarding things along to the appropriate UniqueIDBDatabase.
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
        (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess):
        (WebKit::DatabaseProcessIDBConnection::establishConnection):
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:

        A class that represents a single concrete IDB database that multiple WebProcesses can connect to.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::UniqueIDBDatabase):
        (WebKit::UniqueIDBDatabase::~UniqueIDBDatabase):
        (WebKit::UniqueIDBDatabase::registerConnection):
        (WebKit::UniqueIDBDatabase::unregisterConnection):
        (WebKit::UniqueIDBDatabase::getIDBDatabaseMetadata):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        (WebKit::UniqueIDBDatabase::create):
        (WebKit::UniqueIDBDatabase::identifier):

        A class to help uniquely identify an IDBDatabase that can be expanded as needed.
        Importantly, it knows how to be used as a key in a HashMap.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp: Added.
        (WebKit::UniqueIDBDatabaseIdentifier::UniqueIDBDatabaseIdentifier):
        (WebKit::UniqueIDBDatabaseIdentifier::isHashTableDeletedValue):
        (WebKit::UniqueIDBDatabaseIdentifier::hash):
        (WebKit::UniqueIDBDatabaseIdentifier::isNull):
        (WebKit::operator==):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h: Added.
        (WebKit::UniqueIDBDatabaseIdentifier::databaseName):
        (WebKit::UniqueIDBDatabaseIdentifier::openingOrigin):
        (WebKit::UniqueIDBDatabaseIdentifier::mainFrameOrigin):
        (WebKit::UniqueIDBDatabaseIdentifierHash::hash):
        (WebKit::UniqueIDBDatabaseIdentifierHash::equal):
        (WebKit::UniqueIDBDatabaseIdentifierHashTraits::isEmptyValue):

        * Shared/SecurityOriginData.cpp:
        (WebKit::operator==):
        * Shared/SecurityOriginData.h:

        * UIProcess/WebContext.cpp:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open):
        (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend):

        * WebKit2.xcodeproj/project.pbxproj:

2013-11-24  Danilo Cesar Lemes de Paula  <danilo.cesar@collabora.co.uk>, Arunprasad Rajkumar  <arurajku@cisco.com>

        [WK2][GTK] Adding SpatialNavigation setting to webkit2
        https://bugs.webkit.org/show_bug.cgi?id=114298

        Reviewed by Anders Carlsson.

        Adding SpatialNavigation support to WebPreferencesStore allows us
        to toggle that feature on WebKitSettings.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetSpatialNavigationEnabled):
        (WKPreferencesGetSpatialNavigationEnabled):
        * UIProcess/API/C/WKPreferences.h:
        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webKitSettingsSetProperty):
        (webKitSettingsGetProperty):
        (webkit_settings_class_init):
        (webkit_settings_set_enable_spatial_navigation):
        (webkit_settings_get_enable_spatial_navigation):
        * UIProcess/API/gtk/WebKitSettings.h:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
        (testWebKitSettings):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2013-11-22  Brady Eidson  <beidson@apple.com>

        Add DatabaseProcessCreationParameters, starting with the database path.
        https://bugs.webkit.org/show_bug.cgi?id=124804

        Reviewed by Dean Jackson and Benjamin Poulain.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::initializeDatabaseProcess):
        * DatabaseProcess/DatabaseProcess.h:
        (WebKit::DatabaseProcess::indexedDatabaseDirectory):
        * DatabaseProcess/DatabaseProcess.messages.in:

        * Shared/Databases/DatabaseProcessCreationParameters.cpp: Added.
        (WebKit::DatabaseProcessCreationParameters::DatabaseProcessCreationParameters):
        (WebKit::DatabaseProcessCreationParameters::encode):
        (WebKit::DatabaseProcessCreationParameters::decode):
        * Shared/Databases/DatabaseProcessCreationParameters.h: Added.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::ensureDatabaseProcess):

        * WebKit2.xcodeproj/project.pbxproj:
        * Scripts/webkit2/messages.py:
        (struct_or_class):

2013-11-22  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Build break after r159724
        https://bugs.webkit.org/show_bug.cgi?id=124806

        Reviewed by Tim Horton.

        * Platform/CoreIPC/Connection.h: Include atomic header.
        * UIProcess/CoordinatedGraphics/WebView.cpp: Rename didChangeContentsSize to didChangeContentSize.
        (WebKit::WebView::didChangeContentSize):
        * UIProcess/CoordinatedGraphics/WebView.h: Ditto.
        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Adjust TARGET_OS_IPHONE macro.

2013-11-22  Tim Horton  <timothy_horton@apple.com>

        Attempt build fixes for 32-bit after 159724.

        There's probably a better fix, but this will work for now.

        * UIProcess/API/mac/WKView.h:

2013-11-22  Enrica Casucci  <enrica@apple.com>

        Upstream iOS WebKit2 to OpenSource (part 3).
        https://bugs.webkit.org/show_bug.cgi?id=124803

        Reviewed by Anders Carlsson and Tim Horton.


2013-11-22  Jer Noble  <jer.noble@apple.com>

        [Mac] Can't drag full-screen video to another monitor
        https://bugs.webkit.org/show_bug.cgi?id=124798

        Reviewed by Geoffrey Garen.

        Make full screen windows resizable by default. This allows the window to be resized when
        moved between monitors with different resolutions.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView createFullScreenWindow]):

2013-11-22  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Another build fix for NetworkProcess on iOS
        https://bugs.webkit.org/show_bug.cgi?id=124797

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/NetworkResourceLoader.h:

2013-11-22  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Fix the build of the NetworkProcess on iOS
        https://bugs.webkit.org/show_bug.cgi?id=124794

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
        (WebKit::AsynchronousNetworkLoaderClient::didReceiveBuffer):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
        (WebKit::SynchronousNetworkLoaderClient::willSendRequest):

2013-11-22  Anders Carlsson  <andersca@apple.com>

        Move the remaining page loader clients out into separate files
        https://bugs.webkit.org/show_bug.cgi?id=124792

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKPageContextMenuClient.h: Added.
        * UIProcess/API/C/WKPageFindClient.h: Added.
        * UIProcess/API/C/WKPageFindMatchesClient.h: Added.
        * UIProcess/API/C/WKPageFormClient.h: Added.
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/C/WKPagePolicyClient.h: Added.
        * UIProcess/API/C/WKPageUIClient.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-22  Anders Carlsson  <andersca@apple.com>

        Move WKPageLoaderClient out into a separate header
        https://bugs.webkit.org/show_bug.cgi?id=124790

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKPageLoaderClient.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-22  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController dealloc]):
        (-[WKBrowsingContextController _initWithPageRef:]):

2013-11-22  Dan Bernstein  <mitz@apple.com>

        Debug builds unconditionally dump remote layer tree transactions to stderr.

        Reviewed by Sam Weinig.

        * Platform/Logging.h: Declared RemoteLayerTree logging channel.
        * Shared/mac/RemoteLayerTreeTransaction.h: Declared description().
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::dump): Changed to use description().
        (WebKit::RemoteLayerTreeTransaction::description): Returns a CString with the description.
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit): Changed to use logging instead of calling dump().

2013-11-21  Anders Carlsson  <andersca@apple.com>

        Send out the right KVO callbacks when the page title changes
        https://bugs.webkit.org/show_bug.cgi?id=124753

        Reviewed by Simon Fraser.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (PageLoadStateObserver::PageLoadStateObserver):
        New class that sends the right KVO notifications when the load state changes.

        (-[WKBrowsingContextController dealloc]):
        Remove the observer.

        (-[WKBrowsingContextController _initWithPageRef:]):
        Allocate the observer and add it.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::~PageLoadState):
        Assert that we don't have any observers left.

        (WebKit::PageLoadState::addObserver):
        Add the observer to the list.

        (WebKit::PageLoadState::removeObserver):
        Remove the observer from the list.

        (WebKit::PageLoadState::reset):
        Call title change callbacks.

        (WebKit::PageLoadState::setTitle):
        Ditto.

        (WebKit::PageLoadState::callObserverCallback):
        Helper function to dispatch callbacks to observers.

        * UIProcess/PageLoadState.h:
        Add new members.

2013-11-21  Sergio Correia  <sergio.correia@openbossa.org>

        [EFL][WK2] Fix build after r159656
        https://bugs.webkit.org/show_bug.cgi?id=124755

        Reviewed by Gyuyoung Kim.

        Page title was moved to page load state.

        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
        (WebKit::WebInspectorServer::buildPageList):

2013-11-21  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/124702> Stop overriding VALID_ARCHS.

        All modern versions of Xcode set it appropriately for our needs.

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:

2013-11-21  Gwang Yoon Hwang  <ryumiel@company100.net>

        [GTK] Unreviewed buildfix after r159614 and r159656.

        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
        (WebKit::WebInspectorServer::buildPageList): Use the page load state to get page title.

2013-11-21  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/124701> Fix an error in a few Xcode configuration setting files.

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:

2013-11-21  Mark Rowe  <mrowe@apple.com>

        <https://webkit.org/b/124700> Fix some deprecation warnings.

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView namesOfPromisedFilesDroppedAtDestination:]): Move off a deprecated NSFileWrapper method.

2013-11-21  Anders Carlsson  <andersca@apple.com>

        Didn't mean to commit this.

        * UIProcess/PageLoadState.h:

2013-11-21  Anders Carlsson  <andersca@apple.com>

        Move page title handling to the page load state
        https://bugs.webkit.org/show_bug.cgi?id=124748

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageCopyTitle):
        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::reset):
        (WebKit::PageLoadState::didCommitLoad):
        (WebKit::PageLoadState::title):
        (WebKit::PageLoadState::setTitle):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didReceiveTitleForFrame):
        * UIProcess/WebPageProxy.h:

2013-11-21  Daniel Bates  <dabates@apple.com>

        Remove unused functions from WebCore and WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=124739

        Reviewed by Alexey Proskuryakov.

        Remove unused functions autoreleased({WKURLRequestRef, WKURLResponseRef}).

        * UIProcess/API/mac/WKBrowsingContextController.mm:

2013-11-21  Csaba Osztrogonác  <ossy@webkit.org>

        Rename PlatformCertificateInfo to CertificateInfo
        https://bugs.webkit.org/show_bug.cgi?id=124150

        Reviewed by Darin Adler.

        * GNUmakefile.list.am:
        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
        (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/API/c/mac/WKCertificateInfoMac.mm:
        (WKCertificateInfoCreateWithCertficateChain):
        (WKCertificateInfoGetCertificateChain):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
        (WebKit::AuthenticationManager::useCredentialForChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/Authentication/AuthenticationManager.messages.in:
        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
        (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebCertificateInfo.h:
        (WebKit::WebCertificateInfo::create):
        (WebKit::WebCertificateInfo::certificateInfo):
        (WebKit::WebCertificateInfo::WebCertificateInfo):
        * Shared/mac/CertificateInfo.h: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.h.
        (WebKit::CertificateInfo::certificateChain):
        * Shared/mac/CertificateInfo.mm: Renamed from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
        (WebKit::CertificateInfo::CertificateInfo):
        (WebKit::CertificateInfo::encode):
        (WebKit::CertificateInfo::decode):
        (WebKit::CertificateInfo::dump):
        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):
        * Shared/soup/CertificateInfo.cpp: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.cpp.
        (WebKit::CertificateInfo::CertificateInfo):
        (WebKit::CertificateInfo::~CertificateInfo):
        (WebKit::CertificateInfo::encode):
        (WebKit::CertificateInfo::decode):
        * Shared/soup/CertificateInfo.h: Renamed from Source/WebKit2/Shared/soup/PlatformCertificateInfo.h.
        (WebKit::CertificateInfo::certificate):
        (WebKit::CertificateInfo::tlsErrors):
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):
        * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
        (webkitCertificateInfoGetCertificateInfo):
        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_tls_info):
        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
        (WebKit::AuthenticationChallengeProxy::useCredential):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad):
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):

2013-11-21  Sergio Correia  <sergio.correia@openbossa.org>

        [EFL][GTK][WK2] Build fix after r159641
        https://bugs.webkit.org/show_bug.cgi?id=124742

        Reviewed by Csaba Osztrogonác.

        Should fetch activeURL from page load state.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewUpdateURI):
        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
        (WebKit::WebInspectorServer::buildPageList):
        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
        (WebKit::WebInspectorServer::buildPageList):

2013-11-21  Anders Carlsson  <andersca@apple.com>

        Fetch all page loading related URLs from the page load state
        https://bugs.webkit.org/show_bug.cgi?id=124732

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageCopyActiveURL):
        (WKPageCopyProvisionalURL):
        (WKPageCopyCommittedURL):
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController unreachableURL]):
        * UIProcess/PageLoadState.h:
        (WebKit::PageLoadState::provisionalURL):
        (WebKit::PageLoadState::url):
        (WebKit::PageLoadState::unreachableURL):
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:

2013-11-20  Brady Eidson  <beidson@apple.com>

        Hook up WebProcess-side of getOrEstablishIDBDatabaseMetadata
        https://bugs.webkit.org/show_bug.cgi?id=124698

        Reviewed by Anders Carlsson.

        With this change the IDB API in WebKit2 using the DatabaseProcess finally does something observable:
        window.indexedDB.open() sends an error to Javascript.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Continue calling back to the
          WebProcess with dummy data, but include the request ID for reference.
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        Add a new class that wraps a completion callback function and gives it a unique integer identifier.
        It also allows for wrapping an abort callback function (in case a connection is lost, for example).
        It is templated to flexibly handle any callback function signature.
        * Shared/AsyncRequest.cpp: Added.
        (WebKit::generateRequestID):
        (WebKit::AsyncRequest::AsyncRequest):
        (WebKit::AsyncRequest::~AsyncRequest):
        (WebKit::AsyncRequest::setAbortHandler):
        (WebKit::AsyncRequest::requestAborted):
        (WebKit::AsyncRequest::clearAbortHandler):
        * Shared/AsyncRequest.h: Added.
        (WebKit::AsyncRequest::requestID):
        (WebKit::AsyncRequest::requestCompleted):

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata): Wrap the completion handler in an
          AsyncRequest and save off the request for later use.
        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Send the results to the AsyncRequest.
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

        * WebKit2.xcodeproj/project.pbxproj:

2013-11-20  Anders Carlsson  <andersca@apple.com>

        Move activeURL getter to PageLoadState
        https://bugs.webkit.org/show_bug.cgi?id=124690

        Reviewed by Tim Horton.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::activeURL):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::activeURL):

2013-11-20  Simon Fraser  <simon.fraser@apple.com>

        Clean up WebKit2 initialization
        https://bugs.webkit.org/show_bug.cgi?id=124696

        Reviewed by Sam Weinig.
        
        Call InitializeWebKit2() everywhere we need to do one-time
        initialization in WebKit2, rather than having a hotch-potch
        of init code.

        * Shared/APIObject.cpp:
        (API::Object::Object):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm: Removed an unused #include.
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::create):

2013-11-21  Dan Bernstein  <mitz@apple.com>

        Reverted r159603, as it appears to have caused Safari’s Web processes to crash on launch.

        Requested by Sam Weinig.

        * Scripts/webkit2/messages.py:
        (struct_or_class):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * Shared/mac/ObjCObjectGraphCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::ObjCObjectGraphEncoder::baseEncode):
        (WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
        (WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
        (WebKit::WebContextObjCObjectGraphEncoder::encode):
        * UIProcess/WebConnectionToWebProcess.cpp:
        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::createWebPage):
        (WebKit::WebContext::postMessageToInjectedBundle):
        (WebKit::WebContext::didReceiveSyncMessage):
        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebPageGroup.cpp:
        * UIProcess/WebPageGroup.h:
        (WebKit::WebPageGroup::sendToAllProcessesInGroup):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::initializeWebPage):
        (WebKit::WebPageProxy::loadURL):
        (WebKit::WebPageProxy::loadURLRequest):
        (WebKit::WebPageProxy::loadFile):
        (WebKit::WebPageProxy::loadData):
        (WebKit::WebPageProxy::loadHTMLString):
        (WebKit::WebPageProxy::loadAlternateHTMLString):
        (WebKit::WebPageProxy::loadPlainTextString):
        (WebKit::WebPageProxy::loadWebArchiveData):
        (WebKit::WebPageProxy::postMessageToInjectedBundle):
        (WebKit::WebPageProxy::initializeCreationParameters):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::disconnect):
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        (WebKit::InjectedBundleUserMessageEncoder::encode):
        (WebKit::InjectedBundleUserMessageDecoder::decode):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::webPageGroup):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2013-11-20  Brady Eidson  <beidson@apple.com>

        Add more infrastructure for ServerConnection communication between Web and Database processes
        https://bugs.webkit.org/show_bug.cgi?id=124693

        Reviewed by Anders Carlsson.

        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
        (WebKit::DatabaseToWebProcessConnection::removeDatabaseProcessIDBConnection): Added for WebProcess to be able
          to invalidate the DatabaseProcess side of a server connection.
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
        (WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Added for future cleanup.
        (WebKit::DatabaseProcessIDBConnection::establishConnection):
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata): Callback to the WebProcess, even if
          it is just dummy data for now.
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        (WebKit::DatabaseProcessIDBConnection::create):

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::create): Register the new object with the WebToDatabaseProcessConnection.
        (WebKit::WebIDBServerConnection::~WebIDBServerConnection): Remove from the WebToDatabaseProcessConnection.
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata): Callback from the DatabaseProcess,
          a no-op for now.
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in: Copied from Source/WebKit2/DatabaseProcess/DatabaseToWebProcessConnection.messages.in.

        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
        (WebKit::WebToDatabaseProcessConnection::didClose):
        (WebKit::WebToDatabaseProcessConnection::registerWebIDBServerConnection): Hold a collection of all
          server connections for messaging.
        (WebKit::WebToDatabaseProcessConnection::removeWebIDBServerConnection): Remove a connection from the collection,
          and also message the DatabaseProcess that it’s gone away.
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:

        Project files, etc etc:
        * DerivedSources.make:
        * Scripts/webkit2/messages.py:
        (struct_or_class):
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-18  Sam Weinig  <sam@webkit.org>

        WebPageGroup's should keep track of what processes they are being used by
        https://bugs.webkit.org/show_bug.cgi?id=124556

        Reviewed by Dan Bernstein.

        * Scripts/webkit2/messages.py:
        (struct_or_class):
        Mark WebPageGroupData as a struct.

        * Shared/UserMessageCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        * UIProcess/WebConnectionToWebProcess.cpp:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebContextUserMessageCoders.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        Pass the WebProcess/WebProcessProxy to both encode and decode.

        * Shared/WebPageCreationParameters.h:
        Pass the page group by ID when creating a page, as it will have had its own
        creation message sent already.

        * UIProcess/WebPageGroup.cpp:
        * UIProcess/WebPageGroup.h:
        Keep track of processes.

        * UIProcess/WebProcessProxy.cpp:
        * UIProcess/WebProcessProxy.h:
        Keep track of the page groups used by the process.

        * WebProcess/WebPage/WebPage.cpp:
        Get the already created page group on creation.

        * WebProcess/WebProcess.cpp:
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        Explicitly create page groups in the WebProcess.

2013-11-20  Brady Eidson  <beidson@apple.com>

        IDB related cleanup in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=124691

        Reviewed by Enrica Casucci.

        - WebIDBServerConnection.cpp should use the WebCore namespace and get rid of "WebCore::" throughout
        - "backendIndentifier" should be renamed to "serverConnectionIdentifier" throughout

        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        (WebKit::DatabaseProcessIDBConnection::create):

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::generateServerConnectionIdentifier):
        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
        (WebKit::WebIDBServerConnection::openTransaction):
        (WebKit::WebIDBServerConnection::setIndexKeys):
        (WebKit::WebIDBServerConnection::createObjectStore):
        (WebKit::WebIDBServerConnection::createIndex):
        (WebKit::WebIDBServerConnection::deleteIndex):
        (WebKit::WebIDBServerConnection::get):
        (WebKit::WebIDBServerConnection::put):
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::count):
        (WebKit::WebIDBServerConnection::deleteRange):
        (WebKit::WebIDBServerConnection::clearObjectStore):
        (WebKit::WebIDBServerConnection::deleteObjectStore):
        (WebKit::WebIDBServerConnection::changeDatabaseVersion):
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):
        (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
        (WebKit::WebIDBServerConnection::cursorPrefetchReset):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2013-11-20  Brady Eidson  <beidson@apple.com>

        Add argument coders for IDBDatabaseMetadata classes
        https://bugs.webkit.org/show_bug.cgi?id=124689

        Reviewed by Anders Carlsson.

        Add coders for:
          - IDBDatabaseMetadata
          - IDBIndexMetadata
          - IDBKeyPath
          - IDBObjectStoreMetadata

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::::encode):
        (CoreIPC::::decode):
        * Shared/WebCoreArgumentCoders.h:

2013-11-20  Anders Carlsson  <andersca@apple.com>

        Enable PageLoadTest assertions again
        https://bugs.webkit.org/show_bug.cgi?id=124681

        Reviewed by Tim Horton.

        Remove an overzealous assertion and re-enable assertions in PageLoadState again.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::didCommitLoad):
        Remove assertion - it's fine for a page to have a null URL.

        (WebKit::PageLoadState::didFinishLoad):
        Ditto.

        (WebKit::PageLoadState::didFailLoad):
        Update the state.

2013-11-20  Anders Carlsson  <andersca@apple.com>

        PageLoadState should keep track of unreachable URLs
        https://bugs.webkit.org/show_bug.cgi?id=124677

        Reviewed by Dan Bernstein.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::reset):
        (WebKit::PageLoadState::didStartProvisionalLoad):
        (WebKit::PageLoadState::didFailProvisionalLoad):
        (WebKit::PageLoadState::setUnreachableURL):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadAlternateHTMLString):

2013-11-20  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: 100% repro crasher on the IPC thread when creating lots of layers
        https://bugs.webkit.org/show_bug.cgi?id=124643

        Reviewed by Anders Carlsson.

        * Platform/CoreIPC/mac/ConnectionMac.cpp:
        (CoreIPC::Connection::sendOutgoingMessage):
        Dynamically allocate storage for the message if needed.

2013-11-20  Tim Horton  <timothy_horton@apple.com>

        machMessageSize uses sizeof(mach_msg_ool_ports_descriptor_t) for out-of-line *memory*
        https://bugs.webkit.org/show_bug.cgi?id=124644

        Reviewed by Anders Carlsson.

        * Platform/CoreIPC/mac/ConnectionMac.cpp:
        (CoreIPC::machMessageSize):
        mach_msg_ool_descriptor_t is the correct type, given that
        out-of-line memory descriptors use the mach_msg_ool_descriptor_t
        member of the mach_msg_descriptor_t union.

2013-11-20  Brady Eidson  <beidson@apple.com>

        Cleanup getOrEstablishIDBDatabaseMetadata and stub it out in WK2
        https://bugs.webkit.org/show_bug.cgi?id=124635

        Reviewed by Tim Horton.

        Stub out the message for getOrEstablishIDBDatabaseMetadata in the DatabaseProcess.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:
        (WebKit::DatabaseProcessIDBConnection::establishConnection):
        (WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:

        * Shared/SecurityOriginData.cpp:
        (WebKit::SecurityOriginData::fromSecurityOrigin):
        * Shared/SecurityOriginData.h:

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
        (WebKit::WebIDBServerConnection::deleteDatabase):
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:

2013-11-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Do not use deprecated callbacks in WebKitPolicyClient
        https://bugs.webkit.org/show_bug.cgi?id=124648

        Reviewed by Philippe Normand.

        Fixes compile warnings for uninitialized callbacks.

        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
        (decidePolicyForNavigationAction): Add originatingFrame parameter.
        (decidePolicyForNewWindowAction): Renamed for consistency.
        (decidePolicyForResponse): Add canShowMIMEType parameter.
        (attachPolicyClientToView): Add new callbacks.

2013-11-19  Ryosuke Niwa  <rniwa@webkit.org>

        Enable HTMLTemplateElement on Mac port
        https://bugs.webkit.org/show_bug.cgi?id=124637

        Reviewed by Tim Horton.

        * Configurations/FeatureDefines.xcconfig:

2013-11-19  Brady Eidson  <beidson@apple.com>

        Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
        https://bugs.webkit.org/show_bug.cgi?id=124562

        Reviewed by Alexey Proskuryakov.

        Also remove Web/DatabaseProcessDatabaseBackend stubs, as that is no longer the abstraction layer.

        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        (WebKit::DatabaseToWebProcessConnection::establishIDBConnection):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in:

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp.
        (WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
        (WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
        (WebKit::DatabaseProcessIDBConnection::establishConnection):
        (WebKit::DatabaseProcessIDBConnection::messageSenderConnection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h.
        (WebKit::DatabaseProcessIDBConnection::create):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in.

        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
        (WebKit::uniqueDatabaseIdentifier): Modified to take two security origin arguments.
        * Shared/Databases/IndexedDB/IDBUtilities.h:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open):

        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Added. Stubbed out all the pure virtual methods.
        (WebKit::generateBackendIdentifier):
        (WebKit::WebIDBServerConnection::WebIDBServerConnection):
        (WebKit::WebIDBServerConnection::~WebIDBServerConnection):
        (WebKit::WebIDBServerConnection::isClosed):
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::deleteDatabase):
        (WebKit::WebIDBServerConnection::close):
        (WebKit::WebIDBServerConnection::openTransaction):
        (WebKit::WebIDBServerConnection::beginTransaction):
        (WebKit::WebIDBServerConnection::commitTransaction):
        (WebKit::WebIDBServerConnection::resetTransaction):
        (WebKit::WebIDBServerConnection::rollbackTransaction):
        (WebKit::WebIDBServerConnection::setIndexKeys):
        (WebKit::WebIDBServerConnection::createObjectStore):
        (WebKit::WebIDBServerConnection::createIndex):
        (WebKit::WebIDBServerConnection::deleteIndex):
        (WebKit::WebIDBServerConnection::get):
        (WebKit::WebIDBServerConnection::put):
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::count):
        (WebKit::WebIDBServerConnection::deleteRange):
        (WebKit::WebIDBServerConnection::clearObjectStore):
        (WebKit::WebIDBServerConnection::deleteObjectStore):
        (WebKit::WebIDBServerConnection::changeDatabaseVersion):
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):
        (WebKit::WebIDBServerConnection::cursorPrefetchIteration):
        (WebKit::WebIDBServerConnection::cursorPrefetchReset):
        (WebKit::WebIDBServerConnection::messageSenderConnection):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Added.

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Removed.
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Removed.

        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:

        * DerivedSources.make:
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-19  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL and GTK build fix attempt after r159507

        * CMakeLists.txt: Changed Platform/CoreIPC/DataReference.cpp to Platform/IPC/DataReference.cpp
        * GNUmakefile.list.am: Ditto

2013-11-19  Anders Carlsson  <andersca@apple.com>

        Move DataReference to Platform/IPC.

        * Platform/IPC/DataReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.cpp.
        * Platform/IPC/DataReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.h.
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-19  Anders Carlsson  <andersca@apple.com>

        Add and call PageLoadState::reset
        https://bugs.webkit.org/show_bug.cgi?id=124591

        Reviewed by Dan Bernstein.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::reset):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::processDidCrash):

2013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Initialize efreet before getting directories
        https://bugs.webkit.org/show_bug.cgi?id=124560

        Reviewed by Gyuyoung Kim.

        efreet is used to get several directories including home dierectory since
        r123731, but it does not call efreet_init/efreet_shutdown explicitly.

        * UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.
        (ewk_init):
        (ewk_shutdown):

2013-11-18  Mark Rowe  <mrowe@apple.com>

        Use hw.activecpu for determining how many processes to spawn.

        It's documented as the preferred way to determine the number of threads
        or processes to create in a SMP aware application.

        Rubber-stamped by Tim Horton.

        * WebKit2.xcodeproj/project.pbxproj:

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Let's try this again.

        * UIProcess/PageLoadState.cpp:

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Disable assertions in PageLoadState.cpp for now.

        * UIProcess/PageLoadState.cpp:

2013-11-18  Anders Carlsson  <andersca@apple.com>

        TestWebKitAPI crashes when running under GuardMalloc
        https://bugs.webkit.org/show_bug.cgi?id=124546

        Reviewed by Tim Horton.

        * UIProcess/Downloads/DownloadProxyMap.cpp:
        (WebKit::DownloadProxyMap::downloadFinished):
        Grab the download ID before removing the DownloadProxy from the map.

2013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on GTK and EFL port after r159461

        * CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
        * GNUmakefile.list.am: Ditto.

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Rename WebNavigationData to API::NavigationData
        https://bugs.webkit.org/show_bug.cgi?id=124542

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKNavigationDataRef.cpp:
        (WKNavigationDataGetTypeID):
        * UIProcess/API/Cocoa/WKNavigationData.mm:
        (-[WKNavigationData dealloc]):
        (-[WKNavigationData title]):
        (-[WKNavigationData originalRequest]):
        (-[WKNavigationData destinationURL]):
        (-[WKNavigationData response]):
        * UIProcess/API/Cocoa/WKNavigationDataInternal.h:
        (WebKit::wrapper):
        * UIProcess/API/mac/WKProcessGroup.mm:
        * UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.
        (API::NavigationData::NavigationData):
        (API::NavigationData::~NavigationData):
        * UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.
        (API::NavigationData::create):
        (API::NavigationData::title):
        (API::NavigationData::url):
        (API::NavigationData::originalRequest):
        (API::NavigationData::response):
        * UIProcess/WebHistoryClient.cpp:
        (WebKit::WebHistoryClient::didNavigateWithNavigationData):
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-18  David Hyatt  <hyatt@apple.com>

        Add a quirk to not respect center text-align when positioning

        <rdar://problem/15427571>
        https://bugs.webkit.org/show_bug.cgi?id=124522

        Reviewed by Simon Fraser.

        Added fast/block/legacy-text-align-position-quirk.html

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
        (WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Add State to PageLoadState
        https://bugs.webkit.org/show_bug.cgi?id=124538

        Reviewed by Tim Horton.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::PageLoadState):
        (WebKit::PageLoadState::didStartProvisionalLoad):
        (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::PageLoadState::didFailProvisionalLoad):
        (WebKit::PageLoadState::didCommitLoad):
        (WebKit::PageLoadState::didFinishLoad):
        (WebKit::PageLoadState::didSameDocumentNavigation):
        * UIProcess/PageLoadState.h:

2013-11-18  Anders Carlsson  <andersca@apple.com>

        The PageLoadState object should keep track of the current URL
        https://bugs.webkit.org/show_bug.cgi?id=124536

        Reviewed by Dan Bernstein.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::didCommitLoad):
        (WebKit::PageLoadState::didFinishLoad):
        (WebKit::PageLoadState::didFailLoad):
        (WebKit::PageLoadState::didSameDocumentNavigation):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        (WebKit::WebPageProxy::didFailLoadForFrame):
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

2013-11-18  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r159444.

        * GNUmakefile.list.am:

2013-11-18  Anders Carlsson  <andersca@apple.com>

        PageLoadState should keep track of the provisional URL
        https://bugs.webkit.org/show_bug.cgi?id=124535

        Reviewed by Dan Bernstein.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::didStartProvisionalLoad):
        (WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::PageLoadState::didCommitLoad):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didCommitLoadForFrame):

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Move m_pendingAPIRequestURL to PageLoadState
        https://bugs.webkit.org/show_bug.cgi?id=124531

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageCopyPendingAPIRequestURL):
        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::pendingAPIRequestURL):
        (WebKit::PageLoadState::setPendingAPIRequestURL):
        (WebKit::PageLoadState::clearPendingAPIRequestURL):
        * UIProcess/PageLoadState.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::loadURL):
        (WebKit::WebPageProxy::loadURLRequest):
        (WebKit::WebPageProxy::reload):
        (WebKit::WebPageProxy::goForward):
        (WebKit::WebPageProxy::goBack):
        (WebKit::WebPageProxy::goToBackForwardItem):
        (WebKit::WebPageProxy::activeURL):
        (WebKit::WebPageProxy::receivedPolicyDecision):
        (WebKit::WebPageProxy::estimatedProgress):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::pageLoadState):
        * UIProcess/cf/WebPageProxyCF.cpp:
        (WebKit::WebPageProxy::sessionStateData):
        (WebKit::WebPageProxy::restoreFromSessionStateData):

2013-11-18  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL build fix after r159444

        * CMakeLists.txt: Added PageLoadState.cpp.

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Add PageLoadState class
        https://bugs.webkit.org/show_bug.cgi?id=124528

        Reviewed by Dan Bernstein.

        Trying to use the main frame load state as the page load state was a bad idea,
        add a new PageLoadState and use it instead. Ultimately the long term plan is to
        transition away from FrameLoadState entirely.

        * UIProcess/PageLoadState.cpp: Added.
        (WebKit::PageLoadState::PageLoadState):
        (WebKit::PageLoadState::~PageLoadState):
        (WebKit::PageLoadState::didStartProvisionalLoad):
        * UIProcess/PageLoadState.h: Added.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-14  David Farler  <dfarler@apple.com>

        [ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
        https://bugs.webkit.org/show_bug.cgi?id=124367

        Reviewed by Alexey Proskuryakov.

        * Shared/Downloads/DownloadAuthenticationClient.cpp:
        (WebKit::DownloadAuthenticationClient::receivedCredential):
        (WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
        (WebKit::DownloadAuthenticationClient::receivedCancellation):
        Remove calls to nowhere:
        WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
        WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
        WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Use a strong enum for frame load states
        https://bugs.webkit.org/show_bug.cgi?id=124524

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKFrame.cpp:
        (WKFrameGetFrameLoadState):
        * UIProcess/FrameLoadState.cpp:
        (WebKit::FrameLoadState::FrameLoadState):
        (WebKit::FrameLoadState::didStartProvisionalLoad):
        (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::FrameLoadState::didFailProvisionalLoad):
        (WebKit::FrameLoadState::didCommitLoad):
        (WebKit::FrameLoadState::didFinishLoad):
        (WebKit::FrameLoadState::didFailLoad):
        * UIProcess/FrameLoadState.h:
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::activeURL):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::loadStateAtProcessExit):

2013-11-18  Anders Carlsson  <andersca@apple.com>

        Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
        https://bugs.webkit.org/show_bug.cgi?id=124523

        Reviewed by Dan Bernstein.

        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::beginModal):
        * PluginProcess/mac/PluginProcessShim.mm:
        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
        (WebKit::NetscapePluginModule::tryLoad):
        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
        (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
        (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
        (WebKit::PluginProcessProxy::exitFullscreen):

2013-11-18  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
        https://bugs.webkit.org/show_bug.cgi?id=124478

        Reviewed by Gyuyoung Kim.

        EWebKit is built using CMake but applications use *.pc to use it.
        This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
        for applications which use EWebkit and is compiled by CMake.

        * PlatformEfl.cmake:
        Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake
        * efl/EWebKit2Config.cmake.in: Added.
        * efl/EWebKit2ConfigVersion.cmake.in: Added.

2013-11-18  Eunmi Lee  <eunmi15.lee@samsung.com>

        [EFL][WK2] Process single tap using mouse move, down and up event.
        https://bugs.webkit.org/show_bug.cgi?id=106864

        Reviewed by Christophe Dumez.

        Send mouse events to the web process to perform the clicking when
        single tap gesture is recognized.
        Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
        and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
        API implementation.

        * UIProcess/API/C/efl/WKViewEfl.cpp:
        (WKViewSendMouseDownEvent):
        (WKViewSendMouseUpEvent):
        (WKViewSendMouseMoveEvent):
        * UIProcess/API/C/efl/WKViewEfl.h:
        * UIProcess/API/efl/GestureRecognizer.cpp:
        (WebKit::GestureHandler::handleSingleTap):
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebViewEfl::sendMouseEvent):
        * UIProcess/efl/WebViewEfl.h:

2013-11-17  Dan Bernstein  <mitz@apple.com>

        Try to fix the EFL build.

        * UIProcess/efl/PagePolicyClientEfl.cpp:
        (WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
        WKFrameCanShowMIMEType now that this information is passed in as a parameter.

2013-11-16  Dan Bernstein  <mitz@apple.com>

        No way for policy client to determine if a the response’s MIME type can be shown
        https://bugs.webkit.org/show_bug.cgi?id=124445

        Reviewed by Sam Weinig.

        * Platform/CoreIPC/HandleMessage.h:
        (CoreIPC::callMemberFunction): Added a fifth message parameter to this template.

        * UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to
        WKPageDecidePolicyForResponseCallback and deprecated the old version.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
        in the action information dictionary.
        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
        WKActionCanShowMIMETypeKey.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
        passed to the policy client.
        (WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
        is passed to the above function.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to
        DecidePolicyForResponseSync.

        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
        is passed to the client callback.
        * UIProcess/WebPolicyClient.h:

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
        MIME type can be shown and pass this information along in the message to the UI process.

2013-11-15  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed EFL build fix after r159358.

        * UIProcess/efl/PagePolicyClientEfl.cpp:
        (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
        * UIProcess/efl/PagePolicyClientEfl.h:

2013-11-15  Brady Eidson  <beidson@apple.com>

        Let IDBDatabaseBackend create IDBTransactionBackend's directly
        https://bugs.webkit.org/show_bug.cgi?id=124438

        Reviewed by Beth Dakin.

        Remove maybeCreateTransactionBackend():
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-11-15  Brady Eidson  <beidson@apple.com>

        Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
        https://bugs.webkit.org/show_bug.cgi?id=124436

        Reviewed by Tim Horton.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-11-15  Dan Bernstein  <mitz@apple.com>

        Give the policy client the originating frame of a navigation action
        https://bugs.webkit.org/show_bug.cgi?id=124431

        Reviewed by Anders Carlsson.

        * Platform/CoreIPC/HandleMessage.h:
        (CoreIPC::callMemberFunction): Added a seventh message parameter to this template.

        * Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two
        versions.
        * Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>.

        * UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to
        WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the
        policy client version to 1.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (setUpPagePolicyClient): Include the originating frame’s URL under a new key in the
        action information dictionary.
        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared
        WKActionOriginatingFrameURLKey.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter.
        (WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy
        client interface.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter
        and passing the originating frame to the policy client.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to
        DecidePolicyForNavigationAction.

        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForNavigationAction): Added originatingFrame
        parameter, which is passed to the client callback.
        * UIProcess/WebPolicyClient.h:

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the
        originating frame for link activation and form submission actions and send its ID in the
        DecidePolicyForNavigationAction message.

2013-11-15  Brady Eidson  <beidson@apple.com>

        Move execution of IDBTransactionBackendOperations to the IDBServerConnection
        https://bugs.webkit.org/show_bug.cgi?id=124385

        Reviewed by Tim Horton.

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

2013-11-15  Peter Molnar  <pmolnar.u-szeged@partner.samsung.com>

        Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
        https://bugs.webkit.org/show_bug.cgi?id=124398

        Reviewed by Brady Eidson.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:

2013-11-15  Tibor Meszaros  <mtibor@inf.u-szeged.hu>

        Cleanup the build from unused parameters in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=124201

        Reviewed by Darin Adler.

        * Shared/Plugins/Netscape/PluginInformation.cpp:
        (WebKit::getPluginModuleInformation):
        * UIProcess/API/C/WKBatteryManager.cpp:
        (WKBatteryManagerSetProvider):
        (WKBatteryManagerProviderDidChangeBatteryStatus):
        (WKBatteryManagerProviderUpdateBatteryStatus):
        * UIProcess/API/C/WKBatteryStatus.cpp:
        (WKBatteryStatusCreate):
        * UIProcess/API/C/WKColorPickerResultListener.cpp:
        (WKColorPickerResultListenerSetColor):
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetBatteryManager):
        (WKContextGetDatabaseManager):
        (WKContextGetNetworkInfoManager):
        * UIProcess/API/C/WKDatabaseManager.cpp:
        (WKDatabaseManagerSetClient):
        (WKDatabaseManagerGetDatabasesByOrigin):
        (WKDatabaseManagerGetDatabaseOrigins):
        (WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
        (WKDatabaseManagerDeleteDatabasesForOrigin):
        (WKDatabaseManagerDeleteAllDatabases):
        (WKDatabaseManagerSetQuotaForOrigin):
        * UIProcess/API/C/WKNetworkInfo.cpp:
        (WKNetworkInfoCreate):
        * UIProcess/API/C/WKNetworkInfoManager.cpp:
        (WKNetworkInfoManagerSetProvider):
        (WKNetworkInfoManagerProviderDidChangeNetworkInformation):
        * UIProcess/API/C/WKOpenPanelParameters.cpp:
        (WKOpenPanelParametersCopyCapture):
        * UIProcess/API/C/WKVibration.cpp:
        (WKVibrationSetProvider):
        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::createNewPage):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setVisibilityState):
        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
        * UIProcess/efl/ViewClientEfl.cpp:
        (WebKit::ViewClientEfl::didChangeContentsPosition):
        (WebKit::ViewClientEfl::didRenderFrame):
        (WebKit::ViewClientEfl::didChangeViewportAttributes):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::setDatabaseQuota):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createWindow):

2013-11-14  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKBrowsingContextController's policy client implementation over-releases WKURLRequests and WKURLResponses
        https://bugs.webkit.org/show_bug.cgi?id=124386

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (setUpPagePolicyClient): Changed to release the Cocoa objects we copy out of the WK objects
        passed into the client callbacks, but not the WK objects themselves, which are not owned by
        the callbacks.

2013-11-14  Andy Estes  <aestes@apple.com>

        Replace calls to deprecated CFPropertyList functions in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=124384

        Reviewed by Anders Carlsson.

        * UIProcess/cf/WebPageProxyCF.cpp:
        (WebKit::WebPageProxy::sessionStateData): Replaced CFPropertyListWriteToStream() with CFPropertyListWrite().
        (WebKit::WebPageProxy::restoreFromSessionStateData): Replaced CFPropertyListCreateFromXMLData() with CFPropertyListCreateWithData().

2013-11-14  Gergo Balogh  <geryxyz@inf.u-szeged.hu>

        generate-message-receiver.py can't handle nested #ifs
        https://bugs.webkit.org/show_bug.cgi?id=121877

        Reviewed by Darin Adler.

        parser.py was modifieded to collect and combine conditions of nested #ifs.
        messages_unittest.py extended to check these modifications.

        * Scripts/webkit2/messages_unittest.py:
        (LoadSomething):
        (std):
        (AddEvent):
        (LoadSomethingElse):
        * Scripts/webkit2/parser.py:
        (combine_condition):
        (bracket_if_needed):
        (parse):

2013-11-14  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKAction keys are not exported
        https://bugs.webkit.org/show_bug.cgi?id=124378

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.mm: Made the keys constant pointers.
        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Exported the keys.

2013-11-14  Ryuan Choi  <ryuan.choi@samsung.com>

        [WK2] Move Coordinated Graphics related code out of DrawingAreaProxy
        https://bugs.webkit.org/show_bug.cgi?id=124328

        Reviewed by Andreas Kling.

        Refactored for DrawingAreaProxy not to include Coordinated Graphics specific code.

        * PlatformEfl.cmake:
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp: Moved from DrawingAreaProxy.cpp.
        (WebKit::CoordinatedDrawingAreaProxy::updateViewport):
        (WebKit::CoordinatedDrawingAreaProxy::contentsRect):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h: Ditto.
        (WebKit::CoordinatedDrawingAreaProxy::coordinatedLayerTreeHostProxy): Refactored to return reference instead of pointer.
        (WebKit::CoordinatedDrawingAreaProxy::viewportVisibleRect):
        (WebKit::CoordinatedDrawingAreaProxy::page):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
        (WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
        * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
        Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
        (WebKit::fuzzyCompare):
        (WebKit::PageViewportController::PageViewportController):
        (WebKit::PageViewportController::innerBoundedViewportScale):
        (WebKit::PageViewportController::outerBoundedViewportScale):
        (WebKit::PageViewportController::deviceScaleFactor):
        (WebKit::isIntegral):
        (WebKit::PageViewportController::pixelAlignedFloatPoint):
        (WebKit::PageViewportController::boundContentsPositionAtScale):
        (WebKit::PageViewportController::boundContentsPosition):
        (WebKit::PageViewportController::didCommitLoad):
        (WebKit::PageViewportController::didChangeContentsSize):
        (WebKit::PageViewportController::didRenderFrame):
        (WebKit::PageViewportController::pageTransitionViewportReady):
        (WebKit::PageViewportController::pageDidRequestScroll):
        (WebKit::PageViewportController::didChangeViewportSize):
        (WebKit::PageViewportController::didChangeContentsVisibility):
        (WebKit::PageViewportController::syncVisibleContents): Added cast to access CoordinatedDrawingAreaProxy method.
        (WebKit::PageViewportController::didChangeViewportAttributes):
        (WebKit::PageViewportController::visibleContentsSize):
        (WebKit::PageViewportController::applyScaleAfterRenderingContents):
        (WebKit::PageViewportController::applyPositionAfterRenderingContents):
        (WebKit::PageViewportController::updateMinimumScaleToFit):
        * UIProcess/CoordinatedGraphics/PageViewportController.h:
        Renamed from Source/WebKit2/UIProcess/PageViewportController.cpp because it depends on Coordinated Graphics.
        (WebKit::PageViewportController::~PageViewportController):
        (WebKit::PageViewportController::hadUserInteraction):
        (WebKit::PageViewportController::allowsUserScaling):
        (WebKit::PageViewportController::contentsLayoutSize):
        (WebKit::PageViewportController::minimumScale):
        (WebKit::PageViewportController::maximumScale):
        (WebKit::PageViewportController::currentScale):
        (WebKit::PageViewportController::setHadUserInteraction):
        * UIProcess/CoordinatedGraphics/WebView.cpp: Added some casts to access CoordinatedDrawingAreaProxy methods.
        (WebKit::WebView::coordinatedGraphicsScene): Simplified code using reference.
        (WebKit::WebView::updateViewportSize):
        * UIProcess/DrawingAreaProxy.cpp: Removed Coordinated Graphics macro and related codes.
        * UIProcess/DrawingAreaProxy.h: Ditto.

2013-11-13  Nick Diego Yamane  <nick.yamane@openbossa.org>

        Rename some ImmutableArray leftovers
        https://bugs.webkit.org/show_bug.cgi?id=124320

        Reviewed by Anders Carlsson.

        ImmutableArray has been renamed to API::Array in r159234.

        * Shared/API/c/WKContextMenuItem.cpp:
        * Shared/WebContextMenuItem.cpp:
        * Shared/WebContextMenuItem.h:
        * UIProcess/API/C/WKBackForwardListRef.cpp:
        * UIProcess/API/Cocoa/WKBackForwardList.mm:
        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
        * UIProcess/WebBackForwardList.cpp:
        * UIProcess/WebBackForwardList.h:

2013-11-13  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r159263): caused 50+ crashes on all mac webkit2 bots
        https://bugs.webkit.org/show_bug.cgi?id=124327

        Reviewed by Tim Horton.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate extra memory for the WebError inside the WKNSError.

2013-11-13  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add WKNSError
        https://bugs.webkit.org/show_bug.cgi?id=124295

        Reviewed by Anders Carlsson.

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject): Allocate a WKNSError if the object is a WebError.
        * Shared/Cocoa/WKNSError.h: Added.
        (WebKit::wrapper): Added. Returns a WebError’s wrapper as an NSError.
        * Shared/Cocoa/WKNSError.mm: Added.
        (-[WKNSError _web_createTarget]): Override this WKObject method to return a copy of the
        underlying CFError.
        (-[WKNSError copyWithZone:]): Retains self.
        * WebKit2.xcodeproj/project.pbxproj: Added new files.

2013-11-13  Simon Fraser  <simon.fraser@apple.com>

        Tweak the property syntax after https://bugs.webkit.org/show_bug.cgi?id=124317

        Reviewed by Dan Bernstein.

        * UIProcess/API/mac/WKViewPrivate.h:

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Move more state tracking to FrameLoadState
        https://bugs.webkit.org/show_bug.cgi?id=124316

        Reviewed by Simon Fraser.

        * UIProcess/FrameLoadState.cpp:
        (WebKit::FrameLoadState::didStartProvisionalLoad):
        (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::FrameLoadState::didFailProvisionalLoad):
        (WebKit::FrameLoadState::didCommitLoad):
        (WebKit::FrameLoadState::didFinishLoad):
        (WebKit::FrameLoadState::didFailLoad):
        (WebKit::FrameLoadState::didSameDocumentNotification):
        (WebKit::FrameLoadState::setUnreachableURL):
        * UIProcess/FrameLoadState.h:
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad):
        (WebKit::WebFrameProxy::didFinishLoad):
        (WebKit::WebFrameProxy::didFailLoad):
        (WebKit::WebFrameProxy::didSameDocumentNavigation):
        (WebKit::WebFrameProxy::setUnreachableURL):

2013-11-13  Simon Fraser  <simon.fraser@apple.com>

        Expose a private flag on WKView to indicate whether it's using a remote layer tree drawing area
        https://bugs.webkit.org/show_bug.cgi?id=124317

        Reviewed by Anders Carlsson.
        
        Expose isUsingUISideCompositing on WKView in the private header,
        which returns YES if the view is using a DrawingAreaTypeRemoteLayerTree.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView isUsingUISideCompositing]):
        * UIProcess/API/mac/WKViewPrivate.h:

2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>

        Maybe the last attempt to fix the GTK build.

        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:

2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>

        One more attempt to fix the GTK build.

        * UIProcess/API/gtk/WebKitWebViewPrivate.h:

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Plug-in processes hang around for 10 sec after Safari quits
        https://bugs.webkit.org/show_bug.cgi?id=124314
        <rdar://problem/15460613>

        Reviewed by Simon Fraser.

        Call stopRunLoop instead of instead of RunLoop::stop().

        * PluginProcess/PluginProcess.cpp:
        (WebKit::PluginProcess::didClose):

2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r159234.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Shared/efl/WebEventFactory.cpp:
        (WebKit::WebEventFactory::createWebTouchEvent):
        * UIProcess/API/C/WKGrammarDetail.cpp:
        * UIProcess/API/C/efl/WKEventEfl.cpp:
        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
        (webkitBackForwardListCreateList):
        (webkitBackForwardListChanged):
        (webkit_back_forward_list_get_back_list_with_limit):
        (webkit_back_forward_list_get_forward_list_with_limit):
        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
        * UIProcess/API/gtk/WebKitContextMenu.cpp:
        (webkitContextMenuCreate):
        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        (webkitContextMenuItemCreate):
        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
        * UIProcess/API/gtk/WebKitCookieManager.cpp:
        (webkitCookieManagerGetDomainsWithCookiesCallback):
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_get_mime_types):
        (webkit_file_chooser_request_get_mime_types_filter):
        (webkit_file_chooser_request_select_files):
        (webkit_file_chooser_request_get_selected_files):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewPopulateContextMenu):
        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
        (toImmutableArray):
        (webkit_web_view_group_add_user_style_sheet):
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
        * UIProcess/WebGrammarDetail.cpp:
        (WebKit::WebGrammarDetail::create):
        (WebKit::WebGrammarDetail::WebGrammarDetail):
        (WebKit::WebGrammarDetail::guesses):
        * UIProcess/WebGrammarDetail.h:
        * UIProcess/WebTextCheckerClient.cpp:
        (WebKit::WebTextCheckerClient::checkGrammarOfString):
        (WebKit::WebTextCheckerClient::guessesForWord):
        * UIProcess/efl/WebUIPopupMenuClient.cpp:
        (WebUIPopupMenuClient::showPopupMenu):

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Fix build.

        Not sure why these weren't added.

        * Shared/APIArray.cpp: Added.
        * Shared/APIArray.h: Added.

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Rename ImmutableArray to API::Array
        https://bugs.webkit.org/show_bug.cgi?id=124307

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (ensureObjectStream):
        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
        * Shared/API/c/WKArray.cpp:
        (WKArrayGetTypeID):
        (WKArrayCreate):
        (WKArrayCreateAdoptingValues):
        * Shared/API/c/WKContextMenuItem.cpp:
        * Shared/API/c/WKDictionary.cpp:
        (WKDictionaryCopyKeys):
        * Shared/API/c/WKMutableArray.cpp:
        (WKMutableArrayCreate):
        * Shared/API/c/WKRenderObject.cpp:
        (WKRenderObjectGetChildren):
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toImpl):
        * Shared/API/c/mac/WKWebArchive.cpp:
        (WKWebArchiveCopySubresources):
        (WKWebArchiveCopySubframeArchives):
        * Shared/APIArray.cpp: Renamed from Source/WebKit2/Shared/ImmutableArray.cpp.
        (API::Array::create):
        (API::Array::createStringArray):
        (API::Array::Array):
        (API::Array::~Array):
        * Shared/APIArray.h: Renamed from Source/WebKit2/Shared/ImmutableArray.h.
        * Shared/Cocoa/WKNSArray.h:
        (wrapper):
        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray dealloc]):
        (-[WKNSArray count]):
        (-[WKNSArray objectAtIndex:]):
        (-[WKNSArray API::]):
        * Shared/ImmutableDictionary.cpp:
        (WebKit::ImmutableDictionary::keys):
        * Shared/ImmutableDictionary.h:
        * Shared/SecurityOriginData.cpp:
        (WebKit::performAPICallbackWithSecurityOriginDataVector):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebArchive.cpp:
        (WebKit::WebArchive::create):
        (WebKit::WebArchive::WebArchive):
        (WebKit::WebArchive::subresources):
        (WebKit::WebArchive::subframeArchives):
        * Shared/WebArchive.h:
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::create):
        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
        * Shared/WebContextMenuItem.h:
        * Shared/WebOpenPanelParameters.cpp:
        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
        (WebKit::WebOpenPanelParameters::selectedFileNames):
        * Shared/WebOpenPanelParameters.h:
        * Shared/WebRenderLayer.cpp:
        (WebKit::WebRenderLayer::create):
        (WebKit::WebRenderLayer::createArrayFromLayerList):
        (WebKit::WebRenderLayer::WebRenderLayer):
        * Shared/WebRenderLayer.h:
        (WebKit::WebRenderLayer::negativeZOrderList):
        (WebKit::WebRenderLayer::normalFlowList):
        (WebKit::WebRenderLayer::positiveZOrderList):
        * Shared/WebRenderObject.cpp:
        (WebKit::WebRenderObject::create):
        (WebKit::WebRenderObject::WebRenderObject):
        (WebKit::WebRenderObject::~WebRenderObject):
        * Shared/WebRenderObject.h:
        (WebKit::WebRenderObject::children):
        (WebKit::WebRenderObject::elementClassNames):
        * UIProcess/API/C/WKBackForwardListRef.cpp:
        * UIProcess/API/C/WKOpenPanelParameters.cpp:
        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetInfoForInstalledPlugIns):
        * UIProcess/API/Cocoa/WKBackForwardList.mm:
        (-[WKBackForwardList backListWithLimit:]):
        (-[WKBackForwardList forwardListWithLimit:]):
        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
        (createWKArray):
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions):
        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
        (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        (WebKit::WebNotificationProvider::clearNotifications):
        * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
        (WebKit::PlugInAutoStartProvider::setAutoStartOriginsArray):
        * UIProcess/Plugins/PlugInAutoStartProvider.h:
        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
        (WebKit::WebPluginSiteDataManager::clearSiteData):
        * UIProcess/Plugins/WebPluginSiteDataManager.h:
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::StatisticsRequest::completedRequest):
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
        * UIProcess/WebBackForwardList.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::setPlugInAutoStartOrigins):
        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebContext.h:
        * UIProcess/WebContextClient.cpp:
        (WebKit::WebContextClient::plugInInformationBecameAvailable):
        * UIProcess/WebContextClient.h:
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
        * UIProcess/WebFindClient.cpp:
        (WebKit::WebFindMatchesClient::didFindStringMatches):
        * UIProcess/WebFindClient.h:
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebKeyValueStorageManager.cpp:
        (WebKit::didGetKeyValueStorageOrigins):
        * UIProcess/WebKeyValueStorageManager.h:
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::didChangeBackForwardList):
        * UIProcess/WebMediaCacheManagerProxy.cpp:
        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebOpenPanelResultListenerProxy.cpp:
        (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
        * UIProcess/WebOpenPanelResultListenerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageContextMenuClient.cpp:
        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
        (WebKit::WebPageContextMenuClient::showContextMenu):
        * UIProcess/WebPageGroup.cpp:
        (WebKit::toStringVector):
        (WebKit::WebPageGroup::addUserStyleSheet):
        (WebKit::WebPageGroup::addUserScript):
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::relatedPages):
        (WebKit::WebPageProxy::didFindStringMatches):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebResourceCacheManagerProxy.cpp:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleCopyOriginsWithApplicationCache):
        * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (contextMenuItems):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::originsWithApplicationCache):
        (WebKit::toStringVector):
        (WebKit::InjectedBundle::addUserScript):
        (WebKit::InjectedBundle::addUserStyleSheet):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
        (WebKit::InjectedBundleBackForwardListItem::children):
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
        (WebKit::InjectedBundlePageEditorClient::getPasteboardDataForRange):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::findLargestFrameInFrameSet):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::childFrames):
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::trackedRepaintRects):
        * WebProcess/WebPage/WebPage.h:

2013-11-13  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [GTK] Fix build after r159222
        https://bugs.webkit.org/show_bug.cgi?id=124305

        Reviewed by Tim Horton.

        WebGraphicsContext and its API has been removed.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * Shared/API/c/gtk/WKGraphicsContextGtk.cpp: Removed.
        * Shared/API/c/gtk/WKGraphicsContextGtk.h: Removed.

2013-11-13  Tim Horton  <timothy_horton@apple.com>

        Remove redundant return after r159173
        https://bugs.webkit.org/show_bug.cgi?id=124303

        Reviewed by Geoff Garen.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
        Remove redundant return.

2013-11-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>

        Unreviewed EFL build fix after r159222.

        * CMakeLists.txt:

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Remove WebGraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=124302

        Reviewed by Dan Bernstein.

        WebGraphicsContext and its API "object", WKGraphicsContextRef was only used
        for the overhang paint callback which has been removed.

        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKGraphicsContextGetCGContext):
        * Shared/API/c/WKGraphicsContext.cpp: Removed.
        * Shared/API/c/WKGraphicsContext.h: Removed.
        * Shared/API/c/cg/WKGraphicsContextCG.cpp: Removed.
        * Shared/API/c/cg/WKGraphicsContextCG.h: Removed.
        * Shared/APIObject.h:
        * Shared/WebGraphicsContext.cpp: Removed.
        * Shared/WebGraphicsContext.h: Removed.
        * UIProcess/API/C/WebKit2_C.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

2013-11-13  Anders Carlsson  <andersca@apple.com>

        WKArrayIsMutable should not be mangled
        https://bugs.webkit.org/show_bug.cgi?id=124299

        Reviewed by Andreas Kling.

        * Shared/API/c/WKDeprecatedFunctions.cpp:

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Move provisional load state handling to FrameLoadState
        https://bugs.webkit.org/show_bug.cgi?id=124291

        Reviewed by Dan Bernstein.

        * UIProcess/FrameLoadState.cpp:
        (WebKit::FrameLoadState::didStartProvisionalLoad):
        (WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::FrameLoadState::didFailProvisionalLoad):
        * UIProcess/FrameLoadState.h:
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didStartProvisionalLoad):
        (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::WebFrameProxy::didFailProvisionalLoad):

2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>

        One more fix after r159197.

        * UIProcess/efl/EwkTouchEvent.h:
        * UIProcess/efl/EwkTouchPoint.h:

2013-11-13  Brendan Long  <b.long@cablelabs.com>

        [Gtk][EFL] Fix builds by updating Object::TypeX to Object::Type::X
        https://bugs.webkit.org/show_bug.cgi?id=124289

        Reviewed by Alexey Proskuryakov.

        * Shared/API/c/WKContextMenuItem.cpp:
        (WKContextMenuItemGetTypeID):
        * Shared/WebBatteryStatus.h:
        * Shared/WebNetworkInfo.h:
        * UIProcess/API/C/WKGrammarDetail.cpp:
        (WKGrammarDetailGetTypeID):
        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
        (WKPluginSiteDataManagerGetTypeID):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/WebBatteryManagerProxy.h:
        * UIProcess/WebNetworkInfoManagerProxy.h:
        * UIProcess/WebTextChecker.h:
        * UIProcess/WebVibrationProxy.h:
        * UIProcess/WebViewportAttributes.h:
        * UIProcess/efl/WebPopupItemEfl.h:
        * UIProcess/soup/WebSoupRequestManagerProxy.h:

2013-11-13  Tamas Gergely  <gertom@inf.u-szeged.hu>

        Remove prefixed template class processing from message receiver generator.
        https://bugs.webkit.org/show_bug.cgi?id=123095

        Reviewed by Anders Carlsson.

        There was a FIXME in messages.py to remove unprefixed WTF template classes,
        but in the discussion of the bug report we concluded that in the messages.in
        files we should follow the C++ naming convention where none of the WTF
        classes require the WTF prefix.

        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * Scripts/webkit2/messages.py:
        (class_template_headers):
        * Scripts/webkit2/messages_unittest.py:
        (std):
        * UIProcess/Storage/StorageManager.messages.in:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebPage/WebPage.messages.in:

2013-11-13  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r159199 to make cmake and GTK build happy.

        * CMakeLists.txt:
        * GNUmakefile.list.am:

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Add WKDeprecatedFunctions.cpp and move WKArrayIsMutable there
        https://bugs.webkit.org/show_bug.cgi?id=124284

        Reviewed by Andreas Kling.

        * Shared/API/c/WKDeprecatedFunctions.cpp: Copied from Source/WebKit2/Shared/API/c/WKMutableArray.h.
        (WKArrayIsMutable):
        * Shared/API/c/WKMutableArray.cpp:
        * Shared/API/c/WKMutableArray.h:
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        API::Object::Type should be a strongly typed enum
        https://bugs.webkit.org/show_bug.cgi?id=124258

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
        * Shared/APIObject.h:
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * Shared/ImmutableArray.h:
        * Shared/ImmutableDictionary.h:
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebArchive.h:
        * Shared/WebArchiveResource.h:
        * Shared/WebBackForwardListItem.h:
        * Shared/WebCertificateInfo.h:
        * Shared/WebConnection.h:
        * Shared/WebContextMenuItem.h:
        * Shared/WebData.h:
        * Shared/WebError.h:
        * Shared/WebGeolocationPosition.h:
        * Shared/WebGeometry.h:
        * Shared/WebGraphicsContext.h:
        * Shared/WebHitTestResult.h:
        * Shared/WebImage.h:
        * Shared/WebNumber.h:
        * Shared/WebOpenPanelParameters.h:
        * Shared/WebRenderLayer.h:
        * Shared/WebRenderObject.h:
        * Shared/WebSecurityOrigin.h:
        * Shared/WebSerializedScriptValue.h:
        * Shared/WebString.h:
        * Shared/WebURL.h:
        * Shared/WebURLRequest.h:
        * Shared/WebURLResponse.h:
        * Shared/WebUserContentURLPattern.h:
        * Shared/mac/ObjCObjectGraph.h:
        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
        * UIProcess/Authentication/AuthenticationDecisionListener.h:
        * UIProcess/Authentication/WebCredential.h:
        * UIProcess/Authentication/WebProtectionSpace.h:
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/GeolocationPermissionRequestProxy.h:
        * UIProcess/Notifications/NotificationPermissionRequest.h:
        * UIProcess/Notifications/WebNotification.h:
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Plugins/WebPluginSiteDataManager.h:
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebBackForwardList.h:
        * UIProcess/WebColorPickerResultListenerProxy.h:
        * UIProcess/WebContext.h:
        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebEditCommandProxy.h:
        * UIProcess/WebFormSubmissionListenerProxy.h:
        * UIProcess/WebFramePolicyListenerProxy.h:
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebGrammarDetail.h:
        * UIProcess/WebIconDatabase.h:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebKeyValueStorageManager.h:
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebNavigationData.h:
        * UIProcess/WebOpenPanelResultListenerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPreferences.h:
        * UIProcess/WebResourceCacheManagerProxy.h:
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        (WebKit::InjectedBundleUserMessageEncoder::encode):
        (WebKit::InjectedBundleUserMessageDecoder::decode):
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):
        * WebProcess/WebPage/PageBanner.h:
        * WebProcess/WebPage/PageOverlay.h:
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPageGroupProxy.h:
        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
        (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):

2013-11-13  Anders Carlsson  <andersca@apple.com>

        Remove custom overhang area painting code
        https://bugs.webkit.org/show_bug.cgi?id=124282

        Reviewed by Andreas Kling.

        This code was only used by the Mac port, to draw the linen background color on Lion.
        We now do that on the GPU instead so get rid of this code.

        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2013-11-13  Sergio Correia  <sergio.correia@openbossa.org>

        [EFL][WK2] Convert some more OwnPtr/PassOwnPtr to std::unique_ptr
        https://bugs.webkit.org/show_bug.cgi?id=124241

        Reviewed by Gyuyoung Kim.

        The modified files are located under UIProcess/{efl,API/efl}.

        * UIProcess/API/efl/EwkView.cpp:
        * UIProcess/API/efl/EwkView.h:
        * UIProcess/API/efl/GestureRecognizer.cpp:
        * UIProcess/API/efl/GestureRecognizer.h:
        * UIProcess/API/efl/ewk_back_forward_list_private.h:
        * UIProcess/API/efl/ewk_color_picker_private.h:
        * UIProcess/API/efl/ewk_context.cpp:
        * UIProcess/API/efl/ewk_context_menu.cpp:
        * UIProcess/API/efl/ewk_context_menu_item.cpp:
        * UIProcess/API/efl/ewk_context_menu_item_private.h:
        * UIProcess/API/efl/ewk_context_private.h:
        * UIProcess/API/efl/ewk_cookie_manager.cpp:
        * UIProcess/API/efl/ewk_cookie_manager_private.h:
        * UIProcess/API/efl/ewk_database_manager_private.h:
        * UIProcess/API/efl/ewk_favicon_database_private.h:
        * UIProcess/API/efl/ewk_popup_menu.cpp:
        * UIProcess/API/efl/ewk_popup_menu_item_private.h:
        * UIProcess/API/efl/ewk_popup_menu_private.h:
        * UIProcess/API/efl/ewk_settings_private.h:
        * UIProcess/API/efl/ewk_storage_manager.cpp:
        * UIProcess/API/efl/ewk_storage_manager_private.h:
        * UIProcess/API/efl/ewk_view.cpp:
        * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
        * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
        * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
        * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        * UIProcess/efl/ContextHistoryClientEfl.h:
        * UIProcess/efl/ContextMenuClientEfl.h:
        * UIProcess/efl/DownloadManagerEfl.h:
        * UIProcess/efl/FindClientEfl.h:
        * UIProcess/efl/FormClientEfl.h:
        * UIProcess/efl/PageLoadClientEfl.h:
        * UIProcess/efl/PagePolicyClientEfl.h:
        * UIProcess/efl/PageUIClientEfl.h:
        * UIProcess/efl/PageViewportControllerClientEfl.h:
        * UIProcess/efl/RequestManagerClientEfl.h:
        * UIProcess/efl/VibrationClientEfl.cpp:
        * UIProcess/efl/VibrationClientEfl.h:
        * UIProcess/efl/ViewClientEfl.h:

2013-11-12  Alexey Proskuryakov  <ap@apple.com>

        Disable WebCrypto on Mountain Lion
        https://bugs.webkit.org/show_bug.cgi?id=124261

        Rubber-stamped by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:

2013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [GTK][EFL] More on renaming WebKit::APIObject to API::Object
        https://bugs.webkit.org/show_bug.cgi?id=124255

        Reviewed by Anders Carlsson.

        In r159163 WebKit::APIObject has been renamed to API::Object.
        This patch refactors the remaining files which were still
        using WebKit::APIObject and WebKit::TypedAPIObject.

        * Shared/WebBatteryStatus.h:
        * Shared/WebNetworkInfo.h:
        * UIProcess/API/C/WKGrammarDetail.cpp:
        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/WebBatteryManagerProxy.cpp:
        * UIProcess/WebBatteryManagerProxy.h:
        * UIProcess/WebGrammarDetail.cpp:
        * UIProcess/WebNetworkInfoManagerProxy.cpp:
        * UIProcess/WebNetworkInfoManagerProxy.h:
        * UIProcess/WebTextChecker.h:
        * UIProcess/WebVibrationProxy.h:
        * UIProcess/WebViewportAttributes.h:
        * UIProcess/efl/EwkTouchEvent.h:
        * UIProcess/efl/EwkTouchPoint.h:
        * UIProcess/efl/WebPopupItemEfl.h:
        * UIProcess/efl/WebUIPopupMenuClient.cpp:
        * UIProcess/gtk/WebFullScreenClientGtk.h:
        * UIProcess/gtk/WebInspectorClientGtk.h:
        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
        * UIProcess/soup/WebSoupRequestManagerProxy.h:
        * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
        * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        fast/canvas/webgl/draw-arrays-out-of-bounds.html is flaky on Mavericks WK2 testers, fails about 20% of the time
        https://bugs.webkit.org/show_bug.cgi?id=124223
        <rdar://problem/15333977>

        Reviewed by Tim Horton.

        It's wrong to use DataReferences in sync IPC replies; the underlying MessageDecoder will be freed after the call to
        sendSync returns and the DataReference will point to freed memory. Use a Vector<char> instead.

        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/SynchronousNetworkLoaderClient.cpp:
        (WebKit::SynchronousNetworkLoaderClient::didReceiveBuffer):
        (WebKit::SynchronousNetworkLoaderClient::sendDelayedReply):
        * NetworkProcess/SynchronousNetworkLoaderClient.h:
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::loadResourceSynchronously):

2013-11-12  Gustavo Noronha Silva  <gns@gnome.org>

        Unreviewed try at fixing the GTK+ build.

        * UIProcess/soup/WebSoupRequestManagerProxy.h: rename TypedAPIObject to API:TypedObject.

2013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>

        [EFL][GTK] Remove MutableArray leftovers from build systems
        https://bugs.webkit.org/show_bug.cgi?id=124248

        Reviewed by Anders Carlsson.

        MutableArray.cpp and .h file has been removed by r159155.

        * CMakeLists.txt:
        * GNUmakefile.list.am:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Rename APIObject to API::Object
        https://bugs.webkit.org/show_bug.cgi?id=124247

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
        * Shared/API/c/WKArray.cpp:
        (WKArrayCreate):
        (WKArrayCreateAdoptingValues):
        * Shared/API/c/WKContextMenuItem.cpp:
        (WKContextMenuItemGetTypeID):
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toAPI):
        * Shared/API/c/WKType.cpp:
        (WKGetTypeID):
        (WKRetain):
        (WKRelease):
        * Shared/APIObject.cpp:
        (API::Object::Object):
        * Shared/APIObject.h:
        (API::Object::~Object):
        (API::TypedObject::~TypedObject):
        (API::TypedObject::TypedObject):
        * Shared/Cocoa/APIObject.mm:
        (API::Object::ref):
        (API::Object::deref):
        (API::Object::newObject):
        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray objectAtIndex:]):
        (-[WKNSArray API::]):
        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary objectForKey:]):
        (-[WKNSDictionary API::]):
        * Shared/Cocoa/WKObject.h:
        * Shared/Cocoa/WKObject.mm:
        (-[WKObject dealloc]):
        (-[WKObject API::]):
        * Shared/ImmutableArray.cpp:
        (WebKit::ImmutableArray::create):
        (WebKit::ImmutableArray::createStringArray):
        (WebKit::ImmutableArray::ImmutableArray):
        * Shared/ImmutableArray.h:
        * Shared/ImmutableDictionary.cpp:
        (WebKit::ImmutableDictionary::keys):
        * Shared/ImmutableDictionary.h:
        (WebKit::ImmutableDictionary::get):
        * Shared/MutableDictionary.cpp:
        (WebKit::MutableDictionary::add):
        (WebKit::MutableDictionary::set):
        * Shared/MutableDictionary.h:
        * Shared/SecurityOriginData.cpp:
        (WebKit::performAPICallbackWithSecurityOriginDataVector):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageEncoder::UserMessageEncoder):
        (WebKit::UserMessageDecoder::baseDecode):
        (WebKit::UserMessageDecoder::UserMessageDecoder):
        * Shared/WebArchive.cpp:
        (WebKit::WebArchive::subresources):
        (WebKit::WebArchive::subframeArchives):
        * Shared/WebArchive.h:
        * Shared/WebArchiveResource.h:
        * Shared/WebBackForwardListItem.h:
        * Shared/WebCertificateInfo.h:
        * Shared/WebConnection.cpp:
        (WebKit::WebConnection::postMessage):
        (WebKit::WebConnection::handleMessage):
        * Shared/WebConnection.h:
        * Shared/WebConnectionClient.cpp:
        (WebKit::WebConnectionClient::didReceiveMessage):
        * Shared/WebConnectionClient.h:
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
        (WebKit::WebContextMenuItem::userData):
        (WebKit::WebContextMenuItem::setUserData):
        * Shared/WebContextMenuItem.h:
        * Shared/WebContextMenuItemData.cpp:
        (WebKit::WebContextMenuItemData::userData):
        (WebKit::WebContextMenuItemData::setUserData):
        * Shared/WebContextMenuItemData.h:
        * Shared/WebData.h:
        * Shared/WebError.h:
        * Shared/WebGeolocationPosition.h:
        * Shared/WebGeometry.h:
        * Shared/WebGraphicsContext.h:
        * Shared/WebHitTestResult.h:
        * Shared/WebImage.h:
        * Shared/WebNumber.h:
        * Shared/WebOpenPanelParameters.h:
        * Shared/WebRenderLayer.cpp:
        (WebKit::WebRenderLayer::createArrayFromLayerList):
        * Shared/WebRenderLayer.h:
        * Shared/WebRenderObject.cpp:
        (WebKit::WebRenderObject::WebRenderObject):
        * Shared/WebRenderObject.h:
        * Shared/WebSecurityOrigin.h:
        * Shared/WebSerializedScriptValue.h:
        * Shared/WebString.h:
        * Shared/WebURL.h:
        * Shared/WebURLRequest.h:
        * Shared/WebURLResponse.h:
        * Shared/WebUserContentURLPattern.h:
        * Shared/mac/ObjCObjectGraph.h:
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
        * UIProcess/API/C/WKPluginSiteDataManager.cpp:
        (WKPluginSiteDataManagerGetTypeID):
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetInfoForInstalledPlugIns):
        * UIProcess/API/Cocoa/WKBackForwardList.mm:
        (-[WKBackForwardList API::]):
        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
        (-[WKBackForwardListItem API::]):
        * UIProcess/API/Cocoa/WKNavigationData.mm:
        (-[WKNavigationData API::]):
        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
        (createWKArray):
        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
        * UIProcess/Authentication/AuthenticationDecisionListener.h:
        * UIProcess/Authentication/WebCredential.h:
        * UIProcess/Authentication/WebProtectionSpace.h:
        * UIProcess/Downloads/DownloadProxy.h:
        * UIProcess/GeolocationPermissionRequestProxy.h:
        * UIProcess/Notifications/NotificationPermissionRequest.h:
        * UIProcess/Notifications/WebNotification.h:
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::refWebContextSupplement):
        (WebKit::WebNotificationManagerProxy::derefWebContextSupplement):
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        (WebKit::WebNotificationProvider::clearNotifications):
        * UIProcess/Plugins/WebPluginSiteDataManager.h:
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::StatisticsRequest::completedRequest):
        * UIProcess/WebApplicationCacheManagerProxy.cpp:
        (WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement):
        (WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement):
        * UIProcess/WebApplicationCacheManagerProxy.h:
        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::addItem):
        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
        (WebKit::WebBackForwardList::clear):
        * UIProcess/WebBackForwardList.h:
        * UIProcess/WebColorPickerResultListenerProxy.h:
        * UIProcess/WebConnectionToWebProcess.cpp:
        (WebKit::WebConnectionToWebProcess::encodeMessageBody):
        (WebKit::WebConnectionToWebProcess::decodeMessageBody):
        * UIProcess/WebConnectionToWebProcess.h:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::createNewWebProcess):
        (WebKit::WebContext::postMessageToInjectedBundle):
        (WebKit::WebContext::didReceiveMessageFromInjectedBundle):
        (WebKit::WebContext::didReceiveSynchronousMessageFromInjectedBundle):
        (WebKit::WebContext::didReceiveMessage):
        (WebKit::WebContext::didReceiveSyncMessage):
        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebContext.h:
        (WebKit::WebContext::setInjectedBundleInitializationUserData):
        * UIProcess/WebContextInjectedBundleClient.cpp:
        (WebKit::WebContextInjectedBundleClient::didReceiveMessageFromInjectedBundle):
        (WebKit::WebContextInjectedBundleClient::didReceiveSynchronousMessageFromInjectedBundle):
        (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):
        * UIProcess/WebContextInjectedBundleClient.h:
        * UIProcess/WebContextUserMessageCoders.h:
        (WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
        (WebKit::WebContextUserMessageEncoder::encode):
        (WebKit::WebContextUserMessageDecoder::WebContextUserMessageDecoder):
        (WebKit::WebContextUserMessageDecoder::decode):
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::refWebContextSupplement):
        (WebKit::WebCookieManagerProxy::derefWebContextSupplement):
        * UIProcess/WebCookieManagerProxy.h:
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::refWebContextSupplement):
        (WebKit::WebDatabaseManagerProxy::derefWebContextSupplement):
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
        * UIProcess/WebDatabaseManagerProxy.h:
        * UIProcess/WebEditCommandProxy.h:
        * UIProcess/WebFormClient.cpp:
        (WebKit::WebFormClient::willSubmitForm):
        * UIProcess/WebFormClient.h:
        * UIProcess/WebFrameListenerProxy.h:
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::refWebContextSupplement):
        (WebKit::WebGeolocationManagerProxy::derefWebContextSupplement):
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebGrammarDetail.h:
        * UIProcess/WebIconDatabase.h:
        * UIProcess/WebIconDatabaseClient.h:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebKeyValueStorageManager.cpp:
        (WebKit::WebKeyValueStorageManager::refWebContextSupplement):
        (WebKit::WebKeyValueStorageManager::derefWebContextSupplement):
        (WebKit::didGetKeyValueStorageOrigins):
        * UIProcess/WebKeyValueStorageManager.h:
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::didStartProvisionalLoadForFrame):
        (WebKit::WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebLoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (WebKit::WebLoaderClient::didCommitLoadForFrame):
        (WebKit::WebLoaderClient::didFinishDocumentLoadForFrame):
        (WebKit::WebLoaderClient::didFinishLoadForFrame):
        (WebKit::WebLoaderClient::didFailLoadWithErrorForFrame):
        (WebKit::WebLoaderClient::didSameDocumentNavigationForFrame):
        (WebKit::WebLoaderClient::didReceiveTitleForFrame):
        (WebKit::WebLoaderClient::didFirstLayoutForFrame):
        (WebKit::WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::WebLoaderClient::didLayout):
        (WebKit::WebLoaderClient::didRemoveFrameFromHierarchy):
        (WebKit::WebLoaderClient::didDisplayInsecureContentForFrame):
        (WebKit::WebLoaderClient::didRunInsecureContentForFrame):
        (WebKit::WebLoaderClient::didDetectXSSForFrame):
        (WebKit::WebLoaderClient::didChangeBackForwardList):
        (WebKit::WebLoaderClient::willGoToBackForwardListItem):
        * UIProcess/WebLoaderClient.h:
        * UIProcess/WebMediaCacheManagerProxy.cpp:
        (WebKit::WebMediaCacheManagerProxy::refWebContextSupplement):
        (WebKit::WebMediaCacheManagerProxy::derefWebContextSupplement):
        * UIProcess/WebMediaCacheManagerProxy.h:
        * UIProcess/WebNavigationData.h:
        * UIProcess/WebOpenPanelResultListenerProxy.h:
        * UIProcess/WebOriginDataManagerProxy.cpp:
        (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
        (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
        * UIProcess/WebOriginDataManagerProxy.h:
        * UIProcess/WebPageContextMenuClient.cpp:
        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
        (WebKit::WebPageContextMenuClient::showContextMenu):
        * UIProcess/WebPageContextMenuClient.h:
        * UIProcess/WebPageGroup.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::relatedPages):
        (WebKit::WebPageProxy::loadURL):
        (WebKit::WebPageProxy::loadURLRequest):
        (WebKit::WebPageProxy::loadFile):
        (WebKit::WebPageProxy::loadData):
        (WebKit::WebPageProxy::loadHTMLString):
        (WebKit::WebPageProxy::loadAlternateHTMLString):
        (WebKit::WebPageProxy::loadPlainTextString):
        (WebKit::WebPageProxy::loadWebArchiveData):
        (WebKit::WebPageProxy::didChangeBackForwardList):
        (WebKit::WebPageProxy::willGoToBackForwardListItem):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
        (WebKit::WebPageProxy::didFinishLoadForFrame):
        (WebKit::WebPageProxy::didFailLoadForFrame):
        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
        (WebKit::WebPageProxy::didReceiveTitleForFrame):
        (WebKit::WebPageProxy::didFirstLayoutForFrame):
        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::WebPageProxy::didLayout):
        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
        (WebKit::WebPageProxy::didDetectXSSForFrame):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::unableToImplementPolicy):
        (WebKit::WebPageProxy::willSubmitForm):
        (WebKit::WebPageProxy::mouseDidMoveOverElement):
        (WebKit::WebPageProxy::didFindStringMatches):
        (WebKit::WebPageProxy::postMessageToInjectedBundle):
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPolicyClient.cpp:
        (WebKit::WebPolicyClient::decidePolicyForNavigationAction):
        (WebKit::WebPolicyClient::decidePolicyForNewWindowAction):
        (WebKit::WebPolicyClient::decidePolicyForResponse):
        (WebKit::WebPolicyClient::unableToImplementPolicy):
        * UIProcess/WebPolicyClient.h:
        * UIProcess/WebPreferences.h:
        * UIProcess/WebResourceCacheManagerProxy.cpp:
        (WebKit::WebResourceCacheManagerProxy::refWebContextSupplement):
        (WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement):
        * UIProcess/WebResourceCacheManagerProxy.h:
        * UIProcess/WebUIClient.cpp:
        (WebKit::WebUIClient::mouseDidMoveOverElement):
        * UIProcess/WebUIClient.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (-[WKUserDataWrapper initWithUserData:API::]):
        (-[WKUserDataWrapper API::]):
        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundlePostSynchronousMessage):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (contextMenuItems):
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::postMessage):
        (WebKit::InjectedBundle::postSynchronousMessage):
        (WebKit::InjectedBundle::originsWithApplicationCache):
        (WebKit::InjectedBundle::didReceiveMessage):
        (WebKit::InjectedBundle::didReceiveMessageToPage):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
        (WebKit::InjectedBundleBackForwardListItem::children):
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
        (WebKit::InjectedBundleClient::didReceiveMessage):
        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
        * WebProcess/InjectedBundle/InjectedBundleClient.h:
        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::willSubmitForm):
        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        (WebKit::InjectedBundlePageLoaderClient::willLoadURLRequest):
        (WebKit::InjectedBundlePageLoaderClient::willLoadDataRequest):
        (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
        (WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didCommitLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFinishDocumentLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFinishLoadForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFailLoadWithErrorForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didSameDocumentNavigationForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didReceiveTitleForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didRemoveFrameFromHierarchy):
        (WebKit::InjectedBundlePageLoaderClient::didDisplayInsecureContentForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didRunInsecureContentForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFirstLayoutForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
        (WebKit::InjectedBundlePageLoaderClient::didLayout):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
        (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
        (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
        (WebKit::InjectedBundlePageUIClient::mouseDidMoveOverElement):
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
        * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:
        (WebKit::InjectedBundleUserMessageEncoder::InjectedBundleUserMessageEncoder):
        (WebKit::InjectedBundleUserMessageEncoder::encode):
        (WebKit::InjectedBundleUserMessageDecoder::InjectedBundleUserMessageDecoder):
        (WebKit::InjectedBundleUserMessageDecoder::decode):
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):
        * WebProcess/WebConnectionToUIProcess.cpp:
        (WebKit::WebConnectionToUIProcess::encodeMessageBody):
        (WebKit::WebConnectionToUIProcess::decodeMessageBody):
        * WebProcess/WebConnectionToUIProcess.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::mouseDidMoveOverElement):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::detachedFromParent2):
        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
        (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
        (WebKit::WebFrameLoaderClient::didDisplayInsecureContent):
        (WebKit::WebFrameLoaderClient::didRunInsecureContent):
        (WebKit::WebFrameLoaderClient::didDetectXSS):
        * WebProcess/WebPage/PageBanner.h:
        * WebProcess/WebPage/PageOverlay.h:
        * WebProcess/WebPage/WebContextMenu.cpp:
        (WebKit::WebContextMenu::show):
        (WebKit::WebContextMenu::menuItemsWithUserData):
        (WebKit::WebContextMenu::items):
        * WebProcess/WebPage/WebContextMenu.h:
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::childFrames):
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::trackedRepaintRects):
        (WebKit::WebPage::loadURLRequest):
        (WebKit::WebPage::loadDataImpl):
        (WebKit::WebPage::postInjectedBundleMessage):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPageGroupProxy.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::postInjectedBundleMessage):

2013-11-12  Nick Diego Yamane  <nick.yamane@openbossa.org>

        Fix GTK build after r159142
        https://bugs.webkit.org/show_bug.cgi?id=124243

        Reviewed by Anders Carlsson.

        Use Vector + ImmutableArray instead of MutableArray

        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        (webkitContextMenuItemCreate):

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Remove ImmutableArray::isMutable
        https://bugs.webkit.org/show_bug.cgi?id=124242

        Reviewed by Dan Bernstein.

        * Shared/API/c/WKMutableArray.cpp:
        (WKArrayIsMutable):
        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray copyWithZone:]):
        * Shared/ImmutableArray.h:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        WKMutableArrayRef should be an ImmutableArray
        https://bugs.webkit.org/show_bug.cgi?id=124239

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (ensureObjectStream):
        * Shared/API/c/WKMutableArray.cpp:
        (WKMutableArrayCreate):
        * Shared/API/c/WKSharedAPICast.h:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Remove more functionality from MutableArray
        https://bugs.webkit.org/show_bug.cgi?id=124235

        Reviewed by Beth Dakin.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeToObjectStream):
        * Shared/API/c/WKMutableArray.cpp:
        (WKArrayAppendItem):
        (WKArrayRemoveItemAtIndex):
        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray copyWithZone:]):
        * Shared/ImmutableArray.h:
        (WebKit::ImmutableArray::elements):
        * Shared/MutableArray.cpp:
        * Shared/MutableArray.h:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Remove most uses of MutableArray
        https://bugs.webkit.org/show_bug.cgi?id=124232

        Reviewed by Sam Weinig.

        * Shared/API/c/WKMutableArray.cpp:
        (WKMutableArrayCreate):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebRenderLayer.h:
        (WebKit::WebRenderLayer::create):
        (WebKit::WebRenderLayer::WebRenderLayer):
        * Shared/WebRenderObject.cpp:
        (WebKit::WebRenderObject::WebRenderObject):
        * Shared/WebRenderObject.h:
        (WebKit::WebRenderObject::create):
        (WebKit::WebRenderObject::WebRenderObject):
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Use Vector + ImmutableArray instead of MutableArray
        https://bugs.webkit.org/show_bug.cgi?id=124221

        Reviewed by Andreas Kling.

        * Shared/WebRenderLayer.cpp:
        (WebKit::WebRenderLayer::createArrayFromLayerList):
        * Shared/WebRenderLayer.h:
        * UIProcess/Notifications/WebNotificationProvider.cpp:
        (WebKit::WebNotificationProvider::clearNotifications):
        * UIProcess/WebPageContextMenuClient.cpp:
        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (contextMenuItems):
        (WKBundlePageCopyContextMenuItems):
        (WKBundlePageCopyContextMenuAtPointInWindow):

2013-11-12  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed GTK build fix after r159129.

        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
        (webkit_file_chooser_request_select_files): Use ImmutableArray::create() instead.
        * UIProcess/API/gtk/WebKitWebViewGroup.cpp:
        (toImmutableArray): Ditto.

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Stop using WKArrayCreate internally
        https://bugs.webkit.org/show_bug.cgi?id=124217

        Reviewed by Andreas Kling.

        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
        (createWKArray):
        (-[WKBrowsingContextGroup addUserStyleSheet:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:mainFrameOnly:]):
        (-[WKBrowsingContextGroup addUserScript:baseURL:whitelistedURLPatterns:blacklistedURLPatterns:injectionTime:mainFrameOnly:]):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageCopyContextMenuItems):

2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r159129, use create() instead of adopt() everywhere.

        * UIProcess/WebGrammarDetail.cpp:
        (WebKit::WebGrammarDetail::guesses):
        * UIProcess/efl/WebUIPopupMenuClient.cpp:
        (WebUIPopupMenuClient::showPopupMenu):

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Simplify ImmutableArray creation
        https://bugs.webkit.org/show_bug.cgi?id=124213

        Reviewed by Andreas Kling.

        Get rid of the various ImmutableArray::adopt functions and have a single create function instead.
        Use std::move to avoid unnecessarily copying vector data.

        * Shared/API/c/WKArray.cpp:
        (WKArrayCreate):
        (WKArrayCreateAdoptingValues):
        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray copyWithZone:]):
        * Shared/ImmutableArray.cpp:
        (WebKit::ImmutableArray::create):
        (WebKit::ImmutableArray::createStringArray):
        (WebKit::ImmutableArray::ImmutableArray):
        * Shared/ImmutableArray.h:
        (WebKit::ImmutableArray::at):
        (WebKit::ImmutableArray::size):
        (WebKit::ImmutableArray::entries):
        * Shared/ImmutableDictionary.cpp:
        (WebKit::ImmutableDictionary::keys):
        * Shared/MutableArray.cpp:
        (WebKit::MutableArray::MutableArray):
        (WebKit::MutableArray::append):
        (WebKit::MutableArray::reserveCapacity):
        (WebKit::MutableArray::removeItemAtIndex):
        * Shared/SecurityOriginData.cpp:
        (WebKit::performAPICallbackWithSecurityOriginDataVector):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebArchive.cpp:
        (WebKit::WebArchive::subresources):
        (WebKit::WebArchive::subframeArchives):
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetInfoForInstalledPlugIns):
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::StatisticsRequest::completedRequest):
        * UIProcess/WebBackForwardList.cpp:
        (WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
        (WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
        * UIProcess/WebKeyValueStorageManager.cpp:
        (WebKit::didGetKeyValueStorageOrigins):
        * UIProcess/WebLoaderClient.cpp:
        (WebKit::WebLoaderClient::didChangeBackForwardList):
        * UIProcess/WebPageContextMenuClient.cpp:
        (WebKit::WebPageContextMenuClient::showContextMenu):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::relatedPages):
        (WebKit::WebPageProxy::didFindStringMatches):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::originsWithApplicationCache):
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
        (WebKit::InjectedBundleBackForwardListItem::children):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::childFrames):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::trackedRepaintRects):

2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>

        The last URTBF after r159108 to make GTK happy.

        * GNUmakefile.am:

2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>

        One more URTBF after r159108, I hope the last one.

        * GNUmakefile.am:

2013-11-12  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Assertions during layer flushing after replaceSublayer()
        https://bugs.webkit.org/show_bug.cgi?id=124194

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::replaceSublayer):
        Only remove the old layer from the children array once (via removeFromSuperlayer).
        Update the superlayer backpointer on the new layer.

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Add ImmutableArray::createStringArray
        https://bugs.webkit.org/show_bug.cgi?id=124210

        Reviewed by Andreas Kling.

        Creating an ImmutableArray of WebStrings is a common operation, so add a 
        helper function to ImmutableArray that does this from a Vector of Strings.

        * Shared/ImmutableArray.cpp:
        (WebKit::ImmutableArray::createStringArray):
        * Shared/ImmutableArray.h:
        * Shared/ImmutableDictionary.cpp:
        (WebKit::ImmutableDictionary::keys):
        * Shared/WebOpenPanelParameters.cpp:
        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
        (WebKit::WebOpenPanelParameters::selectedFileNames):
        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
        * UIProcess/WebMediaCacheManagerProxy.cpp:
        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):

2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>

        One more URTBF after r159108.

        * GNUmakefile.am:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Begin cleaning up handling of ImmutableArray vectors
        https://bugs.webkit.org/show_bug.cgi?id=124208

        Reviewed by Andreas Kling.

        Use range based for to iterate the loops. Use reserveInitialCapacity + uncheckedAppend
        when appending vector elements.

        * Shared/SecurityOriginData.cpp:
        (WebKit::performAPICallbackWithSecurityOriginDataVector):
        * Shared/WebArchive.cpp:
        (WebKit::WebArchive::subresources):
        (WebKit::WebArchive::subframeArchives):
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::submenuItemsAsImmutableArray):
        * Shared/WebOpenPanelParameters.cpp:
        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
        (WebKit::WebOpenPanelParameters::selectedFileNames):
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetInfoForInstalledPlugIns):
        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
        (WebKit::WebPluginSiteDataManager::didGetSitesWithData):
        * UIProcess/StatisticsRequest.cpp:
        (WebKit::StatisticsRequest::completedRequest):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies):
        * UIProcess/WebDatabaseManagerProxy.cpp:
        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
        * UIProcess/WebMediaCacheManagerProxy.cpp:
        (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache):
        * UIProcess/WebPageContextMenuClient.cpp:
        (WebKit::WebPageContextMenuClient::showContextMenu):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::relatedPages):
        (WebKit::WebPageProxy::didFindStringMatches):
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::originsWithApplicationCache):
        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp:
        (WebKit::InjectedBundleBackForwardListItem::children):
        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
        (WebKit::InjectedBundlePageFormClient::didAssociateFormControls):
        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
        (WebKit::InjectedBundlePageLoaderClient::featuresUsedInPage):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::trackedRepaintRects):

2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>

        One more URTBF after r159108.

        * CMakeLists.txt:

2013-11-12  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r159108.

        * CMakeLists.txt:
        * GNUmakefile.list.am:

2013-11-12  Anders Carlsson  <andersca@apple.com>

        Move StringReference to Platform/IPC
        https://bugs.webkit.org/show_bug.cgi?id=124203

        Reviewed by Antti Koivisto.

        * Platform/IPC/StringReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.cpp.
        (CoreIPC::StringReference::toString):
        (CoreIPC::StringReference::encode):
        (CoreIPC::StringReference::decode):
        (CoreIPC::StringReference::Hash::hash):
        * Platform/IPC/StringReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/StringReference.h.
        (CoreIPC::StringReference::StringReference):
        (CoreIPC::StringReference::isEmpty):
        (CoreIPC::StringReference::size):
        (CoreIPC::StringReference::data):
        (CoreIPC::StringReference::operator==):
        (CoreIPC::StringReference::Hash::equal):
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-11  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Sporadic memory corruption during painting
        https://bugs.webkit.org/show_bug.cgi?id=124191

        Reviewed by Brady Eidson.

        Fix a logic error (flipped the logic, didn't flip the operator)
        made in the last version of r158982 that caused some crashes because
        it allowed us to overrun the end of cgPaintingRects.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::drawInContext):

2013-11-11  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r159088.
        http://trac.webkit.org/changeset/159088
        https://bugs.webkit.org/show_bug.cgi?id=124187

        It broke the EFL build, because it removed a used function
        (rs=thorton) (Requested by Ossy_night on #webkit).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::urlAtProcessExit):
        (WebKit::WebPageProxy::loadStateAtProcessExit):

2013-11-11  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r159077 to make GTK build happy.

        * GNUmakefile.list.am:

2013-11-11  Gustavo Noronha Silva  <gns@gnome.org>

        REGRESSION(r158976): Web Inspector: unable to start docked or dock
        https://bugs.webkit.org/show_bug.cgi?id=124148

        Reviewed by Timothy Hatcher.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::canAttach): check for a level that is greater than 1 rather than 0
        to deny attachment, since 1 is the first level of inspectors.

2013-11-11  Anders Carlsson  <andersca@apple.com>

        FrameFilter can just be an std::function instead
        https://bugs.webkit.org/show_bug.cgi?id=124176

        Reviewed by Tim Horton.

        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::webArchiveData):

2013-11-11  Anders Carlsson  <andersca@apple.com>

        Remove unused Qt cruft
        https://bugs.webkit.org/show_bug.cgi?id=124174

        Reviewed by Tim Horton.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        * UIProcess/WebPageProxy.h:

2013-11-11  Anders Carlsson  <andersca@apple.com>

        REGRESSION (r158927): curly-braces-escaping.html is broken on Mac WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=124164

        Reviewed by Alexey Proskuryakov.

        Back out the change to use NSSecureCoding for encoding/decoding NSURLRequest and
        NSURLResponse objects; turns out the NSURL encoding/decoding doesn't preserve the raw URL bytes.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::encodePlatformData):
        (CoreIPC::decodePlatformData):

2013-11-11  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on CMake Based port since r159077.

        * CMakeLists.txt:

2013-11-11  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Implement Page Overlays
        https://bugs.webkit.org/show_bug.cgi?id=124165
        <rdar://problem/15199056>

        Reviewed by Anders Carlsson.

        Implement page overlays, very similar to how they work in TiledCoreAnimationDrawingArea,
        but manipulating the PlatformCALayer tree instead of the CALayer tree directly.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::outOfTreeLayerWasAdded):
        (WebKit::RemoteLayerTreeContext::outOfTreeLayerWillBeRemoved):
        (WebKit::RemoteLayerTreeContext::flushLayers):
        Add a list of out-of-tree GraphicsLayers which are flushed in addition
        to the page's GraphicsLayer tree, and functions to manipulate this list.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        Make RemoteLayerTreeDrawingArea a GraphicsLayerClient, so we can get callbacks
        from the GraphicsLayers that drive our page overlays.
        Override the relevant page overlay functions.
        Add storage for the root layer, view size, and a map of PageOverlay->GraphicsLayer.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
        Store the root GraphicsLayer for later use.

        (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
        Update the size of the page overlays when the DrawingArea's geometry changes.

        (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
        Update the page overlay settings when necessary.

        (WebKit::RemoteLayerTreeDrawingArea::didInstallPageOverlay):
        Create a GraphicsLayer for our page overlay, set it up, and parent it.
        Inform the RemoteLayerTreeContext that it will need to flush this GraphicsLayer,
        since it's not a part of the page's GraphicsLayer tree.

        (WebKit::RemoteLayerTreeDrawingArea::didUninstallPageOverlay):
        Tear down our page overlay's GraphicsLayer.

        (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayNeedsDisplay):
        (WebKit::RemoteLayerTreeDrawingArea::setPageOverlayOpacity):
        (WebKit::RemoteLayerTreeDrawingArea::paintContents):
        (WebKit::RemoteLayerTreeDrawingArea::deviceScaleFactor):

2013-11-11  Anders Carlsson  <andersca@apple.com>

        Add a FrameLoadState object and begin moving loading related members from WebFrameProxy
        https://bugs.webkit.org/show_bug.cgi?id=124163

        Reviewed by Beth Dakin.

        * UIProcess/API/C/WKFrame.cpp:
        (WKFrameGetFrameLoadState):
        * UIProcess/FrameLoadState.cpp: Added.
        (WebKit::FrameLoadState::FrameLoadState):
        (WebKit::FrameLoadState::~FrameLoadState):
        * UIProcess/FrameLoadState.h: Added.
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::WebFrameProxy):
        (WebKit::WebFrameProxy::didStartProvisionalLoad):
        (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
        (WebKit::WebFrameProxy::didFailProvisionalLoad):
        (WebKit::WebFrameProxy::didCommitLoad):
        (WebKit::WebFrameProxy::didFinishLoad):
        (WebKit::WebFrameProxy::didFailLoad):
        (WebKit::WebFrameProxy::didSameDocumentNavigation):
        (WebKit::WebFrameProxy::setUnreachableURL):
        * UIProcess/WebFrameProxy.h:
        (WebKit::WebFrameProxy::frameLoadState):
        (WebKit::WebFrameProxy::loadState):
        (WebKit::WebFrameProxy::url):
        (WebKit::WebFrameProxy::provisionalURL):
        (WebKit::WebFrameProxy::unreachableURL):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::activeURL):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::loadStateAtProcessExit):
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-11  Gergo Balogh  <geryxyz@inf.u-szeged.hu>

        Remove #include from test input of the *Messages.in processing scripts.
        https://bugs.webkit.org/show_bug.cgi?id=123563

        Reviewed by Darin Adler.

        * Scripts/webkit2/messages_unittest.py:

2013-11-11  Anders Carlsson  <andersca@apple.com>

        Remove block based APIs from the WebKit2 C API
        https://bugs.webkit.org/show_bug.cgi?id=124157

        Reviewed by Sam Weinig.

        Remove most of the block based C APIs from WebKit2. We want to discourage people from using
        them since any C API "objects" captured by blocks won't be implicitly retained which
        can lead to dangling pointer bugs.

        * UIProcess/API/C/WKDatabaseManager.cpp:
        * UIProcess/API/C/WKDatabaseManager.h:
        * UIProcess/API/C/WKFrame.cpp:
        * UIProcess/API/C/WKFrame.h:
        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKPagePrivate.h:

2013-11-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Crash when printing via javascript in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=124043

        Reviewed by Martin Robinson.

        It happens because the print operation when started by the
        WebProcess due to a DOM operation is supposed to be synchronous
        and our print operation is always asynchronous. This is currently
        handled only in the UI process because other ports print
        synchronously in the WebProcess. In the GTK+ port we need to
        notify the WebProcess that the print operation should run
        synchronously when request by a DOM operation. Together with the
        print settings and page setup we now send a print mode that can be
        sync or async. When printing in sync mode we run a nested main loop
        for the print operation, making sure that print sources have a
        higher priority.

        * Shared/PrintInfo.cpp:
        (WebKit::PrintInfo::encode): Encode the print mode.
        (WebKit::PrintInfo::decode): Decode the print mode.
        * Shared/PrintInfo.h: Add PrintMode enum.
        * Shared/gtk/PrintInfoGtk.cpp:
        (WebKit::PrintInfo::PrintInfo): Initialize print mode.
        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (drawPagesForPrintingCompleted): Do not call endPrinting() when
        printing synchronously because WebPageProxy already calls it right
        after sending the message to the WebProcess.
        (webkitPrintOperationPrintPagesForFrame): Create the PrintInfo
        struct with a print mode.
        (webkitPrintOperationSetPrintMode): Helper private function to set
        the print mode of the print operation.
        * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewPrintFrame): Set sync print mode when printing due
        to a UIClient request.
        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
        (WebKit::PrintPagesData::PrintPagesData): Create a main loop when
        printing synchronously.
        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
        print mode.
        (WebKit::WebPrintOperationGtk::printPagesIdleDone): Finish the
        nested main loop when printing synchronously.
        (WebKit::WebPrintOperationGtk::print): Run a nested main loop when
        printing synchronously.
        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
        (WebKit::WebPrintOperationGtk::printMode): Return the print mode.

2013-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] [WebKit2] Crash when printing to a file via javascript
        https://bugs.webkit.org/show_bug.cgi?id=122801

        Reviewed by Martin Robinson.

        This crash is caused by a GTK+ bug, but we can work around it by
        ensuring the print dialog is always shown with a valid
        GtkPrintSettings object.

        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
        (webkitPrintOperationRunDialog):

2013-11-09  Dan Bernstein  <mitz@apple.com>

        Use createCFURLFromBuffer when converting a String to a CFURL
        https://bugs.webkit.org/show_bug.cgi?id=124113

        Reviewed by Anders Carlsson.

        * Shared/API/c/cf/WKURLCF.mm:
        (WKURLCopyCFURL): Replaced some code with a call to createCFURLFromBuffer(), which does the
        same thing.

        * Shared/Cocoa/WKNSURLExtras.h: Added.
        * Shared/Cocoa/WKNSURLExtras.mm: Added.
        (+[NSURL _web_URLWithWTFString:relativeToURL:]): Added. Returns nil for the null String,
        otherwise returns the result of createCFURLFromBuffer().

        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
        (-[WKBackForwardListItem URL]): Changed to use +_web_URLWithWTFString:relativeToURL:.
        (-[WKBackForwardListItem originalURL]): Ditto.

        * UIProcess/API/Cocoa/WKNavigationData.mm:
        (-[WKNavigationData destinationURL]): Ditto.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController unreachableURL]): Ditto.

        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

2013-11-09  Anders Carlsson  <andersca@apple.com>

        Encode form data using the KeyedEncoder
        https://bugs.webkit.org/show_bug.cgi?id=124107

        Reviewed by Sam Weinig.

        * Shared/cf/KeyedEncoder.cpp:
        (WebKit::KeyedEncoder::encodeBool):
        (WebKit::KeyedEncoder::encodeDouble):
        * Shared/cf/KeyedEncoder.h:

2013-11-09  Anders Carlsson  <andersca@apple.com>

        Remove an unused file.

        Rubber-stamped by Andreas Kling.

        * WebProcess/WebPage/gtk/ChunkedUpdateDrawingAreaGtk.cpp: Removed.

2013-11-09  Patrick Gansterer  <paroga@webkit.org>

        Move RunLoop from WebCore to WTF
        https://bugs.webkit.org/show_bug.cgi?id=116606

        Reviewed by Anders Carlsson.

        * DatabaseProcess/DatabaseProcess.cpp:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        * NetworkProcess/NetworkProcess.cpp:
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/mac/DiskCacheMonitor.h:
        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
        * Platform/CoreIPC/Connection.cpp:
        * Platform/CoreIPC/Connection.h:
        * Platform/CoreIPC/mac/ConnectionMac.cpp:
        * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
        * PluginProcess/PluginControllerProxy.h:
        * PluginProcess/PluginProcess.cpp:
        * PluginProcess/PluginProcess.h:
        * PluginProcess/WebProcessConnection.cpp:
        * PluginProcess/unix/PluginProcessMainUnix.cpp:
        * Shared/ChildProcess.cpp:
        * Shared/ChildProcess.h:
        * Shared/ChildProcessProxy.cpp:
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h:
        * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm:
        * Shared/Plugins/NPObjectProxy.cpp:
        * Shared/WebKit2Initialize.cpp:
        (WebKit::InitializeWebKit2):
        * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
        * UIProcess/API/mac/FindIndicatorWindow.h:
        * UIProcess/API/mac/WKPrintingView.mm:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
        * UIProcess/DrawingAreaProxyImpl.h:
        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        * UIProcess/Network/NetworkProcessProxy.cpp:
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        * UIProcess/ResponsivenessTimer.cpp:
        * UIProcess/ResponsivenessTimer.h:
        * UIProcess/VisitedLinkProvider.h:
        * UIProcess/WebContext.cpp:
        * UIProcess/WebProcessProxy.cpp:
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
        * WebProcess/Network/WebResourceLoadScheduler.h:
        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/EventDispatcher.cpp:
        * WebProcess/WebPage/PageOverlay.h:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebProcess.cpp:
        * WebProcess/efl/WebProcessMainEfl.cpp:
        * WebProcess/gtk/WebProcessMainGtk.cpp:

2013-11-08  Brady Eidson  <beidson@apple.com>

        Merge IDBDatabaseBackendInterface and IDBDatabaseBackendImpl
        https://bugs.webkit.org/show_bug.cgi?id=124088

        Reviewed by Tim Horton.

        This abstraction is no longer meaningful in its current form in WebCore.
        The current groundwork for the WK2 DatabaseProcess relied on this abstraction,
        but that will be reworked in a future patch.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
        (WebKit::WebIDBFactoryBackend::createCursorBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::put):
        (WebKit::WebProcessIDBDatabaseBackend::openCursor):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

2013-11-08  Jaehun Lim  <ljaehun.lim@samsung.com>

        Unreviewed build fix after r158984.

        No needs to include "KeyedEncoder.h".
        WebKit/Source/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp:31:26: fatal error: KeyedEncoder.h: No such file or directory

        * WebProcess/WebPage/WebBackForwardListProxy.cpp: Removed #include line.

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Implement encoding of arrays of objects
        https://bugs.webkit.org/show_bug.cgi?id=124091

        Reviewed by Beth Dakin.

        Add a new array stack and push and pop from it accordingly.

        * Shared/cf/KeyedEncoder.cpp:
        (WebKit::KeyedEncoder::~KeyedEncoder):
        (WebKit::KeyedEncoder::encodeBytes):
        (WebKit::KeyedEncoder::encodeUInt32):
        (WebKit::KeyedEncoder::encodeInt32):
        (WebKit::KeyedEncoder::encodeInt64):
        (WebKit::KeyedEncoder::encodeFloat):
        (WebKit::KeyedEncoder::beginArray):
        (WebKit::KeyedEncoder::beginArrayElement):
        (WebKit::KeyedEncoder::endArrayElement):
        (WebKit::KeyedEncoder::endArray):
        * Shared/cf/KeyedEncoder.h:

2013-11-08  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: RemoteLayerBackingStore partial repaint is broken for the tile cache
        https://bugs.webkit.org/show_bug.cgi?id=123944

        Reviewed by Simon Fraser.

        Rework RemoteLayerBackingStore painting to fix some rounding issues
        that would cause pixel cracks upon repaint, and to speed it up a bit.

        * Shared/mac/RemoteLayerBackingStore.h:
        Redefine RepaintRectList because we can't include WebLayer.h here yet.
        Remove createBackingStore, which was never implemented.
        Remove mapToContentCoordinates, because we don't need it on Mac.

        (WebKit::RemoteLayerBackingStore::paintingRects): Added.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::setNeedsDisplay):
        (RemoteLayerBackingStore::display):
        Stop using mapToContentCoordinates.

        (RemoteLayerBackingStore::drawInContext):
        Use clipping instead of painting the image multiple times.
        Never repaint more than the dirty region's bounds.
        Don't waste time with all of the drawNativeImage code, just use CG.
        Unindent the switch's cases.
        Store the rects we're painting so that enumerateRectsBeingDrawn can get them.
        Pixel-snap the rects we're painting.
        Clip the context before going to paint.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::enumerateRectsBeingDrawn):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Retrieve the rects currently being painted from our backing store, and
        transform them (mostly) according to the CTM, to match the transformation
        that will have occurred underneath wkCALayerEnumerateRectsBeingDrawnWithBlock.

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Implement more KeyedEncoder functionality
        https://bugs.webkit.org/show_bug.cgi?id=124089

        Reviewed by Beth Dakin.

        * Shared/cf/KeyedEncoder.cpp:
        (WebKit::KeyedEncoder::encodeBytes):
        (WebKit::KeyedEncoder::encodeInt32):
        (WebKit::KeyedEncoder::encodeFloat):
        * Shared/cf/KeyedEncoder.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        KeyedEncoder should be able to encoder objects
        https://bugs.webkit.org/show_bug.cgi?id=124085

        Reviewed by Sam Weinig.

        Add a dictionary stack to KeyedEncoder that's pushed and popped by
        beginObject/endObject.

        * Shared/cf/KeyedEncoder.cpp:
        (WebKit::KeyedEncoder::KeyedEncoder):
        (WebKit::KeyedEncoder::~KeyedEncoder):
        (WebKit::KeyedEncoder::encodeUInt32):
        (WebKit::KeyedEncoder::encodeString):
        (WebKit::KeyedEncoder::beginObject):
        (WebKit::KeyedEncoder::endObject):
        * Shared/cf/KeyedEncoder.h:

2013-11-08  Alexandru Chiculita  <achicu@adobe.com>

        Web Inspector: It should be possible to debug the Inspector code
        https://bugs.webkit.org/show_bug.cgi?id=124065

        Reviewed by Timothy Hatcher.

        When the script is paused, the debugger will pause all the pages in the same PageGroup.
        All the Inspector windows were created in the same PageGroup, so pausing one debugger
        would stop the other too.

        Added WebInspectorPageGroups to manage the PageGroups created for the Inspectors.
        The WebInspectors will now use the inspection "level" to figure out which PageGroup to use.
        The inspector that debugs the main page will use "__WebInspectorPageGroupLevel1__",
        the second inspector (that debugs the first inspector) will use "__WebInspectorPageGroupLevel2__" ...

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorPageGroups::shared):
        (WebKit::WebInspectorPageGroups::inspectorLevel):
        (WebKit::WebInspectorPageGroups::isInspectorPageGroup):
        (WebKit::WebInspectorPageGroups::inspectorPageGroupLevel):
        (WebKit::WebInspectorPageGroups::inspectorPageGroupForLevel):
        (WebKit::WebInspectorPageGroups::createInspectorPageGroup):
        (WebKit::WebInspectorProxy::WebInspectorProxy):
        (WebKit::WebInspectorProxy::inspectorPageGroup):
        (WebKit::WebInspectorProxy::isInspectorPage):
        (WebKit::WebInspectorProxy::canAttach):
        * UIProcess/WebInspectorProxy.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Begin stubbing out a KeyedEncoder class in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=124079

        Reviewed by Sam Weinig.

        * Shared/KeyedEncoder.h: Removed.
        * Shared/cf/KeyedCodingValueCF.cpp: Removed.
        * Shared/cf/KeyedEncoder.cpp: Added.
        Remove old keyed encoders.

        (WebKit::createDictionary):
        Helper function to create a mutable dictionary.
        (WebKit::KeyedEncoder::KeyedEncoder):
        Create the root dictionary.

        (WebKit::KeyedEncoder::encodeUInt32):
        Create a CFNumberRef and add it to the dictionary.

        * Shared/cf/KeyedEncoder.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        Add new files.

        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
        (WebKit::updateBackForwardItem):
        Create a KeyedEncoder and encode the history tree.

2013-11-08  Brady Eidson  <beidson@apple.com>

        Merge IDBTransactionBackendInterface and IDBTransactionBackendImpl
        https://bugs.webkit.org/show_bug.cgi?id=124077

        Reviewed by Alexey Proskuryakov.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-11-08  Brady Eidson  <beidson@apple.com>

        Merge IDBCursorBackendInterface and IDBCursorBackendImpl
        https://bugs.webkit.org/show_bug.cgi?id=124068

        Reviewed by Anders Carlsson.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::createCursorBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Remove a workaround for a bug in malloc on Symbian
        https://bugs.webkit.org/show_bug.cgi?id=124069

        Reviewed by Sam Weinig.

        * Platform/CoreIPC/ArgumentDecoder.cpp:
        (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
        (CoreIPC::ArgumentDecoder::initialize):
        * Platform/CoreIPC/ArgumentDecoder.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        More build fixes.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        * UIProcess/API/mac/WKConnection.mm:
        (didReceiveMessage):

2013-11-08  Anders Carlsson  <andersca@apple.com>

        More build fixes.

        * UIProcess/API/mac/WKConnection.h:
        * UIProcess/API/mac/WKConnection.mm:
        (didReceiveMessage):

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Try to fix the 32-bit build.

        * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Replace __alignof with alignof.

        Rubber-stamped by Beth Dakin.

        * Platform/CoreIPC/ArgumentCoders.cpp:
        (CoreIPC::::encode):
        (CoreIPC::decodeStringText):
        * Platform/CoreIPC/ArgumentCoders.h:
        (CoreIPC::SimpleArgumentCoder::encode):
        (CoreIPC::SimpleArgumentCoder::decode):
        * Platform/CoreIPC/ArgumentDecoder.h:
        (CoreIPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
        * WebProcess/WebPage/DecoderAdapter.cpp:
        (WebKit::DecoderAdapter::decodeString):
        * WebProcess/WebPage/EncoderAdapter.cpp:
        (WebKit::EncoderAdapter::encodeString):

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Add a way to get a WKWebProcessPlugInBrowserContextController from a handle
        https://bugs.webkit.org/show_bug.cgi?id=124063

        Reviewed by Beth Dakin.

        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        More work on WKBrowsingContextHandle
        https://bugs.webkit.org/show_bug.cgi?id=124060

        Reviewed by Beth Dakin.

        Implement -hash and -isEqual: and add -[WKWebProcessPlugInBrowserContextController handle].

        * Shared/API/Cocoa/WKBrowsingContextHandle.mm:
        (-[WKBrowsingContextHandle hash]):
        (-[WKBrowsingContextHandle isEqual:]):
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (decodeInvocation):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
        (-[WKWebProcessPlugInBrowserContextController selectedRange]):
        (-[WKWebProcessPlugInBrowserContextController handle]):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Add A WKBrowsingContextHandle class
        https://bugs.webkit.org/show_bug.cgi?id=124058

        Reviewed by Sam Weinig.

        The WKBrowsingContextHandle class represents a browsing context and can be sent across process boundaries.

        * Shared/API/Cocoa/WKBrowsingContextHandle.h: Added.
        * Shared/API/Cocoa/WKBrowsingContextHandle.mm: Added.
        (-[WKBrowsingContextHandle _initWithPageID:]):
        (-[WKBrowsingContextHandle encodeWithCoder:]):
        (-[WKBrowsingContextHandle initWithCoder:]):
        (+[WKBrowsingContextHandle supportsSecureCoding]):
        * Shared/API/Cocoa/WKBrowsingContextHandleInternal.h: Added.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController handle]):
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
        (NS_ENUM):
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Add WKRemoteObjectRegistry to WKConnection
        https://bugs.webkit.org/show_bug.cgi?id=124054

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKConnection.h:
        * UIProcess/API/mac/WKConnection.mm:
        (-[WKConnection delegate]):
        (-[WKConnection setDelegate:]):
        (-[WKConnection remoteObjectRegistry]):
        (didReceiveMessage):

2013-11-08  Anders Carlsson  <andersca@apple.com>

        Encode and decode NSURLRequests using NSCoder
        https://bugs.webkit.org/show_bug.cgi?id=124051

        Reviewed by Sam Weinig.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::archiveAndEncodeObject):
        (CoreIPC::decodeAndUnarchiveObject):
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):

2013-11-07  Anders Carlsson  <andersca@apple.com>

        Encode and decode NSURLResponse objects using NSCoder
        https://bugs.webkit.org/show_bug.cgi?id=124028

        Reviewed by Andreas Kling.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):

2013-11-07  Anders Carlsson  <andersca@apple.com>

        Move m_destinationID to MessageDecoder
        https://bugs.webkit.org/show_bug.cgi?id=124026

        Reviewed by Andreas Kling.

        * Platform/CoreIPC/ArgumentDecoder.h:
        * Platform/CoreIPC/MessageDecoder.h:
        (CoreIPC::MessageDecoder::destinationID):

2013-11-07  Anders Carlsson  <andersca@apple.com>

        Get rid of the out-of-line memory attachment type
        https://bugs.webkit.org/show_bug.cgi?id=124023

        Reviewed by Andreas Kling.

        We're only using out-of-line memory for when the message body is too big, so
        isolate that code in Connection and get rid of the out of line attachment type.

        * Platform/CoreIPC/Attachment.cpp:
        (CoreIPC::Attachment::Attachment):
        * Platform/CoreIPC/Attachment.h:
        (CoreIPC::Attachment::port):
        (CoreIPC::Attachment::disposition):
        * Platform/CoreIPC/mac/ConnectionMac.cpp:
        (CoreIPC::Connection::sendOutgoingMessage):
        (CoreIPC::createMessageDecoder):

2013-11-07  Simon Fraser  <simon.fraser@apple.com>

        Lots of layers get solid color but transparent contents layers now
        https://bugs.webkit.org/show_bug.cgi?id=123537

        Reviewed by Tim Horton.
        
        Add some properties to the list of things not to implicitly animate.

        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):

2013-11-07  Anders Carlsson  <andersca@apple.com>

        Remove more dead code
        https://bugs.webkit.org/show_bug.cgi?id=124016

        Reviewed by Beth Dakin.

        We're always layer backed now so we never scroll using the PageClient.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::canScrollView):
        (WebKit::PageClientImpl::scrollView):

2013-11-07  Anders Carlsson  <andersca@apple.com>

        Don't repaint the view when the web process crashes
        https://bugs.webkit.org/show_bug.cgi?id=124013

        Reviewed by Dan Bernstein.

        It's up to each individual port to decide whether the view should be repainted when the web process crashes.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::setViewNeedsDisplay):
        (WebKit::PageClientImpl::displayView):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::resetStateAfterProcessExited):

2013-11-07  Tamas Gergely  <gertom@inf.u-szeged.hu>

        Report error on unknown template class usage.
        https://bugs.webkit.org/show_bug.cgi?id=123096

        Reviewed by Darin Adler.

        Report error when template class is not found in the dictionary.

        * Scripts/webkit2/messages.py:
        (class_template_headers):
        (class_template_headers.template):

2013-11-07  Denis Nomiyama  <d.nomiyama@samsung.com>

        [GTK] Glyphs in vertical text tests are rotated 90 degrees clockwise
        https://bugs.webkit.org/show_bug.cgi?id=50619

        Reviewed by Martin Robinson.

        Added WebCore/platform/graphics/opentype to the include path.

        * PlatformEfl.cmake:
        * PlatformGTK.cmake:

2013-11-07  Brendan Long  <b.long@cablelabs.com>

        [Gtk] Remove old takeFocus() method from PageClientImpl and mark methods as OVERRIDE
        https://bugs.webkit.org/show_bug.cgi?id=123919

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/PageClientImpl.cpp: Remove takeFocus().
        * UIProcess/API/gtk/PageClientImpl.h: Remove takeFocus() and mark methods as OVERRIDE.

2013-11-06  Dan Bernstein  <mitz@apple.com>

        Moved UIProcess/Cocoa to UIProcess/API/Cocoa.

        Rubber-stamped by Anders Carlsson.

        * UIProcess/API/Cocoa: Copied from Source/WebKit2/UIProcess/Cocoa.
        * UIProcess/Cocoa: Removed.
        * UIProcess/Cocoa/WKBackForwardList.h: Removed.
        * UIProcess/Cocoa/WKBackForwardList.mm: Removed.
        * UIProcess/Cocoa/WKBackForwardListInternal.h: Removed.
        * UIProcess/Cocoa/WKBackForwardListItem.h: Removed.
        * UIProcess/Cocoa/WKBackForwardListItem.mm: Removed.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Removed.
        * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Removed.
        * UIProcess/Cocoa/WKNavigationData.h: Removed.
        * UIProcess/Cocoa/WKNavigationData.mm: Removed.
        * UIProcess/Cocoa/WKNavigationDataInternal.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-06  Brendan Long  <b.long@cablelabs.com>

        [Gtk][EFL] Fix build after r158759
        https://bugs.webkit.org/show_bug.cgi?id=123910

        Reviewed by Gyuyoung Kim.

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate): Remove call to flashBackingStoreUpdates().

2013-11-06  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: RemoteLayerTreeDrawingArea doesn't make layers for fixedpos elements
        https://bugs.webkit.org/show_bug.cgi?id=123943

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
        Make fixed position elements create compositing layers and stacking contexts
        in the RemoteLayerTreeDrawingArea just like they do in TiledCoreAnimationDrawingArea.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
        Fix the comment, since we have long since achieved this goal.

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Implement enough functionality so that NSURLRequest objects can be decoded
        https://bugs.webkit.org/show_bug.cgi?id=123942

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectEncoder requiresSecureCoding]):
        Add new method. Return YES.

        (-[WKRemoteObjectDecoder decodeValueOfObjCType:at:]):
        Add new method. This currently only handles 'i', but we'll add more variants as needed.

        (-[WKRemoteObjectDecoder decodeBoolForKey:]):
        Get a WebBoolean from the dictionary and return its value.

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Encoded object stream should be sequential
        https://bugs.webkit.org/show_bug.cgi?id=123939

        Reviewed by Andreas Kling.

        Reserve space in the object stream for objects that are to be encoded, otherwise
        the object stream will not be sequential.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeToObjectStream):
        * Shared/ImmutableArray.h:
        (WebKit::ImmutableArray::entries):

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Allow property list classes to exist in containers
        https://bugs.webkit.org/show_bug.cgi?id=123938

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        (isContainerClass):
        Return whether a given class is a container class.

        (propertyListClasses):
        Return the set of property list classes.

        (allowedArgumentClassesForMethod):
        Allow all property list classes for container type arguments.

2013-11-06  Daniel Bates  <dabates@apple.com>

        [iOS] Upstream Letterpress effect
        https://bugs.webkit.org/show_bug.cgi?id=123932

        Reviewed by Sam Weinig.

        Add feature define ENABLE_LETTERPRESS disabled by default. We only enable
        letterpress on iOS.

        * Configurations/FeatureDefines.xcconfig:

2013-11-06  Dan Bernstein  <mitz@apple.com>

        Fixed multiple API test failures after r158764.

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (setUpPagePolicyClient): If the delegate isn’t set or doesn’t respond to a selector, respond
        with WKFramePolicyListenerUse().

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Move allowed classes handling to decodeObject
        https://bugs.webkit.org/show_bug.cgi?id=123930

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (decodeObjectFromObjectStream):
        Pass allowed classes through to decodeObject.

        (decodeObject):
        Update to take an NSSet of allowed classes. If the set is nil, use the current set.

        (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
        Pass classes to decodeObject.

2013-11-06  Sergio Correia  <sergio.correia@openbossa.org>

        Fix EFL build after r158753
        https://bugs.webkit.org/show_bug.cgi?id=123923

        r158753 renamed WKNavigationData.h as WKNavigationDataRef.h, so
        update it in UIProcess/API/efl/ewk_navigation_data_private.h.

        Reviewed by Csaba Osztrogonác.

        * UIProcess/API/efl/ewk_navigation_data_private.h:

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Implement more decoding methods
        https://bugs.webkit.org/show_bug.cgi?id=123922

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectDecoder decodeObjectForKey:]):
        Call decodeObjectOfClasses:forKey: passing nil as the classes set.

        (-[WKRemoteObjectDecoder decodeInt64ForKey:]):
        Try to get a WebUInt64 and return its value.

        (-[WKRemoteObjectDecoder decodeDoubleForKey:]):
        Try to get a WebDouble and return its value.

        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
        Move this method next to the other decoding methods.

        (-[WKRemoteObjectDecoder requiresSecureCoding]):
        Ditto.

2013-11-06  Brendan Long  <b.long@cablelabs.com>

        [Gtk][EFL] Fix build after r158759
        https://bugs.webkit.org/show_bug.cgi?id=123910

        Reviewed by Gustavo Noronha Silva.

        * UIProcess/API/gtk/PageClientImpl.cpp: Remove flashBackingStoreUpdates().
        * UIProcess/API/gtk/PageClientImpl.h: Same.
        * UIProcess/CoordinatedGraphics/WebView.cpp: Same.
        * UIProcess/CoordinatedGraphics/WebView.h: Same.
        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Don't call flashBackingStoreUpdates().

2013-11-06  Jer Noble  <jer.noble@apple.com>

        Unreviewed Mac build fix; include ResourceResponse.

        * Shared/WebNavigationDataStore.h:

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Decode invocation arguments
        https://bugs.webkit.org/show_bug.cgi?id=123917

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
        Initialize the object stream.

        (decodeObjectFromObjectStream):
        Check that we're not reading past the end of the stream, then decode the object.

        (decodeInvocationArguments):
        Decode arguments from the object stream.

        (decodeInvocation):
        Call decodeInvocationArguments and set up the selector argument.
        
        * Shared/ImmutableArray.h:
        (WebKit::ImmutableArray::at):
        (WebKit::ImmutableArray::size):
        (WebKit::ImmutableArray::entries):
        Constify.

2013-11-06  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add -[WKNavigationData response]
        https://bugs.webkit.org/show_bug.cgi?id=123918

        Reviewed by Sam Weinig.

        * Shared/WebNavigationDataStore.h: Added a ResourceResponse data member.
        (WebKit::WebNavigationDataStore::encode): Encode the response.
        (WebKit::WebNavigationDataStore::decode): Decode the response.
        * UIProcess/Cocoa/WKNavigationData.h: Declared new property.
        * UIProcess/Cocoa/WKNavigationData.mm:
        (-[WKNavigationData response]): Added.
        * UIProcess/WebNavigationData.h:
        (WebKit::WebNavigationData::response): Added.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::updateGlobalHistory): Set the response in the data store.

2013-11-06  Sam Weinig  <sam@webkit.org>

        Fix the 32-bit build.

        * UIProcess/API/mac/WKBrowsingContextController.h:
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController dealloc]):
        (-[WKBrowsingContextController _initWithPageRef:]):

2013-11-06  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add -[WKBrowsingContextController unreachableURL]
        https://bugs.webkit.org/show_bug.cgi?id=123909

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.h: Declared unreachableURL property.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController unreachableURL]): Added.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::unreachableURL): Added.
        * UIProcess/WebPageProxy.h:

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Encode parameters as objects
        https://bugs.webkit.org/show_bug.cgi?id=123912

        Reviewed by Beth Dakin.

        We want to ensure that the objects have the right types when decoded, so just encode them as objects.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocation):
        (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):

2013-11-06  Sam Weinig  <sam@webkit.org>

        Add WKBrowsingContextPolicyDelegate
        https://bugs.webkit.org/show_bug.cgi?id=123904

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.h:
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        Implement a WKPagePolicyClient in terms of the new WKBrowsingContextPolicyDelegate protocol.
        
        * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: 
        Added.

        * UIProcess/API/mac/WebKit2.h:
        Add new #include of WKBrowsingContextPolicyDelegate.h

        * WebKit2.xcodeproj/project.pbxproj:
        Add new file.

2013-11-06  Anders Carlsson  <andersca@apple.com>

        WKRemoteObjectInterface should keep track of allowed decodable classes
        https://bugs.webkit.org/show_bug.cgi?id=123903

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        (allowedArgumentClassesForMethod):
        Helper function that returns a vector of sets of allowed classes for each method argument.

        (initializeAllowedArgumentClasses):
        Iterate over the methods in the protocol, get the extended method type encoding and create an
        NSMethodSignature from it. Finally, pass the signature to allowedArgumentClassesForMethod.

        (initializeAllowedArgumentClasses):
        Call the other initializeAllowedArgumentClasses twice, once for required methods,
        and once for optional methods.

        (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
        Call initializeAllowedArgumentClasses.

        (-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
        Add new getter.

        * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h:

2013-11-06  Anders Carlsson  <andersca@apple.com>

        Remove dead code
        https://bugs.webkit.org/show_bug.cgi?id=123902

        Reviewed by Tim Horton.

        Remove the PageClient::containingWindowGraphicsContext() as well as the
        WKPageSetDebugPaintFlags and WKPageGetDebugPaintFlags API functions.

        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::searchTheWeb):

2013-11-06  Dan Bernstein  <mitz@apple.com>

        Promoted WKBrowsingContextHistoryDelegate.h to private.

        Rubber-stamped by Sam Weinig.

        * WebKit2.xcodeproj/project.pbxproj:

2013-11-06  Dan Bernstein  <mitz@apple.com>

        [Cocoa] History delegate
        https://bugs.webkit.org/show_bug.cgi?id=123837

        Reviewed by Sam Weinig.

        * Shared/Cocoa/APIObject.mm:
        (WebKit::APIObject::newObject): Allocate a WKNavigationData if the object is a
        WebNavigationData.

        * Shared/Cocoa/WKNSString.h:
        (WebKit::wrapper): Added. Returns a WebString’s wrapper as an NSString.

        * Shared/Cocoa/WKNSURL.h:
        (WebKit::wrapper): Added. Returns a WebURL’s wrapper as an NSURL.

        * UIProcess/API/C/WKNavigationData.cpp: Renamed.
        * UIProcess/API/C/WKNavigationData.h: Renamed.
        * UIProcess/API/C/WKNavigationDataRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.cpp.
        * UIProcess/API/C/WKNavigationDataRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKNavigationData.h.

        * UIProcess/API/mac/WKBrowsingContextController.h: Declared historyDelegate property.

        * UIProcess/API/mac/WKProcessGroup.mm:
        (didNavigateWithNavigationData): Added history client callback that calls the browsing
        context’s history delegate.
        (didPerformClientRedirect): Ditto.
        (didPerformServerRedirect): Ditto.
        (didUpdateHistoryTitle): Ditto.
        (setUpHistoryClient): Added.
        (-[WKProcessGroup initWithInjectedBundleURL:]): Added call to setUpHistoryClient.
        (-[WKProcessGroup dealloc]): Clear the history client.

        * UIProcess/Cocoa/WKBrowsingContextHistoryDelegate.h: Added.

        * UIProcess/Cocoa/WKNavigationData.h: Added.
        * UIProcess/Cocoa/WKNavigationData.mm: Added.
        (-[WKNavigationData dealloc]): Calls the WebNavigationData destructor.
        (-[WKNavigationData title]): Added.
        (-[WKNavigationData originalRequest]): Added.
        (-[WKNavigationData destinationURL]): Added.
        (-[WKNavigationData _apiObject]): Returns the wrapped WebNavigationData.
        * UIProcess/Cocoa/WKNavigationDataInternal.h: Added.
        (WebKit::wrapper): Added. Returns a WebNavigationData’s wrapper as a WKNavigationData.
        * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.

2013-11-05  Anders Carlsson  <andersca@apple.com>

        Begin work on decoding invocations
        https://bugs.webkit.org/show_bug.cgi?id=123838

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocation):
        Declare the type string and selector keys as constants.

        (encodeObject):
        Make sure to encode the class name for NSInvocations as well.

        (decodeInvocation):
        Figure out the local and remove method signatures and make sure that they are equal.

        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        (methodArgumentTypeEncodingForSelector):
        Helper function that returns the type encoding for a given selector.

        (-[WKRemoteObjectInterface _methodSignatureForSelector:]):
        Helper function that returns a method signature for the method with the name referred to by selector.

        * Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h: Added.
        Add internal header.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
        Pass the right object to the WKRemoteObjectDecoder initializer and decode the invocation.

        * WebKit2.xcodeproj/project.pbxproj:
        Add internal header.

2013-11-05  Anders Carlsson  <andersca@apple.com>

        WKRemoteObjectDecoder should know which interface it's decoding for
        https://bugs.webkit.org/show_bug.cgi?id=123833

        Reviewed by Andreas Kling.

        Move the interface identifier out into the root object body dictionary and make 
        the encoded invocation a sibling of it. That way we can look up the interface before
        creating the decoder.
        
        Also, manage exported objects and interfaces in a separate hash map.

        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
        (decodeInvocation):
        (decodeObject):
        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
        (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
        (-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):

2013-11-05  Anders Carlsson  <andersca@apple.com>

        Add support for decoding NSStrings
        https://bugs.webkit.org/show_bug.cgi?id=123829

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeObject):
        (-[WKRemoteObjectDecoder allowsKeyedCoding]):
        Always return YES.

        (-[WKRemoteObjectDecoder containsValueForKey:]):
        Look up the key in the current dictionary.

        (-[WKRemoteObjectDecoder decodeBytesForKey:returnedLength:]):
        Try to get the WebData object and return its data + size.

        (-[WKRemoteObjectDecoder requiresSecureCoding]):
        Return YES.

        (checkIfClassIsAllowed):
        Check if the class or any of its superclasses are are allowed.

        (validateClass):
        Call checkIfClassIsAllowed and validate that the class conforms to NSSecureCoding.

        (decodeObject):
        Get the class name, verify that the class exists and is allowed. 
        Allocate and initialize an object using initWithCoder:.

        (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
        Set the allowed classes, look up the object in _currentDictionary and call decodeObject.

        (-[WKRemoteObjectDecoder allowedClasses]):
        Return _allowedClasses.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
        Declare interfaceIdentifier as a constant.

        (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
        Decode the interface identifier.

        * Shared/ImmutableDictionary.h:
        (WebKit::ImmutableDictionary::get):
        (WebKit::ImmutableDictionary::size):
        (WebKit::ImmutableDictionary::map):
        Make member functions const.

2013-11-05  Benjamin Poulain  <benjamin@webkit.org>

        Fix Mountain Lion Debug bot after r158689

        Unreviewed.

        It looks like WebGeolocationManagerProxy::stopUpdating() and WebGeolocationManagerProxy::processDidClose()
        are racing in some cases, causing the assertion to fail.

        That case is handled properly in the last if() branch of WebGeolocationManagerProxy::removeRequester().
        This patch remove the overzealous assertion.

        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::removeRequester):

2013-11-05  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Apply layer changes to LayerTypeCustom layers to the custom layer in the Web process, not to the CALayerHost
        https://bugs.webkit.org/show_bug.cgi?id=123818

        Reviewed by Anders Carlsson.

        Changes to the properties of a PlatformCALayer of type LayerTypeCustom are intended
        to affect the custom CALayer; however, we were bundling them up with the transaction
        and applying them to the CALayerHost, leading to important properties being lost.

        Instead, apply them to the Web-process-side CALayer when building the transaction.

        * Shared/mac/RemoteLayerTreePropertyApplier.h: Added.
        * Shared/mac/RemoteLayerTreePropertyApplier.mm: Added.
        (WebKit::cgColorFromColor):
        (WebKit::toCAFilterType):
        (WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
        (WebKit::RemoteLayerTreePropertyApplier::disableActionsForLayer):
        Move code to apply LayerProperties to a CALayer from RemoteLayerTreeHost.
        Move code to disable actions on a CALayer from RemoteLayerTreeHost.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        (WebKit::RemoteLayerTreeHost::createLayer):
        Use RemoteLayerTreePropertyApplier.
        Hand it a map of LayerID->CALayer so that it can look up related layers
        for children and mask layers.

        * WebKit2.xcodeproj/project.pbxproj:
        Add RemoteLayerTreePropertyApplier.{h,mm}

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::recursiveBuildTransaction):
        Upon commit, apply changes to LayerTypeCustom layers to the platform layer.
        Setting children or maskLayer won't work, since we don't know about other raw CALayers.
        This is OK, since nothing uses those properties on custom layers.

        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp:
        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
        Disable actions on the root custom layer.

2013-11-05  Anders Carlsson  <andersca@apple.com>

        Begin work on a WKRemoteObjectDecoder object
        https://bugs.webkit.org/show_bug.cgi?id=123819

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectDecoder initWithRootObjectDictionary:]):
        Add designated initializer.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
        If the message has the expected name and body type, pass it along to -_invokeMessageWithBody:.

        (-[WKRemoteObjectRegistry _invokeMessageWithBody:]):
        Create a decoder.

2013-11-05  Benjamin Poulain  <benjamin@webkit.org>

        [WK2] Add a WebKit2 API for Geolocation's highAccuracy
        https://bugs.webkit.org/show_bug.cgi?id=123786

        Reviewed by Darin Adler.

        This adds support for highAccuracy Geolocation with WebKit2.

        The key is to track which page/requester need what kind of geolocation
        in order to change between high and low accuracy as pages run and disappear.

        WebGeolocationManager and WebGeolocationManagerProxy have very similar roles
        but for different sources:
        -WebGeolocationManager tracks which live page require high accuracy geolocation.
         When the state changes, it forward the information to the UIProcess.
        -WebGeolocationManagerProxy tracks which WebContent processes needs high accuracy.

        * Shared/APIClientTraits.cpp:
        * Shared/APIClientTraits.h:
        * UIProcess/API/C/WKGeolocationManager.h:
        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::startUpdating):
        (WebKit::WebGeolocationManagerProxy::removeRequester):
        (WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
        * UIProcess/WebGeolocationManagerProxy.h:
        (WebKit::WebGeolocationManagerProxy::isUpdating):
        (WebKit::WebGeolocationManagerProxy::isHighAccuracyEnabled):
        * UIProcess/WebGeolocationManagerProxy.messages.in:
        * UIProcess/WebGeolocationProvider.cpp:
        (WebKit::WebGeolocationProvider::setEnableHighAccuracy):
        * UIProcess/WebGeolocationProvider.h:
        * WebProcess/Geolocation/WebGeolocationManager.cpp:
        (WebKit::WebGeolocationManager::registerWebPage):
        (WebKit::WebGeolocationManager::unregisterWebPage):
        (WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
        * WebProcess/Geolocation/WebGeolocationManager.h:
        (WebKit::WebGeolocationManager::isUpdating):
        (WebKit::WebGeolocationManager::isHighAccuracyEnabled):
        * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
        (WebKit::WebGeolocationClient::setEnableHighAccuracy):

2013-11-05  Anders Carlsson  <andersca@apple.com>

        Implement more NSCoder methods
        https://bugs.webkit.org/show_bug.cgi?id=123815

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeObject):
        Assert that object is not nil.

        (createEncodedObject):
        Handle nil objects.

        (-[WKRemoteObjectEncoder encodeValueOfObjCType:at:]):
        Call the right object stream encoding function based on the object type.

        (-[WKRemoteObjectEncoder encodeBool:forKey:]):
        (-[WKRemoteObjectEncoder encodeInt64:forKey:]):
        (-[WKRemoteObjectEncoder encodeDouble:forKey:]):
        Create APIObjects and add them to the current dictionary.

2013-11-05  Anders Carlsson  <andersca@apple.com>

        Encode the class name
        https://bugs.webkit.org/show_bug.cgi?id=123813

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeObject):
        Get the Class using -[NSObject classForCoder] and encode its name in the object dictionary.

2013-11-05  Anders Carlsson  <andersca@apple.com>

        Clean up the WKRemoteObjectEncoder code
        https://bugs.webkit.org/show_bug.cgi?id=123811

        Reviewed by Dan Bernstein.

        Add a new object stream array to be used for the non-keyed encoding values
        and free functions for encoding values to the object stream. Simplify object encoding
        by moving the dictionary creation out into a separate function and ditching the block based methods.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (ensureObjectStream):
        Add helper function to create an object stream.

        (encodeToObjectStream):
        Add overloads for encoding values into the object streams.

        (encodeInvocation):
        Add helper function for encoding an NSInvocation.

        (encodeObject):
        Call encodeInvocation if needed, otherwise just use encodeWithCoder:.

        (createEncodedObject):
        Helper function that sets up a dictionary, encodes the object into the dictionary and then returns the dictionary.

        (-[WKRemoteObjectEncoder encodeObject:forKey:]):
        Call createEncodedObject.    

2013-11-04  Brady Eidson  <beidson@apple.com>

        IDB: Split backend Cursors and Transactions into their own files
        https://bugs.webkit.org/show_bug.cgi?id=123789

        Reviewed by Alexey Proskuryakov.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::createCursorBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-11-04  Alexey Proskuryakov  <ap@apple.com>

        DumpRenderTree should reset its preferences file on launch
        https://bugs.webkit.org/show_bug.cgi?id=29751

        Reviewed by Dan Bernstein.

        * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
        (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
        Further fix reading of AppleKeyboardUIMode - reading it from kCFPreferencesAnyApplication
        domain meant that current application's domain was explcitly ignored, and the only
        way to override the setting in WTR was through argument domain.

2013-11-04  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Make LayerTypeCustom remote-host CALayers from the Web process
        https://bugs.webkit.org/show_bug.cgi?id=123766

        Reviewed by Anders Carlsson.

        Put each LayerTypeCustom layer into a CAContext, so that we can
        host small CALayer trees (for video, plugins, etc.) from the Web process
        to the UI process without proxying their (more complex) content.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::dump):
        Store, encode, and dump the CAContext ID of custom layers.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::createLayer):
        Create a CALayerHost with the CAContext ID from the Web process.

        * WebKit2.xcodeproj/project.pbxproj:
        Add PlatformCALayerRemoteCustom.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
        (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
        Call the newly-added custom-layer constructor.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::create):
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Move the call to layerWasCreated() out to ::create(), so that all of
        the constructors for this class and all subclasses have completed
        before we call it (so that layerWasCreated() can store the context ID
        in the created layer properties object).

        (WebKit::PlatformCALayerRemote::hostingContextID):
        Should never be reached on the base class, only PlatformCALayerRemoteCustom.

        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp: Added.
        (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
        (PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
        (PlatformCALayerRemoteCustom::hostingContextID):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: Added.
        Add PlatformCALayerRemoteCustom, which owns a LayerHostingContext
        which it will use to share a custom CALayer tree with the UI process.

        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
        Drive-by remove an unnecessary include.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::layerWasCreated):
        Store the CAContext ID with the layer creation properties so it can
        be used to create a CALayerHost upon commit in the UI process.

2013-11-04  Tim Horton  <timothy_horton@apple.com>

        Remove PlatformCALayer::playerLayer
        https://bugs.webkit.org/show_bug.cgi?id=123764

        Reviewed by Sam Weinig.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Remove playerLayer().

2013-11-04  Anders Carlsson  <andersca@apple.com>

        WKRemoteObjectEncoder should escape keys
        https://bugs.webkit.org/show_bug.cgi?id=123761

        Reviewed by Tim Horton.

        Keys that start with $ will be reserved for use by the coder, so prepend an extra
        $ to keys that already start with $ to avoid clashes.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (escapeKey):
        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):

2013-11-04  Benjamin Poulain  <bpoulain@apple.com>

        [WK2] Update WebGeolocationManager to support multiple WebContent processes
        https://bugs.webkit.org/show_bug.cgi?id=123658

        Reviewed by Anders Carlsson.

        Change WebGeolocationManagerProxy to track which WebProcessProxy needs geolocation.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::disconnectProcess):
        WebContext::disconnectProcess does not handle ContextSupplement yet when using multiple
        WebContent processes. Add an explicit call for WebGeolocationManagerProxy as a temporary
        solution.

        * UIProcess/WebGeolocationManagerProxy.cpp:
        (WebKit::WebGeolocationManagerProxy::WebGeolocationManagerProxy):
        (WebKit::WebGeolocationManagerProxy::contextDestroyed):
        (WebKit::WebGeolocationManagerProxy::processDidClose):
        (WebKit::WebGeolocationManagerProxy::startUpdating):
        (WebKit::WebGeolocationManagerProxy::stopUpdating):
        (WebKit::WebGeolocationManagerProxy::removeRequester):
        * UIProcess/WebGeolocationManagerProxy.h:
        * UIProcess/WebGeolocationManagerProxy.messages.in:

2013-11-01  Jer Noble  <jer.noble@apple.com>

        [PluginProxy] Add a setting to disable video plugin proxy support in HTMLMediaElement.
        https://bugs.webkit.org/show_bug.cgi?id=123621

        Reviewed by Eric Carlson.

        Add WebKit2 functions for setting then new isVideoPluginProxyEnabled preference.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetVideoPluginProxyEnabled):
        (WKPreferencesGetVideoPluginProxyEnabled):
        * UIProcess/API/C/WKPreferences.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2013-11-04  Anders Carlsson  <andersca@apple.com>

        More WKRemoteObjectRegistry work
        https://bugs.webkit.org/show_bug.cgi?id=123754

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectEncoder rootObjectDictionary]):
        Add a getter for the root object dictionary.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
        Call _sendMessageWithBody:.
        (-[WKRemoteObjectRegistry _sendMessageWithBody:]):
        Call WebConnection::postMessage.

2013-11-03  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
        https://bugs.webkit.org/show_bug.cgi?id=123707

        Reviewed by Geoff Garen and Anders Carlsson.

        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
        * Shared/ImmutableArray.h:
        (WebKit::ImmutableArray::entries): Added this accessor.

2013-11-03  Dan Bernstein  <mitz@apple.com>

        Reverted r158538.

        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray copyWithZone:]):
        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary copyWithZone:]):
        * Shared/ImmutableArray.h:

2013-11-03  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Wrappers' -copyWithZone: should copy if the collection is mutable
        https://bugs.webkit.org/show_bug.cgi?id=123707

        Reviewed by Geoff Garen.

        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray copyWithZone:]): If the array is mutable, make a copy.
        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary copyWithZone:]): If the dictionary is mutable, make a copy.
        * Shared/ImmutableArray.h:
        (WebKit::ImmutableArray::entries): Added this accessor.

2013-11-02  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Wrappers mishandle NULL values in arrays and dictionaries
        https://bugs.webkit.org/show_bug.cgi?id=123671

        Reviewed by Darin Adler.

        * Shared/Cocoa/WKNSArray.mm:
        (-[WKNSArray objectAtIndex:]): Represent a NULL object as NSNull.
        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary objectForKey:]): Represent a NULL value as NSNull.
        * Shared/ImmutableDictionary.h:
        (WebKit::ImmutableDictionary::get): Added this overload that returns whether the key exists.

2013-11-02  Dan Bernstein  <mitz@apple.com>

        Fixed release builds.

        * Shared/Cocoa/WKNSDictionary.mm:
        (-[WKNSDictionary initWithObjects:forKeys:count:]):

2013-11-02  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add WKNSDictionary
        https://bugs.webkit.org/show_bug.cgi?id=123660

        Reviewed by Anders Carlsson.

        * Shared/Cocoa/APIObject.mm:
        (WebKit::APIObject::newObject): Allocate a WKNSDictionary if the APIObject is a dictionary.
        * Shared/Cocoa/WKNSDictionary.h: Added.
        (WebKit::wrapper):  Added. Returns an ImmutableDictionary’s wrapper as an NSDictionary.
        * Shared/Cocoa/WKNSDictionary.mm: Added.
        (-[WKNSDictionary dealloc]): Calls the ImmutableDictionary destructor.
        (-[WKNSDictionary count]): Added.
        (-[WKNSDictionary objectForKey:]): Added.
        (-[WKNSDictionary keyEnumerator]): Added.
        (-[WKNSDictionary copyWithZone:]): Retains self.
        (-[WKNSDictionary _apiObject]): Returns the wrapped ImmutableDictionary.
        * WebKit2.xcodeproj/project.pbxproj: Added references to new files.

2013-11-02  Tim Horton  <timothy_horton@apple.com>

        Address some review comments noted in r158463
        https://bugs.webkit.org/show_bug.cgi?id=123646

        Reviewed by Darin Adler.

        * Shared/mac/RemoteLayerBackingStore.mm:
        Put our __has_include ifs all on one line.

        (createIOSurface):
        IOSurfaceAlignProperty returns size_t, not unsigned long.

        (RemoteLayerBackingStore::display):
        (RemoteLayerBackingStore::drawInContext):
        Create the frontImage in display() and hand it to drawInContext().

        Use the GraphicsContext API instead of CG itself for clearRect().

        When using ShareableBitmap, replace m_frontBuffer instead of
        having a backBuffer local; the CGImageRef will retain the
        ShareableBitmap it references.

        Duplicate our drawInContext() calls so we don't have to allocate
        a GraphicsContext on the heap in the IOSurface case.

        Don't bother clearing frontContext; it'll happen for us at
        the appropriate time. Instead, assert that it's still alive after
        we drop our reference to the frontImage created from it.

2013-11-02  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] invalid use of incomplete type 'class WTF::PassOwnPtr<WTF::Vector<unsigned char> >'
        https://bugs.webkit.org/show_bug.cgi?id=123601

        Reviewed by Carlos Garcia Campos.

        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: Explicitly include the PassOwnPtr.h header
        as certain configurations on the GTK port don't ensure that the header is included indirectly.

2013-11-02  Vitaly Katunin  <vkatunin@luxoft.com>

        [GTK] invalid application of 'sizeof' to incomplete type
        https://bugs.webkit.org/show_bug.cgi?id=123502

        Reviewed by Carlos Garcia Campos.

        * Shared/WebCoreArgumentCoders.cpp:

2013-11-01  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Crashes allocating incredibly large backing store for tiled backing layers
        https://bugs.webkit.org/show_bug.cgi?id=123651

        Reviewed by Simon Fraser.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::display):
        (RemoteLayerBackingStore::drawInContext):
        We can't dirty the whole layer if we have no existing front buffer if
        we have no paints, because that will lead to layers which were never
        setNeedsDisplay()'d getting backing store. Added back an assertion
        that will catch this, too.

2013-11-01  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKObject seems to be initializing its target in a thread-safe manner, but really is not
        https://bugs.webkit.org/show_bug.cgi?id=123640

        Reviewed by Darin Adler.

        * Shared/Cocoa/WKObject.mm:
        (initializeTargetIfNeeded): Removed misleading incorrect code.

2013-11-01  Benjamin Poulain  <benjamin@webkit.org>

        [WK2] Create a unique identifier for WebPageGroup if the input name is empty
        https://bugs.webkit.org/show_bug.cgi?id=123606

        Reviewed by Andreas Kling.

        Strengthen the "public" API of page group.
        If someone uses WKBrowsingContextGroup with a nil or empty string, the related WKString
        would be empty, and all the WKBrowsingContextGroup end up with the same identifier.

        * UIProcess/WebPageGroup.cpp:
        (WebKit::WebPageGroup::WebPageGroup):

2013-11-01  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Avoid some double-wrapping of strings and URLs
        https://bugs.webkit.org/show_bug.cgi?id=123632

        Reviewed by Anders Carlsson.

        * Shared/API/c/cf/WKStringCF.cpp: Removed.
        * Shared/API/c/cf/WKStringCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKStringCF.cpp.
        (wkNSStringClass): Added this helper.
        (WKStringCreateWithCFString): If the passed-in CFString is already wrapping a WebString,
        then retain it and return it.
        * Shared/API/c/cf/WKURLCF.cpp: Removed.
        * Shared/API/c/cf/WKURLCF.mm: Copied from Source/WebKit2/Shared/API/c/cf/WKURLCF.cpp.
        (wkNSURLClass): Added this helper.
        (WKURLCreateWithCFURL): If the passed-in CFURL is already wrapping a WebURL, then retain it
        and return it.
        * WebKit2.xcodeproj/project.pbxproj: Updated for renames.

2013-11-01  Anders Carlsson  <andersca@apple.com>

        Begin work on encoding argument types
        https://bugs.webkit.org/show_bug.cgi?id=123631

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
        Encode argument types in an array.

        (-[WKRemoteObjectEncoder _encodedObjectUsingBlock:]):
        Add new helper method that encodes an object and returns the dictionary.

        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
        Implement this in terms of _encodedObjectUsingBlock:.

        * Shared/MutableArray.cpp:
        (WebKit::MutableArray::append):
        * Shared/MutableArray.h:
        Change append to take a PassRefPtr.

2013-10-31  Gavin Barraclough  <barraclough@apple.com>

        Rename InWindowState -> ViewState
        https://bugs.webkit.org/show_bug.cgi?id=123584

        Rubber stamped by Sam Weinig.

        WebPageProxy::setViewState offers the option to wait for a reply. Previously this option
        was only available via setIsInWindow, hence the mechanism to wait to the update has
        'InWindowState' in method and variable names (i.e.
        'WebPageProxy::waitForDidUpdateInWindowState'). Since the mechanism is now applicable to
        all ViewState changes, rename to reflect this.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView endDeferringViewInWindowChangesSync]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::waitForDidUpdateViewState):
        (WebKit::WebPageProxy::resetStateAfterProcessExited):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::didUpdateViewState):
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::didUpdateViewStateTimerFired):
        (WebKit::WebPage::setViewState):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::didUpdateViewStateTimerFired):

2013-11-01  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Move RemoteLayerBackingStore to Shared/
        https://bugs.webkit.org/show_bug.cgi?id=123646

        Reviewed by Darin Adler.

        Move RemoteLayerBackingStore to Shared/, since it is
        used on both the UI and Web process side of things.

        * Shared/mac/RemoteLayerBackingStore.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h.
        * Shared/mac/RemoteLayerBackingStore.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm.
        * WebKit2.xcodeproj/project.pbxproj:

2013-11-01  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Vend layer contents via IOSurfaces
        https://bugs.webkit.org/show_bug.cgi?id=123600

        Reviewed by Anders Carlsson.

        Address some review comments from Darin (and subsequently Anders).

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::surface):
        No need for .get() here.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::ensureBackingStore):
        All on one line for readability.

        (createIOSurfaceContext):
        This 'if' is meaningless.

        (createIOSurface):
        No need for a RetainPtr here, the dictionary is autoreleased.

        (RemoteLayerBackingStore::display):
        Snuggle 'context' up next to the other declarations.

2013-11-01  Anders Carlsson  <andersca@apple.com>

        Don't use the C API in WKRemoteObjectCoder
        https://bugs.webkit.org/show_bug.cgi?id=123627

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectEncoder init]):
        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
        * Shared/ImmutableDictionary.h:
        * Shared/MutableDictionary.cpp:
        (WebKit::MutableDictionary::add):
        (WebKit::MutableDictionary::set):
        * Shared/MutableDictionary.h:

2013-11-01  Emilio Pozuelo Monfort  <pochu27@gmail.com>

        Fix build on non-linux platforms
        https://bugs.webkit.org/show_bug.cgi?id=123622

        Reviewed by Darin Adler.

        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:

2013-11-01  Brian Holt  <brian.holt@samsung.com>

        [GTK] [WK2] Crash in webkitWebViewLoadFailedWithTLSErrors
        https://bugs.webkit.org/show_bug.cgi?id=123618

        Reviewed by Mario Sanchez Prada.

        The GOwnPtrSoup header was not included which meant that the
        specialization for GOwnPtr<SoupURI> was not used and instead the
        default freeOwnedGPtr which calls g_free is used and crashes.

        * UIProcess/API/gtk/WebKitWebView.cpp:

2013-10-31  Tim Horton  <timothy_horton@apple.com>

        Fix a typo/review comment from Dan, in http://trac.webkit.org/changeset/158413

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:

2013-10-31  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Vend layer contents via IOSurfaces
        https://bugs.webkit.org/show_bug.cgi?id=123600

        Reviewed by Anders Carlsson.

        * Configurations/WebKit2.xcconfig:
        Link WebKit2 against IOSurface.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::dumpChangedLayers):
        Dump the size of the backing store instead of the pointer of its
        SharedBitmap, because that's slightly more useful.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        If a layer's backing store uses accelerated drawing, hand the IOSurface
        to the CALayer for display.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Initialize contentsScale to 1 to match CA. Other properties will follow.

        (PlatformCALayerRemote::ensureBackingStore):
        Instead of replacing the RemoteLayerBackingStore when its properties
        change, allow it to update them on the fly. Replacing them caused
        us to throw away repaint rects when the accelerated drawing
        flag was flipped.

        (PlatformCALayerRemote::acceleratesDrawing):
        (PlatformCALayerRemote::setAcceleratesDrawing):
        Store the accelerated drawing flag and mark it dirty when it changes.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::image):
        Rename bitmap() to image() and have it create a CGImageRef from
        the ShareableBitmap, ready for direct application to a CALayer.

        (WebKit::RemoteLayerBackingStore::surface):
        Return a IOSurface ready for direct application to a CALayer.

        (WebKit::RemoteLayerBackingStore::acceleratesDrawing):
        (WebKit::RemoteLayerBackingStore::hasFrontBuffer):
        Return whether or not we have a front buffer/surface.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        Forward-declare some CGIOSurface SPI.

        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::ensureBackingStore):
        Throw away our front image and reset flags if needed.

        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        En/decode the front surface instead of the ShareableBitmap if needed,
        using CoreIPC::MachPort. Destroy the port on receipt.

        (createIOSurfaceContext):
        Create a CGIOSurfaceContext from an IOSurface.

        (createIOSurface):
        Create an IOSurface of the given size.

        (RemoteLayerBackingStore::image):
        Return a CGImageRef, if we're not using accelerated drawing.
        Moved from the header.

        (RemoteLayerBackingStore::display):
        (RemoteLayerBackingStore::drawInContext):
        If using accelerated drawing, create and paint into an IOSurface.
        Reorganize some code to make the copying-from-the-front-image code
        work for both software and IOSurfaces.
        Flush the context when completed, to ensure that any asynchronous
        painting is complete before we vend the surface to the UI process.

2013-10-31  Anders Carlsson  <andersca@apple.com>

        Begin stubbing out the WKRemoteObjectCoder NSCoder subclass
        https://bugs.webkit.org/show_bug.cgi?id=123596

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/WKRemoteObject.mm:
        (-[WKRemoteObject forwardInvocation:]):
        Call through to the WKRemoteObjectRegistry.

        * Shared/API/Cocoa/WKRemoteObjectCoder.h: Added.
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm: Added.
        (-[WKRemoteObjectEncoder init]):
        Create a root WKDictionary.

        (-[WKRemoteObjectEncoder dealloc]):
        Assert that the current dictionary is the root dictionary; that we're back where we started.

        (-[WKRemoteObjectEncoder allowsKeyedCoding]):
        Return YES.

        (-[WKRemoteObjectEncoder encodeObject:forKey:]):
        Check that the object is valid and then encode it.

        (-[WKRemoteObjectEncoder _encodeInvocation:forKey:]):
        Encode the method type string and invocation selector.

        (-[WKRemoteObjectEncoder encodeBytes:length:forKey:]):
        Create a WKDataRef and add it to the dictionary.

        (-[WKRemoteObjectEncoder _encodeObjectForKey:usingBlock:]):
        Create a new dictionary and call the block.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry _sendInvocation:interface:]):
        Create an encoder and encode the invocation and interface.

        * Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h: Added.
        Add IPI header.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new files.

2013-10-31  Anders Carlsson  <andersca@apple.com>

        Address review comments.

        * Shared/API/Cocoa/WKRemoteObject.h:
        * Shared/API/Cocoa/WKRemoteObject.mm:
        (-[WKRemoteObject conformsToProtocol:]):

2013-10-31  Anders Carlsson  <andersca@apple.com>

        Add a WKRemoteObject class
        https://bugs.webkit.org/show_bug.cgi?id=123586

        Reviewed by Dan Bernstein.

        * Shared/API/Cocoa/WKRemoteObject.h: Added.
        * Shared/API/Cocoa/WKRemoteObject.mm: Added.
        (-[WKRemoteObject _initWithObjectRegistry:interface:]):
        Add designated initializer.

        (-[WKRemoteObject conformsToProtocol:]):
        Check if the interface protocol conforms to our protocol.

        (methodArgumentTypeEncodingForSelector):
        Helper function that looks up a method in a given protocol and returns its type encoding.

        (-[WKRemoteObject methodSignatureForSelector:]):
        Try to find the method argument type encoding for the given selector and return its NSMethodSignature.

        (-[WKRemoteObject forwardInvocation:]):
        Add stub.

        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
        Remove a newline.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
        Establish a mapping between interface identifiers and remote object proxies.

        * WebKit2.xcodeproj/project.pbxproj:

2013-10-31  Alexey Proskuryakov  <ap@apple.com>

        Enable WebCrypto on Mac
        https://bugs.webkit.org/show_bug.cgi?id=123587

        Reviewed by Anders Carlsson.

        * Configurations/FeatureDefines.xcconfig: Do it.

2013-10-31  Sergio Correia  <sergio.correia@openbossa.org>

        [WK2] Convert SeccompFilters to using unique_ptr instead of OwnPtr/PassOwnPtr
        https://bugs.webkit.org/show_bug.cgi?id=122883

        Reviewed by Darin Adler.

        * Shared/linux/SeccompFilters/OpenSyscall.cpp:
        (WebKit::OpenSyscall::createFromOpenatContext):
        (WebKit::OpenSyscall::createFromCreatContext):
        (WebKit::OpenSyscall::execute):
        * Shared/linux/SeccompFilters/OpenSyscall.h:
        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SIGSYSHandler):
        (WebKit::SeccompBrokerClient::dispatch):
        (WebKit::SeccompBroker::runLoop):
        * Shared/linux/SeccompFilters/SigactionSyscall.cpp:
        (WebKit::SigactionSyscall::createFromContext):
        * Shared/linux/SeccompFilters/SigactionSyscall.h:
        * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp:
        (WebKit::SigprocmaskSyscall::createFromContext):
        * Shared/linux/SeccompFilters/SigprocmaskSyscall.h:
        * Shared/linux/SeccompFilters/Syscall.cpp:
        (WebKit::Syscall::createFromContext):
        (WebKit::Syscall::createFromDecoder):
        (WebKit::SyscallResult::createFromDecoder):
        * Shared/linux/SeccompFilters/Syscall.h:
        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:

2013-10-31  Gavin Barraclough  <barraclough@apple.com>

        Change WebPage, WebPageProxy, WebPageCreationParameters to use ViewState
        https://bugs.webkit.org/show_bug.cgi?id=123379

        Reviewed by Darin Adler.

        Visibility state of the Page should be stored and communicated consistently.

        Remove individual visibility flags from WebPageProxy, WebPageCreationParameters,
        and replace them with a ViewState, and add a ViewState member to WebPage.
        Merge together all messages that convey and individual aspect of the ViewState.

        Restructure WebPageProxy::viewStateDidChange to break the operation down into
        three steps: 1) update m_viewState, 2) send the new ViewState to the WebProcess,
        and 3) perform any further work necessary in the UIProcess.

        This patch fixes a problem that if the web process crashes m_isVisible &
        m_isInWindow in WebPageProxy were not updated, and could have held stale values
        on reattach.

        In WebPage, add a new message to update the entire ViewState - diff the prior
        value against the new one to detect changes, call existing methods accordingly.

        * Shared/ViewState.h:
            - Add constants 'Reset', 'AllFlags'
        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
            - Removed boolean visibility flags, added viewState.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
            - Constructor calls updateViewState to initialize m_viewState.
        (WebKit::WebPageProxy::reattachToWebProcess):
            - ViewStaet is not updated while detatched; recalculate.
        (WebKit::WebPageProxy::initializeWebPage):
            - m_isVisible -> isViewVisible()
        (WebKit::WebPageProxy::updateViewState):
            - Added, update m_viewState by querying the page client.
        (WebKit::WebPageProxy::viewStateDidChange):
            - Restructured to use m_viewState, reordered to combine messages.
        (WebKit::WebPageProxy::creationParameters):
            - Removed boolean visibility flags, added viewState.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::isInWindow):
        (WebKit::WebPageProxy::isViewVisible):
            - Removed boolean visibility flags, added viewState.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
            - initial state now passed as a ViewState.
        (WebKit::WebPage::setIsInWindow):
            - Remove code to send reply (this is handled by setViewState).
        (WebKit::WebPage::setViewState):
            - Set m_viewState - diff from prior & call methods to update.
        * WebProcess/WebPage/WebPage.h:
            - Added setViewState, m_viewState.
        * WebProcess/WebPage/WebPage.messages.in:
            - Add SetViewState, remove individual messages.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
            - initial state now passed as a ViewState.

2013-10-30  Gavin Barraclough  <barraclough@apple.com>

        WebPageCreationParameters should be consistent in Window.open
        https://bugs.webkit.org/show_bug.cgi?id=123557

        Reviewed by Sam Weinig.

        When Window.open in called in WebKit2 the WebProcess sends a synchronous request to open
        a page (WebPageProxy::createNewPage). The UIProcess creates a WebpageProxy, and responds
        with instructions to the WebProcess to create the WebPage. The initial creation state of
        the WebPage is communicated to the WebProcess via two routes (firstly an asynchronous
        WebProcess::CreateWebPage message, and secondly in the synchronous response from
        WebPageProxy::createNewPage). Unfortunately these responses are inconsistent with each
        other. The creationParameters() for the page are calculated twice, and since the WKView
        will be added to a window between the async message being sent and the synchronous reply
        being returned the visibility state of the page can change.

        To fix the inconsistency we can set the creation parameters at the point that the
        WebPageProxy is instantiated. This will result in a functional change that is web
        visible, since the page will initially be opened in a hidden/blurred state, and may
        later become visible/focussed. This change is consistent with the direction we want to
        evolve in. Whilst we will still probably require a synchronous message from the
        WebProcess to the UIProcess on Window.open, we'll probably make this return much earlier
        – having just created the WebPageProxy, but avoiding blocking the WebProcess over the
        client delegate callback that opens the new window.

        This fix results in a layout test result change, due to the change in behavior (page is
        created blurred, and becomes focussed, resulting in a focus event being fired – rather
        than the window opening directly into a focussed state). This is reported as a
        progression (test is broken in WebKit1, fixed in WebKit2 after this change). In reality
        the test is actually slightly broken in DRT/test-runner – the test runs differently than
        in browser, since there is is no visible main window. In-browser this patch results in
        no change in behavior on dom/Window/mozilla-focus-blur.html (the affected test).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::initializeWebPage):
            - call initializeCreationParameters
        (WebKit::WebPageProxy::initializeCreationParameters):
            - calculate m_creationParameters
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::creationParameters):
            - Added m_creationParameters, initializeCreationParameters,
              creationParameters returns m_creationParameters

2013-10-31  Philippe Normand  <pnormand@igalia.com>

        [WK2][GTK] enable-media-stream Setting
        https://bugs.webkit.org/show_bug.cgi?id=123145

        Reviewed by Anders Carlsson.

        * Shared/WebPreferencesStore.h: New MediaStreamEnabled boolean preference.
        * UIProcess/API/C/WKPreferences.cpp: MediaStreamEnabled getter and
        setter functions.
        (WKPreferencesSetMediaStreamEnabled):
        (WKPreferencesGetMediaStreamEnabled):
        * UIProcess/API/C/WKPreferences.h:
        * UIProcess/API/gtk/WebKitSettings.cpp: Add a enable-media-stream
        property to the GTK WebKitSettings class. It will act as a facade
        to the MediaStreamEnabled preference.
        (webKitSettingsSetProperty):
        (webKitSettingsGetProperty):
        (webkit_settings_class_init):
        (webkit_settings_get_enable_media_stream):
        (webkit_settings_set_enable_media_stream):
        * UIProcess/API/gtk/WebKitSettings.h:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
        (testWebKitSettings): Test enable-media-stream websetting.
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
        Allow WKTR to override the MediaStreamEnabled preference.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Update MediaStreamEnabled
        along with the other settings.

2013-10-30  Brady Eidson  <beidson@apple.com>

        IDB Database versions are uint64_t, not int64_t
        https://bugs.webkit.org/show_bug.cgi?id=123556

        Reviewed by Alexey Proskuryakov.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::openConnection):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

2013-10-30  Dan Bernstein  <mitz@apple.com>

        Fixed a potential race condition around the initializtion of WKObject’s target.

        Reviewed by Mark Rowe.

        * Shared/Cocoa/WKObject.mm:
        (initializeTargetIfNeeded): Removed the early return if _target is non-nil. As Mark pointed
        out, when stores are reordered relative to other stores, it is possible for the early return
        to occur while the object _target is pointing to is not yet valid.

2013-10-30  Ryosuke Niwa  <rniwa@webkit.org>

        Remove code for Mac Lion
        https://bugs.webkit.org/show_bug.cgi?id=123542

        Reviewed by Anders Carlsson.


        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewWillMoveToWindow:]):
        * WebProcess/com.apple.WebProcess.sb.in:

2013-10-30  Dan Bernstein  <mitz@apple.com>

        Try to fix the !WK_API_ENABLED Mac build.

        * Shared/Cocoa/APIObject.mm:

2013-10-30  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Make all API objects have Cocoa wrappers, and delegate refcounting to those wrappers
        https://bugs.webkit.org/show_bug.cgi?id=123394

        Reviewed by Darin Adler.

        All wrappers conform to a new WKObject protocol and contain the wrapped object inline.
        APIObject-derived classes override operator new to call newObject, which allocates the
        wrapper and returns a pointer to the inline API object.

        There are three kinds of wrapper classes: (a) classes that inherit directly from NSObject
        and implement their API by calling the wrapped object (example: WKBackForwardList),
        (b) internal classes that inherit from a class cluster, and implement the primitive methods
        of the class cluster by calling the wrapped object (example: WKNSArray), and (c) internal
        classes that inerit from the new WKObject class, and proxy to an object of some public type,
        which is created from the wrapped object (example: WKNSURL).

        * Shared/APIObject.h:
        (WebKit::APIObject::wrapper): Added this getter.
        (WebKit::TypedAPIObject::operator new): Added override that calls newObject.
        * Shared/Cocoa/APIObject.mm: Added.
        (WebKit::APIObject::ref): Retains the wrapper.
        (WebKit::APIObject::deref): Releases the wrapper. When the wrapper is deallocated, it calls
        the API object destructor.
        (WebKit::APIObject::newObject): Allocates the wrapper and returns a pointer to the API
        object inside the wrapper.

        * Shared/Cocoa/WKNSArray.h:
        (WebKit::wrapper): Added. Returns an ImmutableArray’s wrapper as an NSArray.
        Replaced the RefPtr<ImmutableArray> ivar with space for an ImmutableArray to live inside
        the wrapper.
        (-[WKNSArray dealloc]): Calls the ImmutableArray destructor.
        (-[WKNSArray count]): Updated for ivar change.
        (-[WKNSArray objectAtIndex:]): Ditto.
        (-[WKNSArray _apiObject]): Returns the wrapped ImmutableArray.

        * Shared/Cocoa/WKNSObjectExtras.h: Removed.
        * Shared/Cocoa/WKNSObjectExtras.mm: Removed.

        * Shared/Cocoa/WKNSString.h: Added.
        * Shared/Cocoa/WKNSString.mm: Added.
        (-[WKNSString _web_createTarget]): Override this WKObject method to create an NSString from
        the WebString.
        (-[WKNSString copyWithZone:]): Retains self.

        * Shared/Cocoa/WKNSURL.h: Added.
        * Shared/Cocoa/WKNSURL.mm: Added.
        (-[WKNSURL _web_createTarget]): Override this WKObject method to create an NSURL from
        the WebURL.
        (-[WKNSURL copyWithZone:]): Retains self.

        * Shared/Cocoa/WKObject.h: Added.
        * Shared/Cocoa/WKObject.mm: Added.
        (-[WKObject dealloc]): Calls the destructor of the wrapped object and releases the target
        object.
        (initializeTargetIfNeeded): Helper function. Tries to create the target exactly once.
        (-[WKObject isEqual:]): NSObject override that creates and compares to the target
        object if necessary.
        (-[WKObject hash]): NSObject override that creates and hashes the target object if
        there is one.
        (-[WKObject isKindOfClass:]): NSObject override that delegates to the target object.
        (-[WKObject isMemberOfClass:]): Ditto.
        (-[WKObject respondsToSelector:]): NSObject override that creates the target object if
        necessary and returns whether it or self responds to the selector.
        (-[WKObject conformsToProtocol:]): Similarly for protocols.
        (-[WKObject forwardingTargetForSelector:]): NSObject override that creates the target object
        if necessary and returns it as the target.
        (-[WKObject description]): NSObject override that creates the target object if necessary and
        forwards to it.
        (-[WKObject _web_createTarget]): Added. The base implementation returns nil.
        (-[WKObject _apiObject]): Returns the wrapped object.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController backForwardList]): Changed to return the existing wrapper.
        (didChangeBackForwardList): Changed to use existing wrappers.

        Replaced the RefPtr<WebBackForwardList> ivar with space for a WebBackForwardList to live
        inside the wrapper.
        (-[WKBackForwardList dealloc]): Call the WebBackForwardList destructor.
        (toWKBackForwardListItem): Changed to us the existing wrapper.
        (-[WKBackForwardList currentItem]): Updated for ivar change.
        (-[WKBackForwardList backItem]): Ditto.
        (-[WKBackForwardList forwardItem]): Ditto.
        (-[WKBackForwardList itemAtIndex:]): Ditto.
        (-[WKBackForwardList backListCount]): Ditto.
        (-[WKBackForwardList forwardListCount]): Ditto,
        (-[WKBackForwardList backListWithLimit:]): Ditto, and also changed to use the
        ImmutableArray’s existing wrapper.
        (-[WKBackForwardList forwardListWithLimit:]): Ditto.
        (-[WKBackForwardList _apiObject]): Returns the WebBackForwardListItem.
        * UIProcess/Cocoa/WKBackForwardListInternal.h:
        (WebKit::wrapper): Added. Returns a WebBackForwardList’s wrapper as a WKBackForwardList.

        * UIProcess/Cocoa/WKBackForwardListItem.mm:
        Replaced the RefPtr<WebBackForwardListItem> ivar with space for a WebBackForwardListItem to
        live inside the wrapper.
        (-[WKBackForwardListItem dealloc]): Call the WebBackForwardListItem destructor.
        (-[WKBackForwardListItem URL]): Updated for ivar change, and changed to make an NSURL
        directly instead of going through a wrapper.
        (-[WKBackForwardListItem title]): Updated for ivar change, and changed to use
        String’s operator NSString*.
        (-[WKBackForwardListItem originalURL]): Updated for ivar change, and changed to make an
        NSURL directly instead of going through a wrapper.
        (-[WKBackForwardListItem _apiObject]): Returns the WebBackForwardListItem.
        (-[WKBackForwardListItem _item]): Ditto.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h:
        (WebKit::wrapper): Added. Returns a WebBackForwardListItem’s wrapper as a
        WKBackForwardListItem.

        * UIProcess/WebColorPickerResultListenerProxy.h: Changed into a TypedAPIObject.

        * UIProcess/WebFormSubmissionListenerProxy.h:
        (WebKit::WebFormSubmissionListenerProxy::operator new): Override to call newObject.

        * UIProcess/WebFramePolicyListenerProxy.h:
        (WebKit::WebFramePolicyListenerProxy::operator new): Ditto.

        * WebKit2.xcodeproj/project.pbxproj: Updated for file additions and removals.

2013-10-30  Anders Carlsson  <andersca@apple.com>

        Begin fleshing out an API test for WKRemoteObjectRegistry
        https://bugs.webkit.org/show_bug.cgi?id=123531

        Reviewed by Andreas Kling.

        * Shared/API/Cocoa/WKRemoteObjectInterface.h:
        Add WK_API_CLASS annotation.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.h:
        Add WK_API_CLASS annotation.

        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
        Add a WebConnection ivar.

        (-[WKRemoteObjectRegistry _initWithConnectionRef:]):
        Add SPI to create an WKRemoteObjectRegistry object with an existing WKConnectionRef.

        (-[WKRemoteObjectRegistry _handleMessageWithName:body:]):
        Add SPI that will be used to process incoming messages from an existing WKConnectionRef.

        * Shared/API/Cocoa/WKRemoteObjectRegistryPrivate.h: Added.
        Add SPI header.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new files.

2013-10-30  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Lots of ASSERT(m_children.isEmpty()); on Poster Circle
        https://bugs.webkit.org/show_bug.cgi?id=123517

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setSublayers):
        When setting our list of sublayers, remove all of the new layers from
        their parents first.

2013-10-30  Antti Koivisto  <antti@apple.com>

        Add debug settings for simple line layout
        https://bugs.webkit.org/show_bug.cgi?id=123514

        Reviewed by Andreas Kling.
        
        Expose debug settings.

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetSimpleLineLayoutEnabled):
        (WKPreferencesGetSimpleLineLayoutEnabled):
        (WKPreferencesSetSimpleLineLayoutDebugBordersEnabled):
        (WKPreferencesGetSimpleLineLayoutDebugBordersEnabled):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2013-10-30  Anders Carlsson  <andersca@apple.com>

        Add stubbed out WKRemoteObjectRegistry class
        https://bugs.webkit.org/show_bug.cgi?id=123512

        Reviewed by Andreas Kling.

        Also add a WKRemoteObjectInterface class that represents a remote object interface.

        * Shared/API/Cocoa/WKRemoteObjectInterface.h: Added.
        * Shared/API/Cocoa/WKRemoteObjectInterface.mm: Added.
        (-[WKRemoteObjectInterface initWithProtocol:identifier:]):
        (+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
        * Shared/API/Cocoa/WKRemoteObjectRegistry.h: Added.
        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm: Added.
        (-[WKRemoteObjectRegistry registerExportedObject:interface:]):
        (-[WKRemoteObjectRegistry unregisterExportedObject:interface:]):
        (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
        * WebKit2.xcodeproj/project.pbxproj:

2013-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] webkit_web_context_allow_tls_certificate_for_host doc is missing Since tag
        https://bugs.webkit.org/show_bug.cgi?id=123499

        Reviewed by Philippe Normand.

        * UIProcess/API/gtk/WebKitWebContext.cpp: Add Since: 2.4.

2013-10-29  Alexey Proskuryakov  <ap@apple.com>

        Result of focus-option-control-on-page.html depends on system preferences
        https://bugs.webkit.org/show_bug.cgi?id=123304

        Reviewed by Simon Fraser.

        * UIProcess/mac/WKFullKeyboardAccessWatcher.mm:
        (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
        Read the preference from its correct domain. This doesn't affect behavior in practice
        and isn't part of the fix, but it's a good opportunity to correct this code.

2013-10-29  Brady Eidson  <beidson@apple.com>

        Move IDBTransactionBackendLevelDB to generic IDBBackingStoreInterface
        https://bugs.webkit.org/show_bug.cgi?id=123483

        Reviewed by Andreas Kling.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::createCursorBackend): Stubbed out.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::factoryBackend): Stubbed out.
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

2013-10-29  Jer Noble  <jer.noble@apple.com>

        [MSE] [Mac] Enable MediaSource on the Mac
        https://bugs.webkit.org/show_bug.cgi?id=122484

        Reviewed by Darin Adler.

        Enable ENABLE_MEDIA_SOURCE.

        * Configurations/FeatureDefines.xcconfig:

2013-10-29  Tim Horton  <timothy_horton@apple.com>

        More correct build fix after 158223.

        Only fails in release because it's inline.
        Include the relevant header to get the function.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

2013-10-29  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Support tiled drawing and use it for the main frame
        https://bugs.webkit.org/show_bug.cgi?id=123422

        Reviewed by Simon Fraser.

        Add a PlatformCALayerRemote subclass that behaves similarly to
        WebTiledBackingLayer, forwarding relevant things (setNeedsDisplay, etc.)
        to the TileController which it owns.

        Teach the remote layer tree code enough to proxy these layers across,
        and paint them in a manner similar to WebSimpleLayer (just calling
        straight back to the TileController to paint).

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpChangedLayers):
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setEdgeAntialiasingMask):
        Add support for adjusting/encoding/decoding/dumping/applying edgeAntialiasingMask.

        (WebKit::RemoteLayerTreeTransaction::dump):
        Drive-by fix dumping of created layers to have one layer per line.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::createLayer):
        Create CALayers for Simple, TiledBacking, PageTiledBacking, and TiledBackingTile layers.

        * WebKit2.xcodeproj/project.pbxproj:
        Add PlatformCALayerRemoteTiledBacking.{h, cpp}.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::create):
        Create a PlatformCALayerRemoteTiledBacking for TiledBacking and PageTiledBacking layers.

        (PlatformCALayerRemote::removeAllSublayers):
        Fix removeAllSublayers to make a copy of the PlatformCALayerList before
        mutating it, to avoid crashes when iterating a mutated list.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Definalize PlatformCALayerRemote so we can have PlatformCALayerRemoteTiledBacking.
        Note that we will use a tiled backing layer in some cases.
        Make the constructor protected, not private, so our subclass can use it.

        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: Added.
        (PlatformCALayerRemoteTiledBacking::PlatformCALayerRemoteTiledBacking):
        (PlatformCALayerRemoteTiledBacking::~PlatformCALayerRemoteTiledBacking):
        (PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
        (PlatformCALayerRemoteTiledBacking::customSublayers):
        (PlatformCALayerRemoteTiledBacking::setBounds):
        (PlatformCALayerRemoteTiledBacking::isOpaque):
        (PlatformCALayerRemoteTiledBacking::setOpaque):
        (PlatformCALayerRemoteTiledBacking::acceleratesDrawing):
        (PlatformCALayerRemoteTiledBacking::setAcceleratesDrawing):
        (PlatformCALayerRemoteTiledBacking::setContentsScale):
        (PlatformCALayerRemoteTiledBacking::setBorderWidth):
        (PlatformCALayerRemoteTiledBacking::setBorderColor):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Added.
        Add a subclass of PlatformCALayerRemote which forwards operations
        to TileController, very similar to what WebTiledBackingLayer does.
        It also owns the TileController, and overrides customSublayers() and
        tiledBacking() to return the right thing.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::display):
        Teach RemoteLayerBackingStore about how to paint different kinds of layers.
        Simple layers and Tile layers will call paintContents directly,
        WebLayers will do what WebLayer does and use drawLayerContents.
        Other kinds of layers won't paint at all right now.
        I would like to centralize this behavior (and get rid of our CALayer
        subclasses entirely, moving all that behavior to be shared between Mac,
        Windows, and the remote layer tree), but that is a patch for another day.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView):
        Force accelerated compositing on always when using the remote layer tree.
        Use a TiledBacking for the main frame.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        Drive-by OVERRIDE.

2013-10-29  Brady Eidson  <beidson@apple.com>

        Get IDBTransactionBackendLevelDBOperations *almost* ready to go cross platform.
        https://bugs.webkit.org/show_bug.cgi?id=123451

        Reviewed by Andreas Kling.

        Stub out more pure virtual methods.

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::backingStore):
        (WebKit::WebProcessIDBDatabaseBackend::id):
        (WebKit::WebProcessIDBDatabaseBackend::addObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::removeObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::addIndex):
        (WebKit::WebProcessIDBDatabaseBackend::removeIndex):
        (WebKit::WebProcessIDBDatabaseBackend::metadata):
        (WebKit::WebProcessIDBDatabaseBackend::setCurrentVersion):
        (WebKit::WebProcessIDBDatabaseBackend::hasPendingSecondHalfOpen):
        (WebKit::WebProcessIDBDatabaseBackend::setPendingSecondHalfOpen):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

2013-10-29  Gavin Barraclough  <barraclough@apple.com>

        SessionState.h should not include WebBackForwardList.h
        https://bugs.webkit.org/show_bug.cgi?id=123454

        Reviewed by Geoff Garen.

        WebBackForwardList is a UIProcess type, SessionState is in shared code.
        Also, WebBackForwardListItemVector should be in WebBackForwardListItem.h, not WebBackForwardList.h
        (the vector type is used in the WebProcess, the item header is shared but the list type is in the UIProcess).

        * Shared/SessionState.cpp:
            - fixed includes
        * Shared/SessionState.h:
            - WebBackForwardList.h -> WebBackForwardListItem.h
        * Shared/WebBackForwardListItem.h:
            - Moved WebBackForwardListVector from WebBackForwardList.h
        * Shared/WebPageCreationParameters.h:
            - fixed includes
        * UIProcess/WebBackForwardList.h:
            - Moved WebBackForwardListVector to WebBackForwardListItem.h
        * WebProcess/WebPage/DrawingArea.cpp:
            - fixed includes
        * WebProcess/WebPage/WebPage.cpp:
            - fixed includes

2013-10-29  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed Mac debug build fix after r158183.
        Remove the duplicated << overloaded operator from RemoteLayerTreeTextStream for printing out
        a given FloatSize object. The RemoteLayerTreeTextStream inherits from TextStream, which already
        provides that overloaded operator. Format of the output is a bit different so hopefully nothing
        breaks further.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):

2013-10-28  Brady Eidson  <beidson@apple.com>

        Refactor IDB factory creation.
        https://bugs.webkit.org/show_bug.cgi?id=123347

        Reviewed by Andreas Kling.

        - Rework how database directory location is passed around.
        - Make (some) SecurityOrigin arguments be references instead of pointers.
        - Add two SecurityOrigin arguments to opening databases for future use.

        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
        (WebKit::uniqueDatabaseIdentifier):
        * Shared/Databases/IndexedDB/IDBUtilities.h:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
        (WebKit::WebIDBFactoryBackend::open):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
        (WebKit::WebIDBFactoryBackend::create):

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp:
        (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createIDBFactoryBackend):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:

2013-10-28  Tim Horton  <timothy_horton@apple.com>

        Make TileController create the appropriate PlatformCALayer subclasses
        https://bugs.webkit.org/show_bug.cgi?id=123418

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::createCompatibleLayer):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Add createCompatibleLayer and implement it in the subclasses.

2013-10-28  Benjamin Poulain  <benjamin@webkit.org>

        Rename applyPageScaleFactorInCompositor to delegatesPageScaling
        https://bugs.webkit.org/show_bug.cgi?id=123417

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setUseFixedLayout):

2013-10-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Parsing support for -webkit-text-decoration-skip: ink
        https://bugs.webkit.org/show_bug.cgi?id=123358

        Reviewed by Dean Jackson.

        Adding ENABLE(CSS3_TEXT_DECORATION)

        * Configurations/FeatureDefines.xcconfig:

2013-10-28  Tim Horton  <timothy_horton@apple.com>

        Make TileController manipulate PlatformCALayers instead of CALayers
        https://bugs.webkit.org/show_bug.cgi?id=123279

        Reviewed by Simon Fraser.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::dump):
        Support the new LayerTypes.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setEdgeAntialiasingMask):
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Add an empty implementation of setEdgeAntialiasingMask.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::display):
        Removed a parameter from drawLayerContents.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
        TiledCoreAnimationDrawingArea still operates in terms of CALayers, so
        grab the PlatformLayer out from TileController's indicator.

2013-10-28  Bastien Nocera <hadess@hadess.net>

        Name all the GLib timeout sources
        https://bugs.webkit.org/show_bug.cgi?id=123229

        Reviewed by Anders Carlsson.

        Give a name to GLib timeout sources, this is helpful when
        profiling WebKitGTK applications.

2013-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix make distcheck.

        * GNUmakefile.am: Add messages.in files in
        UIProcess/Network/CustomProtocols/ to EXTRA_DIST.
        * GNUmakefile.list.am: Remove
        WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp from
        compilation because it depends on code generated only when
        database process is enabled.

2013-10-28  Alberto Garcia  <berto@igalia.com>

        [WK2] [GTK] Allow running the web process with an arbitrary prefix command
        https://bugs.webkit.org/show_bug.cgi?id=123201

        Reviewed by Carlos Garcia Campos.

        Launch the web process using WEB_PROCESS_CMD_PREFIX as a
        prefix. Useful for debugging the web process with gdb, valgrind,
        etc.

        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/gtk/WebProcessProxyGtk.cpp:
        (WebKit::WebProcessProxy::platformGetLaunchOptions):

2013-10-27  Brady Eidson  <beidson@apple.com>

        WebIconDatabase can miss private browsing state changes.
        <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375

        Reviewed by Alexey Proskuryakov.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(true) on each context.
        (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(false) on each context.
        (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes about private browsing
          sessions, notify the context’s WebIconDatabase about the change in value.
        * UIProcess/WebContext.h:

        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::setDatabasePath): Prime the IconDatabase with an initial private browsing value.
        (WebKit::WebIconDatabase::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        * UIProcess/WebIconDatabase.h:

2013-10-26  Tim Horton  <timothy_horton@apple.com>

        [mac] Remove WebTiledLayer
        https://bugs.webkit.org/show_bug.cgi?id=123395

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Remove synchronouslyDisplayTilesInRect.

2013-10-26  Dan Bernstein  <mitz@apple.com>

        [Cocoa] -[WKBackForwardList forwardItem] returns the back item
        https://bugs.webkit.org/show_bug.cgi?id=123391

        Reviewed by Mark Rowe.

        * UIProcess/Cocoa/WKBackForwardList.mm:
        (-[WKBackForwardList forwardItem]): Changed back to forward.

2013-10-26  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r158075.
        http://trac.webkit.org/changeset/158075
        https://bugs.webkit.org/show_bug.cgi?id=123389

        Broke WebKit2.PrivateBrowsingPushStateNoHistoryCallback API
        test (Requested by ap on #webkit).

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::willStartUsingPrivateBrowsing):
        (WebKit::WebContext::willStopUsingPrivateBrowsing):
        * UIProcess/WebContext.h:
        * UIProcess/WebIconDatabase.cpp:
        * UIProcess/WebIconDatabase.h:

2013-10-26  Jae Hyun Park  <jae.park@company100.net>

        Remove Coordinated Graphics bits from DrawingAreaProxyImpl
        https://bugs.webkit.org/show_bug.cgi?id=123382

        Reviewed by Anders Carlsson.

        As of r156861, Coordinated Graphics does not use DrawingAreaProxyImpl.
        So, Coordinated Graphics bits should be removed from DrawingAreaProxyImpl.

        * UIProcess/DrawingAreaProxyImpl.h:

2013-10-26  Dan Bernstein  <mitz@apple.com>

        [Cocoa] clang static analyzer warns about object being autoreleased too many times in +[WKNSArray web_arrayWithImmutableArray:]
        https://bugs.webkit.org/show_bug.cgi?id=123384

        Reviewed by Mark Rowe.

        * Shared/Cocoa/WKNSArray.h: Annotated -web_initWithImmutableArray: as an init method.

2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the ENABLE(CSS_FILTERS) && USE(COORDINATED_GRAPHICS) build after r157803
        https://bugs.webkit.org/show_bug.cgi?id=123330

        Reviewed by Darin Adler.

        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:

2013-10-25  Brady Eidson  <beidson@apple.com>

        WebIconDatabase can miss private browsing state changes.
        <rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375

        Reviewed by Beth Dakin.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::willStartUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(true) on each context.
        (WebKit::WebContext::willStopUsingPrivateBrowsing): Call setPrivateBrowsingEnabled(false) on each context.
        (WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes, notify WebIconDatabase.
        * UIProcess/WebContext.h:

        * UIProcess/WebIconDatabase.cpp:
        (WebKit::WebIconDatabase::setPrivateBrowsingEnabled):
        * UIProcess/WebIconDatabase.h:

2013-10-25  Joseph Pecoraro  <pecoraro@apple.com>

        Upstream ENABLE(REMOTE_INSPECTOR) and enable on iOS and Mac
        https://bugs.webkit.org/show_bug.cgi?id=123111

        Reviewed by Timothy Hatcher.

        * Configurations/FeatureDefines.xcconfig:

2013-10-25  Gavin Barraclough  <barraclough@apple.com>

        Merge viewInWindowStateDidChange into viewStateDidChange
        https://bugs.webkit.org/show_bug.cgi?id=123351

        Reviewed by Tim Horton.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView endDeferringViewInWindowChanges]):
        (-[WKView endDeferringViewInWindowChangesSync]):
            - viewInWindowStateDidChange -> viewStateDidChange
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - removed viewInWindowStateDidChange, renamed parameter to viewStateDidChange
        * UIProcess/WebPageProxy.h:
            - removed viewInWindowStateDidChange, named parameter to viewStateDidChange

2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>

        One more URTBF for GTK after r158028.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseMap):
        (webkitWebViewBaseUnmap):

2013-10-25  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF for non-Mac platforms after r158028.

        * GNUmakefile.list.am:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (toplevelWindowFocusInEvent):
        (toplevelWindowFocusOutEvent):
        (toplevelWindowVisibilityEvent):
        (webkitWebViewBaseSetToplevelOnScreenWindow):
        (webkitWebViewBaseSetFocus):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::setActive):
        (WebKit::WebView::setFocused):
        (WebKit::WebView::setVisible):

2013-10-25  Gavin Barraclough  <barraclough@apple.com>

        Move ViewStateFlags out of WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=123323

        Reviewed by Sam Weinig.

        WebPageProxy contains an enum and typedef that provide a bitfield
        of flags describing the visibility of the view containing the page.
        We're going to want to use this bitfield in a message to the
        WebProcess, so moving out from the UIProcess to shared code.
        Creating struct 'ViewState' to scope the enum and typedef.
        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
        'View' from enum entries.

        * Shared/ViewState.h: Added.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView becomeFirstResponder]):
        (-[WKView resignFirstResponder]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidBecomeKey:]):
        (-[WKView _windowDidResignKey:]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
        (-[WKView _windowDidChangeOcclusionState:]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2013-10-25  Gavin Barraclough  <barraclough@apple.com>

        Move ViewStateFlags out of WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=123323

        Unreviewed

        Rolling out 158026 - landed extra chnages!

        * Shared/ViewState.h: Removed.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView becomeFirstResponder]):
        (-[WKView resignFirstResponder]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidBecomeKey:]):
        (-[WKView _windowDidResignKey:]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
        (-[WKView _windowDidChangeOcclusionState:]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        (-[WKView endDeferringViewInWindowChanges]):
        (-[WKView endDeferringViewInWindowChangesSync]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewInWindowStateDidChange):
        (WebKit::WebPageProxy::viewStateDidChange):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Move ViewStateFlags out of WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=123323

        Reviewed by Sam Weinig.

        WebPageProxy contains an enum and typedef that provide a bitfield
        of flags describing the visibility of the view containing the page.
        We're going to want to use this bitfield in a message to the
        WebProcess, so moving out from the UIProcess to shared code.
        Creating struct 'ViewState' to scope the enum and typedef.
        Renamed ViewStateFlags to ViewState::Flags, and removed redundant
        'View' from enum entries.

        * Shared/ViewState.h: Added.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView becomeFirstResponder]):
        (-[WKView resignFirstResponder]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidBecomeKey:]):
        (-[WKView _windowDidResignKey:]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
        (-[WKView _windowDidChangeOcclusionState:]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
        * UIProcess/WebPageProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:

2013-10-25  Sergio Villar Senin  <svillar@igalia.com>

        [GTK][WK2] Build break after r157967 and r157972
        https://bugs.webkit.org/show_bug.cgi?id=123325

        Reviewed by Carlos Garcia Campos.

        DrawingArea::visibilityDidChange was removed in favour of a new
        message called SetIsVisible which is sent to the WebPage. This
        means that {suspend|resume}Paiting are now implemented in a
        cross-platform way in WebPage and do not require specific code
        from the DrawingArea implementations.

        This means that we have to track the toplevel window visibility
        and notify the WebPage appropriately about its changes.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::isWindowVisible):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (toplevelWindowVisibilityEvent):
        (webkitWebViewBaseSetToplevelOnScreenWindow):
        (webkitWebViewBaseIsWindowVisible):
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/DrawingAreaProxyImpl.cpp:
        * UIProcess/DrawingAreaProxyImpl.h:
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::suspendPainting):
        (WebKit::DrawingAreaImpl::resumePainting):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::windowAndWebPageAreFocused):

2013-10-25  Anton Obzhirov  <a.obzhirov@samsung.com>

        [GTK] [WebKit2] CanHandleRequest API test fails
        https://bugs.webkit.org/show_bug.cgi?id=88453

        Reviewed by Martin Robinson.

        Make WebPage::platformCanHandleRequest return false by default 
        for unknown schemes.

        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::platformCanHandleRequest):

2013-10-25  Ryuan Choi  <ryuan.choi@samsung.com>

        [EFL][WK2] Build break after r157967 and r157972
        https://bugs.webkit.org/show_bug.cgi?id=123324

        Reviewed by Tim Horton.

        Since r157967 and r157972, visibilityDidChange was removed from DrawingAreaProxy.

        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::visibilityDidChange):
        Removed common logic which r157967 moved to WebProcess.
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:
        Make visibilityDidChange to public method.
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::setVisible):
        (WebKit::WebView::isWindowVisible): Added.
        * UIProcess/CoordinatedGraphics/WebView.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::setWindowIsVisible):
        * WebProcess/WebPage/WebPage.h:
        Moved m_windowIsVisible to use at all WK2 based port.
        (WebKit::WebPage::windowIsVisible):
        * WebProcess/WebPage/WebPage.messages.in:
        Moved SetWindowIsVisible message to use at all WK2 based port.

2013-10-24  Mark Rowe  <mrowe@apple.com>

        Remove references to OS X 10.7 from Xcode configuration settings.

        Now that we're not building for OS X 10.7 they're no longer needed.

        Reviewed by Anders Carlsson.

        * Configurations/Base.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebContentProcess.xcconfig:

2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Coalesce calls to viewStateDidChange
        https://bugs.webkit.org/show_bug.cgi?id=123307

        Reviewed by Tim Horton.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
            - coalesce calls to viewStateDidChange
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - handle changes to view visibility & active state in correct order.

2013-10-24  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/15312643> Prepare for the mysterious future.

        Reviewed by David Kilzer.

        * Configurations/Base.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebContentProcess.xcconfig:

2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Fold updateWindowIsVisible into viewStateDidChange
        https://bugs.webkit.org/show_bug.cgi?id=123305

        Reviewed by Simon Fraser.

        * UIProcess/API/mac/PageClientImpl.h:
        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isWindowVisible):
            - Added accessor to check if window is visible
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
        (-[WKView _windowDidMiniaturize:]):
        (-[WKView _windowDidDeminiaturize:]):
        (-[WKView _windowDidOrderOffScreen:]):
        (-[WKView _windowDidOrderOnScreen:]):
            - _updateWindowVisibility -> viewStateDidChange
        * UIProcess/PageClient.h:
            - Added accessor to check if winow is visible
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - handle WindowIsVisible
        * UIProcess/WebPageProxy.h:
            - added WindowIsVisible
        * UIProcess/mac/WebPageProxyMac.mm:
            - removed updateWindowIsVisible

2013-10-24  Anders Carlsson  <andersca@apple.com>

        Stop bringing in the std namespace
        https://bugs.webkit.org/show_bug.cgi?id=123273

        Reviewed by Andreas Kling.

        * WebProcess/mac/WebProcessMac.mm:
        (WebKit::WebProcess::platformSetCacheModel):

2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        Simplify window occlusion detection code
        https://bugs.webkit.org/show_bug.cgi?id=123300

        Reviewed by Tim Horton.

        Currently the WKView tries to maintain a copy of the window's occluded state,
        but forced to NO when occlusion detection is disabled (and capable of handling
        dectection being dynamically toggled). Simpler to just rely on the actual value
        from the window, && the enabled setting. Cleaning this up revealed that we're
        not sending a viewStateDidChange to the WebPageProxy when the occlusion state
        changes, which we probably should be.

        * UIProcess/API/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewVisible):
            - check the real value of occlusion state from the window.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
            - don't update cached value.
        (-[WKView _windowDidChangeOcclusionState:]):
            - don't update cached value, but do send viewStateDidChange to the WebPageProxy.
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
            - removed _isWindowOccluded.
        (-[WKView windowOcclusionDetectionEnabled]):
        (-[WKView setWindowOcclusionDetectionEnabled:]):
            - Just toggle the flag - no cached state to update any more.
        * UIProcess/API/mac/WKViewInternal.h:
            - removed _isWindowOccluded.

2013-10-24  Gavin Barraclough  <barraclough@apple.com>

        SetIsVisible message should be sent to WebPage
        https://bugs.webkit.org/show_bug.cgi?id=123296

        Reviewed by Tim Horton.

        * UIProcess/DrawingAreaProxy.h:
            - remove visibilityDidChange - WebPageProxy now mesages WebPage.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewStateDidChange):
            - Send view visibility updates to the WebPage, not the drawing area.
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
            - remove visibilityDidChange - WebPageProxy now mesages WebPage.
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::suspendPainting):
        (WebKit::DrawingArea::resumePainting):
        * WebProcess/WebPage/DrawingArea.messages.in:
            - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
              make them private to the WebProcess but accessible from WebPage.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setViewIsVisible):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
            - Added SetViewIsVisible message.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
            - Instead of suspendPainting/resumePainting being private in the WebProcess but avaialble to the UIProcess,
              make them private to the WebProcess but accessible from WebPage.
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
            - Moved animation suspend code out to WebPage.

2013-10-24  Dan Bernstein  <mitz@apple.com>

        Tried to fix the Mountain Lion build.

        * Shared/API/Cocoa/WKFoundation.h:

2013-10-24  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add -[WKBrowsingContextController goToBackForwardItem:]
        https://bugs.webkit.org/show_bug.cgi?id=123289

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKFoundation.h: Defined WK_API_CLASS.
        * UIProcess/API/mac/WKBrowsingContextController.h: Declared -goToBackForwardListItem:.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController goToBackForwardListItem:]): Added.
        * UIProcess/Cocoa/WKBackForwardList.h: Deployed WK_API_CLASS to make the class exported.
        * UIProcess/Cocoa/WKBackForwardListItem.h: Ditto.
        * UIProcess/Cocoa/WKBackForwardListItem.mm:
        (-[WKBackForwardListItem _item]): Added. Returns the underlying WebBackForwardListItem.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Declared _item.

2013-10-23  ChangSeok Oh  <changseok.oh@collabora.com>

        Unreviewed build fix since r157823.
        FilterOperation::getOperationType() is renamed FilterOperation::type().

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (CoreIPC::::encode):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):

2013-10-23  Tibor Meszaros  <tmeszaros@inf.u-szeged.hu>

        Web Inspector: Make WebKitEFL port work with chromedevtools
        https://bugs.webkit.org/show_bug.cgi?id=123017

        Reviewed by Gustavo Noronha Silva.

        Added /json path and extended the returned JSON format
        with the required extra informations

        * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
        (WebKit::WebInspectorServer::platformResourceForPath):
        (WebKit::WebInspectorServer::buildPageList):

2013-10-23  Anders Carlsson  <andersca@apple.com>

        Remove HAVE_XPC
        https://bugs.webkit.org/show_bug.cgi?id=123226

        Reviewed by Dan Bernstein.

        HAVE_XPC has been true on Mac since Lion, so remove it.

        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
        (DatabaseServiceInitializer):
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
        (NetworkServiceInitializer):
        * Platform/CoreIPC/Connection.h:
        (CoreIPC::Connection::Identifier::Identifier):
        * Platform/CoreIPC/mac/ConnectionMac.cpp:
        (CoreIPC::Connection::platformInvalidate):
        (CoreIPC::Connection::platformInitialize):
        * Platform/WorkQueue.h:
        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
        (PluginServiceInitializer):
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::setUpTerminationNotificationHandler):
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::shouldUseXPC):
        (WebKit::WebProcessProxy::platformGetLaunchOptions):
        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
        (WebContentServiceInitializer):

2013-10-23  Tim Horton  <timothy_horton@apple.com>

        Remove the ifdef to exclude remote layer tree transaction logging
        on Lion and before.

        Rubber-stamped by Anders Carlsson.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):

2013-10-23  Brady Eidson  <beidson@apple.com>

        Make IDBDatabaseBackendLevelDB.cpp be cross platform
        https://bugs.webkit.org/show_bug.cgi?id=123027

        Attentively reviewed by Dean Jackson.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-10-23  Dan Bernstein  <mitz@apple.com>

        Fixed a typo.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (didChangeBackForwardList):
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:

2013-10-23  Anton Obzhirov  <a.obzhirov@samsung.com>

        [GTK] Enable respect image orientation by default
        https://bugs.webkit.org/show_bug.cgi?id=122120

        Reviewed by Gustavo Noronha Silva.

        Add enable respect image orientation by default in GTK port.

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webKitSettingsConstructed):

2013-10-23  Brian Holt  <brian.holt@samsung.com>

        [GTK] Add WebKit2 API for TLS errors
        https://bugs.webkit.org/show_bug.cgi?id=120160

        Reviewed by Mario Sanchez Prada.

        Revert back to using PlatformCertificateInfo following the rollout
        of https://bugs.webkit.org/show_bug.cgi?id=118520.

        * Shared/soup/PlatformCertificateInfo.cpp:
        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
        * Shared/soup/PlatformCertificateInfo.h:
        * UIProcess/API/gtk/WebKitCertificateInfo.cpp:
        (webkitCertificateInfoGetCertificateInfo):
        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h:

2013-10-23  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Implement superlayer, removeFromSuperlayer, replaceSublayer, and adoptSublayers
        https://bugs.webkit.org/show_bug.cgi?id=123130

        Reviewed by Anders Carlsson.

        Implement the remaining layer-hierarchy-manipulation methods.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        (PlatformCALayerRemote::~PlatformCALayerRemote):
        Null out the superlayer back-pointer on our sublayers.

        (PlatformCALayerRemote::recursiveBuildTransaction):
        Ensure that our children all have us as their superlayer.

        (PlatformCALayerRemote::superlayer):
        Return the stored superlayer pointer.

        (PlatformCALayerRemote::removeFromSuperlayer):
        Call removeSublayer on our superlayer, if we have one.

        (PlatformCALayerRemote::removeSublayer):
        Remove the given layer if it's in our list of sublayers, clear its
        reference to us, and note that we'll need to commit hierarchy changes.

        (PlatformCALayerRemote::setSublayers):
        removeAllSublayers() before setting the new list, to clear superlayer
        back-pointers. Children will be protected by the PlatformCALayerList.
        Update the new layers' superlayers.

        (PlatformCALayerRemote::removeAllSublayers):
        Remove each sublayer from its superlayer, then clear our list of children.

        (PlatformCALayerRemote::appendSublayer):
        (PlatformCALayerRemote::insertSublayer):
        Protect the layer from deletion, so that we can remove it from its prior
        superlayer before appending or inserting it.

        (PlatformCALayerRemote::replaceSublayer):
        Find the reference sublayer, if it exists, and replace it with the new one.

        (PlatformCALayerRemote::adoptSublayers):
        adoptSublayers is really just "set sublayers to this other layer's sublayers".
        Since setSublayers already removes layers from the existing superlayer,
        we can just go ahead and call it.

        (PlatformCALayerRemote::addAnimationForKey):
        (PlatformCALayerRemote::removeAnimationForKey):
        (PlatformCALayerRemote::animationForKey):
        Add some ASSERT_NOT_REACHEDs in animation code.
        We ought not get here because we've disabled hardware animations
        in GraphicsLayerCARemote.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Add m_superlayer and removeSublayer().

2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on Soup based port after r157842.

        WebCore::CertificateInfo was reverted to WebKit::PlatformCertificateInfo.

        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):

2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on EFL port after r157842.

        * Shared/soup/PlatformCertificateInfo.h: Removed message of merge confliction.

2013-10-22  Mark Rowe  <mrowe@apple.com>

        Fix build failures after r157842.

        * WebProcess/WebProcess.h: Don't try to #include a file that was deleted.
        It won't work.

2013-10-22  Brady Eidson  <beidson@apple.com>

        Get rid of IDBObjectStoreBackendLevelDB
        https://bugs.webkit.org/show_bug.cgi?id=123174

        Reviewed by Tim Horton.

        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:

2013-10-22  Dean Jackson  <dino@apple.com>

        [WebGL] Implement a software rendering option on Mac
        https://bugs.webkit.org/show_bug.cgi?id=123177

        Reviewed by Tim Horton.

        Implement a way to force software OpenGL rendering
        for WebGL, via a Setting/Preference.

        * Shared/WebPreferencesStore.h: New ForceSoftwareWebGLRendering entry.
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetForceSoftwareWebGLRendering):
        (WKPreferencesGetForceSoftwareWebGLRendering):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):
        * mac/WebKit2.order:

2013-10-22  Anders Carlsson  <andersca@apple.com>

        Revert r157445 since it broke certificates on Mac.
        <rdar://problem/15246926&15254017&15269117>

        * GNUmakefile.list.am:
        * NetworkProcess/AsynchronousNetworkLoaderClient.cpp:
        (WebKit::AsynchronousNetworkLoaderClient::didReceiveResponse):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/API/c/mac/WKCertificateInfoMac.mm:
        (WKCertificateInfoCreateWithCertficateChain):
        (WKCertificateInfoGetCertificateChain):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
        (WebKit::AuthenticationManager::useCredentialForChallenge):
        * Shared/Authentication/AuthenticationManager.h:
        * Shared/Authentication/AuthenticationManager.messages.in:
        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
        (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
        * Shared/UserMessageCoders.h:
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):
        * Shared/WebCertificateInfo.h:
        (WebKit::WebCertificateInfo::create):
        (WebKit::WebCertificateInfo::platformCertificateInfo):
        (WebKit::WebCertificateInfo::WebCertificateInfo):
        * Shared/WebCoreArgumentCoders.cpp:
        * Shared/WebCoreArgumentCoders.h:
        * Shared/mac/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/soup/CertificateInfoSoup.cpp.
        (WebKit::PlatformCertificateInfo::certificateChain):
        * Shared/mac/PlatformCertificateInfo.mm: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm.
        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
        (WebKit::PlatformCertificateInfo::encode):
        (WebKit::PlatformCertificateInfo::decode):
        (WebKit::PlatformCertificateInfo::dump):
        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):
        * Shared/soup/PlatformCertificateInfo.cpp: Added.
        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
        (WebKit::PlatformCertificateInfo::~PlatformCertificateInfo):
        (WebKit::PlatformCertificateInfo::encode):
        (WebKit::PlatformCertificateInfo::decode):
        * Shared/soup/PlatformCertificateInfo.h: Renamed from Source/WebCore/platform/network/CertificateInfo.h.
        (WebKit::PlatformCertificateInfo::certificate):
        (WebKit::PlatformCertificateInfo::tlsErrors):
        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
        (CoreIPC::::encodePlatformData):
        (CoreIPC::::decodePlatformData):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_get_tls_info):
        * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
        (WebKit::AuthenticationChallengeProxy::useCredential):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost):
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad):
        * UIProcess/WebFrameProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

2013-10-22  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Disable threaded scrolling for RemoteLayerTreeDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=123187

        Reviewed by Dean Jackson.

        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::supportsThreadedScrolling):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        Threaded scrolling doesn't work with remote layer trees yet.
        Let the DrawingArea subclass tell WebPage if it supports threaded
        scrolling, and make TiledCoreAnimationDrawingArea say that it does.

2013-10-22  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix on EFL port after r157823

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (CoreIPC::::encode): renamed getOperationType() to type().

2013-10-22  Tim Horton  <timothy_horton@apple.com>

        {ClipPathOperation, FilterOperation}::getOperationType() should not include 'get'
        https://bugs.webkit.org/show_bug.cgi?id=123172

        Reviewed by Simon Fraser.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::encodeFilterOperation):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):
        Adopt the new name.

2013-10-22  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r157803 for !ENABLE(CSS_FILTERS) platforms.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
        * Shared/WebCoreArgumentCoders.cpp:

2013-10-22  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Support hardware accelerated filters
        https://bugs.webkit.org/show_bug.cgi?id=123139

        Reviewed by Anders Carlsson.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::ArgumentCoder<Length>::encode):
        (CoreIPC::ArgumentCoder<Length>::decode):
        Add simple coders for Length.

        (CoreIPC::encodeFilterOperation):
        (CoreIPC::decodeFilterOperation):
        Serialize and deserialize FilterOperations, except for CUSTOM and VALIDATED_CUSTOM.

        (CoreIPC::ArgumentCoder<Length>::encode):
        (CoreIPC::ArgumentCoder<Length>::decode):
        Add coders for FilterOperations that delegate to {en,de}codeFilterOperation
        for each operation in the list.

        * Shared/WebCoreArgumentCoders.h:
        Drive-by fix indentation.
        Expose the Length and FilterOperations coders.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        Add FiltersChanged and LayerProperties::filters.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        Encode and decode our FilterOperations.

        (WebKit::dumpChangedLayers):
        Dump information about the layers' filters.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        Use PlatformCAFilters code to apply a FilterOperations object to our CALayer.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setFilters):
        Replace existing filters with our new set, and note that they've changed.

        (PlatformCALayerRemote::copyFiltersFrom):
        Not yet implemented. Not critical for this feature, either.

        (PlatformCALayerRemote::filtersCanBeComposited):
        For now, this is the same as the Mac version.

2013-10-22  Brian Holt  <brian.holt@samsung.com>

        [GTK] Add WebKit2 API for TLS errors
        https://bugs.webkit.org/show_bug.cgi?id=120160

        Reviewed by Carlos Garcia Campos.

        Add a new signal load-failed-with-tls-errors that is emitted with
        a WebKitCertificateInfo boxed type to allow users to deal with TLS
        errors. A new API is exposed in WebKitWebContext to allow
        exceptions for TLS errors on a given host.

        * GNUmakefile.list.am:
        * PlatformGTK.cmake:
        * UIProcess/API/gtk/WebKitCertificateInfo.cpp: Added.
        (webkitCertificateInfoGetCertificateInfo):
        (webkit_certificate_info_copy):
        (webkit_certificate_info_free):
        (webkit_certificate_info_get_tls_certificate):
        (webkit_certificate_info_get_tls_errors):
        * UIProcess/API/gtk/WebKitCertificateInfo.h: Added.
        * UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: Added.
        (_WebKitCertificateInfo::_WebKitCertificateInfo):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_allow_tls_certificate_for_host): Support TLS
        exceptions for a given host.
        * UIProcess/API/gtk/WebKitWebContext.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_class_init): Added new signal.
        (webkitWebViewLoadFailedWithTLSErrors): Emit new signal with
        WebKitCertificateInfo and host.
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
        * UIProcess/API/gtk/docs/webkit2gtk.types:
        * UIProcess/API/gtk/tests/TestSSL.cpp:
        (testLoadFailedWithTLSErrors):
        (httpsServerCallback):
        (beforeAll): Added new test.
        * UIProcess/API/gtk/webkit2.h:
        * UIProcess/API/gtk/webkit2marshal.list:
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::allowSpecificHTTPSCertificateForHost): Send
        message to WebProcess to allow a certificate and host pair.
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in: New message to tell
        WebProcess to allow a specific TLS certificate for a given host.
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Allow
        certificate and host pair.

2013-10-22  Dan Bernstein  <mitz@apple.com>

        Try to make the 32-bit Mac build happy.

        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:

2013-10-21  Dan Bernstein  <mitz@apple.com>

        Try to make the 32-bit Mac build happy.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (setUpPageLoaderClient):

2013-10-21  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Add load delegate method for didChangeBackForwardList
        https://bugs.webkit.org/show_bug.cgi?id=123136

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (didChangeBackForwardList): Added. Calls new delegate method.
        (setUpPageLoaderClient):  Hook up new client function.
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declare new delegate method.

2013-10-21  Mark Rowe  <mrowe@apple.com>

        Add a version of WebKitSystemInterface for Mavericks.

        Reviewed by Ryosuke Niwa.

        * Configurations/DebugRelease.xcconfig:

2013-10-21  Dan Bernstein  <mitz@apple.com>

        Try to fix the Mac 32-bit build.

        * UIProcess/API/mac/WKBrowsingContextController.h:
        * UIProcess/API/mac/WKBrowsingContextController.mm:

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Give up on building RemoteLayerTreeTransaction::dump on Lion, it just won't work.

        This definitely ought to fix the build.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Maybe a Lion build fix after r157731, part 2.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):

2013-10-21  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Back/forward list UI process API
        https://bugs.webkit.org/show_bug.cgi?id=123109

        Reviewed by Darin Adler.

        * CMakeLists.txt: Updated for renames.
        * GNUmakefile.list.am: Ditto.

        * Shared/Cocoa: Added.
        * Shared/Cocoa/WKNSArray.h: Added. WKNSArray is an internal NSArray subclass backed by
        a WebKit::ImmutableArray.
        * Shared/Cocoa/WKNSArray.mm: Added.
        (+[WKNSArray web_arrayWithImmutableArray:]): Added.
        (-[WKNSArray web_initWithImmutableArray:]): Added.
        (-[WKNSArray count]): Added.
        (-[WKNSArray objectAtIndex:]): Added.
        (-[WKNSArray copyWithZone:]): Added.

        * Shared/Cocoa/WKNSObjectExtras.h: Added. Declares a category on NSObject that allows us to
        vend WebKit API objects as Objective-C objects.
        * Shared/Cocoa/WKNSObjectExtras.mm: Added.
        (-[WKObject initWithAPIObject:]): WKObject is the generic Cocoa wrapper for API objects.
        (-[WKObject isEqual:]): Check for equality of the underlying object.
        (-[WKObject hash]): Return a pointer to the underlying object.
        (-[WKObject description]): Added.
        (+[NSObject _web_objectWithAPIObject:]): Added. Returns an appropriate Objective-C object
        for the given API object. Currently returns a WKBackForwardListItem for a back/forward list
        item and a generic WKObject for all other types.

        * UIProcess/API/C/WKBackForwardList.cpp: Renamed.
        * UIProcess/API/C/WKBackForwardList.h: Renamed.
        * UIProcess/API/C/WKBackForwardListItem.cpp: Renamed.
        * UIProcess/API/C/WKBackForwardListItem.h: Renamed.
        * UIProcess/API/C/WKBackForwardListItemRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp.
        * UIProcess/API/C/WKBackForwardListItemRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h.
        * UIProcess/API/C/WKBackForwardListRef.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.cpp.
        * UIProcess/API/C/WKBackForwardListRef.h: Copied from Source/WebKit2/UIProcess/API/C/WKBackForwardList.h.

        * UIProcess/API/C/WebKit2_C.h: Updated for header renames.

        * UIProcess/API/efl/ewk_back_forward_list.cpp: Updated for rename.
        * UIProcess/API/efl/ewk_back_forward_list_item.cpp: Ditto.

        * UIProcess/API/mac/WKBrowsingContextController.h: Declared backForwardList property.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController backForwardList]): Added this accessor.

        * UIProcess/Cocoa: Added.
        * UIProcess/Cocoa/WKBackForwardList.h: Added.
        * UIProcess/Cocoa/WKBackForwardList.mm: Added.
        (toWKBackForwardListItem): Added this helper.
        (-[WKBackForwardList currentItem]): Added.
        (-[WKBackForwardList backItem]): Added.
        (-[WKBackForwardList forwardItem]): Added.
        (-[WKBackForwardList itemAtIndex:]): Added.
        (-[WKBackForwardList backListCount]): Added.
        (-[WKBackForwardList forwardListCount]): Added.
        (-[WKBackForwardList backListWithLimit:]): Added.
        (-[WKBackForwardList forwardListWithLimit:]): Added.
        (-[WKBackForwardList _initWithList:]): Added.
        * UIProcess/Cocoa/WKBackForwardListInternal.h: Added.

        * UIProcess/Cocoa/WKBackForwardListItem.h: Added.
        * UIProcess/Cocoa/WKBackForwardListItem.mm: Added.
        (-[WKBackForwardListItem URL]): Added.
        (-[WKBackForwardListItem title]): Added.
        (-[WKBackForwardListItem originalURL]): Added.
        (-[WKBackForwardListItem isEqual:]): Check for equality of the underlying object.
        (-[WKBackForwardListItem hash]): Return a pointer to the underlying object
        (-[WKBackForwardListItem _initWithItem:]): Added.
        * UIProcess/Cocoa/WKBackForwardListItemInternal.h: Added.

        * WebKit2.xcodeproj/project.pbxproj: Updated for renames and additions.

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Maybe a Lion build fix after r157731.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<):

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Clean up transaction logging
        https://bugs.webkit.org/show_bug.cgi?id=123116

        Reviewed by Anders Carlsson.

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream):
        (WebKit::RemoteLayerTreeTextStream::increaseIndent):
        (WebKit::RemoteLayerTreeTextStream::decreaseIndent):
        (WebKit::RemoteLayerTreeTextStream::writeIndent):
        (WebKit::RemoteLayerTreeTextStream::operator<<):
        Add some stream operator overrides for various types we need to dump.
        Add a notion of current indent to our TextStream subclass to make it
        easy to keep track of where we are.

        (WebKit::dumpProperty):
        Added, hand any arbitrary type to RemoteLayerTreeTransaction.

        (WebKit::dumpChangedLayers):
        (WebKit::RemoteLayerTreeTransaction::dump):
        Make use of TextStream.

2013-10-21  Brady Eidson  <beidson@apple.com>

        Transition most use of IDBBackingStoreLevelDB to IDBBackingStoreInterface
        https://bugs.webkit.org/show_bug.cgi?id=123105

        Reviewed by Anders Carlsson.

        Stub out a new pure virtual method:
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::createTransactionBackend):
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-10-21  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Backing store should take contentsScale into account
        https://bugs.webkit.org/show_bug.cgi?id=123106

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::ensureBackingStore):
        (PlatformCALayerRemote::setNeedsDisplay):
        (PlatformCALayerRemote::setContentsScale):
        Inform the backing store of the contentsScale, and when it changes.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::scale): Added.
        (WebKit::RemoteLayerBackingStore::mapToContentCoordinates): Added.
        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        (RemoteLayerBackingStore::mapToContentCoordinates):
        Factor out flipping so we can use it for repaints in multiple places.

        (RemoteLayerBackingStore::setNeedsDisplay):
        (RemoteLayerBackingStore::display):
        Create a buffer scaled up by contentsScale, take the scale into account
        when copying clean bits from the front buffer, and apply the scale before
        painting into the back buffer.

2013-10-21  Gergo Balogh  <geryxyz@inf.u-szeged.hu>

        Remove qt from generate-forwarding-headers.pl
        https://bugs.webkit.org/show_bug.cgi?id=123090

        Reviewed by Andreas Kling.

        * Scripts/generate-forwarding-headers.pl:

2013-10-21  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] g-ir-scanner should use the configured C compiler
        https://bugs.webkit.org/show_bug.cgi?id=123088

        Reviewed by Carlos Garcia Campos.

        * GNUmakefile.am: Pass the C compiler that was detected at configuration to the g-ir-scanner command
        via the CC environment variable. This solves the issue of the scanner running the GCC compiler with
        the Clang-specific CFLAGS.

2013-10-20  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Loading progress API
        https://bugs.webkit.org/show_bug.cgi?id=123069

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.h: Declared estimatedProgress property.
        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController estimatedProgress]): Added.
        (didStartProgress): Added. Calls new delegate method
        -browsingContextControllerDidStartProgress:.
        (didChangeProgress): Added. Calls new delegate method
        -browsingContextController:estimatedProgressChangedTo:.
        (didFinishProgress): Added. Calls new delegate method
        -browsingContextControllerDidFinishProgress:.
        (setUpPageLoaderClient): Hook up new client functions.
        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Declared new delegate methods.

2013-10-20  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>

        Removing "unused parameter" compiling warnings from WebKit2 and WebCore
        https://bugs.webkit.org/show_bug.cgi?id=123075

        Reviewed by Andreas Kling.

        * NetworkProcess/NetworkProcessPlatformStrategies.cpp:
        (WebKit::NetworkProcessPlatformStrategies::loadResourceSynchronously):
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetPluginSiteDataManager):
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetInspectorUsesWebKitUserInterface):
        (WKPreferencesGetInspectorUsesWebKitUserInterface):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getPlugins):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageSetFullScreenClient):
        (WKBundlePageWillEnterFullScreen):
        (WKBundlePageDidEnterFullScreen):
        (WKBundlePageWillExitFullScreen):
        (WKBundlePageDidExitFullScreen):
        * WebProcess/MediaCache/WebMediaCacheManager.cpp:
        (WebKit::WebMediaCacheManager::clearCacheForHostname):
        * WebProcess/OriginData/WebOriginDataManager.cpp:
        (WebKit::WebOriginDataManager::getOrigins):
        (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
        (WebKit::WebOriginDataManager::deleteAllEntries):
        (WebKit::WebOriginDataManager::startObservingChanges):
        (WebKit::WebOriginDataManager::stopObservingChanges):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createPlugin):
        (WebKit::WebFrameLoaderClient::recreatePlugin):
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::canPluginHandleResponse):

2013-10-19  Jer Noble  <jer.noble@apple.com>

        Unreviewed roll out of r157695; broke Mac builds.

        * Configurations/FeatureDefines.xcconfig:

2013-10-07  Jer Noble  <jer.noble@apple.com>

        [MSE] [Mac] Enable MediaSource on the Mac
        https://bugs.webkit.org/show_bug.cgi?id=122484

        Reviewed by Darin Adler.

        Enable ENABLE_MEDIA_SOURCE.

        * Configurations/FeatureDefines.xcconfig:

2013-10-19  Dan Bernstein  <mitz@apple.com>

        Fix the Mac 32-bit build by reverting r157676, r157678, and r157679.

2013-10-19  Dan Bernstein  <mitz@apple.com>

        Try to fix the Mac 32-bit build.

        * UIProcess/mac/WKFullScreenWindowController.h:
        * UIProcess/mac/WKFullScreenWindowController.mm:

2013-10-19  Dan Bernstein  <mitz@apple.com>

        Try to fix the Mac 32-bit build.

        * UIProcess/API/mac/WKView.h:
        * UIProcess/API/mac/WKView.mm:
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/API/mac/WKViewPrivate.h:

2013-10-19  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Remove some indirection that was only necessary for supporting the legacy Objective-C runtime
        https://bugs.webkit.org/show_bug.cgi?id=123065

        Reviewed by Sam Weinig.

        * UIProcess/API/mac/WKBrowsingContextController.h: Added WK_API_ENABLED guard. Removed _data
        ivar and WKBrowsingContextControllerData class declaration.
        * UIProcess/API/mac/WKBrowsingContextController.mm: Added WK_API_ENABLED guard. Removed
        WKBrowsingContextControllerData class and moved _pageRef ivar directly into
        WKBrowsingContextController, declaring it in the @implementation. Removed ivar and accessors
        for the loadDelegate property, letting the compiler synthesize them.
        (-[WKBrowsingContextController dealloc]): Removed indirection via _data.
        (-[WKBrowsingContextController _pageRef]): Ditto.
        (-[WKBrowsingContextController loadRequest:userData:]): Removed indirection via -_pageRef.
        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:userData:]): Ditto.
        (-[WKBrowsingContextController loadHTMLString:baseURL:userData:]): Ditto.
        (-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
        Ditto.
        (-[WKBrowsingContextController stopLoading]): Ditto.
        (-[WKBrowsingContextController reload]): Ditto.
        (-[WKBrowsingContextController reloadFromOrigin]): Ditto.
        (-[WKBrowsingContextController goForward]): Ditto.
        (-[WKBrowsingContextController canGoForward]): Ditto.
        (-[WKBrowsingContextController goBack]): Ditto.
        (-[WKBrowsingContextController canGoBack]): Ditto.
        (-[WKBrowsingContextController activeURL]): Ditto.
        (-[WKBrowsingContextController provisionalURL]): Ditto.
        (-[WKBrowsingContextController committedURL]): Ditto.
        (-[WKBrowsingContextController title]): Ditto.
        (-[WKBrowsingContextController textZoom]): Ditto.
        (-[WKBrowsingContextController setTextZoom:]): Ditto.
        (-[WKBrowsingContextController pageZoom]): Ditto.
        (-[WKBrowsingContextController setPageZoom:]): Ditto.
        (-[WKBrowsingContextController setPaginationMode:]): Ditto.
        (-[WKBrowsingContextController paginationMode]): Ditto.
        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Ditto.
        (-[WKBrowsingContextController paginationBehavesLikeColumns]): Ditto.
        (-[WKBrowsingContextController setPageLength:]): Ditto.
        (-[WKBrowsingContextController pageLength]): Ditto.
        (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
        (-[WKBrowsingContextController gapBetweenPages]): Ditto.
        (-[WKBrowsingContextController pageCount]): Ditto.
        (-[WKBrowsingContextController _initWithPageRef:]): Removed indirection via _data.
        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added WK_API_ENABLED guard.
        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Ditto.

        * UIProcess/API/mac/WKBrowsingContextGroup.h: Added WK_API_ENABLED guard. Removed _data ivar
        and WKBrowsingContextGroupData class declaration.
        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added WK_API_ENABLED guard. Removed
        WKBrowsingContextGroupData class and moved _pageGroupRef ivar directly info
        WKBrowsingContextGroup, declaring it in the @implementation.
        (-[WKBrowsingContextGroup initWithIdentifier:]): Removed indirection via _data.
        (-[WKBrowsingContextGroup _pageGroupRef]): Ditto.
        * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Added WK_API_ENABLED guard.

        * UIProcess/API/mac/WKConnection.h: Added WK_API_ENABLED guard. Removed _data ivar and
        WKConnectionData class declaration.
        * UIProcess/API/mac/WKConnection.mm: Added WK_API_ENABLED guard. Removed WKConnectionData
        class and moved _connectionRef ivar directly into WKConnection, declaring it in the
        @implementation. Removed ivar and accessors for the delegate property, letting the compiler
        synthesize them.
        (-[WKConnection dealloc]): Removed indirection via _data.
        (-[WKConnection sendMessageWithName:body:]): Ditto.
        (-[WKConnection _initWithConnectionRef:]): Ditto.
        * UIProcess/API/mac/WKConnectionInternal.h: Added WK_API_ENABLED guard.

        * UIProcess/API/mac/WKProcessGroup.h: Added WK_API_ENABLED guard. Replaced forward
        declaration of WKConnection with an import. Removed _data ivar and WKProcessGroupData class
        declaration.
        * UIProcess/API/mac/WKProcessGroup.mm: Added WK_API_ENABLED guard. Removed
        WKProcessGroupData class and moved _contextRef ivar directly into WKProcessGroup, declaring
        it in the @implementation. Removed ivar and accessors for the delegate property, letting the
        compiler synthesize them.
        (-[WKProcessGroup initWithInjectedBundleURL:]): Removed indirection via _data.
        (-[WKProcessGroup dealloc]): Ditto.
        (-[WKProcessGroup _contextRef]): Ditto.
        * UIProcess/API/mac/WKProcessGroupPrivate.h: Added WK_API_ENABLED guard.

2013-10-19  Andreas Kling  <akling@apple.com>

        Attempt to get Lion building.

        * UIProcess/mac/WebColorPickerMac.h:

2013-10-18  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Double-buffering and minimization of repaints
        https://bugs.webkit.org/show_bug.cgi?id=123043

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::ensureBackingStore):
        Don't worry about isOpaque with RemoteLayerBackingStore; this is a
        optimization that is causing trouble; we can re-add it later.

        (PlatformCALayerRemote::setBounds):
        Make sure that we will repaint if our bounds change.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h:
        (WebKit::RemoteLayerBackingStore::bitmap):
        Keep a front and back buffer; return the front buffer when being asked for the bitmap.
        Keep a Region of repaint areas.

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm:
        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        Serialize only the front buffer, since the UI process only needs that.

        (RemoteLayerBackingStore::setNeedsDisplay):
        Store repaint rects instead of always setting the whole layer to be dirty.

        (RemoteLayerBackingStore::display):
        Paint into the back buffer (copying valid parts over from the front buffer),
        then swap it to the front buffer. Use drawLayerContents so we get repaint counters, etc.

2013-10-18  Anders Carlsson  <andersca@apple.com>

        Try to fix the Lion build.

        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

2013-10-18  Anders Carlsson  <andersca@apple.com>

        Remove spaces between template angle brackets
        https://bugs.webkit.org/show_bug.cgi?id=123040

        Reviewed by Andreas Kling.

        * UIProcess/mac/WebColorPickerMac.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::setProcessSuppressionEnabled):

2013-10-18  Brady Eidson  <beidson@apple.com>

        Get rid of IDBFactoryBackendLevelDB and IDBTransactionBackendLevelDB in IDBDatabaseBackendLevelDB.
        https://bugs.webkit.org/show_bug.cgi?id=123039

        Reviewed by Anders Carlsson.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::removeIDBDatabaseBackend): Stub out this new interface method.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

2013-10-18  Dan Bernstein  <mitz@apple.com>

        [Cocoa] WKBrowsingController accessors crash instead of returning nil
        https://bugs.webkit.org/show_bug.cgi?id=123036

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKBrowsingContextController.mm:
        (autoreleased): Return nil if the object is NULL.

2013-10-18  Anders Carlsson  <andersca@apple.com>

        Remove some Windows specific code from WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=123034

        Reviewed by Beth Dakin.

        * Platform/PlatformProcessIdentifier.h:
        * Shared/API/c/WKDeclarationSpecifiers.h:
        * UIProcess/API/C/WKNativeEvent.h:
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * config.h:

2013-10-18  Dan Bernstein  <mitz@apple.com>

        Removed the __MAC_OS_X_VERSION_MIN_REQUIRED condition from the definition of WK_API_ENABLED.

        Rubber-stamped by Anders Carlsson.

        * Shared/API/Cocoa/WKFoundation.h:

2013-10-17  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Proxy layer contents to the UI process
        http://bugs.webkit.org/show_bug.cgi?id=123003

        Reviewed by Anders Carlsson.

        Proxy layer contents to the UI process. Contents are painted into ShareableBitmaps
        for now, and are fully repainted on any invalidation. Also, contents do not respect
        any kind of scale or use of contentsRect/etc.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpChangedLayers):
        Store/encode/decode/dump the new RemoteLayerBackingStore.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::commit):
        Fix a mistake where contentsRect was getting reset when contentsScale changed.
        Set the layer contents when the backing store changes.

        * WebKit2.xcodeproj/project.pbxproj:
        Add RemoteLayerBackingStore.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::recursiveBuildTransaction):
        Paint while building our transaction, and mark the backing store as changed
        if we did any painting.

        (PlatformCALayerRemote::ensureBackingStore):
        Keep the backing store's properties up-to-date with our layer.

        (PlatformCALayerRemote::setNeedsDisplay):
        Inform the backing store that it needs to paint.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

        * WebProcess/WebPage/mac/RemoteLayerBackingStore.h: Added.
        * WebProcess/WebPage/mac/RemoteLayerBackingStore.mm: Added.
        (RemoteLayerBackingStore::RemoteLayerBackingStore):
        (RemoteLayerBackingStore::encode):
        (RemoteLayerBackingStore::decode):
        Encode/decode our ShareableBitmap (via its handle) and size.

        (RemoteLayerBackingStore::setNeedsDisplay):
        For now, repaint the world.

        (RemoteLayerBackingStore::display):
        Create a new bitmap if needed, and paint into it.

2013-10-17  Dan Bernstein  <mitz@apple.com>

        Fixed a typo in the definition of WK_API_ENABLED.

        * Shared/API/Cocoa/WKFoundation.h: It’s 101000, not 10100.

2013-10-17  Dan Bernstein  <mitz@apple.com>

        Add and deploy WK_API_ENABLED guards
        https://bugs.webkit.org/show_bug.cgi?id=123008

        Reviewed by Darin Adler.

        * Shared/API/Cocoa: Added.
        * Shared/API/Cocoa/WKFoundation.h: Added. Defined WK_API_ENABLED based on whether the
        Objective-C API should be enabled in the current configuration.
        * Shared/mac/ObjCObjectGraphCoders.mm:
        (WebKit::typeFromObject): Changed to use WK_API_ENABLED.
        (WebKit::WebContextObjCObjectGraphEncoderImpl::encode): Ditto.
        (WebKit::WebContextObjCObjectGraphDecoderImpl::decode): Ditto.
        (WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode): Ditto.
        (WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode): Ditto.
        * UIProcess/API/mac/WKTypeRefWrapper.h: Ditto.
        * UIProcess/API/mac/WKTypeRefWrapper.mm: Ditto.
        * UIProcess/API/mac/WebKit2.h: Imported WKFoundation.h.
        * WebKit2.xcodeproj/project.pbxproj: Added new Cocoa group in Shared/API. Added
        WKFoundation.h as a public header.
        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMText.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMText.mm:
        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
        * WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInPrivate.h:
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::load):

2013-10-17  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2] Speculative buildfixes for GTK and EFL after r157582.

        * CMakeLists.txt:
        * GNUmakefile.am:

2013-10-17  Martin Hock  <mhock@apple.com>

        Refactor stored website data APIs
        https://bugs.webkit.org/show_bug.cgi?id=122781

        Reviewed by Brady Eidson.

        Add WebOriginDataManager along with corresponding class
        WebOriginDataManagerProxy and API WKOriginDataManager.

        Currently, the new files are unused.

        WKOriginDataManager should subsume the functionality of:
        WKApplicationCacheManager, WKCookieManager, WKDatabaseManager,
        WKKeyValueStorageManager, WKMediaCacheManager,
        WKPluginSiteDataManager, and WKResourceCacheManager.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * GNUmakefile.list.am:
        * Shared/API/c/WKBase.h:
        * Shared/APIObject.h:
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetOriginDataManager):
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKOriginDataManager.cpp: Added.
        (WKOriginDataManagerGetTypeID):
        (WKOriginDataManagerGetOrigins):
        (WKOriginDataManagerDeleteEntriesForOrigin):
        (WKOriginDataManagerDeleteAllEntries):
        (WKOriginDataManagerStartObservingChanges):
        (WKOriginDataManagerStopObservingChanges):
        (WKOriginDataManagerSetChangeClient):
        * UIProcess/API/C/WKOriginDataManager.h: Added.
        * UIProcess/WebOriginDataManagerProxy.cpp: Added.
        (WebKit::WebOriginDataManagerProxy::supplementName):
        (WebKit::WebOriginDataManagerProxy::create):
        (WebKit::WebOriginDataManagerProxy::WebOriginDataManagerProxy):
        (WebKit::WebOriginDataManagerProxy::~WebOriginDataManagerProxy):
        (WebKit::WebOriginDataManagerProxy::contextDestroyed):
        (WebKit::WebOriginDataManagerProxy::processDidClose):
        (WebKit::WebOriginDataManagerProxy::shouldTerminate):
        (WebKit::WebOriginDataManagerProxy::refWebContextSupplement):
        (WebKit::WebOriginDataManagerProxy::derefWebContextSupplement):
        (WebKit::WebOriginDataManagerProxy::getOrigins):
        (WebKit::WebOriginDataManagerProxy::didGetOrigins):
        (WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
        (WebKit::WebOriginDataManagerProxy::deleteAllEntries):
        (WebKit::WebOriginDataManagerProxy::startObservingChanges):
        (WebKit::WebOriginDataManagerProxy::stopObservingChanges):
        (WebKit::WebOriginDataManagerProxy::setChangeClient):
        (WebKit::WebOriginDataManagerProxy::didChange):
        * UIProcess/WebOriginDataManagerProxy.h: Added.
        * UIProcess/WebOriginDataManagerProxy.messages.in: Added.
        * UIProcess/WebOriginDataManagerProxyChangeClient.cpp: Added.
        (WebKit::WebOriginDataManagerProxyChangeClient::didChange):
        * UIProcess/WebOriginDataManagerProxyChangeClient.h: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/OriginData/WebOriginDataManager.cpp: Added.
        (WebKit::WebOriginDataManager::supplementName):
        (WebKit::WebOriginDataManager::WebOriginDataManager):
        (WebKit::WebOriginDataManager::getOrigins):
        (WebKit::WebOriginDataManager::deleteEntriesForOrigin):
        (WebKit::WebOriginDataManager::deleteAllEntries):
        (WebKit::WebOriginDataManager::startObservingChanges):
        (WebKit::WebOriginDataManager::stopObservingChanges):
        * WebProcess/OriginData/WebOriginDataManager.h: Added.
        * WebProcess/OriginData/WebOriginDataManager.messages.in: Added.

2013-10-17  Brady Eidson  <beidson@apple.com>

        Blind attempt at gtk-wk2 build fix.

        * GNUmakefile.am:

2013-10-17  Brady Eidson  <beidson@apple.com>

        Add scaffolding for IDBDatabaseBackends in Web and Database processes
        https://bugs.webkit.org/show_bug.cgi?id=122971

        Reviewed by Tim Horton.

        This patch:
        - Adds a WebProcessIDBDatabaseBackend
        - Adds a DatabaseProcessIDBDatabaseBackend
        - Establishes the basic messaging between them
        - Actually creates those backends as the result of an indexedDB.open() call from javascript

        * DerivedSources.make:
        * WebKit2.xcodeproj/project.pbxproj:
        * Platform/Logging.h:

        Hook up messaging so (Web/Database)ProcessIDBDatabaseBackends can message each other:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        (WebKit::DatabaseToWebProcessConnection::establishIDBDatabaseBackend):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:
        (WebKit::DatabaseToWebProcessConnection::connection):
        * DatabaseProcess/DatabaseToWebProcessConnection.messages.in: Added.

        DatabaseProcess side of an IDBDatabaseBackend:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp:
        (WebKit::DatabaseProcessIDBDatabaseBackend::DatabaseProcessIDBDatabaseBackend):
        (WebKit::DatabaseProcessIDBDatabaseBackend::~DatabaseProcessIDBDatabaseBackend):
        (WebKit::DatabaseProcessIDBDatabaseBackend::openConnection):
        (WebKit::DatabaseProcessIDBDatabaseBackend::messageSenderConnection):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h: Added.
        (WebKit::DatabaseProcessIDBDatabaseBackend::create):
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in: Added.

        WebProcess side of an IDBDatabaseBackend:
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Added.
        (WebKit::generateBackendIdentifier):
        (WebKit::WebProcessIDBDatabaseBackend::WebProcessIDBDatabaseBackend):
        (WebKit::WebProcessIDBDatabaseBackend::~WebProcessIDBDatabaseBackend):
        (WebKit::WebProcessIDBDatabaseBackend::openConnection):
        (WebKit::WebProcessIDBDatabaseBackend::createObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::deleteObjectStore):
        (WebKit::WebProcessIDBDatabaseBackend::createTransaction):
        (WebKit::WebProcessIDBDatabaseBackend::close):
        (WebKit::WebProcessIDBDatabaseBackend::commit):
        (WebKit::WebProcessIDBDatabaseBackend::abort):
        (WebKit::WebProcessIDBDatabaseBackend::createIndex):
        (WebKit::WebProcessIDBDatabaseBackend::deleteIndex):
        (WebKit::WebProcessIDBDatabaseBackend::get):
        (WebKit::WebProcessIDBDatabaseBackend::put):
        (WebKit::WebProcessIDBDatabaseBackend::setIndexKeys):
        (WebKit::WebProcessIDBDatabaseBackend::setIndexesReady):
        (WebKit::WebProcessIDBDatabaseBackend::openCursor):
        (WebKit::WebProcessIDBDatabaseBackend::count):
        (WebKit::WebProcessIDBDatabaseBackend::deleteRange):
        (WebKit::WebProcessIDBDatabaseBackend::clear):
        (WebKit::WebProcessIDBDatabaseBackend::messageSenderConnection):
        (WebKit::WebProcessIDBDatabaseBackend::establishDatabaseProcessBackend):
        * WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Added.
        (WebKit::WebProcessIDBDatabaseBackend::create):

        Basic shared utilities that multiple processes will need going forward:
        * Shared/Databases/IndexedDB/IDBUtilities.cpp:
        (WebKit::uniqueDatabaseIdentifier):
        * Shared/Databases/IndexedDB/IDBUtilities.h:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::sharedDatabaseBackendMap):
        (WebKit::WebIDBFactoryBackend::open): Actually establish an IDBDatabaseBackend in the DatabaseProcess
          when indexedDB.open() is called, even if it does nothing for now.

        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:

2013-10-17  Attila Dusnoki  <h047679@stud.u-szeged.hu>

        [WK2] REGRESSION(r156472): scrolling coordinator is always enabled incorrectly.
        https://bugs.webkit.org/show_bug.cgi?id=122958

        Reviewed by Tim Horton.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage): Missing ENABLE(THREADED_SCROLLING) guard added.

2013-10-17  Mark Rowe  <mrowe@apple.com>

        <rdar://problem/15183901> WebKit2 XPC services load the wrong frameworks when running
        from the staged frameworks location.

        Build the XPC services with DYLD_VERSIONED_FRAMEWORK_PATH when USE_STAGING_INSTALL_PATH
        is set to YES. This is necessary because there's no way to specify environment variables
        to be used when an XPC service is launched.

        Reviewed by Anders Carlsson.

        * Configurations/BaseTarget.xcconfig: Set OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH to contain the
        DYLD_VERSIONED_FRAMEWORK_PATH value when USE_STAGING_INSTALL_PATH is YES.
        * Configurations/BaseXPCService.xcconfig: Include OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH in the
        value of OTHER_LDFLAGS.
        * Configurations/PluginService.32.xcconfig: Ditto.
        * Configurations/PluginService.64.xcconfig: Ditto.

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Complete support for simple layer properties
        https://bugs.webkit.org/show_bug.cgi?id=122933

        Reviewed by Anders Carlsson.

        Add remote layer tree support for maskLayer, contentsRect, contentsScale,
        minificationFilter, magnificationFilter, speed, and timeOffset.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::dumpProperty):
        (WebKit::dumpChangedLayers):
        Add the new properties.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::toCAFilterType):
        (WebKit::RemoteLayerTreeHost::commit):
        Apply the new properties.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::setSublayers):
        (PlatformCALayerRemote::appendSublayer):
        (PlatformCALayerRemote::insertSublayer):
        Ensure that passed-in sublayers are always also PlatformCALayerRemote instances.
        These are ASSERT_WITH_SECURITY_IMPLICATION as we will later unconditionally static_cast
        them to PlatformCALayerRemote.

        (PlatformCALayerRemote::setMask):
        (PlatformCALayerRemote::setContentsRect):
        (PlatformCALayerRemote::setMinificationFilter):
        (PlatformCALayerRemote::setMagnificationFilter):
        (PlatformCALayerRemote::setSpeed):
        (PlatformCALayerRemote::setTimeOffset):
        (PlatformCALayerRemote::contentsScale):
        (PlatformCALayerRemote::setContentsScale):
        Remove setFrame, store the new properties.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
        Remove setFrame, add isRemote, fix pointer side on playerLayer.

2013-10-16  Ryuan Choi  <ryuan.choi@samsung.com>

        Unreviewed build fix attempt on EFL port after r157520 and r157523

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
        Removed ArgumentCoder<TransformationMatrix> which caused redefinition build error
        in EFL port.

2013-10-16  Anders Carlsson  <andersca@apple.com>

        Remove Qt sandbox process code
        https://bugs.webkit.org/show_bug.cgi?id=122920

        Reviewed by Geoffrey Garen.

        This code was only used by the Qt port, and the other Linux-based ports are using the seccomp based sandbox.

        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.cpp: Removed.
        * Shared/linux/SandboxProcess/SandboxEnvironmentLinux.h: Removed.

2013-10-16  Jochen Eisinger  <jochen@chromium.org>

        A page should exit fullscreen mode if it opens a new popup
        https://bugs.webkit.org/show_bug.cgi?id=122865

        Reviewed by Jer Noble.

        If a fullscreen page opens a popup, the popup would be hidden and
        therefore invisible to the user. To avoid this, exit fullscreen mode
        before opening a new window.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createWindow):

2013-10-16  Brady Eidson  <beidson@apple.com>

        Blind attempt to fix non-DATABASE_PROCESS builds.

        * WebProcess/WebProcess.cpp:

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        PlatformCALayer constructor should take layer type as an argument
        https://bugs.webkit.org/show_bug.cgi?id=122915

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Use the new LayerType argument.

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        Remote Layer Tree: Use a default instead of an environment variable
        https://bugs.webkit.org/show_bug.cgi?id=122913

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView std::WebKit::]):
        Use the default 'WebKit2UseRemoteLayerTreeDrawingArea' instead of
        the environment variable 'WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA'
        to indicate that WKViews should make RemoteLayerTreeDrawingAreas.

2013-10-15  Brady Eidson  <beidson@apple.com>

        Flesh out the DatabaseProcess (and launch it!)
        https://bugs.webkit.org/show_bug.cgi?id=122884

        Reviewed by Tim Horton.

        This patch adds actual process launching and basic messaging infrastructure for the DatabaseProcess.

        It still does very little except exist.

        Project file stuff:
        * WebKit2.xcodeproj/project.pbxproj:
        * DerivedSources.make:

        WebContext owns the DatabaseProcess (much like the NetworkProcess):
        * UIProcess/WebContext.cpp:
        (WebKit::WebContext::ensureDatabaseProcess):
        (WebKit::WebContext::getDatabaseProcessConnection):
        * UIProcess/WebContext.h:

        Add a basic DatabaseProcess that - for now - can only return a new Connection for a WebProcess:
        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/DatabaseProcess.messages.in: Added.

        Add an object to represent a single connection to a single WebProcess:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::create):
        (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
        (WebKit::DatabaseToWebProcessConnection::~DatabaseToWebProcessConnection):
        (WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
        (WebKit::DatabaseToWebProcessConnection::didClose):
        (WebKit::DatabaseToWebProcessConnection::didReceiveInvalidMessage):
        * DatabaseProcess/DatabaseToWebProcessConnection.h:

        Basic DatabaseProcessProxy with the ability to ask the DatabaseProcess for a connection to hand back to a WebProcess:
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
        (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
        (WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
        (WebKit::DatabaseProcessProxy::didFinishLaunching):
        * UIProcess/Databases/DatabaseProcessProxy.h:
        * UIProcess/Databases/DatabaseProcessProxy.messages.in: Added.

        Add an object to represent a WebProcess’s connection to a DatabaseProcess:
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
        (WebKit::WebToDatabaseProcessConnection::~WebToDatabaseProcessConnection):
        (WebKit::WebToDatabaseProcessConnection::didReceiveMessage):
        (WebKit::WebToDatabaseProcessConnection::didClose):
        (WebKit::WebToDatabaseProcessConnection::didReceiveInvalidMessage):
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
        (WebKit::WebToDatabaseProcessConnection::create):
        (WebKit::WebToDatabaseProcessConnection::connection):

        Give WebProcess(Proxy) an accessor for a Web -> Database process connection:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
        (WebKit::WebProcess::webToDatabaseProcessConnection):
        (WebKit::WebProcess::ensureWebToDatabaseProcessConnection):
        * WebProcess/WebProcess.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getDatabaseProcessConnection):
        * UIProcess/WebProcessProxy.h:
        * UIProcess/WebProcessProxy.messages.in:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::open): Access the database process connection to test that it works.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createIDBFactoryBackend): Keep non-DATABASE_PROCESS builds working.

2013-10-16  Tim Horton  <timothy_horton@apple.com>

        RemoteLayerTree: Add support for more layer properties and transform layers
        https://bugs.webkit.org/show_bug.cgi?id=122906

        Reviewed by Anders Carlsson.

        Add support for name, border width, border color, opacity, transform, sublayer transform,
        hidden, geometry flipped, double sided, masks to bounds, and opaque layer properties.

        Factor layer creation out from layer changes, so that we can create layers of the correct
        type. Use this mechanism to create CATransformLayers when handed a LayerTypeTransformLayer.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::::encode):
        (CoreIPC::::decode):
        * Shared/WebCoreArgumentCoders.h:
        Add coders for TransformationMatrix.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        Add the new LayerChange values.

        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
        LayerProperties::layerChanges should be a LayerChange.

        (WebKit::RemoteLayerTreeTransaction::createdLayers):
        Expose the list of newly created layers (for RemoteLayerTreeHost's consumption).

        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
        Add (and support coding) a new LayerCreationProperties struct, which is currently
        just a pair of LayerID and PlatformCALayer::LayerType. Additional properties may follow.

        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        Encode and decode all of the new layer properties.
        Encode changedProperties as an enum, not an unsigned.

        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        Encode and decode the list of newly created layers.

        (WebKit::RemoteLayerTreeTransaction::setCreatedLayers):
        Setter for the list of newly created layers, which comes from the
        RemoteLayerTreeContext at commit time.

        (WebKit::dumpProperty):
        Helper function to dump TransformationMatrix instances.

        (WebKit::dumpChangedLayers):
        Dump all of the new layer properties.

        (WebKit::RemoteLayerTreeTransaction::dump):
        Dump the list of newly created layers.

        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::cgColorFromColor):
        Factor out the code to make a CGColor from a WebCore::Color, as we need it
        for both border and background color.

        (WebKit::RemoteLayerTreeHost::commit):
        Create layers before applying changes, using the new list of newly created layers.
        When applying changes, ensure that the layer we're interested in was already created.
        Rename "sublayer" to "layer", and use dot notation everywhere.
        Apply all the new layer properties to the layers.

        (WebKit::RemoteLayerTreeHost::getLayer):
        (WebKit::RemoteLayerTreeHost::createLayer):
        Separate creating a new layer from retrieving it by ID.
        Ensure that a layer doesn't already exist when creating it.
        Support creating CATransformLayers.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
        Disable accelerated animations, as we don't support proxying animations yet.
        This makes GraphicsLayer fall back to software animations, which already work wonderfully remotely.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (PlatformCALayerRemote::PlatformCALayerRemote):
        Inform the RemoteLayerTreeContext of the creation of every PlatformCALayerRemote.

        (PlatformCALayerRemote::removeFromSuperlayer):
        (PlatformCALayerRemote::replaceSublayer):
        (PlatformCALayerRemote::adoptSublayers):
        Assert when we hit a few critical unimplemented methods that would
        leave the layer tree in a broken state.

        (PlatformCALayerRemote::isOpaque):
        (PlatformCALayerRemote::setOpaque):
        (PlatformCALayerRemote::transform):
        (PlatformCALayerRemote::setTransform):
        (PlatformCALayerRemote::sublayerTransform):
        (PlatformCALayerRemote::setSublayerTransform):
        (PlatformCALayerRemote::setHidden):
        (PlatformCALayerRemote::setGeometryFlipped):
        (PlatformCALayerRemote::isDoubleSided):
        (PlatformCALayerRemote::setDoubleSided):
        (PlatformCALayerRemote::masksToBounds):
        (PlatformCALayerRemote::setMasksToBounds):
        (PlatformCALayerRemote::setBorderWidth):
        (PlatformCALayerRemote::setBorderColor):
        (PlatformCALayerRemote::opacity):
        (PlatformCALayerRemote::setOpacity):
        (PlatformCALayerRemote::setName):
        Proxy all of these properties via RemoteLayerTreeTransaction.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        Add storage for the list of newly created layers.
        Use LayerID for the list of destroyed layers.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::layerWasCreated):
        Store the ID and type of the newly created layer to be pushed to the UI process later.

        (WebKit::RemoteLayerTreeContext::flushLayers):
        Push the created and destroyed layers to the transaction *after* flushing
        GraphicsLayers, so that any changes to e.g. structural layers will not be missed.

2013-10-16  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2][Efl][CMake] Add support for ENABLE_NETWORK_PROCESS to the build system
        https://bugs.webkit.org/show_bug.cgi?id=110139

        Reviewed by Laszlo Gombos.

        Original patch by Balazs Kelemen <kbalazs@webkit.org>

        * CMakeLists.txt:
        * PlatformEfl.cmake:

2013-10-16  Robert Plociennik  <r.plociennik@samsung.com>

        [EFL] Minibrowser can't load child window's location
        https://bugs.webkit.org/show_bug.cgi?id=122485

        Reviewed by Gyuyoung Kim.

        EwkView::createNewPage(), which is only called during handling of
        Messages::WebPageProxy::CreateNewPage message from WebProcess, no longer passes
        the URL to window_create(). As a result, no Messages::WebPage::LoadURL message
        is sent back, that would load the same URL twice and effectively cancel any
        other scheduled navigation inside WebProcess.

        Additionally, since the url parameter in MiniBrowser's implementation of
        window_create() is only used internally and is prone to bugs as demonstrated
        in r139303 (d7f10c8), it has been removed in favour of explicit calls to
        ewk_view_url_set().

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::createNewPage): No longer passes the URL to window_create() impl.
        * UIProcess/API/efl/ewk_view.h: window_create() no longer has the url parameter.
        * UIProcess/API/efl/tests/test_ewk2_window_features.cpp: Test methods updated to
            comply with the API change.
        (EWK2WindowFeaturesTest::createDefaultWindow): Ditto.
        (EWK2WindowFeaturesTest::createWindow): Ditto.

2013-10-15  Jae Hyun Park  <jae.park@company100.net>

        Unreviewed. Build fix after r157476.

        * GNUmakefile.am:

2013-10-15  Sergio Correia  <sergio.correia@openbossa.org>

        [EFL][WK2] Make SeccompFilters build again after r156349 and r156353
        https://bugs.webkit.org/show_bug.cgi?id=122872

        Reviewed by Anders Carlsson.

        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SeccompBrokerClient::dispatch): Fix usage of extinct 'create'
        methods of ArgumentEncoder/ArgumentDecoder.
        (WebKit::SeccompBroker::runLoop): Ditto.

2013-10-15  Jinwoo Song  <jinwoo7.song@samsung.com>

        Removed argument coders for FloatPoint3D in CoodinatedGraphicsArgumentCoders.
        https://bugs.webkit.org/show_bug.cgi?id=122875

        Reviewed by Gyuyoung Kim.

        Argument coders for FloatPoint3D is added in WebCoreArgumentCoders after r157478
        and it caused redefinition build error in EFL port.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:

2013-10-15  Dean Jackson  <dino@apple.com>

        Add ENABLE_WEB_ANIMATIONS flag
        https://bugs.webkit.org/show_bug.cgi?id=122871

        Reviewed by Tim Horton.

        Eventually might be http://dev.w3.org/fxtf/web-animations/
        but this is just engine-internal work at the moment.

        * Configurations/FeatureDefines.xcconfig:

2013-10-15  Tim Horton  <timothy_horton@apple.com>

        Add a PlatformCALayer subclass that proxies its property changes across the process boundary
        https://bugs.webkit.org/show_bug.cgi?id=122773

        Reviewed by Anders Carlsson.

        PlatformCALayerRemote coordinates with RemoteLayerTreeDrawingArea and friends
        to enable cross-process proxying of the hierarchy of compositing layers.

        In the Web process, we have GraphicsLayerCARemote, which owns 1+ PlatformCALayerRemote(s).
        Unlike PlatformCALayer{Mac, Win}, which own PlatformLayers (CALayer/CACFLayer),
        PlatformCALayerRemote stores any changes to its properties in a struct, and keeps track of
        which properties have changed since the last commit. Commits are scheduled and performed by
        RemoteLayerTreeContext, on RemoteLayerTreeDrawingArea's behalf, and result in
        RemoteLayerTreeTransaction encoding said property changes and throwing them across
        to the UI process, where RemoteLayerTreeHost applies them to a tree of CALayers kept there.

        This code can be enabled by running with the WK_USE_REMOTE_LAYER_TREE_DRAWING_AREA
        environment variable set.

        * Shared/WebCoreArgumentCoders.cpp:
        (CoreIPC::decode):
        (CoreIPC::encode):
        * Shared/WebCoreArgumentCoders.h:
        Add argument coders for FloatPoint3D.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):
        (WebKit::RemoteLayerTreeTransaction::changedLayers):
        (WebKit::RemoteLayerTreeTransaction::destroyedLayers):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
        (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::dumpChangedLayers):
        Add support for background color and anchor point in the layer transaction.
        Make layer position a 3D point because that's what it really is.

        (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
        The logic in layerPropertiesChanged is moved into PlatformCALayerRemote.

        * UIProcess/WebPageProxy.h:
        Include PlatformLayer.h; it seems annoying to successfully forward-declare
        PlatformLayer because of the difference in definition between Objective-C and C++.
        Drive-by un-indent some namespace contents and use OBJC_CLASS.

        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::didUpdateGeometry):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
        Send geometry updates to the RemoteLayerTreeDrawingArea.

        * UIProcess/mac/RemoteLayerTreeHost.h:
        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (nullActionsDictionary):
        (WebKit::RemoteLayerTreeHost::commit):
        Apply layer property changes to the named sublayer.

        (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
        Create CALayers instead of GraphicsLayers.
        Ensure that they won't perform implicit animations.

        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
        This should take a PlatformLayer instead of a GraphicsLayer, since we don't have
        GraphicsLayers in the UIProcess.

        * WebKit2.xcodeproj/project.pbxproj:
        Add GraphicsLayerCARemote and PlatformCALayerRemote, remove RemoteGraphicsLayer.

        * WebProcess/WebPage/mac/RemoteGraphicsLayer.h: Removed.
        * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm: Removed.

        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
        (WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
        (WebKit::RemoteLayerTreeContext::setRootLayer):
        (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
        (WebKit::RemoteLayerTreeContext::createGraphicsLayer):
        (WebKit::RemoteLayerTreeContext::flushLayers):
        Build our transaction while flushing; it has no reason to exist outside of that scope.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
        (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
        (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
        Fix a capitalization typo.
        Update the WebPage's (and thus WebCore's) size when updateGeometry() is called.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: Added.
        (WebKit::GraphicsLayerCARemote::~GraphicsLayerCARemote):
        (WebKit::GraphicsLayerCARemote::filtersCanBeComposited):
        (WebKit::GraphicsLayerCARemote::createPlatformCALayer):
        Added. Delegate to PlatformCALayerRemote. Don't allow creation of a
        GraphicsLayerCARemote given a PlatformLayer, because with UI process compositing,
        there should be no PlatformLayer instances in the Web process.

        * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: Added.
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: Added.
        (generateLayerID):
        Generate a layer ID for identification across processes.

        (PlatformCALayerRemote::~PlatformCALayerRemote):
        Inform the RemoteLayerTreeContext that we've been destroyed, so it can convey
        that information to the UI process and the corresponding CALayer can be destroyed.

        (PlatformCALayerRemote::recursiveBuildTransaction):
        Recursively accumulate changes in layer state on a RemoteLayerTreeTransaction.

        The rest of this file is mostly an empty implementation of PlatformCALayer.
        A few properties are implemented so far; see below.

        (PlatformCALayerRemote::setSublayers):
        (PlatformCALayerRemote::removeAllSublayers):
        (PlatformCALayerRemote::appendSublayer):
        (PlatformCALayerRemote::insertSublayer):
        Update our list of sublayers, and note that our children have changed.
        recursiveBuildTransaction() will walk our sublayers and record their IDs in the transaction.

        (PlatformCALayerRemote::bounds):
        (PlatformCALayerRemote::setBounds):
        (PlatformCALayerRemote::position):
        (PlatformCALayerRemote::setPosition):
        (PlatformCALayerRemote::anchorPoint):
        (PlatformCALayerRemote::setAnchorPoint):
        (PlatformCALayerRemote::backgroundColor):
        (PlatformCALayerRemote::setBackgroundColor):
        Trivial implementations of basic layer properties, storing the new state in
        our LayerProperties struct and noting that they changed in the current commit.
        Properties with getters will return the last value that was set on the LayerProperties,
        so we don't clear the whole struct at the end of the transaction, just the mask of changed properties.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.h: Added.

2013-10-15  Brady Eidson  <beidson@apple.com>

        Move WebProcess/IndexedDB to WebProcess/Databases/IndexedDB

        Rubberstamped by Alexey Proskuryakov.

        * CMakeLists.txt:
        * GNUmakefile.list.am:
        * WebKit2.xcodeproj/project.pbxproj:

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.cpp.
        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: Renamed from Source/WebKit2/WebProcess/IndexedDB/WebIDBFactoryBackend.h.

2013-10-15  Brady Eidson  <beidson@apple.com>

        Add a skeleton Database process for future usage by Indexed Database.
        https://bugs.webkit.org/show_bug.cgi?id=122849

        Reviewed by Sam Weinig.

        This mostly our typical "Add a new process type" boilerplate.

        * Configurations/DatabaseProcess.xcconfig: Added.
        * Configurations/DatabaseService.Development.xcconfig: Added.
        * Configurations/DatabaseService.xcconfig: Added.
        * WebKit2.xcodeproj/project.pbxproj:
        * WebKit2Prefix.h:

        * DatabaseProcess/DatabaseProcess.cpp: Added.
        (WebKit::DatabaseProcess::shared):
        (WebKit::DatabaseProcess::DatabaseProcess):
        (WebKit::DatabaseProcess::~DatabaseProcess):
        (WebKit::DatabaseProcess::initializeConnection):
        (WebKit::DatabaseProcess::shouldTerminate):
        (WebKit::DatabaseProcess::didReceiveMessage):
        (WebKit::DatabaseProcess::didClose):
        (WebKit::DatabaseProcess::didReceiveInvalidMessage):
        (WebKit::DatabaseProcess::initializeProcess):
        (WebKit::DatabaseProcess::initializeProcessName):
        (WebKit::DatabaseProcess::initializeSandbox):
        * DatabaseProcess/DatabaseProcess.h: Added.

        * DatabaseProcess/EntryPoint/mac/LegacyProcess/DatabaseProcessMain.mm: Added.
        (DatabaseProcessMain):
        * DatabaseProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService.Development/Info.plist: Added.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseService/Info.plist: Added.
        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm: Added.
        (DatabaseServiceInitializer):

        * DatabaseProcess/mac/DatabaseProcessMac.mm: Added.
        (WebKit::DatabaseProcess::initializeProcess):
        (WebKit::DatabaseProcess::initializeProcessName):
        (WebKit::DatabaseProcess::initializeSandbox):
        * UIProcess/Databases/DatabaseProcessProxy.cpp: Added.
        (WebKit::DatabaseProcessProxy::create):
        (WebKit::DatabaseProcessProxy::DatabaseProcessProxy):
        (WebKit::DatabaseProcessProxy::~DatabaseProcessProxy):
        (WebKit::DatabaseProcessProxy::getLaunchOptions):
        (WebKit::DatabaseProcessProxy::connectionWillOpen):
        (WebKit::DatabaseProcessProxy::connectionWillClose):
        (WebKit::DatabaseProcessProxy::didReceiveMessage):
        (WebKit::DatabaseProcessProxy::didClose):
        (WebKit::DatabaseProcessProxy::didReceiveInvalidMessage):
        (WebKit::DatabaseProcessProxy::didFinishLaunching):
        * UIProcess/Databases/DatabaseProcessProxy.h: Added.
        * UIProcess/Databases/mac/DatabaseProcessProxyMac.mm: Added.
        (WebKit::shouldUseXPC):
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):

        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::processTypeAsString):
        (WebKit::ProcessLauncher::getProcessTypeFromString):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::serviceName):
        (WebKit::createProcess):

2013-10-14  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2][Efl][Soup] Make NetworkProcessMainUnix handle proxy settings.
        https://bugs.webkit.org/show_bug.cgi?id=118388

        Reviewed by Carlos Garcia Campos.

        Original patch by Kwang Yul Seo <skyul@company100.net> .

        Proxy configuration should honor the no_proxy environment variable
        same to WebProcess. It is necessary not to change the current behaviour.
        See https://bugs.webkit.org/show_bug.cgi?id=91747 for details.

        The following things were fixed by Csaba Osztrogonác:
        - moved session variable before #if not to have conflict with https://bugs.webkit.org/show_bug.cgi?id=118343
        - added GRefPtr.h include
        - fixed ifdef guards

        * NetworkProcess/unix/NetworkProcessMainUnix.cpp:
        (WebKit::NetworkProcessMain):
        Copied from WebProcessMainEfl.cpp.

2013-10-13  Darin Adler  <darin@apple.com>

        Deprecate or remove deleteAllValues functions; there are only a few call sites left
        https://bugs.webkit.org/show_bug.cgi?id=122738

        Reviewed by Anders Carlsson.

        * Shared/Plugins/NPRemoteObjectMap.cpp:
        (WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to
        deprecatedDeleteAllValues.

== Rolled over to ChangeLog-2013-10-13 ==