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 ==
