ChangeLog-2015-11-21   [plain text]


2015-11-20  Simon Fraser  <simon.fraser@apple.com>

        More deviceRGB color cleanup
        https://bugs.webkit.org/show_bug.cgi?id=151523
        <rdar://problem/23638597>

        Reviewed by Tim Horton.

        Replace calls to deviceRGBColorSpaceRef() with sRGBColorSpaceRef(), and use
        sRGBColorSpaceRef() in a few places that were manually creating the colorspace.

        Also use cachedCGColor() in a more places that were manually constructing CGColorRefs
        from Colors.

        * Shared/cg/ShareableBitmapCG.cpp:
        (WebKit::ShareableBitmap::createGraphicsContext):
        (WebKit::ShareableBitmap::createCGImage):
        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
        (WebKit::cgColorFromColor):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::initializeDebugIndicator):

2015-11-20  Geoffrey Garen  <ggaren@apple.com>

        A window with a hung tab waits 5s before becoming active
        https://bugs.webkit.org/show_bug.cgi?id=151426

        Reviewed by Sam Weinig.

        This patch adds an optimization to skip the synchronous web process
        message to check for a legacy scrollbar when we know that legacy
        scrollbars are not enabled.

        (Note that legacy scrollbars don't work quite right, due to
        <rdar://problem/23585420> and <rdar://problem/23605296>. Still, I verified
        with logging that we do the synchronous message when legacy scrollbars
        are enabled.)

        A consequence of this change is that we will no longer support
        click-to-scroll-while-inactive behavior for scrollbars with custom looks
        on systems with modern scrollbars. I spoke with Beth and Dan, and they
        agreed that this is a reasonable change to make, since we don't support
        click-to-scroll-while-inactive behavior for fully custom scrollbars either,
        and since systems with modern scrollbars typically use swipe to scroll.

        * UIProcess/Cocoa/WebViewImpl.h: Added some helper functions to explain
        the behaviors we're checking for.

        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::mightBeginDragWhileInactive): Factored out from
        shouldDelayWindowOrderingForEvent.

        (WebKit::WebViewImpl::mightBeginScrollWhileInactive): New function.

        (WebKit::WebViewImpl::acceptsFirstMouse): Moved this function next to
        shouldDelayWindowOrderingForEvent because their responsibilities are
        very similar. Added a fast path check for when we know that we will
        not accept first mouse because we can't start a drag or scroll by
        clicking while inactive.

        (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent): Refactored
        to use the helper function. Behavior unchanged.

2015-11-20  Geoffrey Garen  <ggaren@apple.com>

        A hung webpage pretends to be responsive if you scroll
        https://bugs.webkit.org/show_bug.cgi?id=151518

        Reviewed by Sam Weinig.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::sendWheelEvent):
        (WebKit::WebPageProxy::didReceiveEvent): Don't treat wheel events as
        starting or stopping the responsiveness timer. Wheel events usually
        process on the event dispatch thread, which responds even if the main
        thread is hung.

        Instead, send an out-of-band ping to the main thread to verify that
        it is still responsive and we'll be able to paint and respond to clicks
        after scrolling.

        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::sendMainThreadPing):
        (WebKit::WebProcessProxy::didReceiveMainThreadPing):
        * UIProcess/WebProcessProxy.h:
        * UIProcess/WebProcessProxy.messages.in: UI process support for pinging
        the main thread in the web process.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::mainThreadPing):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in: Web process support for responding
        to pings.

2015-11-20  Simon Fraser  <simon.fraser@apple.com>

        Allow more buffer formats in the IOSurface pool
        https://bugs.webkit.org/show_bug.cgi?id=151516

        Reviewed by Tim Horton.
        
        Have RemoteLayerBackingStore go through a static function on IOSurface to return
        a surface to the pool, rather than knowing about IOSurfacePool directly.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::Buffer::discard):

2015-11-20  Alex Christensen  <achristensen@webkit.org>

        Remove NETWORK_PROCESS compile flag
        https://bugs.webkit.org/show_bug.cgi?id=151512

        Reviewed by Tim Horton.

        * CMakeLists.txt:
        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
        (NetworkProcessMain):
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
        (NetworkServiceInitializer):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::filesInBlob):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::blobSize):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkLoad.cpp:
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkLoadClient.h:
        * NetworkProcess/NetworkLoadParameters.cpp:
        (WebKit::NetworkLoadParameters::NetworkLoadParameters):
        * NetworkProcess/NetworkLoadParameters.h:
        * NetworkProcess/NetworkProcess.cpp:
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/NetworkResourceLoader.messages.in:
        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::clearDiskCache):
        * NetworkProcess/efl/NetworkProcessMainEfl.cpp:
        (WebKit::NetworkProcessMainUnix):
        * NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
        (WebKit::NetworkProcessMainUnix):
        * NetworkProcess/ios/NetworkProcessIOS.mm:
        * NetworkProcess/mac/NetworkLoadMac.mm:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
        (WebKit::NetworkResourceLoader::willCacheResponseAsync):
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::platformTerminate):
        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
        (WebKit::RemoteNetworkingContext::storageSession):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::initialize):
        (WebKit::CustomProtocolManager::addCustomProtocol):
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
        (WebKit::CustomProtocolManager::supplementName):
        (WebKit::CustomProtocolManager::initialize):
        (WebKit::CustomProtocolManager::registerScheme):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * Shared/Network/NetworkProcessSupplement.h:
        (WebKit::NetworkProcessSupplement::initialize):
        * Shared/Network/NetworkResourceLoadParameters.cpp:
        (WebKit::NetworkResourceLoadParameters::decode):
        * Shared/Network/NetworkResourceLoadParameters.h:
        * Shared/ProcessExecutablePath.h:
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * Shared/efl/ProcessExecutablePathEfl.cpp:
        (WebKit::executablePathOfPluginProcess):
        (WebKit::executablePathOfNetworkProcess):
        (WebKit::executablePathOfDatabaseProcess):
        * Shared/gtk/ProcessExecutablePathGtk.cpp:
        (WebKit::executablePathOfPluginProcess):
        (WebKit::executablePathOfNetworkProcess):
        (WebKit::executablePathOfDatabaseProcess):
        * Shared/mac/CookieStorageShim.h:
        * Shared/mac/CookieStorageShim.mm:
        (-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
        * Shared/mac/CookieStorageShimLibrary.cpp:
        * Shared/mac/CookieStorageShimLibrary.h:
        * UIProcess/API/APISession.cpp:
        (API::Session::~Session):
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetNetworkProcessIdentifier):
        * UIProcess/API/efl/ewk_context.cpp:
        (ewk_context_process_model_set):
        (ewk_context_process_model_get):
        (ewk_context_tls_error_policy_get):
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::updateProcessSuppressionState):
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
        (WebKit::WebProcessPool::platformInvalidateContext):
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::DownloadProxy::cancel):
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::processTypeAsString):
        (WebKit::ProcessLauncher::getProcessTypeFromString):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::computeProcessShimPath):
        (WebKit::serviceName):
        (WebKit::shouldLeakBoost):
        (WebKit::createProcess):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Network/NetworkProcessProxy.messages.in:
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
        * UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setSessionID):
        (WebKit::WebPageProxy::initializeWebPage):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::WebProcessPool):
        (WebKit::WebProcessPool::~WebProcessPool):
        (WebKit::WebProcessPool::initializeClient):
        (WebKit::WebProcessPool::networkingProcessConnection):
        (WebKit::WebProcessPool::languageChanged):
        (WebKit::WebProcessPool::setUsesNetworkProcess):
        (WebKit::WebProcessPool::usesNetworkProcess):
        (WebKit::WebProcessPool::ensureNetworkProcess):
        (WebKit::WebProcessPool::getNetworkProcessConnection):
        (WebKit::WebProcessPool::ensureDatabaseProcess):
        (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        (WebKit::WebProcessPool::createNewWebProcess):
        (WebKit::WebProcessPool::download):
        (WebKit::WebProcessPool::resumeDownload):
        (WebKit::WebProcessPool::setAdditionalPluginsDirectory):
        (WebKit::WebProcessPool::networkProcessIdentifier):
        (WebKit::WebProcessPool::setAlwaysUsesComplexTextCodePath):
        (WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
        (WebKit::WebProcessPool::registerURLSchemeAsLocal):
        (WebKit::WebProcessPool::setCacheModel):
        (WebKit::WebProcessPool::setDefaultRequestTimeoutInterval):
        (WebKit::WebProcessPool::createDownloadProxy):
        (WebKit::WebProcessPool::useTestingNetworkSession):
        (WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
        (WebKit::WebProcessPool::requestNetworkingStatistics):
        (WebKit::WebProcessPool::handleMessage):
        * UIProcess/WebProcessPool.h:
        (WebKit::WebProcessPool::sendToNetworkingProcess):
        (WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getPluginProcessConnection):
        (WebKit::WebProcessProxy::getNetworkProcessConnection):
        (WebKit::WebProcessProxy::getDatabaseProcessConnection):
        (WebKit::WebProcessProxy::createDownloadProxy):
        (WebKit::WebProcessProxy::didCancelProcessSuspension):
        (WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState):
        (WebKit::WebProcessProxy::didSetAssertionState):
        * UIProcess/WebProcessProxy.h:
        (WebKit::WebProcessProxy::throttler):
        * UIProcess/WebProcessProxy.messages.in:
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::~WebsiteDataStore):
        (WebKit::WebsiteDataStore::cloneSessionData):
        * UIProcess/gtk/WebProcessPoolGtk.cpp:
        (WebKit::initInspectorServer):
        (WebKit::WebProcessPool::setIgnoreTLSErrors):
        * UIProcess/soup/WebProcessPoolSoup.cpp:
        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
        * WebKit2Prefix.h:
        * WebProcess/FileAPI/BlobRegistryProxy.cpp:
        (WebKit::BlobRegistryProxy::blobSize):
        * WebProcess/FileAPI/BlobRegistryProxy.h:
        * WebProcess/Network/NetworkProcessConnection.cpp:
        * WebProcess/Network/NetworkProcessConnection.h:
        * WebProcess/Network/NetworkProcessConnection.messages.in:
        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
        * WebProcess/Network/WebResourceLoadScheduler.h:
        * WebProcess/Network/WebResourceLoader.cpp:
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
        (WebKit::initializeBrowserFuncs):
        (WebKit::netscapeBrowserFuncs):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::registerRedirect):
        (WebKit::NetscapePlugin::urlRedirectResponse):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        (WebKit::WebPlatformStrategies::resourceLoadScheduler):
        (WebKit::WebPlatformStrategies::createBlobRegistry):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::startDownload):
        (WebKit::WebFrame::convertMainResourceLoadToDownload):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess):
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensureNetworkProcessConnection):
        (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
        (WebKit::WebProcess::usesNetworkProcess):
        (WebKit::WebProcess::networkConnection):
        (WebKit::WebProcess::webResourceLoadScheduler):
        (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
        (WebKit::WebProcess::prefetchDNS):
        * WebProcess/WebProcess.h:
        * config.h:

2015-11-19  Simon Fraser  <simon.fraser@apple.com>

        Back-buffer to front-buffer copy fails for some buffer formats
        https://bugs.webkit.org/show_bug.cgi?id=151475
        rdar://problem/23617899

        Reviewed by Tim Horton.
        
        When displaying RemoteLayerBackingStore, we copy the back buffer to the front
        buffer before painting the updated regions. For buffers using Format::RGB10A8,
        the CGImage-based copy fails, so in this case, use IOSurface::copyToSurface().
        
        Reorganized RemoteLayerBackingStore::drawInContext() to make this a bit easier
        to understand. First, we either copy the entire surface over, or paint the backImage.
        Then we clip to the dirty rects, and clear them, then paint the layer contents.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::display):
        (WebKit::RemoteLayerBackingStore::drawInContext):

2015-11-19  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r192667 and r192668.
        https://bugs.webkit.org/show_bug.cgi?id=151476

        broke api tests (Requested by alexchristensen on #webkit).

        Reverted changesets:

        "Remove the non-NetworkProcess configurations"
        https://bugs.webkit.org/show_bug.cgi?id=151418
        http://trac.webkit.org/changeset/192667

        "Fix GTK Build after r192667."
        http://trac.webkit.org/changeset/192668

2015-11-19  Alex Christensen  <achristensen@webkit.org>

        Fix GTK Build after r192667.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextConstructed):
        (webkit_web_context_set_process_model):
        (webkit_web_context_get_process_model):
        (toWebKitProcessModel): Deleted.
        (injectedBundleDirectory): Deleted.

2015-11-19  Alex Christensen  <achristensen@webkit.org>

        Remove the non-NetworkProcess configurations
        https://bugs.webkit.org/show_bug.cgi?id=151418

        Reviewed by Geoffrey Garen.

        This patch assumes ENABLE(NETWORK_PROCESS) is always 1, usesNetworkProcess is always true, 
        and ProcessModel is always ProcessModelMultipleSecondaryProcesses.  It does this by removing
        the checks and the code that would be executed with other configurations.

        * CMakeLists.txt:
        * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
        (NetworkProcessMain):
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
        (NetworkServiceInitializer):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::filesInBlob):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::blobSize):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkLoad.cpp:
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkLoadClient.h:
        * NetworkProcess/NetworkLoadParameters.cpp:
        (WebKit::NetworkLoadParameters::NetworkLoadParameters):
        * NetworkProcess/NetworkLoadParameters.h:
        * NetworkProcess/NetworkProcess.cpp:
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/NetworkResourceLoader.messages.in:
        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::clearDiskCache):
        * NetworkProcess/efl/NetworkProcessMainEfl.cpp:
        (WebKit::NetworkProcessMainUnix):
        * NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
        (WebKit::NetworkProcessMainUnix):
        * NetworkProcess/ios/NetworkProcessIOS.mm:
        * NetworkProcess/mac/NetworkLoadMac.mm:
        * NetworkProcess/mac/NetworkProcessMac.mm:
        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::platformTerminate):
        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
        (WebKit::RemoteNetworkingContext::storageSession):
        * Shared/API/c/WKDeprecatedFunctions.cpp:
        (WKInspectorToggleJavaScriptProfiling):
        (WKContextSetProcessModel):
        (WKContextGetProcessModel):
        (WKContextSetUsesNetworkProcess):
        (WKGraphicsContextGetCGContext):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::initialize):
        (WebKit::CustomProtocolManager::addCustomProtocol):
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
        (WebKit::CustomProtocolManager::supplementName):
        (WebKit::CustomProtocolManager::initialize):
        (WebKit::CustomProtocolManager::registerScheme):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * Shared/Network/NetworkProcessSupplement.h:
        (WebKit::NetworkProcessSupplement::initialize):
        * Shared/Network/NetworkResourceLoadParameters.cpp:
        (WebKit::NetworkResourceLoadParameters::decode):
        * Shared/Network/NetworkResourceLoadParameters.h:
        * Shared/ProcessExecutablePath.h:
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * Shared/efl/ProcessExecutablePathEfl.cpp:
        (WebKit::executablePathOfPluginProcess):
        (WebKit::executablePathOfNetworkProcess):
        (WebKit::executablePathOfDatabaseProcess):
        * Shared/gtk/ProcessExecutablePathGtk.cpp:
        (WebKit::executablePathOfPluginProcess):
        (WebKit::executablePathOfNetworkProcess):
        (WebKit::executablePathOfDatabaseProcess):
        * Shared/mac/CookieStorageShim.h:
        * Shared/mac/CookieStorageShim.mm:
        (-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):
        * Shared/mac/CookieStorageShimLibrary.cpp:
        * Shared/mac/CookieStorageShimLibrary.h:
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::createWithLegacyOptions):
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/APISession.cpp:
        (API::Session::~Session):
        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toAPI):
        (WebKit::toFontSmoothingLevel):
        (WebKit::toProcessModel): Deleted.
        * UIProcess/API/C/WKContext.cpp:
        (WKContextGetCacheModel):
        (WKContextSetMaximumNumberOfProcesses):
        (WKContextSetJavaScriptGarbageCollectorTimerEnabled):
        (WKContextUseTestingNetworkSession):
        (WKContextSetProcessModel): Deleted.
        (WKContextGetProcessModel): Deleted.
        (WKContextSetUsesNetworkProcess): Deleted.
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/mac/WKContextPrivateMac.mm:
        (WKContextGetNetworkProcessIdentifier):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup initWithInjectedBundleURL:]):
        * UIProcess/API/Cocoa/WKProcessPool.mm:
        * UIProcess/API/efl/ewk_context.cpp:
        (ewk_context_process_model_set):
        (ewk_context_process_model_get):
        (ewk_context_tls_error_policy_get):
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::updateProcessSuppressionState):
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
        (WebKit::WebProcessPool::platformInvalidateContext):
        * UIProcess/Downloads/DownloadProxy.cpp:
        (WebKit::DownloadProxy::cancel):
        (WebKit::DownloadProxy::invalidate):
        * UIProcess/Launcher/ProcessLauncher.cpp:
        (WebKit::ProcessLauncher::processTypeAsString):
        (WebKit::ProcessLauncher::getProcessTypeFromString):
        * UIProcess/Launcher/ProcessLauncher.h:
        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::computeProcessShimPath):
        (WebKit::serviceName):
        (WebKit::shouldLeakBoost):
        (WebKit::createProcess):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Network/NetworkProcessProxy.messages.in:
        * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
        * UIProcess/Network/soup/NetworkProcessProxySoup.cpp:
        (WebKit::NetworkProcessProxy::platformGetLaunchOptions):
        * UIProcess/ProcessModel.h: Removed.
        * UIProcess/WebCookieManagerProxy.cpp:
        (WebKit::WebCookieManagerProxy::shouldTerminate):
        (WebKit::WebCookieManagerProxy::refWebContextSupplement):
        (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
        (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::inspectorProcessPool):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::reattachToWebProcess):
        (WebKit::WebPageProxy::setSessionID):
        (WebKit::WebPageProxy::initializeWebPage):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::create):
        (WebKit::WebProcessPool::WebProcessPool):
        (WebKit::WebProcessPool::~WebProcessPool):
        (WebKit::WebProcessPool::initializeClient):
        (WebKit::WebProcessPool::setDownloadClient):
        (WebKit::WebProcessPool::setMaximumNumberOfProcesses):
        (WebKit::WebProcessPool::networkingProcessConnection):
        (WebKit::WebProcessPool::languageChanged):
        (WebKit::WebProcessPool::textCheckerStateChanged):
        (WebKit::WebProcessPool::ensureNetworkProcess):
        (WebKit::WebProcessPool::getNetworkProcessConnection):
        (WebKit::WebProcessPool::ensureDatabaseProcess):
        (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
        (WebKit::WebProcessPool::processDidCachePage):
        (WebKit::WebProcessPool::createNewWebProcess):
        (WebKit::WebProcessPool::disconnectProcess):
        (WebKit::WebProcessPool::createWebPage):
        (WebKit::WebProcessPool::download):
        (WebKit::WebProcessPool::resumeDownload):
        (WebKit::WebProcessPool::postMessageToInjectedBundle):
        (WebKit::WebProcessPool::setAdditionalPluginsDirectory):
        (WebKit::WebProcessPool::networkProcessIdentifier):
        (WebKit::WebProcessPool::setAlwaysUsesComplexTextCodePath):
        (WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
        (WebKit::WebProcessPool::registerURLSchemeAsLocal):
        (WebKit::WebProcessPool::setCacheModel):
        (WebKit::WebProcessPool::setDefaultRequestTimeoutInterval):
        (WebKit::WebProcessPool::createDownloadProxy):
        (WebKit::WebProcessPool::addMessageReceiver):
        (WebKit::WebProcessPool::useTestingNetworkSession):
        (WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
        (WebKit::WebProcessPool::requestWebContentStatistics):
        (WebKit::WebProcessPool::requestNetworkingStatistics):
        (WebKit::WebProcessPool::handleMessage):
        (WebKit::WebProcessPool::setProcessModel): Deleted.
        (WebKit::WebProcessPool::setUsesNetworkProcess): Deleted.
        (WebKit::WebProcessPool::usesNetworkProcess): Deleted.
        (WebKit::WebProcessPool::ensureSharedWebProcess): Deleted.
        * UIProcess/WebProcessPool.h:
        (WebKit::WebProcessPool::sendToNetworkingProcess):
        (WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
        (WebKit::WebProcessPool::sendToAllProcessesRelaunchingThemIfNecessary):
        (WebKit::WebProcessPool::sendToOneProcess):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::removeWebPage):
        (WebKit::WebProcessProxy::getPluginProcessConnection):
        (WebKit::WebProcessProxy::getNetworkProcessConnection):
        (WebKit::WebProcessProxy::getDatabaseProcessConnection):
        (WebKit::WebProcessProxy::updateTextCheckerState):
        (WebKit::WebProcessProxy::didSaveToPageCache):
        (WebKit::WebProcessProxy::didCancelProcessSuspension):
        (WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState):
        (WebKit::WebProcessProxy::didSetAssertionState):
        (WebKit::WebProcessProxy::createDownloadProxy): Deleted.
        * UIProcess/WebProcessProxy.h:
        (WebKit::WebProcessProxy::throttler):
        * UIProcess/WebProcessProxy.messages.in:
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::~WebsiteDataStore):
        (WebKit::WebsiteDataStore::cloneSessionData):
        * UIProcess/gtk/WebProcessPoolGtk.cpp:
        (WebKit::initInspectorServer):
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        (WebKit::WebProcessPool::setIgnoreTLSErrors):
        * UIProcess/soup/WebProcessPoolSoup.cpp:
        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebKit2Prefix.h:
        * WebProcess/FileAPI/BlobRegistryProxy.cpp:
        (WebKit::BlobRegistryProxy::registerFileBlobURL):
        (WebKit::BlobRegistryProxy::registerBlobURL):
        (WebKit::BlobRegistryProxy::unregisterBlobURL):
        (WebKit::BlobRegistryProxy::registerBlobURLForSlice):
        (WebKit::BlobRegistryProxy::blobSize):
        * WebProcess/FileAPI/BlobRegistryProxy.h:
        * WebProcess/Network/NetworkProcessConnection.cpp:
        * WebProcess/Network/NetworkProcessConnection.h:
        * WebProcess/Network/NetworkProcessConnection.messages.in:
        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::networkProcessCrashed):
        * WebProcess/Network/WebResourceLoadScheduler.h:
        * WebProcess/Network/WebResourceLoader.cpp:
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
        (WebKit::initializeBrowserFuncs):
        (WebKit::netscapeBrowserFuncs):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::registerRedirect):
        (WebKit::NetscapePlugin::urlRedirectResponse):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::cookiesForDOM):
        (WebKit::WebPlatformStrategies::setCookiesFromDOM):
        (WebKit::WebPlatformStrategies::cookiesEnabled):
        (WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
        (WebKit::WebPlatformStrategies::getRawCookies):
        (WebKit::WebPlatformStrategies::deleteCookie):
        (WebKit::WebPlatformStrategies::resourceLoadScheduler):
        (WebKit::WebPlatformStrategies::loadResourceSynchronously):
        (WebKit::WebPlatformStrategies::createPingHandle):
        (WebKit::WebPlatformStrategies::createBlobRegistry):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::startDownload):
        (WebKit::WebFrame::convertMainResourceLoadToDownload):
        (WebKit::WebFrame::source):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess):
        (WebKit::WebProcess::initializeConnection):
        (WebKit::WebProcess::initializeWebProcess):
        (WebKit::WebProcess::ensureNetworkProcessConnection):
        (WebKit::WebProcess::registerURLSchemeAsEmptyDocument):
        (WebKit::WebProcess::destroyPrivateBrowsingSession):
        (WebKit::WebProcess::pluginProcessConnectionManager):
        (WebKit::WebProcess::shouldTerminate):
        (WebKit::WebProcess::setInjectedBundleParameters):
        (WebKit::WebProcess::networkConnection):
        (WebKit::WebProcess::webResourceLoadScheduler):
        (WebKit::WebProcess::webToDatabaseProcessConnectionClosed):
        (WebKit::WebProcess::setEnhancedAccessibility):
        (WebKit::WebProcess::prefetchDNS):
        (WebKit::WebProcess::didCreateDownload): Deleted.
        (WebKit::WebProcess::didDestroyDownload): Deleted.
        (WebKit::WebProcess::downloadProxyConnection): Deleted.
        (WebKit::WebProcess::downloadsAuthenticationManager): Deleted.
        (WebKit::WebProcess::downloadManager): Deleted.
        (WebKit::WebProcess::usesNetworkProcess): Deleted.
        (WebKit::WebProcess::downloadRequest): Deleted.
        (WebKit::WebProcess::resumeDownload): Deleted.
        (WebKit::WebProcess::cancelDownload): Deleted.
        * WebProcess/WebProcess.h:
        (WebKit::WebProcess::textCheckerState):
        (WebKit::WebProcess::eventDispatcher):
        * WebProcess/WebProcess.messages.in:
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformSetCacheModel):
        (WebKit::WebProcess::platformClearResourceCaches):
        (WebKit::WebProcess::platformInitializeWebProcess):
        (WebKit::WebProcess::platformTerminate):
        (WebKit::WebProcess::setIgnoreTLSErrors):
        (WebKit::WebProcess::allowSpecificHTTPSCertificateForHost):
        (WebKit::getCacheDiskFreeSize): Deleted.
        (WebKit::setSoupSessionAcceptLanguage): Deleted.
        (WebKit::languageChanged): Deleted.
        * config.h:

2015-11-19  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL] Fix Wreturn-type clang warning in EWK2UnitTestBase.cpp
        https://bugs.webkit.org/show_bug.cgi?id=151444

        Reviewed by Darin Adler.

        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):

2015-11-19  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL] Fix -Winconsistent-missing-override clang warnings
        https://bugs.webkit.org/show_bug.cgi?id=151443

        Reviewed by Darin Adler.

        * Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        (WebKit::CoordinatedDrawingArea::layerTreeStateIsFrozen):
        (WebKit::CoordinatedDrawingArea::layerTreeHost):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
        (WebKit::CoordinatedLayerTreeHost::layerTreeContext):
        (WebKit::CoordinatedLayerTreeHost::pauseRendering):
        (WebKit::CoordinatedLayerTreeHost::resumeRendering):

2015-11-18  Alex Christensen  <achristensen@webkit.org>

        Progress towards implementing Downloads with NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=151414

        Reviewed begrudgingly by Brady Eidson.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        (WebKit::NetworkConnectionToWebProcess::startDownload):
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::NetworkLoad):
        (WebKit::NetworkLoad::didReceiveChallenge):
        (WebKit::NetworkLoad::didReceiveResponse):
        (WebKit::NetworkLoad::didReceiveData):
        * NetworkProcess/NetworkLoad.h:
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
        (WebKit::NetworkProcess::downloadRequest):
        (WebKit::NetworkProcess::resumeDownload):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::cleanup):
        (WebKit::NetworkResourceLoader::didConvertHandleToDownload):
        (WebKit::NetworkResourceLoader::abort):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (toNSURLSessionResponseDisposition):
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
        (-[NetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
        (-[NetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
        (-[NetworkSessionDelegate URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:]):
        (-[NetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::cancelSingleChallenge):
        (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
        * Shared/Downloads/Download.h:
        * Shared/Downloads/DownloadManager.cpp:
        (WebKit::DownloadManager::DownloadManager):
        (WebKit::DownloadManager::startDownload):
        (WebKit::DownloadManager::convertHandleToDownload):
        (WebKit::DownloadManager::resumeDownload):
        (WebKit::DownloadManager::cancelDownload):
        (WebKit::DownloadManager::downloadFinished):
        (WebKit::DownloadManager::didCreateDownload):
        * Shared/Downloads/DownloadManager.h:
        (WebKit::DownloadManager::isDownloading):
        (WebKit::DownloadManager::activeDownloadCount):
        * Shared/Downloads/mac/DownloadMac.mm:
        (WebKit::Download::start):
        (WebKit::Download::startWithHandle):
        (WebKit::Download::resume):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::download):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::canCachePage):
        (WebKit::WebFrameLoaderClient::convertMainResourceLoadToDownload):
        (WebKit::WebFrameLoaderClient::createFrame):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::startDownload):
        (WebKit::WebFrame::convertMainResourceLoadToDownload):
        (WebKit::WebFrame::source):
        * WebProcess/WebPage/WebFrame.h:
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::downloadRequest):
        (WebKit::WebProcess::resumeDownload):
        (WebKit::WebProcess::releasePageCache):
        (WebKit::WebProcess::fetchWebsiteData):
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2015-11-18  Chris Dumez  <cdumez@apple.com>

        Clean up / optimize NetworkCacheSubresourcesEntry
        https://bugs.webkit.org/show_bug.cgi?id=151405

        Reviewed by Antti Koivisto.

        Clean up / optimize NetworkCacheSubresourcesEntry:
        - Remove m_sourceStorageRecord data member
        - Avoid copying the Key when constructing it

        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::encodeAsSubresourcesRecord):
        * NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
        (WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
        * NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:

2015-11-18  Jer Noble  <jer.noble@apple.com>

        Expose WebCore's AudioPlaybackRequiresUserGesture setting to WebKit & WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=151274

        Reviewed by Anders Carlsson.

        Add a new, private, WKWebViewConfiguration property, _requiresUserActionForAudioPlayback,
        and use that configuration property to set WebCore's AudioPlaybackRequiresUserGesture setting
        during page creation.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetAudioPlaybackRequiresUserGesture): Add legacy C API for setting this new WK preference.
        (WKPreferencesGetAudioPlaybackRequiresUserGesture): Ditto.
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]): Set the page configuration value from preferences.
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]): Default the value of the new configuration property to YES for iOS.
        (-[WKWebViewConfiguration copyWithZone:]): Copy the value across.
        (-[WKWebViewConfiguration _requiresUserActionForAudioPlayback]): Simple getter.
        (-[WKWebViewConfiguration _setRequiresUserActionForAudioPlayback:]): Simple setter.
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Set WebCore's audioPlaybackRequiresUserGesture Setting.

2015-11-18  Daniel Bates  <dabates@apple.com>

        [iOS] ASSERTION FAILED: temporaryFilePath.last() == '/' in WebCore::openTemporaryFile()
        https://bugs.webkit.org/show_bug.cgi?id=151392
        <rdar://problem/23595341>

        Reviewed by Alexey Proskuryakov.

        Workaround <rdar://problem/23579077> where confstr(_CS_DARWIN_USER_TEMP_DIR, ..., ...) retrieves
        the path to the user temporary directory without a trailing slash in the iOS simulator.

        * Shared/mac/SandboxExtensionMac.mm:
        (WebKit::SandboxExtension::createHandleForTemporaryFile): Add a path separator (/) between the directory path and filename.

2015-11-17  Geoffrey Garen  <ggaren@apple.com>

        A window with a hung tab waits 5s before closing
        https://bugs.webkit.org/show_bug.cgi?id=151319

        Reviewed by Anders Carlsson.

        I manually tested that I did not break unload events upon window close
        by running run-webkit-httpd and invoking a 1x1 image load of
        http://127.0.0.1:8000/navigation/resources/save-Ping.php from an unload
        handler.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::tryClose): Use the sudden termination bit to
        close without waiting for a response.

        * UIProcess/WebProcessProxy.h:
        (WebKit::WebProcessProxy::isSuddenTerminationEnabled): Expose the bit.

2015-11-17  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Web Process crashes on reparenting a WebView with AC mode on
        https://bugs.webkit.org/show_bug.cgi?id=151139

        Reviewed by Mario Sanchez Prada.

        When the web view is reparented, the widget is first unrealized,
        and then realized again when added to the new parent. In the
        second realize, the old redirected XComposite window is destroyed
        and a new one is created, but the web process is still using the
        old redirected window ID. As soon as the redirected window is
        destroyed and the web process tries to use the window ID, it
        crashes due to a BadDrawable X error. We have to notify the web
        process as soon as the web view is unrealized to stop using the
        current window ID and exit accelerated compositing mode until a
        new window ID is given. This notification needs to be synchronous,
        because the window can be destroyed in the UI process before the
        message is received in the web process.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseRealize): Add an assert to ensure we never have
        a redirected window when the view is realized. Also check drawing
        area is not nullptr, since it can be destroyed at any time if the
        web process crashes.
        (webkitWebViewBaseUnrealize): Call
        DrawingAreaProxyImpl::destroyNativeSurfaceHandleForCompositing()
        and destroy the redirected XComposite window.
        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::destroyNativeSurfaceHandleForCompositing):
        Send DestroyNativeSurfaceHandleForCompositing synchronous messsage
        to the web process.
        * UIProcess/DrawingAreaProxyImpl.h:
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/DrawingArea.messages.in: Add
        DestroyNativeSurfaceHandleForCompositing message.
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::destroyNativeSurfaceHandleForCompositing):
        Set the native surface handler for compositing to 0 to reset it.
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::makeContextCurrent): Return false
        early always when layer tree context ID is 0, even if we already
        have a context.
        (WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
        Cancel any pending layer flush when setting a new handler.

2015-11-16  Alex Christensen  <achristensen@webkit.org>

        Fix CMake build and make PluginProcess executable
        https://bugs.webkit.org/show_bug.cgi?id=151332

        Reviewed by Tim Horton.

        * PlatformMac.cmake:

2015-11-16  Tim Horton  <timothy_horton@apple.com>

        Multi-WKWebView find completes after the first view
        https://bugs.webkit.org/show_bug.cgi?id=151325

        Reviewed by Anders Carlsson.

        * UIProcess/mac/WKTextFinderClient.mm:
        (-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
        Update progress before calling the completion handler; NSTextFinder assumes
        that if the progress doesn't change, the search is complete.

2015-11-16  Ryuan Choi  <ryuan.choi@navercorp.com>

        WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction calls an std::function after it's been moved from
        https://bugs.webkit.org/show_bug.cgi?id=151248

        Reviewed by Darin Adler.

        Like r188287, calling an empty std::function results in a std::bad_function_call
        exception being thrown when sendSync is failed.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2015-11-16  Beth Dakin  <bdakin@apple.com>

        Add SPI for handling inline link navigation for peek/pop
        https://bugs.webkit.org/show_bug.cgi?id=151270
        -and corresponding-
        rdar://problem/22233739

        Reviewed by Darin Adler.

        This patch adds three new SPI methods. If a client wants to disable previews 
        entirely for the given element, they should return NO in 
        shouldPreviewElement:. Returning NO in shouldPreviewElement will prevent the 
        other methods from being invoked. The client can provide a custom preview by 
        returning their own UIViewController from 
        previewingViewControllerForElement:defaultActions:. Returning nil will result 
        in the default preview behavior for that element. This will allow clients to 
        implement this method to handle http link navigation inline, but still opt 
        into UIKit’s built-in DataDetectors behaviors for DD links once we start 
        supporting DD links in WK2. 
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

        Added linkURL to _WKElementInfo. linkURL will be nil for elements that are 
        not links.
        * UIProcess/API/Cocoa/_WKElementInfo.h:
        * UIProcess/API/Cocoa/_WKElementInfo.mm:
        (-[_WKElementInfo copyWithZone:]):
        (-[_WKElementInfo linkURL]):
        * UIProcess/API/Cocoa/_WKElementInfoInternal.h: Added.

        _WKPreviewingElementInfo inherits from _WKElementInfo. Added a constructor.
        * UIProcess/API/Cocoa/_WKPreviewElementInfo.h: Added.
        * UIProcess/API/Cocoa/_WKPreviewElementInfo.mm: Added.
        (-[_WKPreviewElementInfo _initWithLinkURL:]):
        * UIProcess/API/Cocoa/_WKPreviewElementInfoInternal.h: Added.

        Invoke shouldPreviewElement:.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):

        Invoke previewingViewControllerForElement: for all potentially preview-able 
        elements that have a default implementations, which will be limited to links 
        at this time.
        (-[WKContentView _presentedViewControllerForPreviewItemController:]):

        Invoke commitPreviewingViewController:
        (-[WKContentView _previewItemController:commitPreview:]):
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-16  Anders Carlsson  <andersca@apple.com>

        Add identifier strings for a bunch of context menu items
        https://bugs.webkit.org/show_bug.cgi?id=151272

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm: Added.
        * UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h: Added.
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::menuItemIdentifier):
        (WebKit::WebContextMenuProxyMac::createShareMenuItem):
        (WebKit::WebContextMenuProxyMac::createContextMenuItem):
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-16  Simon Fraser  <simon.fraser@apple.com>

        Sort the Xcode project files.

        * WebKit2.xcodeproj/project.pbxproj:

2015-11-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r192445, r192451, and r192452.
        https://bugs.webkit.org/show_bug.cgi?id=151291

        Broke Mavericks build (and thus EWS) (Requested by ap on
        #webkit).

        Reverted changesets:

        "Add identifier strings for a bunch of context menu items"
        https://bugs.webkit.org/show_bug.cgi?id=151272
        http://trac.webkit.org/changeset/192445

        "Try to fix the 32-bit build"
        http://trac.webkit.org/changeset/192451

        "Try to fix the 32-bit build"
        http://trac.webkit.org/changeset/192452

2015-11-13  Timothy Horton  <timothy_horton@apple.com>

        Try to fix the 32-bit build

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::createShareMenuItem):

2015-11-13  Timothy Horton  <timothy_horton@apple.com>

        Try to fix the 32-bit build

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::menuItemIdentifier):

2015-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>

        WK2 iOS interaction tests in LayoutTests/fast/events/ios are flaky
        https://bugs.webkit.org/show_bug.cgi?id=151199
        <rdar://problem/23518459>

        Reviewed by Tim Horton.

        While transforming touch positions from document to global coordinates, HIDEventGenerator
        sometimes uses an old scale of the webview in computing the transformed position. This happens
        in spite of how we force the UI script to run after the UI process receives a layer tree commit
        because we invoke the callback before calling WebPageProxy::didCommitLayerTree, which is where
        we actually use the layer transaction information to update the WKWebView.

        To fix this, we run the drawing-ensured callbacks after committing the layer tree, so the
        callbacks will have updated information about the web view's scale and dimensions.

        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

2015-11-13  Tim Horton  <timothy_horton@apple.com>

        Support printing in WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=151276
        <rdar://problem/23525715>

        Reviewed by Beth Dakin.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _printOperationWithPrintInfo:]):
        (-[WKWebView _printOperationWithPrintInfo:forFrame:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        Expose SPI similar to what we have on WKView.

2015-11-13  Joseph Pecoraro  <pecoraro@apple.com>

        Follow-up to r192437. Add availability macros.

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2015-11-13  Anders Carlsson  <andersca@apple.com>

        Add identifier strings for a bunch of context menu items
        https://bugs.webkit.org/show_bug.cgi?id=151272

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm: Added.
        * UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h: Added.
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::menuItemIdentifier):
        (WebKit::WebContextMenuProxyMac::createShareMenuItem):
        (WebKit::WebContextMenuProxyMac::createContextMenuItem):
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-13  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Provide a way to override the WKWebView remote inspector name
        https://bugs.webkit.org/show_bug.cgi?id=151075

        Reviewed by Tim Horton.

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _remoteInspectionNameOverride]):
        (-[WKWebView _setRemoteInspectionNameOverride:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setRemoteInspectionNameOverride):
        (WebKit::WebPageProxy::creationParameters):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::remoteInspectionNameOverride):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::m_shouldDispatchFakeMouseMoveEvents):
        (WebKit::WebPage::setRemoteInspectionNameOverride):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-11-13  Tim Horton  <timothy_horton@apple.com>

        Hardware keyboard spacebar scrolls too far on iOS
        https://bugs.webkit.org/show_bug.cgi?id=151227
        <rdar://problem/23500681>

        Reviewed by Simon Fraser.

        There were two bugs conspiring here to make spacebar scrolling very wrong on iOS:

        1) Incoming key events were being handled twice
            - fix this by only propagating the event to super if we don't
            end up handling the event ourselves

        2) _scrollByOffset was not converting the offset delta out of content coordinates
            - fix this by doing the relevant conversion and renaming the function
            to make it more clear exactly what it does

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _scrollByContentOffset:]):
        (-[WKWebView _scrollByOffset:]): Deleted.
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        Rename to _scrollByContentOffset to make it clear that this is
        in content coordinates, and do the conversion from content coordinates
        (apply the scale) so that we scroll by the right amount.

        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::doneWithKeyEvent):
        Pass whether the event was handled through to WKContentView.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKWebEvent dealloc]):
        Add WKWebEvent, which is a WebEvent and retains a reference to the UIEvent
        from which it came.

        (-[WKContentView _handleKeyUIEvent:]):
        Only pass the event to super immediately if we don't try to handle it.
        We'll re-send it to super asynchronously if we decide not to handle it.

        (-[WKContentView handleKeyEvent:]):
        If we're in the middle of resending an event we didn't handle the first
        time, just ignore it.

        Make a WKWebEvent and store the UIEvent on it.

        (-[WKContentView _didHandleKeyEvent:eventWasHandled:]):
        If the event wasn't handled, and is one of our special events with a
        wrapped UIEvent, resend it to super. We'll ignore it as noted above.

        (-[WKContentView _interpretKeyEvent:isCharEvent:]):
        Factor out unobscured content rect retrieval.
        Make use of Scrollbar::pageStep to match the Mac behavior of not
        scrolling quite a whole page when scrolling with the spacebar.

2015-11-12  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Fix wrong test case for window_create since r192196
        https://bugs.webkit.org/show_bug.cgi?id=151247

        Reviewed by Gyuyoung Kim.

        r192196 introduces new test cases for window_create but there are typos which hide bug
        This patch fixes typos and split ewk_view_create_window test case.

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

2015-11-12  Anders Carlsson  <andersca@apple.com>

        Add a context menu delegate method that takes a userInfo parameter
        https://bugs.webkit.org/show_bug.cgi?id=151232

        Reviewed by Tim Horton.

        * UIProcess/API/APIContextMenuClient.h:
        (API::ContextMenuClient::menuFromProposedMenu):
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):

2015-11-12  Anders Carlsson  <andersca@apple.com>

        ContextMenuAction and WebMenuItemTag shouldn't have to be in sync
        https://bugs.webkit.org/show_bug.cgi?id=151226

        Reviewed by Tim Horton.

        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toAPI):
        (WebKit::toImpl):
        Remove ContextMenuItemTagOpenLinkInThisWindow.

2015-11-12  Anders Carlsson  <andersca@apple.com>

        ContextMenuController::contextMenuItemSelected only needs the action and title, not the full item
        https://bugs.webkit.org/show_bug.cgi?id=151217

        Reviewed by Joseph Pecoraro.

        * WebProcess/WebPage/WebContextMenu.cpp:
        (WebKit::WebContextMenu::itemSelected):

2015-11-12  Anders Carlsson  <andersca@apple.com>

        Remove an unused function
        https://bugs.webkit.org/show_bug.cgi?id=151215

        Reviewed by Joseph Pecoraro.

        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
        (WebKit::WebContextMenuClient::contextMenuItemSelected): Deleted.
        * WebProcess/WebCoreSupport/WebContextMenuClient.h:

2015-11-11  Anders Carlsson  <andersca@apple.com>

        Enable cross-platform context menus by default
        https://bugs.webkit.org/show_bug.cgi?id=151173

        Reviewed by Tim Horton.

        * Shared/WebContextMenuItemData.cpp:
        (WebKit::WebContextMenuItemData::WebContextMenuItemData): Deleted.
        * WebProcess/WebPage/WebContextMenu.cpp:
        (WebKit::WebContextMenu::menuItemsWithUserData): Deleted.

2015-11-12  Dan Bernstein  <mitz@apple.com>

        Fixed the build.

        * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
        (PluginServiceInitializer):

2015-11-12  Csaba Osztrogonác  <ossy@webkit.org>

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

        Reviewed by Darin Adler.

        * Configurations/FeatureDefines.xcconfig:

2015-11-11  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Print result of memory sampler more readable
        https://bugs.webkit.org/show_bug.cgi?id=151085

        Reviewed by Darin Adler.

        Current memory sampler prints result of memory sample horizontally. It makes us hard to read
        the result at a glance. To improve readability of the memory sampler result, this patch prints it
        vertically.

        * Shared/WebMemorySampler.cpp:
        (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
        (WebKit::WebMemorySampler::writeHeaders):

2015-11-11  Geoffrey Garen  <ggaren@apple.com>

        Rename handle.*Event to dispatch.*Event
        https://bugs.webkit.org/show_bug.cgi?id=151168

        Reviewed by Chris Dumez.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
        (WebKit::WebFrameLoaderClient::dispatchDidDispatchOnloadEvents):
        (WebKit::WebFrameLoaderClient::dispatchDidHandleOnloadEvents): Deleted.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2015-11-11  Anders Carlsson  <andersca@apple.com>

        Fix builds.

        * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
        (WebKit::WebContextMenuClient::shareMenuItem): Deleted.
        * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
        (WebKit::WebContextMenuClient::shareMenuItem): Deleted.

2015-11-11  Anders Carlsson  <andersca@apple.com>

        REGRESSION (r191407): Context menus are missing Services
        https://bugs.webkit.org/show_bug.cgi?id=151167
        rdar://problem/23500769

        Reviewed by Tim Horton.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        Use contentsToRootView to better indicate which coordinate system we're using.

        * WebProcess/WebPage/WebContextMenu.cpp:
        (WebKit::WebContextMenu::show):
        Use +[NSMenu popUpContextMenu:withEvent:forView:] so we'll get service menus where applicable.

2015-11-11  Anders Carlsson  <andersca@apple.com>

        Remove more dead context menu code
        https://bugs.webkit.org/show_bug.cgi?id=151163

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
        (WebKit::WebContextMenuClient::shareMenuItem): Deleted.

2015-11-11  Tim Horton  <timothy_horton@apple.com>

        Remove an unnecessary zero-delay timer from swipe snapshot removal
        https://bugs.webkit.org/show_bug.cgi?id=151161

        Reviewed by Anders Carlsson.

        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
        (WebKit::ViewGestureGeometryCollector::mainFrameDidLayout):
        (WebKit::ViewGestureGeometryCollector::ViewGestureGeometryCollector): Deleted.
        (WebKit::ViewGestureGeometryCollector::renderTreeSizeNotificationTimerFired): Deleted.
        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        There's no discernable reason for this zero-delay timer, and it dates back
        to the original swipe patch with no explanation given. My only theory
        is that I was depending on spinning the runloop to ensure we've painted,
        but we have other mechanisms to do that now, on both platforms.

        This also was a surprising waste of time in some cases where the web
        process was very slow.

2015-11-11  Chris Dumez  <cdumez@apple.com>

        Unreviewed attempt to fix the Mac CMake build.

        * CMakeLists.txt:

2015-11-11  Chris Dumez  <cdumez@apple.com>

        [WK2] Add initial support for speculative resource revalidation to the WebKit disk cache
        https://bugs.webkit.org/show_bug.cgi?id=150856
        <rdar://problem/23092196>

        Reviewed by Antti Koivisto.

        Add initial support for speculative resource revalidation to the WebKit
        disk cache. When a main resource is requested by WebCore, we look up its
        list of subresources in the cache and speculatively warm them up before
        WebCore asks for them, in order to improve page load time. In this
        context, warming it up means:
        1. If the cached resource is usable (has not expired), keep it around
           in a memory for a limited amount of time (10 seconds).
        2. If the resource has expired, do a speculative revalidation of the
           resource and then keep it in memory for a while as well (10 seconds).

        The feature is currently behind a compile-time flag that is only enabled
        on COCOA. Also, it is currently disabled at run-time until it is mature
        enough.

        Initial results show that speculative revalidation gives a ~5%
        progression on throttled warm PLT on iPhone 5s.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::start):
        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::retrieve):
        (WebKit::NetworkCache::Cache::store):
        (WebKit::NetworkCache::Cache::update):
        * NetworkProcess/cache/NetworkCache.h:
        * NetworkProcess/cache/NetworkCacheEntry.cpp:
        (WebKit::NetworkCache::Entry::Entry):
        * NetworkProcess/cache/NetworkCacheEntry.h:
        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp: Added.
        (WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
        (WebKit::NetworkCache::SpeculativeLoad::~SpeculativeLoad):
        (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
        (WebKit::NetworkCache::SpeculativeLoad::didReceiveBuffer):
        (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
        (WebKit::NetworkCache::SpeculativeLoad::didFailLoading):
        (WebKit::NetworkCache::SpeculativeLoad::didComplete):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h: Added.
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
        (WebKit::NetworkCache::constructRevalidationRequest):
        (WebKit::NetworkCache::responseNeedsRevalidation):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::PreloadedEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::takeCacheEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::PreloadedEntry::lifetimeTimerFired):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieve):
        (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::addPreloadedEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
        (WebKit::NetworkCache::SpeculativeLoadManager::satisfyPendingRequests):
        (WebKit::NetworkCache::SpeculativeLoadManager::revalidateEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
        (WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresource): Deleted.
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::encodeAsSubresourcesRecord): Deleted.
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-11  Anders Carlsson  <andersca@apple.com>

        _WKRemoteObjectInterface should handle specifying allowed classes for reply block arguments
        https://bugs.webkit.org/show_bug.cgi?id=151144

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/_WKRemoteObjectInterface.h:
        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (classesForSelectorArgument):
        (-[_WKRemoteObjectInterface classesForSelector:argumentIndex:ofReply:]):
        (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:ofReply:]):
        (-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
        (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):

2015-11-11  Tim Horton  <timothy_horton@apple.com>

        Add some font-related preferences to the modern API
        https://bugs.webkit.org/show_bug.cgi?id=151138
        <rdar://problem/23492636>

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _defaultFontSize]):
        (-[WKPreferences _setDefaultFontSize:]):
        (-[WKPreferences _defaultFixedPitchFontSize]):
        (-[WKPreferences _setDefaultFixedPitchFontSize:]):
        (-[WKPreferences _fixedPitchFontFamily]):
        (-[WKPreferences _setFixedPitchFontFamily:]):
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:

2015-11-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Runtime critical warnings when closing a page containing windowed plugins
        https://bugs.webkit.org/show_bug.cgi?id=151132

        Reviewed by Martin Robinson.

        This is because our plugin widget, that is a GtkPlug (derived from
        GtkWindow), can receive the delete-event signal before
        NetscapePlugin::platformDestroy is called. The delete-event
        signal, by default, destroys the window when the signal is not
        handled. So, after the delete-event the GtkPlug is destroyed, but
        our pointer hasn't been reset. We can handle the delete-event
        using gtk_widget_hide_on_delete as callback, so that the plugin
        widget is hidden instead of destroyed.

        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::NetscapePlugin::platformPostInitializeWindowed):

2015-11-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r191856): [GTK] SOCK_SEQPACKET no longer used after r191856
        https://bugs.webkit.org/show_bug.cgi?id=151129

        Reviewed by Martin Robinson.

        r191856 unconditionally disabled SOCK_SEQPACKET for GTK port.

        * Platform/IPC/unix/ConnectionUnix.cpp: Use always SOCK_SEQPACKET
        when available.

2015-11-10  Alex Christensen  <achristensen@webkit.org>

        Implement authentication challenge handling when using NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=150968

        Reviewed by Antti Koivisto.

        * NetworkProcess/NetworkLoad.cpp:
        (WebKit::NetworkLoad::didReceiveChallenge):
        Copy functionality from NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync (which is used when we don't use NETWORK_SESSION)
        because there is no canAuthenticateAgainstProtectionSpace delegate callback when using NSURLSession, according to
        https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/AuthenticationChallenges.html
        Instead, all authentication challenge callbacks go to URLSession:task:didReceiveChallenge:completionHandler:
        because we do not implement URLSession:didReceiveChallenge:completionHandler:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
        (-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        Make a block copy of the completion handlers so we can copy the std::functions that wrap them into HashMaps and call them later,
        in this case we call the completion handler after the UIProcess gives us credentials for an authentication challenge.
        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::AuthenticationManager):
        (WebKit::AuthenticationManager::addChallengeToChallengeMap):
        (WebKit::AuthenticationManager::shouldCoalesceChallenge):
        (WebKit::AuthenticationManager::coalesceChallengesMatching):
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        Fix an existing bug that caused multiple calls to addChallengeToChallengeMap for one challenge.  This caused too many calls to 
        the AuthenticationClient methods, which did not cause a problem because they were not one-time-use block copies of completion handlers before.
        (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::cancelChallenge):
        (WebKit::AuthenticationManager::cancelSingleChallenge):
        (WebKit::AuthenticationManager::performDefaultHandling):
        (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
        Call completion handlers which we stored in a HashMap before doing IPC if we are using NETWORK_SESSION,
        which has completion handlers instead of continueSomething client calls.
        * Shared/Authentication/AuthenticationManager.h:
        (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
        * Shared/Downloads/Download.cpp:
        (WebKit::Download::didReceiveAuthenticationChallenge):
        (WebKit::Download::didReceiveResponse):
        * Shared/Downloads/DownloadAuthenticationClient.cpp:
        (WebKit::DownloadAuthenticationClient::receivedChallengeRejection):
        * Shared/Downloads/DownloadAuthenticationClient.h:
        Add ifdefs for code related to downloading I will implement later.

2015-11-10  Simon Fraser  <simon.fraser@apple.com>

        Use different pixel formats for displays that support them
        https://bugs.webkit.org/show_bug.cgi?id=151122
        rdar://problem/22846841

        Reviewed by Tim Horton.
        
        New the new IOSurface formats when appropriate for the properties of the
        display.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::bufferFormat):
        (WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):

2015-11-10  Tim Horton  <timothy_horton@apple.com>

        Adopt formal protocols for CA delegates
        https://bugs.webkit.org/show_bug.cgi?id=151121
        <rdar://problem/6739193>

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/Cocoa/WebViewImpl.mm:
        * UIProcess/mac/WKTextFinderClient.mm:
        * UIProcess/mac/WebPageProxyMac.mm:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/cocoa/WebProcessCocoa.mm:
        Adapt to the split out SPI headers.

        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
        Conform!

2015-11-10  Dan Bernstein  <mitz@apple.com>

        Fixed the build.

        * DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
        (DatabaseServiceInitializer):
        * NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
        (NetworkServiceInitializer):
        * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
        (WebContentServiceInitializer):

2015-11-10  Chris Dumez  <cdumez@apple.com>

        [WK2][NetworkCache] Rename SpeculativeLoader to SpeculativeLoadManager
        https://bugs.webkit.org/show_bug.cgi?id=151110

        Reviewed by Alex Christensen.

        Rename SpeculativeLoader to SpeculativeLoadManager for clarity, as it
        manages all speculative loads.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::initialize):
        (WebKit::NetworkCache::Cache::retrieve):
        * NetworkProcess/cache/NetworkCache.h:
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp: Renamed from Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoader.cpp.
        (WebKit::NetworkCache::subresourcesType):
        (WebKit::NetworkCache::makeSubresourcesKey):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::PendingFrameLoad):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::registerSubresource):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::encodeAsSubresourcesRecord):
        (WebKit::NetworkCache::SpeculativeLoadManager::PendingFrameLoad::markAsCompleted):
        (WebKit::NetworkCache::SpeculativeLoadManager::SpeculativeLoadManager):
        (WebKit::NetworkCache::SpeculativeLoadManager::~SpeculativeLoadManager):
        (WebKit::NetworkCache::SpeculativeLoadManager::registerLoad):
        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h: Renamed from Source/WebKit2/NetworkProcess/cache/NetworkCacheSpeculativeLoader.h.
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-10  Tim Horton  <timothy_horton@apple.com>

        Add WKWebViewConfiguration SPI for a variety of different ex-preferences
        https://bugs.webkit.org/show_bug.cgi?id=151070
        <rdar://problem/23020454>

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]):
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration _setRespectsImageOrientation:]):
        (-[WKWebViewConfiguration _respectsImageOrientation]):
        (-[WKWebViewConfiguration _setPrintsBackgrounds:]):
        (-[WKWebViewConfiguration _printsBackgrounds]):
        (-[WKWebViewConfiguration _setIncrementalRenderingSuppressionTimeout:]):
        (-[WKWebViewConfiguration _incrementalRenderingSuppressionTimeout]):
        (-[WKWebViewConfiguration _setAllowsJavaScriptMarkup:]):
        (-[WKWebViewConfiguration _allowsJavaScriptMarkup]):
        (-[WKWebViewConfiguration _setConvertsPositionStyleOnCopy:]):
        (-[WKWebViewConfiguration _convertsPositionStyleOnCopy]):
        (-[WKWebViewConfiguration _setAllowsMetaRefresh:]):
        (-[WKWebViewConfiguration _allowsMetaRefresh]):
        (-[WKWebViewConfiguration _setShowsURLsInToolTips:]):
        (-[WKWebViewConfiguration _showsURLsInToolTips]):
        (-[WKWebViewConfiguration _setServiceControlsEnabled:]):
        (-[WKWebViewConfiguration _serviceControlsEnabled]):
        (-[WKWebViewConfiguration _setImageControlsEnabled:]):
        (-[WKWebViewConfiguration _imageControlsEnabled]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        Plumb some configuration SPI for various clients.

2015-11-10  Chris Dumez  <cdumez@apple.com>

        [WK2][iOS] Update WebContent sandbox profile to allow loading injected bundles again
        https://bugs.webkit.org/show_bug.cgi?id=151102
        <rdar://problem/23442311>

        Reviewed by Dan Bernstein.

        Update WebContent sandbox profile to allow loading injected bundles again.

        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

2015-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [UNIX] Environment variable should take precedence over directories in plugin search path
        https://bugs.webkit.org/show_bug.cgi?id=151096

        Reviewed by Martin Robinson.

        Otherwise you can't override the directories using the env vars
        for plugins already installed.

        * Shared/Plugins/unix/PluginSearchPath.cpp:
        (WebKit::pluginsDirectories):

2015-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use CROSS_PLATFORM_CONTEXT_MENUS
        https://bugs.webkit.org/show_bug.cgi?id=150642

        Reviewed by Martin Robinson.

        Use CROSS_PLATFORM_CONTEXT_MENUS. Since we can't just use
        WebContextMenuItemData, because we need to bind a GtkAction to the
        menu items, this patch adds WebContextMenuItemGtk that derives
        from WebContextMenuItemData and adds the GtkAction and its own
        handling of submenu items. WebKitContextMenu and
        WebKitContextMenuItem no longer deal with the widgets (GtkMenu and
        GtkMenuItem), that are now created by WebContextMenuProxy when
        building the popup menu.
        This patch also removes the support for input methods submenu,
        since it has been deprecated (and disabled by default) in GTK+ for
        long time, it has never actually worked (because the menu items
        don't have a GtkAction associated) and it makes the code more
        complicated for no benefit.

        * PlatformGTK.cmake:
        * Shared/gtk/WebContextMenuItemGtk.cpp: Added.
        (WebKit::gtkStockIDFromContextMenuAction):
        (WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk):
        (WebKit::WebContextMenuItemGtk::~WebContextMenuItemGtk):
        (WebKit::WebContextMenuItemGtk::createGtkActionIfNeeded):
        * Shared/gtk/WebContextMenuItemGtk.h: Copied from Source/WebKit2/UIProcess/gtk/WebContextMenuProxyGtk.h.
        (WebKit::WebContextMenuItemGtk::gtkAction):
        (WebKit::WebContextMenuItemGtk::submenuItems):
        * UIProcess/API/gtk/WebKitContextMenu.cpp:
        (webkitContextMenuPopulate):
        (webkitContextMenuCreate): Deleted.
        (webkitContextMenuSetParentItem): Deleted.
        * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
        (webkitContextMenuActionGetForContextMenuItem):
        * UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h:
        * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
        (webkitContextMenuItemSetSubMenu):
        (webkitContextMenuItemCreate):
        (webkitContextMenuItemToWebContextMenuItemGtk):
        (webkitContextMenuItemToWebContextMenuItemData):
        (webkit_context_menu_item_new):
        (webkit_context_menu_item_new_from_stock_action):
        (webkit_context_menu_item_new_from_stock_action_with_label):
        (webkit_context_menu_item_new_with_submenu):
        (webkit_context_menu_item_new_separator):
        (webkit_context_menu_item_get_action):
        (webkit_context_menu_item_get_stock_action):
        (webkit_context_menu_item_is_separator): Deleted.
        * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h:
        * UIProcess/API/gtk/WebKitContextMenuPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewPopulateContextMenu):
        (contextMenuDismissed): Deleted.
        (webkitWebViewSubmitFormRequest): Deleted.
        (webkitWebViewHandleAuthenticationChallenge): Deleted.
        (webkitWebViewInsecureContentDetected): Deleted.
        (webkitWebViewEmitRunColorChooser): Deleted.
        (webkitWebViewRequestInstallMissingMediaPlugins): Deleted.
        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::contextMenuItemActivatedCallback):
        (WebKit::WebContextMenuProxyGtk::append):
        (WebKit::WebContextMenuProxyGtk::populate):
        (WebKit::WebContextMenuProxyGtk::show):
        (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
        * UIProcess/gtk/WebContextMenuProxyGtk.h:
        (WebKit::WebContextMenuProxyGtk::gtkMenu):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

2015-11-09  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r192184.

        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::initialize):
        (WebKit::LayerTreeHostGtk::pageBackgroundTransparencyChanged):

2015-11-09  Eric Carlson  <eric.carlson@apple.com>

        [Mac] Add a mock AppleTV device for testing
        https://bugs.webkit.org/show_bug.cgi?id=148912
        <rdar://problem/22596272>

        Reviewed by Tim Horton.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encode): Update for MediaPlaybackTargetContext changes.
        (IPC::ArgumentCoder<MediaPlaybackTargetContext>::decode): Ditto.
        * Shared/WebCoreArgumentCoders.h:

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (IPC::ArgumentCoder<MediaPlaybackTargetContext>::encodePlatformData): Ditto.
        (IPC::ArgumentCoder<MediaPlaybackTargetContext>::decodePlatformData): Ditto.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setMockMediaPlaybackTargetPickerEnabled): New.
        (WebKit::WebPageProxy::setMockMediaPlaybackTargetPickerState): Ditto.
        * UIProcess/WebPageProxy.h:

        * UIProcess/WebPageProxy.messages.in: Add SetMockMediaPlaybackTargetPickerEnabled and 
          SetMockMediaPlaybackTargetPickerState.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::setMockMediaPlaybackTargetPickerEnabled): New.
        (WebKit::WebChromeClient::setMockMediaPlaybackTargetPickerState): Ditto.
        * WebProcess/WebCoreSupport/WebChromeClient.h:

        * WebProcess/WebPage/WebPage.h: MediaPlaybackTargetContext is a class, not a struct.

        * WebProcess/WebPage/WebPage.messages.in: Ditto.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::playbackTargetSelected): Support mock target.

2015-11-09  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Crash while opening child webview with EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
        https://bugs.webkit.org/show_bug.cgi?id=145924

        Reviewed by Gyuyoung Kim.

        There are some crashes when we clicked the link that opens child window
        via window.open or <a> tag with _blank target if process model is multiple
        secondary.

        It's because multiple secondary process model tries to assign new webprocess
        if related page is null. In order to keep the child window in same process
        with opener, we should pass related page when we create WebPageProxy.

        This patch adds ewk_view_configuration object and ewk_view_add_configuration()
        to pass related page to WebPageProxy.

        * PlatformEfl.cmake:
        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
        (WKViewCreate):
        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
        * UIProcess/API/efl/EWebKit2.h.in:
        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::createNewPage):
        * UIProcess/API/efl/ewk_view_configuration.cpp: Added.
        * UIProcess/API/efl/ewk_view_configuration.h: Added.
        * UIProcess/API/efl/ewk_view_configuration_private.h: Added.
        * UIProcess/API/efl/ewk_view.cpp:
        (EWKViewCreate):
        (ewk_view_smart_add):
        (ewk_view_add_with_configuration): Added to pass configuration.
        (ewk_view_add_with_context):
        * UIProcess/API/efl/ewk_view.h:
        * UIProcess/API/efl/ewk_view_private.h:
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
        (EWK2UnitTest::EWK2UnitTestBase::waitUntilTitleChangedTo):
        (EWK2UnitTest::EWK2UnitTestBase::waitUntilNotNull):
        * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
        * UIProcess/API/efl/tests/test_ewk2_view.cpp: Added test cases to test window_create smart method.
        (windowCreateCallback):
        (TEST_F):
        (EWK2ViewTestNewWindowWithMultipleProcesses::EWK2ViewTestNewWindowWithMultipleProcesses):
        * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
        (EWK2WindowFeaturesTest::createDefaultWindow):
        (EWK2WindowFeaturesTest::createWindow):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebView::create):
        (WebKit::WebViewEfl::WebViewEfl):
        * UIProcess/efl/WebViewEfl.h:

2015-11-09  Anders Carlsson  <andersca@apple.com>

        Don't call Vector::uncheckedAppend on a vector that we haven't reserved the capacity for
        https://bugs.webkit.org/show_bug.cgi?id=151069
        rdar://problem/23473435

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (initializeMethod):

2015-11-09  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * Shared/API/Cocoa/RemoteObjectRegistry.mm:
        (WebKit::RemoteObjectRegistry::callReplyBlock):

2015-11-09  Anders Carlsson  <andersca@apple.com>

        Add reply blocks to _WKRemoteObjectInterface similar to NSXPCConnection
        https://bugs.webkit.org/show_bug.cgi?id=151056
        rdar://problem/23222609

        Reviewed by Tim Horton.

        * Platform/spi/Cocoa/NSInvocationSPI.h:
        Add NSBlockInvocation declaration.

        * Shared/API/Cocoa/RemoteObjectInvocation.mm:
        (WebKit::RemoteObjectInvocation::encode):
        Encode true if we have a reply ID.

        * Shared/API/Cocoa/RemoteObjectRegistry.h:
        Add new members.

        * Shared/API/Cocoa/RemoteObjectRegistry.messages.in:
        Add new CallReplyBlock message.

        * Shared/API/Cocoa/RemoteObjectRegistry.mm:
        (WebKit::RemoteObjectRegistry::sendReplyBlock):
        Just send the CallReplyBlock message.

        (WebKit::RemoteObjectRegistry::callReplyBlock):
        Call through to _WKRemoteObjectRegistry.

        * Shared/API/Cocoa/WKRemoteObjectCoder.h:
        Pass an optional reply selector.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocationArguments):
        Don't hard-code the first argument index.

        (encodeInvocation):
        Encode block invocations.

        (-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:replyToSelector:]):
        Initialize _replyToSelector.

        (validateClass):
        NSBlockInvocation doesn't need to conform to NSSecureCoding.

        (decodeInvocationArguments):
        Don't hard-code the first argument, take it as a parameter instead.

        (decodeInvocation):
        Decode NSBlockInvocations (reply block invocations).

        (decodeObject):
        Check for NSBlockInvocation.

        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (-[_WKRemoteObjectInterface _methodSignatureForSelector:]):
        Return null if we can't find the method.

        (-[_WKRemoteObjectInterface _methodSignatureForReplyBlockOfSelector:]):
        Look up the reply block signature and return it.

        (-[_WKRemoteObjectInterface _allowedArgumentClassesForReplyBlockOfSelector:]):
        Look up the allowed reply argument classes and return them.

        * Shared/API/Cocoa/_WKRemoteObjectInterfaceInternal.h:
        Add new methods.

        * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
        (PendingReply::PendingReply):
        Add new object that represents a pending reply.

        (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
        If the invocation has a reply block, add a pending reply to our map.

        (-[_WKRemoteObjectRegistry _invokeMethod:]):
        If the method we're about to invoke has a reply block, construct a special reply block that calls us back with an invocation.
        Encode this invocation and send it back across the wire.

        (-[_WKRemoteObjectRegistry _callReplyWithID:blockInvocation:]):
        Find the pending reply, decode the reply block invocation and call it.

        * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
        Add new methods.

2015-11-09  Tim Horton  <timothy_horton@apple.com>

        Add drawsBackground SPI to WKWebView, and get rid of drawsTransparentBackground from WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=151054
        <rdar://problem/22907994>

        Reviewed by Simon Fraser.

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode): Deleted.
        (WebKit::WebPageCreationParameters::decode): Deleted.
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView setDrawsTransparentBackground:]):
        (-[WKView drawsTransparentBackground]):
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::updateLayer):
        (WebKit::WebViewImpl::setDrawsTransparentBackground): Deleted.
        (WebKit::WebViewImpl::drawsTransparentBackground): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy): Deleted.
        (WebKit::WebPageProxy::setDrawsTransparentBackground): Deleted.
        (WebKit::WebPageProxy::creationParameters): Deleted.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::drawsTransparentBackground): Deleted.
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage): Deleted.
        (WebKit::m_shouldDispatchFakeMouseMoveEvents): Deleted.
        (WebKit::WebPage::setDrawsTransparentBackground): Deleted.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::drawsTransparentBackground): Deleted.
        * WebProcess/WebPage/WebPage.messages.in:
        Get rid of drawsTransparentBackground. It doesn't seem like there's any observable
        difference in a layer-backed world. WKView's (set)drawsTransparentBackground
        will just forward to drawsBackground (inverted).

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _webProcessIsResponsive]):
        Move _webProcessIsResponsive up with the other cross-platform SPI methods, instead
        of below all of the platform-specific SPI methods.

        (-[WKWebView _drawsBackground]):
        (-[WKWebView _setDrawsBackground:]):
        Added.

        (-[WKWebView _drawsTransparentBackground]):
        (-[WKWebView _setDrawsTransparentBackground:]):
        Deleted.
        
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        Replace drawsTransparentBackground with drawsBackground.

2015-11-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: REGRESSION: 2nd level inspector should not be able to dock to first
        https://bugs.webkit.org/show_bug.cgi?id=151050

        Reviewed by Brian Burg.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCanAttach):
        Check now that the inspected view can be a WKWebView.

2015-11-09  Anders Carlsson  <andersca@apple.com>

        Introspect reply block types as well
        https://bugs.webkit.org/show_bug.cgi?id=151048

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (initializeMethod):
        (initializeMethods):
        (-[_WKRemoteObjectInterface debugDescription]):

2015-11-09  Anders Carlsson  <andersca@apple.com>

        Implement -[_WKRemoteObjectInterface debugDescription] and have it look like the NSXPCInterface equivalent
        https://bugs.webkit.org/show_bug.cgi?id=151044

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (-[_WKRemoteObjectInterface debugDescription]):
        (-[_WKRemoteObjectInterface description]): Deleted.

2015-11-06  Anders Carlsson  <andersca@apple.com>

        Rework the way allowed argument classes are stored
        https://bugs.webkit.org/show_bug.cgi?id=150992

        Reviewed by Darin Adler.

        Add a separate MethodInfo class so we have someplace to store the reply block arguments.
        Use HashSet<Class> instead of NSSet. No functionality change intended.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (-[WKRemoteObjectDecoder decodeValueOfObjCType:at:]):
        (decodeObjectFromObjectStream):
        (checkIfClassIsAllowed):
        (decodeInvocationArguments):
        (decodeObject):
        (-[WKRemoteObjectDecoder decodeObjectOfClasses:forKey:]):
        (-[WKRemoteObjectDecoder allowedClasses]):
        * Shared/API/Cocoa/_WKRemoteObjectInterface.mm:
        (isContainerClass):
        (propertyListClasses):
        (initializeMethod):
        (initializeMethods):
        (-[_WKRemoteObjectInterface initWithProtocol:identifier:]):
        (classesForSelectorArgument):
        (-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
        (-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):
        (-[_WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
        (allowedArgumentClassesForMethod): Deleted.
        (initializeAllowedArgumentClasses): Deleted.
        * Shared/API/Cocoa/_WKRemoteObjectInterfaceInternal.h:

2015-11-09  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed CMake buildfix after r192113.

        * PlatformMac.cmake: New file added.

2015-11-09  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed speculative CMake buildfix after r192111.

        * CMakeLists.txt: New files added.

2015-11-08  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Add UserAgentEFl.cpp|h
        https://bugs.webkit.org/show_bug.cgi?id=151007

        Reviewed by Darin Adler.

        As other ports EFL port starts to have UserAgentEfl class in order to support more detailed
        UA.

        * UIProcess/efl/WebPageProxyEfl.cpp:
        (WebKit::WebPageProxy::standardUserAgent): Call WebCore::standardUserAgent().

2015-11-07  Simon Fraser  <simon.fraser@apple.com>

        Remove ColorSpace argument to all the drawing calls
        https://bugs.webkit.org/show_bug.cgi?id=150967

        Reviewed by Darin Adler.

        * Shared/API/c/cg/WKImageCG.cpp:
        (WKImageCreateFromCGImage):
        * Shared/ContextMenuContextData.cpp:
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::encodeImage):
        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::drawInContext):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _updateScrollViewBackground]):
        * UIProcess/WKInspectorHighlightView.mm:
        (-[WKInspectorHighlightView _layoutForNodeHighlight:offset:]):
        (-[WKInspectorHighlightView _layoutForRectsHighlight:]):
        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _updateTapHighlight]):
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::drawRect):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::createSelectionSnapshot):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::snapshotAtSize):
        * WebProcess/WebPage/ios/FindControllerIOS.mm:
        (WebKit::FindIndicatorOverlayClientIOS::drawRect):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):
        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenManager::didSetupFullscreen):

2015-11-07  Simon Fraser  <simon.fraser@apple.com>

        Use ColorSpaceSRGB for image buffers everywhere
        https://bugs.webkit.org/show_bug.cgi?id=150990

        Reviewed by Zalan Bujtas.

        ColorSpaceSRGB and ColorSpaceDeviceRGB are equivalent now, so convert
        code that creates image buffers tagged with ColorSpaceDeviceRGB to use ColorSpaceSRGB.

        * Shared/mac/RemoteLayerBackingStore.mm:
        (WebKit::RemoteLayerBackingStore::decode):
        (WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _takeViewSnapshot]):
        (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

2015-11-06  Brady Eidson  <beidson@apple.com>

        Modern IDB: Make the result data for a "get" request be an IDBGetResult.
        https://bugs.webkit.org/show_bug.cgi?id=150985

        Reviewed by Alex Christensen.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBGetResult>::encode):
        (IPC::ArgumentCoder<IDBGetResult>::decode):

2015-11-06  Tim Horton  <timothy_horton@apple.com>

        Add preliminary (SPI) support for NSTextFinder on WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=150907
        <rdar://problem/19171624>

        Reviewed by Darin Adler.

        New API test: WebKit2.FindInPage

        * Platform/spi/mac/AppKitSPI.h:
        Add some SPI.

        * UIProcess/API/APIFindClient.h:
        (API::FindClient::didFindString):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageFindClient):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFindString):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/Cocoa/FindClient.h:
        * UIProcess/Cocoa/FindClient.mm:
        (WebKit::FindClient::didFindString):
        Make didFindString return the match rects like didFindStringMatches does.

        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::updateFindUIAfterPageScroll):
        (WebKit::FindController::findString):
        Keep the most recent find match around for incremental find just like we do
        for the non-incremental version. This way, getImageForFindMatch and selectFindMatch
        will work for incremental find too!

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _ensureTextFinderClient]):
        (-[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
        (-[WKWebView documentContainerView]):
        (-[WKWebView getSelectedText:]):
        (-[WKWebView selectFindMatch:completionHandler:]):
        Implement NSTextFinder's async client protocol and forward to the new WKTextFinderClient.

        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        Privately note our conformance to the aformentioned protocol.

        * UIProcess/mac/WKTextFinderClient.h: Added.
        * UIProcess/mac/WKTextFinderClient.mm: Added.
        (WebKit::TextFinderFindClient::TextFinderFindClient):
        (-[WKTextFinderMatch initWithClient:view:index:rects:]):
        (-[WKTextFinderMatch containingView]):
        (-[WKTextFinderMatch textRects]):
        (-[WKTextFinderMatch generateTextImage:]):
        (-[WKTextFinderMatch index]):
        (-[WKTextFinderClient initWithPage:view:]):
        (-[WKTextFinderClient willDestroyView:]):
        (-[WKTextFinderClient findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:]):
        (-[WKTextFinderClient getSelectedText:]):
        (-[WKTextFinderClient selectFindMatch:completionHandler:]):
        (-[WKTextFinderClient didFindStringMatches:rects:index:]):
        (-[WKTextFinderClient didGetImageForMatchResult:index:]):
        (-[WKTextFinderClient didFindString:rects:index:]):
        (-[WKTextFinderClient didFailToFindString:]):
        (-[WKTextFinderClient getImageForMatchResult:completionHandler:]):
        * WebKit2.xcodeproj/project.pbxproj:
        Add WKTextFinderClient. It installs itself as the FindClient and FindMatchesClient,
        so you can only use one mechanism or the other.

2015-11-06  Chris Dumez  <cdumez@apple.com>

        [WK2][SpeculativeRevalidation] Save to disk cache relationship between resources
        https://bugs.webkit.org/show_bug.cgi?id=150951
        <rdar://problem/23092196>

        Reviewed by Darin Adler.

        This patch is a first step towards speculative revalidation support in
        the WebKit network cache. It maps sub-resources to the main resource
        that caused them to be requested. We then write this information to the
        network cache, as a list of subresource keys for each main resource,
        even if the main resource is not cacheable.

        To map sub-resources to main resources, we track the loads happening
        in each frame and store the key of the main resource for the frame,
        as well as the key of each sub-resource later loaded in the frame. We
        use a HysteresisActivity to detect when loads settle down in each frame
        (no loads happen for a while) and we then write the information to the
        disk. If a new main resource is loaded in a frame where we were already
        tracking a load, we save the data to disk before tracking the new load,
        instead of waiting for the HysteresisActivity to detect the end of the
        load.

        The feature is currently behind a compile-time flag that is enabled on
        Mac and iOS only. It is also behind a runtime flag (NSUserDefaults)
        that is disabled by default.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::start):
        Pass frameID in addition to the pageID. We need to globally identify
        frames (using <pageID, frameID> pair) to be able to track loads in
        each frame.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::initialize):
        Only initialize the SpeculativeLoader if the
        enableNetworkCacheSpeculativeRevalidation run-time flag is set.

        (WebKit::NetworkCache::Cache::retrieve):
        Register the load with the SpeculativeLoader.

        * NetworkProcess/cache/NetworkCacheKey.h:
        (WebKit::NetworkCache::Key::Key):
        (WebKit::NetworkCache::Key::isHashTableDeletedValue):
        (WebKit::NetworkCache::Key::range):
        (WTF::NetworkCacheKeyHash::hash):
        (WTF::NetworkCacheKeyHash::equal):
        (WTF::HashTraits<WebKit::NetworkCache::Key>::isEmptyValue):
        Add needed HashTraits for NetworkCache::Key so it can be used as key in
        HashMap / HashSet.

        * NetworkProcess/cache/NetworkCacheSpeculativeLoader.cpp: Added.
        * NetworkProcess/cache/NetworkCacheSpeculativeLoader.h: Added.
        Add new NetworkCacheSpeculativeLoader class that takes care of tracking
        loads in each frame to map subresources to main resources and then write
        this information to the network disk cache. In the future, this class we
        also take care of triggering speculative revalidations, thus the naming.

        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::platformInitializeNetworkProcess):
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::registerUserDefaultsIfNeeded):
        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
        Add new NetworkProcess parameter to control at runtime if speculative loading
        should be enabled or not. It is disabled by default.

        * WebKit2.xcodeproj/project.pbxproj:
        Add new files to XCode project.

        * config.h:
        Add ENABLE_NETWORK_CACHE_SPECULATIVE_REVALIDATION build flag for the new
        feature that is enable by default on COCOA.

2015-11-06  Chris Dumez  <cdumez@apple.com>

        Unreviewed, remove empty #if block landed by mistake in r192038.

        * NetworkProcess/NetworkLoad.cpp:

2015-11-06  Philip Chimento  <philip.chimento@gmail.com>

        [GTK] Fails to link libwebkit2gtkinjectedbundle.so on OSX
        https://bugs.webkit.org/show_bug.cgi?id=144785

        Reviewed by Philippe Normand.

        * PlatformGTK.cmake: Add missing WebKit2 library to list of
        libraries to link with. Required for OSX build.

2015-11-05  Nikos Andronikos  <nikos.andronikos-webkit@cisra.canon.com.au>

        Add runtime and compile time flags for enabling Web Animations API and model.
        https://bugs.webkit.org/show_bug.cgi?id=150914

        Reviewed by Benjamin Poulain.

        Add ENABLE_WEB_ANIMATIONS compile time flag, runtime flag webAnimationsEnabled and Expose WK2 preference for runtime flag.

        * Configurations/FeatureDefines.xcconfig:
        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetWebAnimationsEnabled):
        (WKPreferencesGetWebAnimationsEnabled):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
        (WebKit::InjectedBundle::setWebAnimationsEnabled):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-11-05  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Separate beforeunload confirm callback from confirm callback
        https://bugs.webkit.org/show_bug.cgi?id=150964

        Reviewed by Gyuyoung Kim.

        Browser may need to distinguish between beforeunload confirm panel and general confirm panel.
        For example, browser may want to modify the message or show different buttons from confirm panel
        such as "Stay Page | Leave Page".

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::requestJSBeforeUnloadConfirmPopup):
        * UIProcess/API/efl/EwkView.h:
        * UIProcess/API/efl/ewk_view.h:
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (TEST_F):
        * UIProcess/efl/PageUIClientEfl.cpp:
        (WebKit::PageUIClientEfl::runBeforeUnloadConfirmPanel):

2015-11-05  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r192089.
        https://bugs.webkit.org/show_bug.cgi?id=150966

        This change broke an existing layout test on Yosemite and
        Mavericks (Requested by ryanhaddad on #webkit).

        Reverted changeset:

        "Preview on apple.com/contact with all text selected shows a
        map"
        https://bugs.webkit.org/show_bug.cgi?id=150963
        http://trac.webkit.org/changeset/192089

2015-11-05  Tim Horton  <timothy_horton@apple.com>

        Preview on apple.com/contact with all text selected shows a map
        https://bugs.webkit.org/show_bug.cgi?id=150963
        <rdar://problem/23421750>

        Reviewed by Beth Dakin.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performDictionaryLookupForSelection):
        In this case, we don't know where we hit, so pass a null VisiblePosition.

2015-11-05  Geoffrey Garen  <ggaren@apple.com>

        _WKObservablePageState's _webProcessIsResponsive property isn't set to YES when an unresponsive page is reloaded
        https://bugs.webkit.org/show_bug.cgi?id=150953

        Reviewed by Anders Carlsson.

        * UIProcess/ResponsivenessTimer.cpp:
        (WebKit::ResponsivenessTimer::processTerminated): Call stop() to
        indicate that we are responsive again. This gives the client a chance
        to remove the SPOD cursor, among other things.

        * UIProcess/ResponsivenessTimer.h:
        (WebKit::ResponsivenessTimer::processTerminated): Anders told me to do this!

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::resetStateAfterProcessExited): Be sure to reset
        the responsiveness timer too, or it will continue thinking we are
        unresponsive after a crash or a forced load or reload.

2015-11-05  Anders Carlsson  <andersca@apple.com>

        Move invocation argument encoding out to a separate function
        https://bugs.webkit.org/show_bug.cgi?id=150950

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeInvocationArguments):
        (encodeInvocation):

2015-11-05  Chris Dumez  <cdumez@apple.com>

        [WK2] Clean up / Modernize NetworkResourceLoader
        https://bugs.webkit.org/show_bug.cgi?id=150922

        Reviewed by Andreas Kling.

        Clean up / Modernize NetworkResourceLoader.

        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
        (WebKit::NetworkBlobRegistry::filesInBlob):
        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
        (WebKit::sendReplyToSynchronousRequest):
        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::startNetworkLoad):
        (WebKit::NetworkResourceLoader::didFinishLoading):
        (WebKit::NetworkResourceLoader::willSendRedirectedRequest):
        (WebKit::NetworkResourceLoader::bufferingTimerFired):
        (WebKit::NetworkResourceLoader::sendBufferMaybeAborting):
        (WebKit::NetworkResourceLoader::validateCacheEntry):
        (WebKit::NetworkResourceLoader::messageSenderConnection):
        (WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
        (WebKit::NetworkResourceLoader::~NetworkResourceLoader): Deleted.
        (WebKit::NetworkResourceLoader::didReceiveBuffer): Deleted.
        (WebKit::NetworkResourceLoader::didRetrieveCacheEntry): Deleted.
        (WebKit::NetworkResourceLoader::consumeSandboxExtensions): Deleted.
        (WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/mac/NetworkDiskCacheMonitor.h:

2015-11-05  Chris Dumez  <cdumez@apple.com>

        Regression(r192038): Safari cannot load any pages
        https://bugs.webkit.org/show_bug.cgi?id=150937
        <rdar://problem/23413859>

        Reviewed by Alex Christensen.

        Make sure we use the current "defersLoading" state instead of the
        original one when constructing / initializing the NetworkLoad.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::startNetworkLoad):

2015-11-05  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Add try_close API to handle beforeunload event
        https://bugs.webkit.org/show_bug.cgi?id=150705

        Reviewed by Gyuyoung Kim.

        This patch adds ewk_view_try_close to have a chance to call confirm callback
        for beforeunload event while destryoing webview.

        * UIProcess/API/efl/ewk_view.cpp:
        (ewk_view_try_close):
        * UIProcess/API/efl/ewk_view.h:
        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
        (EWK2ViewTest::beforeUnloadCallback):
        (EWK2ViewTest::windowCloseCallback):
        (TEST_F): Added test case for ewk_view_try_close.

2015-11-04  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Epiphany with Debug mode compiled WebKitGtk+ 2.10.3 hits ASSERT_ARG on willEnterAcceleratedCompositingMode
        https://bugs.webkit.org/show_bug.cgi?id=150620

        Reviewed by Mario Sanchez Prada.

        WillEnterAcceleratedCompositingMode message is sent when the
        LayerTreeHost is created in the Web Process. This can happen while
        there's still a DidUpdateBackingStoreState pending, in which case
        we are receiving the new backingStoreStateID, but the current one
        hasn't been updated yet.

        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):
        Fix the ASSERT to check the given ID is alt least the next one,
        and remove the early return since it's valid to not enter AC mode
        in the end after the WillEnter message.

2015-11-04  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r191499): 100% repro crash under _prepareForMoveToWindow:
        https://bugs.webkit.org/show_bug.cgi?id=150912
        <rdar://problem/23402116>

        Reviewed by Simon Fraser.

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

2015-11-04  Chris Dumez  <cdumez@apple.com>

        Regression(r192038): Crash in ~SandboxExtension()
        https://bugs.webkit.org/show_bug.cgi?id=150898

        Reviewed by Alex Christensen.

        We are seeing a couple of crashes under ~SandboxExtension() on the bots
        after ~SandboxExtension(). The reason is that the SandBoxExtension is
        still in use (useCount > 0) when destroyed. This happens due to a bug
        in setDefersLoading() that could cause the load to get started more
        than once and thus the SandboxExtension to be consumed more than once.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::setDefersLoading):
        (WebKit::NetworkResourceLoader::consumeSandboxExtensions):

2015-11-04  Chris Dumez  <cdumez@apple.com>

        [WK2] Extract networking code out of NetworkResourceLoader class to improve reusability
        https://bugs.webkit.org/show_bug.cgi?id=150898

        Reviewed by Alex Christensen.

        Extract networking code out of NetworkResourceLoader class to improve
        reusability (will be used for speculative revalidation) and simplify
        the NetworkResourceLoader.

        * CMakeLists.txt:
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        * NetworkProcess/NetworkLoad.cpp: Added.
        * NetworkProcess/NetworkLoad.h: Added.
        * NetworkProcess/NetworkLoadClient.h: Added.
        * NetworkProcess/NetworkLoadParameters.cpp: Added.
        * NetworkProcess/NetworkLoadParameters.h: Added.
        * NetworkProcess/NetworkResourceLoader.cpp:
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/mac/NetworkLoadMac.mm: Added.
        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
        (WebKit::NetworkResourceLoader::willCacheResponseAsync):
        * WebKit2.xcodeproj/project.pbxproj:

2015-11-04  Beth Dakin  <bdakin@apple.com>

        Link preview doesn't work on XHTML pages with Content-Type header as 
        `application/xhtml+xml`
        https://bugs.webkit.org/show_bug.cgi?id=150740
        -and corresponding-
        rdar://problem/23063585

        Reviewed by Darin Adler.

        My original fix for this bug was incorrect in the presence of non-HTML 
        elements that happen to have the same local name as HTML elements. Since it 
        seems silly to have all of this logic in the UI process to determine whether 
        to treat something as a link or an image, this patch fixes the bug by adding 
        isLink and isImage to InteractionInformationAtPosition in order to simplify 
        everything. The only remaining uses of clickableElementName just use it to 
        compare against isNull and isEmpty, so that can be a bool too.

        Add isLink and isImage, and turn clickableElementName into isClickableElement
        * Shared/InteractionInformationAtPosition.cpp:
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * Shared/InteractionInformationAtPosition.h:

        Use the new isLink, isImage, and isClickableElement
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _actionForLongPress]):
        (-[WKContentView gestureRecognizerShouldBegin:]):
        (-[WKContentView _highlightLongPressRecognized:]):
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
        (-[WKContentView _dataForPreviewItemController:atPosition:type:]):

        Set everything correctly.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-11-04  Wenson Hsieh  <wenson_hsieh@apple.com>

        Fix crashing fast-clicking WK2 tests on iOS
        https://bugs.webkit.org/show_bug.cgi?id=150896
        <rdar://problem/23344491>

        Reviewed by Simon Fraser.

        In order for the modified fast-clicking tests to pass, we can't allow hit-testing to
        find the tap highlight view. See the Radar for more UIKit-specific descriptions.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _showTapHighlight]):

2015-11-03  Anders Carlsson  <andersca@apple.com>

        PageLoadState::will/didChangeProcessIsResponsive should call observers
        https://bugs.webkit.org/show_bug.cgi?id=150870

        Reviewed by Dan Bernstein.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::willChangeProcessIsResponsive):
        (WebKit::PageLoadState::didChangeProcessIsResponsive):

2015-11-04  Ryan Haddad  <ryanhaddad@apple.com>

        Speculative build fix. Missed the checkin for the changelog with r192029.

        * UIProcess/API/Cocoa/WKWebView.mm:

2015-11-03  Andy Estes  <aestes@apple.com>

        [Cocoa] Add SPI to warm an initial web process
        https://bugs.webkit.org/show_bug.cgi?id=150886

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _warmInitialProcess]):
        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

2015-11-03  Andy Estes  <aestes@apple.com>

        [Cocoa] Adopt WKWebViewAdditions
        https://bugs.webkit.org/show_bug.cgi?id=150885

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:

2015-11-03  Tim Horton  <timothy_horton@apple.com>

        Duplicate validateUserInterfaceItem in WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=150873

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView changeFont:]):
        (-[WKWebView startSpeaking:]):
        (-[WKWebView validateUserInterfaceItem:]):
        (-[WKWebView goBack:]):

2015-11-03  Geoffrey Garen  <ggaren@apple.com>

        Provide a way to turn off const in WebKit2.

        Reviewed by Sam Weinig.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::initializeWebProcess):

2015-11-03  Alex Christensen  <achristensen@webkit.org>

        Create a NetworkSession for each SessionID
        https://bugs.webkit.org/show_bug.cgi?id=150857

        Reviewed by Anders Carlsson.

        This patch renames SessionTracker::session to storageSession and makes a parallel
        structure for NetworkSessions.  NetworkSession and NetworkStorageSession should eventually
        become the same class in WebCore.  Because not everybody uses NetworkSessions yet,
        we keep them separate but created, destroyed, and managed together.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession):
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::fetchWebsiteData):
        (WebKit::NetworkProcess::deleteWebsiteData):
        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::startNetworkLoad):
        (WebKit::NetworkResourceLoader::abort):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
        (WebKit::NetworkDataTask::client):
        (WebKit::NetworkDataTask::clearClient):
        (WebKit::NetworkingDataTask::client): Deleted.
        (WebKit::NetworkingDataTask::clearClient): Deleted.
        (WebKit::NetworkSession::~NetworkSession): Deleted.
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::configurationForType):
        (WebKit::defaultNetworkSession):
        (WebKit::NetworkSession::defaultSession):
        (WebKit::NetworkSession::NetworkSession):
        (WebKit::NetworkSession::~NetworkSession):
        (WebKit::NetworkSession::createDataTaskWithRequest):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkDataTask::NetworkDataTask):
        (WebKit::NetworkDataTask::~NetworkDataTask):
        (WebKit::NetworkDataTask::cancel):
        (WebKit::NetworkDataTask::resume):
        (WebKit::NetworkDataTask::taskIdentifier):
        (WebKit::NetworkSession::create): Deleted.
        (WebKit::NetworkSession::singleton): Deleted.
        (WebKit::NetworkingDataTask::NetworkingDataTask): Deleted.
        (WebKit::NetworkingDataTask::~NetworkingDataTask): Deleted.
        (WebKit::NetworkingDataTask::suspend): Deleted.
        (WebKit::NetworkingDataTask::resume): Deleted.
        (WebKit::NetworkingDataTask::taskIdentifier): Deleted.
        * NetworkProcess/mac/RemoteNetworkingContext.mm:
        (WebKit::RemoteNetworkingContext::storageSession):
        (WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
        * Shared/SessionTracker.cpp:
        (WebKit::staticStorageSessionMap):
        (WebKit::identifierBase):
        (WebKit::SessionTracker::storageSessionMap):
        (WebKit::SessionTracker::getIdentifierBase):
        (WebKit::SessionTracker::storageSession):
        (WebKit::staticSessionMap):
        (WebKit::SessionTracker::networkSession):
        (WebKit::SessionTracker::sessionID):
        (WebKit::SessionTracker::setSession):
        (WebKit::SessionTracker::destroySession):
        (WebKit::SessionTracker::sessionMap): Deleted.
        (WebKit::SessionTracker::session): Deleted.
        * Shared/SessionTracker.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        (WebKit::WebFrameNetworkingContext::storageSession):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
        (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
        (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
        (WebKit::WebFrameNetworkingContext::storageSession):

2015-11-03  Ryuan Choi  <ryuan.choi@navercorp.com>

        [CoordinatedGraphics] invisible webview should not paint the content
        https://bugs.webkit.org/show_bug.cgi?id=150662

        Reviewed by Darin Adler.

        Suspend or resume the painting instead of just initializing m_isPaintingSuspended 
        for invisible webview not to paint the content until visibility is changed.

        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
        (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea):

2015-11-03  Anders Carlsson  <andersca@apple.com>

        Simplify -[_WKRemoteObjectRegistry _invokeMethod:]
        https://bugs.webkit.org/show_bug.cgi?id=150844

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
        (-[_WKRemoteObjectRegistry _invokeMethod:]):
        (-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.
        * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:

2015-11-02  Anders Carlsson  <andersca@apple.com>

        CTTE the responsiveness timer getter
        https://bugs.webkit.org/show_bug.cgi?id=150825

        Reviewed by Daniel Bates.

        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (-[WKObservablePageState _webProcessIsResponsive]):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController _webProcessIsResponsive]):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _webProcessIsResponsive]):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::reattachToWebProcessForReload):
        (WebKit::WebPageProxy::reattachToWebProcessWithItem):
        (WebKit::WebPageProxy::tryClose):
        (WebKit::WebPageProxy::loadRequest):
        (WebKit::WebPageProxy::loadFile):
        (WebKit::WebPageProxy::loadData):
        (WebKit::WebPageProxy::loadHTMLString):
        (WebKit::WebPageProxy::loadAlternateHTMLString):
        (WebKit::WebPageProxy::loadPlainTextString):
        (WebKit::WebPageProxy::loadWebArchiveData):
        (WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
        (WebKit::WebPageProxy::stopLoading):
        (WebKit::WebPageProxy::reload):
        (WebKit::WebPageProxy::goForward):
        (WebKit::WebPageProxy::goBack):
        (WebKit::WebPageProxy::goToBackForwardItem):
        (WebKit::WebPageProxy::dispatchViewStateChange):
        (WebKit::WebPageProxy::handleMouseEvent):
        (WebKit::WebPageProxy::sendWheelEvent):
        (WebKit::WebPageProxy::handleKeyboardEvent):
        (WebKit::WebPageProxy::handleGestureEvent):
        (WebKit::WebPageProxy::handleTouchEventSynchronously):
        (WebKit::WebPageProxy::handleTouchEvent):
        (WebKit::WebPageProxy::closePage):
        (WebKit::WebPageProxy::runJavaScriptAlert):
        (WebKit::WebPageProxy::runJavaScriptConfirm):
        (WebKit::WebPageProxy::runJavaScriptPrompt):
        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
        (WebKit::WebPageProxy::runOpenPanel):
        (WebKit::WebPageProxy::showPopupMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        (WebKit::WebPageProxy::didReceiveEvent):
        (WebKit::WebPageProxy::stopResponsivenessTimer):
        (WebKit::WebPageProxy::runModal):
        (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
        * UIProcess/WebProcessProxy.h:
        (WebKit::WebProcessProxy::responsivenessTimer):

2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.11.1 release.

        * gtk/NEWS: Add release notes for 2.11.1.

2015-11-03  Alex Christensen  <achristensen@webkit.org>

        Use the same cookie storage as WebCore when using NETWORK_SESSION
        https://bugs.webkit.org/show_bug.cgi?id=150833

        Reviewed by Antti Koivisto.

        This fixes 12 tests when using NETWORK_SESSION.

        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::NetworkSession):

2015-11-03  Alex Christensen  <achristensen@webkit.org>

        Clean up NETWORK_SESSION code after r191848
        https://bugs.webkit.org/show_bug.cgi?id=150829

        Reviewed by Darin Adler.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didReceiveData):
        (WebKit::NetworkResourceLoader::didCompleteWithError):
        * NetworkProcess/NetworkSession.h:
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (WebKit::NetworkSession::NetworkSession):
        (WebKit::NetworkSession::createDataTaskWithRequest):
        (WebKit::NetworkSession::dataTaskForIdentifier):

2015-11-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r191924.

        * UIProcess/API/gtk/WebKitWebView.cpp:

2015-11-02  Alex Christensen  <achristensen@webkit.org>

        Fix CMake build after r191922.

        * PlatformMac.cmake:

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

        Try again to fix the iOS build.

        * Shared/mac/PDFKitImports.mm:

2015-11-02  Tim Horton  <timothy_horton@apple.com>

        Try to fix the iOS build

        * Shared/mac/PDFKitImports.h:

2015-11-02  Tim Horton  <timothy_horton@apple.com>

        Address a misssed review comment in r191922

        * WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
        (WebKit::PDFPlugin::nextMatchForString):

2015-11-02  Anders Carlsson  <andersca@apple.com>

        Add KVO-compliant _webProcessIsResponsive property to WKWebView and _WKObservablePageState
        https://bugs.webkit.org/show_bug.cgi?id=150818
        rdar://problem/22372131

        Reviewed by Tim Horton.

        * UIProcess/API/C/mac/WKPagePrivateMac.h:
        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (-[WKObservablePageState _webProcessIsResponsive]):
        * UIProcess/API/Cocoa/PageLoadStateObserver.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController _webProcessIsResponsive]):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _webProcessIsResponsive]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::willChangeWebProcessIsResponsive):
        (WebKit::NavigationState::didChangeWebProcessIsResponsive):
        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::willChangeProcessIsResponsive):
        (WebKit::PageLoadState::didChangeProcessIsResponsive):
        * UIProcess/PageLoadState.h:
        * UIProcess/ResponsivenessTimer.cpp:
        (WebKit::ResponsivenessTimer::ResponsivenessTimer):
        (WebKit::ResponsivenessTimer::timerFired):
        (WebKit::ResponsivenessTimer::stop):
        * UIProcess/ResponsivenessTimer.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::willChangeProcessIsResponsive):
        (WebKit::WebPageProxy::didChangeProcessIsResponsive):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::WebProcessProxy):
        (WebKit::WebProcessProxy::didBecomeUnresponsive):
        (WebKit::WebProcessProxy::didBecomeResponsive):
        (WebKit::WebProcessProxy::willChangeIsResponsive):
        (WebKit::WebProcessProxy::didChangeIsResponsive):
        * UIProcess/WebProcessProxy.h:

2015-11-02  Tim Horton  <timothy_horton@apple.com>

        PDFPlugin should take advantage of threaded scrolling
        https://bugs.webkit.org/show_bug.cgi?id=150037

        Reviewed by Anders Carlsson.

        Duplicate PDFPlugin, creating PDFPlugin (the modern version), and
        DeprecatedPDFPlugin (containing the code that used to be in PDFPlugin
        prior to this patch).

        The new PDFPlugin differs from the old one in a few significant ways,
        and we need to keep both alive for the time being. Significant differences
        include:

        - PDFPlugin is no longer a ScrollableArea
        - PDFPlugin no longer hosts layers owned by PDFKit; instead, it draws
          into the page tiles, allowing WebCore's threaded scrolling to do its job
        - PDFPlugin now resizes itself to the size of the document
        - PDFPlugin doesn't handle zooming itself, it just delegates to the page
        - PDFLayerController has large and incompatible API changes
        - PDFPlugin now implements more of the HUD behavior, but it's still
          painted by PDFLayerController (into a view-relative PageOverlay)

        [ File list elided because it's long and useless. ]

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

        [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
        https://bugs.webkit.org/show_bug.cgi?id=150819

        Reviewed by Dan Bernstein.

        This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.

        * Configurations/Base.xcconfig:

2015-11-02  Anders Carlsson  <andersca@apple.com>

        Begin work on supporting reply blocks in _WKRemoteObjectRegistry
        https://bugs.webkit.org/show_bug.cgi?id=150739

        Reviewed by Tim Horton.

        * Platform/spi/Cocoa/BlockSPI.h:
        Add SPI header.

        * Shared/API/Cocoa/RemoteObjectInvocation.h:
        (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
        (WebKit::RemoteObjectInvocation::replyInfo):
        * Shared/API/Cocoa/RemoteObjectInvocation.mm:
        (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
        (WebKit::RemoteObjectInvocation::encode):
        (WebKit::RemoteObjectInvocation::decode):
        Add an optional ReplyInfo struct to RemoteObjectInvocation.

        * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
        (generateReplyIdentifier):
        Helper function to generate a reply identifier.

        (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
        Do some block parameter validation.

        * WebKit2.xcodeproj/project.pbxproj:

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

        [iOS] Another unreviewed sandbox update.

        * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Change copyright.

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

        [iOS] Unreviewed sandbox update.

        Correcting copyright information.

        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

2015-11-02  Tim Horton  <timothy_horton@apple.com>

        Get rid of WKWebView's inner WKView (WKView being inside WKWebView leads to weird API issues)
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView dealloc]):
        (-[WKWebView allowsLinkPreview]):
        (-[WKWebView setAllowsLinkPreview:]):
        (-[WKWebView acceptsFirstResponder]):
        (-[WKWebView becomeFirstResponder]):
        (-[WKWebView resignFirstResponder]):
        (-[WKWebView viewWillStartLiveResize]):
        (-[WKWebView viewDidEndLiveResize]):
        (-[WKWebView isFlipped]):
        (-[WKWebView intrinsicContentSize]):
        (-[WKWebView prepareContentInRect:]):
        (-[WKWebView setFrameSize:]):
        (-[WKWebView renewGState]):
        (-[WKWebView writeSelectionToPasteboard:types:]):
        (-[WKWebView centerSelectionInVisibleArea:]):
        (-[WKWebView validRequestorForSendType:returnType:]):
        (-[WKWebView readSelectionFromPasteboard:]):
        (-[WKWebView changeFont:]):
        (-[WKWebView validateUserInterfaceItem:]):
        (-[WKWebView startSpeaking:]):
        (-[WKWebView stopSpeaking:]):
        (-[WKWebView showGuessPanel:]):
        (-[WKWebView checkSpelling:]):
        (-[WKWebView changeSpelling:]):
        (-[WKWebView toggleContinuousSpellChecking:]):
        (-[WKWebView isGrammarCheckingEnabled]):
        (-[WKWebView setGrammarCheckingEnabled:]):
        (-[WKWebView toggleGrammarChecking:]):
        (-[WKWebView toggleAutomaticSpellingCorrection:]):
        (-[WKWebView orderFrontSubstitutionsPanel:]):
        (-[WKWebView toggleSmartInsertDelete:]):
        (-[WKWebView isAutomaticQuoteSubstitutionEnabled]):
        (-[WKWebView setAutomaticQuoteSubstitutionEnabled:]):
        (-[WKWebView toggleAutomaticQuoteSubstitution:]):
        (-[WKWebView isAutomaticDashSubstitutionEnabled]):
        (-[WKWebView setAutomaticDashSubstitutionEnabled:]):
        (-[WKWebView toggleAutomaticDashSubstitution:]):
        (-[WKWebView isAutomaticLinkDetectionEnabled]):
        (-[WKWebView setAutomaticLinkDetectionEnabled:]):
        (-[WKWebView toggleAutomaticLinkDetection:]):
        (-[WKWebView isAutomaticTextReplacementEnabled]):
        (-[WKWebView setAutomaticTextReplacementEnabled:]):
        (-[WKWebView toggleAutomaticTextReplacement:]):
        (-[WKWebView uppercaseWord:]):
        (-[WKWebView lowercaseWord:]):
        (-[WKWebView capitalizeWord:]):
        (-[WKWebView _wantsKeyDownForEvent:]):
        (-[WKWebView scrollWheel:]):
        (-[WKWebView swipeWithEvent:]):
        (-[WKWebView mouseMoved:]):
        (-[WKWebView mouseDown:]):
        (-[WKWebView mouseUp:]):
        (-[WKWebView mouseDragged:]):
        (-[WKWebView mouseEntered:]):
        (-[WKWebView mouseExited:]):
        (-[WKWebView otherMouseDown:]):
        (-[WKWebView otherMouseDragged:]):
        (-[WKWebView otherMouseUp:]):
        (-[WKWebView rightMouseDown:]):
        (-[WKWebView rightMouseDragged:]):
        (-[WKWebView rightMouseUp:]):
        (-[WKWebView pressureChangeWithEvent:]):
        (-[WKWebView acceptsFirstMouse:]):
        (-[WKWebView shouldDelayWindowOrderingForEvent:]):
        (-[WKWebView doCommandBySelector:]):
        (-[WKWebView insertText:]):
        (-[WKWebView insertText:replacementRange:]):
        (-[WKWebView inputContext]):
        (-[WKWebView performKeyEquivalent:]):
        (-[WKWebView keyUp:]):
        (-[WKWebView keyDown:]):
        (-[WKWebView flagsChanged:]):
        (-[WKWebView setMarkedText:selectedRange:replacementRange:]):
        (-[WKWebView unmarkText]):
        (-[WKWebView selectedRange]):
        (-[WKWebView hasMarkedText]):
        (-[WKWebView markedRange]):
        (-[WKWebView attributedSubstringForProposedRange:actualRange:]):
        (-[WKWebView characterIndexForPoint:]):
        (-[WKWebView firstRectForCharacterRange:actualRange:]):
        (-[WKWebView selectedRangeWithCompletionHandler:]):
        (-[WKWebView markedRangeWithCompletionHandler:]):
        (-[WKWebView hasMarkedTextWithCompletionHandler:]):
        (-[WKWebView attributedSubstringForProposedRange:completionHandler:]):
        (-[WKWebView firstRectForCharacterRange:completionHandler:]):
        (-[WKWebView characterIndexForPoint:completionHandler:]):
        (-[WKWebView validAttributesForMarkedText]):
        (-[WKWebView draggedImage:endedAt:operation:]):
        (-[WKWebView draggingEntered:]):
        (-[WKWebView draggingUpdated:]):
        (-[WKWebView draggingExited:]):
        (-[WKWebView prepareForDragOperation:]):
        (-[WKWebView performDragOperation:]):
        (-[WKWebView _hitTest:dragTypes:]):
        (-[WKWebView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
        (-[WKWebView viewWillMoveToWindow:]):
        (-[WKWebView viewDidMoveToWindow]):
        (-[WKWebView drawRect:]):
        (-[WKWebView isOpaque]):
        (-[WKWebView mouseDownCanMoveWindow]):
        (-[WKWebView viewDidHide]):
        (-[WKWebView viewDidUnhide]):
        (-[WKWebView viewDidChangeBackingProperties]):
        (-[WKWebView _activeSpaceDidChange:]):
        (-[WKWebView accessibilityFocusedUIElement]):
        (-[WKWebView accessibilityIsIgnored]):
        (-[WKWebView accessibilityHitTest:]):
        (-[WKWebView accessibilityAttributeValue:]):
        (-[WKWebView hitTest:]):
        (-[WKWebView conversationIdentifier]):
        (-[WKWebView quickLookWithEvent:]):
        (-[WKWebView addTrackingRect:owner:userData:assumeInside:]):
        (-[WKWebView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
        (-[WKWebView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
        (-[WKWebView removeTrackingRect:]):
        (-[WKWebView _removeTrackingRects:count:]):
        (-[WKWebView view:stringForToolTip:point:userData:]):
        (-[WKWebView pasteboardChangedOwner:]):
        (-[WKWebView pasteboard:provideDataForType:]):
        (-[WKWebView namesOfPromisedFilesDroppedAtDestination:]):
        (-[WKWebView wantsUpdateLayer]):
        (-[WKWebView updateLayer]):
        (-[WKWebView setAllowsBackForwardNavigationGestures:]):
        (-[WKWebView allowsBackForwardNavigationGestures]):
        (-[WKWebView smartMagnifyWithEvent:]):
        (-[WKWebView setMagnification:centeredAtPoint:]):
        (-[WKWebView setMagnification:]):
        (-[WKWebView magnification]):
        (-[WKWebView setAllowsMagnification:]):
        (-[WKWebView allowsMagnification]):
        (-[WKWebView magnifyWithEvent:]):
        (-[WKWebView rotateWithEvent:]):
        (-[WKWebView _web_superInputContext]):
        (-[WKWebView _web_superQuickLookWithEvent:]):
        (-[WKWebView _web_superSwipeWithEvent:]):
        (-[WKWebView _web_superMagnifyWithEvent:]):
        (-[WKWebView _web_superSmartMagnifyWithEvent:]):
        (-[WKWebView _web_superRemoveTrackingRect:]):
        (-[WKWebView _web_superAccessibilityAttributeValue:]):
        (-[WKWebView _web_superDoCommandBySelector:]):
        (-[WKWebView _web_superPerformKeyEquivalent:]):
        (-[WKWebView _web_superKeyDown:]):
        (-[WKWebView _web_superHitTest:]):
        (-[WKWebView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
        (-[WKWebView _web_prepareForImmediateActionAnimation]):
        (-[WKWebView _web_cancelImmediateActionAnimation]):
        (-[WKWebView _web_completeImmediateActionAnimation]):
        (-[WKWebView _web_didChangeContentSize:]):
        (-[WKWebView _web_dismissContentRelativeChildWindows]):
        (-[WKWebView _web_dismissContentRelativeChildWindowsWithAnimation:]):
        (-[WKWebView _web_gestureEventWasNotHandledByWebCore:]):
        (-[WKWebView _setEditable:]):
        (-[WKWebView _remoteObjectRegistry]):
        (-[WKWebView _layoutMode]):
        (-[WKWebView _setLayoutMode:]):
        (-[WKWebView _setViewScale:]):
        (-[WKWebView _drawsTransparentBackground]):
        (-[WKWebView _setDrawsTransparentBackground:]):
        (-[WKWebView _inspectorAttachmentView]):
        (-[WKWebView _setInspectorAttachmentView:]):
        (-[WKWebView _windowOcclusionDetectionEnabled]):
        (-[WKWebView _setWindowOcclusionDetectionEnabled:]):
        (-[WKWebView _setOverrideDeviceScaleFactor:]):
        (-[WKWebView _overrideDeviceScaleFactor]):
        (-[WKWebView _setTopContentInset:]):
        (-[WKWebView _topContentInset]):
        (-[WKWebView _pageExtendedBackgroundColor]):
        (-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
        (-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
        (-[WKWebView _automaticallyAdjustsContentInsets]):
        (-[WKWebView _setMinimumLayoutWidth:]):
        (-[WKWebView resizeSubviewsWithOldSize:]): Deleted.
        (-[WKWebView _ignoresNonWheelEvents]): Deleted.
        (-[WKWebView _setIgnoresNonWheelEvents:]): Deleted.
        (-[WKWebView _setIntrinsicContentSize:]): Deleted.
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _web_superInputContext]):
        (-[WKView _web_superQuickLookWithEvent:]):
        (-[WKView _web_superSwipeWithEvent:]):
        (-[WKView _web_superMagnifyWithEvent:]):
        (-[WKView _web_superSmartMagnifyWithEvent:]):
        (-[WKView _web_superRemoveTrackingRect:]):
        (-[WKView _web_superAccessibilityAttributeValue:]):
        (-[WKView _web_superDoCommandBySelector:]):
        (-[WKView _web_superPerformKeyEquivalent:]):
        (-[WKView _web_superKeyDown:]):
        (-[WKView _web_superHitTest:]):
        (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
        (-[WKView _web_prepareForImmediateActionAnimation]):
        (-[WKView _web_cancelImmediateActionAnimation]):
        (-[WKView _web_completeImmediateActionAnimation]):
        (-[WKView _web_didChangeContentSize:]):
        (-[WKView _web_dismissContentRelativeChildWindows]):
        (-[WKView _web_dismissContentRelativeChildWindowsWithAnimation:]):
        (-[WKView _web_gestureEventWasNotHandledByWebCore:]):
        (-[WKView _superInputContext]): Deleted.
        (-[WKView _superQuickLookWithEvent:]): Deleted.
        (-[WKView _superSwipeWithEvent:]): Deleted.
        (-[WKView _superMagnifyWithEvent:]): Deleted.
        (-[WKView _superSmartMagnifyWithEvent:]): Deleted.
        (-[WKView _superRemoveTrackingRect:]): Deleted.
        (-[WKView _superAccessibilityAttributeValue:]): Deleted.
        (-[WKView _superDoCommandBySelector:]): Deleted.
        (-[WKView _superPerformKeyEquivalent:]): Deleted.
        (-[WKView _superKeyDown:]): Deleted.
        (-[WKView _superHitTest:]): Deleted.
        (-[WKView _addFontPanelObserver]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::hitTest):
        (WebKit::WebViewImpl::updateSecureInputState):
        (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
        (WebKit::WebViewImpl::executeSavedCommandBySelector):
        (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimation):
        (WebKit::WebViewImpl::dismissContentRelativeChildWindowsWithAnimationFromViewOnly):
        (WebKit::WebViewImpl::quickLookWithEvent):
        (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
        (WebKit::WebViewImpl::cancelImmediateActionAnimation):
        (WebKit::WebViewImpl::completeImmediateActionAnimation):
        (WebKit::WebViewImpl::didChangeContentSize):
        (WebKit::WebViewImpl::accessibilityAttributeValue):
        (WebKit::WebViewImpl::removeTrackingRect):
        (WebKit::WebViewImpl::swipeWithEvent):
        (WebKit::WebViewImpl::magnifyWithEvent):
        (WebKit::WebViewImpl::smartMagnifyWithEvent):
        (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
        (WebKit::WebViewImpl::doCommandBySelector):
        (WebKit::WebViewImpl::inputContext):
        (WebKit::WebViewImpl::performKeyEquivalent):
        (WebKit::WebViewImpl::keyDown):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::setDragImage):
        (WebKit::PageClientImpl::intrinsicContentSizeDidChange): Deleted.
        (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult): Deleted.
        Plop.

2015-11-02  Anders Carlsson  <andersca@apple.com>

        Remove unused API client callback code
        https://bugs.webkit.org/show_bug.cgi?id=150813

        Reviewed by Tim Horton.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::interactionOccurredWhileProcessUnresponsive): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient): Deleted.
        * UIProcess/ResponsivenessTimer.cpp:
        (WebKit::ResponsivenessTimer::timerFired):
        * UIProcess/ResponsivenessTimer.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive): Deleted.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive): Deleted.
        * UIProcess/WebProcessProxy.h:

2015-10-31  Andy Estes  <aestes@apple.com>

        Replace iOS-only WebKitSystemInterface calls with SPI
        https://bugs.webkit.org/show_bug.cgi?id=150763

        Reviewed by Darin Adler.

        * Platform/ios/AccessibilityIOS.h: Added.
        * Platform/ios/AccessibilityIOS.mm: Added.
        (WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.
        * Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
        * Shared/WebPreferencesStore.cpp:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
        (-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
        (-[WKContentView _updateForScreen:]): Ditto.
        (storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
        (-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().
        * UIProcess/ios/WKContentViewInteraction.mm:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
        (WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
        (WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().

2015-11-02  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191902.
        https://bugs.webkit.org/show_bug.cgi?id=150811

        This change broke iOS builders (Requested by ryanhaddad on
        #webkit).

        Reverted changeset:

        "Replace iOS-only WebKitSystemInterface calls with SPI"
        https://bugs.webkit.org/show_bug.cgi?id=150763
        http://trac.webkit.org/changeset/191902

2015-10-31  Andy Estes  <aestes@apple.com>

        Replace iOS-only WebKitSystemInterface calls with SPI
        https://bugs.webkit.org/show_bug.cgi?id=150763

        Reviewed by Darin Adler.

        * Platform/ios/AccessibilityIOS.h: Added.
        * Platform/ios/AccessibilityIOS.mm: Added.
        (WebKit::newAccessibilityRemoteToken): Upstreamed the implementation of WKAXRemoteToken() from WebKitSystemInterface.
        * Shared/WebPreferencesDefinitions.h: Used Settings::defaultMinimumZoomFontSize() instead of WKGetMinimumZoomFontSize().
        * Shared/WebPreferencesStore.cpp:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (shouldAllowPictureInPictureMediaPlayback): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
        (-[WKWebView _takeViewSnapshot]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]): Used deviceClass() instead of WKGetDeviceClass().
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Used screenScaleFactor() instead of WKGetScaleFactorForScreen().
        (-[WKContentView _updateForScreen:]): Ditto.
        (storeAccessibilityRemoteConnectionInformation): Upstreamed the implementation of WKAXStoreRemoteConnectionInformation() from WebKitSystemInterface.
        (-[WKContentView _accessibilityRegisterUIProcessTokens]): Used newAccessibilityRemoteToken() and storeAccessibilityRemoteConnectionInformation() instead of WKAXRemoteToken() and WKAXStoreRemoteConnectionInformation().
        * UIProcess/ios/WKContentViewInteraction.mm:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::screenSize): Used screenSize() instead of WKGetScreenSize().
        (WebKit::WebPageProxy::availableScreenSize): Used availableScreenSize() instead of WKGetAvailableScreenSize().
        (WebKit::WebPageProxy::textAutosizingWidth): Used screenSize() instead of WKGetScreenSize().
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::platformInitializeAccessibility): Used newAccessibilityRemoteToken() instead of WKAXRemoteToken().

2015-11-02  Yongjun Zhang  <yongjun_zhang@apple.com>

        Add objC delegate callback for webProcessDidBecomeResponsive and webProcessDidBecomeUnresponsive.
        https://bugs.webkit.org/show_bug.cgi?id=150778

        Add methods into WKNavigationDelegatePrivate to notify WebKit client when web process becomes unresponsive
        or responsive, which is reported by WebKit::ResponsivenessTimer.

        Reviewed by Darin Adler.

        * UIProcess/API/APINavigationClient.h: Add two new method processDidBecomeResponsive and processDidBecomeUnresponsive
            to NavigationClient; they are called when WebKit::ResponsivenessTimer update its client's state.
        (API::NavigationClient::processDidBecomeResponsive):
        (API::NavigationClient::processDidBecomeUnresponsive):
        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h: Add two new delegate method to WKNavigationDelegatePrivate:
            _webViewWebProcessDidBecomeResponsive: and _webViewWebProcessDidBecomeUnresponsive:
        * UIProcess/Cocoa/NavigationState.h: Add new overriding methods processDidBecomeResponsive and processDidBecomeUnresponsive.
            Also add a bool member for each method to indicate if the delegate has implement the related method.
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate): Update the new bool members based on the delegate.
        (WebKit::NavigationState::NavigationClient::processDidBecomeResponsive): Send the delegate message to navigationDelegate
            if _webViewWebProcessDidBecomeResponsive: is implemented.
        (WebKit::NavigationState::NavigationClient::processDidBecomeUnresponsive): Ditto.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::processDidBecomeUnresponsive): Call navigationClient's processDidBecomeUnresponsive if the page proxy
            has navigationClient.
        (WebKit::WebPageProxy::processDidBecomeResponsive):  Call navigationClient's processDidBecomeResponsive if the page proxy
            has navigationClient.

2015-11-02  Beth Dakin  <bdakin@apple.com>

        Tapping and holding a link should have a share option
        https://bugs.webkit.org/show_bug.cgi?id=150693

        Reviewed by Dan Bernstein.

        This is a follow-up to the original change. This change fixes non-ascii URLs. 
        They should maintain their non-ascii characters when they are shared.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):
        * UIProcess/ios/WKPDFView.mm:
        (-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):

2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
        https://bugs.webkit.org/show_bug.cgi?id=150613

        Reviewed by Darin Adler.

        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::frameForContext): Renaming impl() to wrapped().
        (WebKit::WebFrame::counterValue): Ditto.

2015-11-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GLIB] Remove support for GSocket main loop sources from GMainLoopSource
        https://bugs.webkit.org/show_bug.cgi?id=150772

        Reviewed by Žan Doberšek.

        Add GSocketMonitor class to be used by Connection to monitor the
        availability of the socket file descriptor instead of using a
        GMainLoopSource.

        * Platform/IPC/Connection.h:
        * Platform/IPC/glib/GSocketMonitor.cpp: Added.
        (IPC::GSocketMonitor::~GSocketMonitor):
        (IPC::GSocketMonitor::socketSourceCallback):
        (IPC::GSocketMonitor::start):
        (IPC::GSocketMonitor::stop):
        * Platform/IPC/glib/GSocketMonitor.h: Added.
        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::platformInvalidate):
        (IPC::Connection::open):
        * PlatformGTK.cmake:

2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use RunLoop in WorkQueue implementation
        https://bugs.webkit.org/show_bug.cgi?id=150770

        Reviewed by Darin Adler.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::open): Get the main context from the WorkQueue Runloop.

2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Support Generator Syntax
        https://bugs.webkit.org/show_bug.cgi?id=150769

        Reviewed by Geoffrey Garen.

        Added ENABLE_ES6_GENERATORS flag.

        * Configurations/FeatureDefines.xcconfig:

2015-11-01  Brent Fulgham  <bfulgham@apple.com>

        Use convenience function in sandbox profile
        https://bugs.webkit.org/show_bug.cgi?id=150732
        <rdar://problem/23287894>

        Reviewed by Alexey Proskuryakov.

        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Switch to
        the 'awd-log-directory' convenience function.

2015-11-01  Joonghun Park  <jh718.park@samsung.com>

        [EFL] Fix inappropriate move semantics use in parseAndRemoveEnvironments function
        https://bugs.webkit.org/show_bug.cgi?id=150544

        Reviewed by Darin Adler.

        In parseAndRemoveEnvironments function, it declares its paramerter type as rvalue.
        But in ProcessLauncher::launchProcess(), the argument of
        parseAndRemoveEnvironments still be used after the call of the function.
        Currently the rvalue is not assigned to any other variable in parseAndRemoveEnvironments,
        so it doesn't lead to runtime error but use of move semantic
        is not appropriate semantically in this case.

        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        (WebKit::parseAndRemoveEnvironments):
        (WebKit::ProcessLauncher::launchProcess):

2015-11-01  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191831.
        https://bugs.webkit.org/show_bug.cgi?id=150774

        The new test fails (Requested by ap on #webkit).

        Reverted changeset:

        "Begin work on supporting reply blocks in
        _WKRemoteObjectRegistry"
        https://bugs.webkit.org/show_bug.cgi?id=150739
        http://trac.webkit.org/changeset/191831

2015-11-01  Philip Chimento  <philip.chimento@gmail.com>

        [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
        https://bugs.webkit.org/show_bug.cgi?id=144560

        Reviewed by Darin Adler.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
        Change order of OS(DARWIN) and USE(UNIX_DOMAIN_SOCKETS) checks,
        so that we can use Unix domain sockets even on Darwin for the GTK
        platform.
        * Platform/IPC/Attachment.cpp: Add USE(UNIX_DOMAIN_SOCKETS) check
        to OS(DARWIN) check, in order to support GTK platform on OSX.
        * Platform/IPC/Attachment.h: Change order of OS(DARWIN) and
        USE(UNIX_DOMAIN_SOCKETS) checks throughout.
        (IPC::Attachment::size):
        (IPC::Attachment::releaseFileDescriptor):
        (IPC::Attachment::fileDescriptor):
        (IPC::Attachment::disposition):
        (IPC::Attachment::port): 
        * Platform/IPC/Connection.h: Ditto.
        (IPC::Connection::identifierIsNull):
        (IPC::Connection::Identifier::Identifier): 
        (IPC::Connection::xpcConnection): 
        * Platform/IPC/unix/ConnectionUnix.cpp: Only use SOCK_SEQPACKET
        if the platform is not GTK, because otherwise the PLATFORM(GTK)
        check below is never reached.
        * Platform/SharedMemory.h: Change order of OS(DARWIN) and
        USE(UNIX_DOMAIN_SOCKETS) checks.
        * PluginProcess/PluginProcess.cpp: Ditto.
        (WebKit::PluginProcess::createWebProcessConnection):
        * Shared/API/c/WKBase.h: Don't include WKBaseMac.h if building
        GTK.
        * UIProcess/API/C/WKNativeEvent.h: Don't use Apple API if
        building GTK.
        * UIProcess/Launcher/ProcessLauncher.cpp: Change to
        OS(DARWIN) && !PLATFORM(GTK), in the absence of a better platform
        macro such as USE(MACH).
        (WebKit::ProcessLauncher::didFinishLaunchingProcess):
        * UIProcess/Launcher/ProcessLauncher.h: Ditto.
        * UIProcess/Network/NetworkProcessProxy.cpp: Change order of
        OS(DARWIN) and PLATFORM(GTK) checks.
        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
        * UIProcess/Plugins/PluginProcessProxy.cpp: Ditto.
        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
        (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp: Ditto.
        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
        * WebProcess/WebPage/WebInspector.cpp: Ditto.
        (WebKit::WebInspector::createInspectorPage):
        * WebProcess/WebPage/WebInspectorUI.cpp: Ditto.
        (WebKit::WebInspectorUI::establishConnection):
        * WebProcess/WebProcess.cpp: Ditto.
        (WebKit::WebProcess::ensureNetworkProcessConnection):

2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use RunLoop::Timer in PluginInfoCache
        https://bugs.webkit.org/show_bug.cgi?id=150757

        Reviewed by Darin Adler.

        Use RunLoop::Timer instead of GMainLoopSource to save the cache
        contents in an idle. Also remove the mutex, since RunLoop::Timer
        is thread safe and saveToFile() is private and only called by the
        main thread loop. Also removed the code to save the file in the
        destructor since PluginInfoCache is a singleton and never
        destroyed. It's very unlikely that the program finished before the
        cache is saved, but even if that happens it would be harmless, the
        cache will be saved at some point the next time.

        * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
        (WebKit::PluginInfoCache::PluginInfoCache):
        (WebKit::PluginInfoCache::updatePluginInfo):
        (WebKit::PluginInfoCache::~PluginInfoCache):
        (WebKit::PluginInfoCache::saveToFile):
        * UIProcess/Plugins/gtk/PluginInfoCache.h:

2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use a RunLoop::Timer to schedule rendering frames in accelerated compositing mode
        https://bugs.webkit.org/show_bug.cgi?id=150756

        Reviewed by Darin Adler.

        Use a RunLoop::Timer instead of a GMainLoopSource for the
        accelerated compositing render loop to improve the performance,
        since RunLoop::Timer uses a persistent source.
        All the logic to schedule rames has been moved to a helper
        internal class RenderFrameScheduler.

        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler):
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::~RenderFrameScheduler):
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::start):
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::stop):
        (WebKit::shouldSkipNextFrameBecauseOfContinousImmediateFlushes):
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::nextFrame):
        (WebKit::LayerTreeHostGtk::RenderFrameScheduler::renderFrame):
        (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
        (WebKit::LayerTreeHostGtk::renderFrame):
        (WebKit::LayerTreeHostGtk::scheduleLayerFlush):
        (WebKit::LayerTreeHostGtk::cancelPendingLayerFlush):
        (WebKit::LayerTreeHostGtk::layerFlushTimerFired): Deleted.
        * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

2015-10-31  Andreas Kling  <akling@apple.com>

        Add a debug overlay with information about web process resource usage.
        <https://webkit.org/b/150599>

        Reviewed by Darin Adler.

        Add WK2 preferences SPI for showing/hiding the resource usage overlay.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetResourceUsageOverlayVisible):
        (WKPreferencesGetResourceUsageOverlayVisible):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _resourceUsageOverlayVisible]):
        (-[WKPreferences _setResourceUsageOverlayVisible:]):
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-10-31  Alex Christensen  <achristensen@webkit.org>

        Share more code between NETWORK_SESSION and non-NETWORK_SESSION NetworkResourceLoaders
        https://bugs.webkit.org/show_bug.cgi?id=150742

        Reviewed by Darin Adler.

        r191457 added enough code to NetworkResourceLoader to load most resources successfully if there are no errors.
        It passed about 80% of LayoutTests/http and crashed sometimes.
        This passes about 95% of LayoutTests/http and does not crash on any of the LayoutTests/http.
        It should not change behavior of the non-NETWORK_SESSION code which is currently the default in trunk.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::abort):
        (WebKit::NetworkResourceLoader::sharedDidReceiveResponse):
        (WebKit::NetworkResourceLoader::sharedDidReceiveBuffer):
        (WebKit::NetworkResourceLoader::sharedDidFinishLoading):
        (WebKit::NetworkResourceLoader::sharedDidFail):
        (WebKit::NetworkResourceLoader::sharedWillSendRedirectedRequest):
        (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
        (WebKit::NetworkResourceLoader::didReceiveChallenge):
        (WebKit::NetworkResourceLoader::didReceiveResponse):
        (WebKit::NetworkResourceLoader::didReceiveData):
        (WebKit::NetworkResourceLoader::didCompleteWithError):
        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
        (WebKit::NetworkResourceLoader::didReceiveBuffer):
        (WebKit::NetworkResourceLoader::didFinishLoading):
        (WebKit::NetworkResourceLoader::didFail):
        (WebKit::NetworkResourceLoader::willSendRequestAsync):
        * NetworkProcess/NetworkResourceLoader.h:
        * NetworkProcess/NetworkSession.h:
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):

2015-10-28  Wenson Hsieh  <wenson_hsieh@apple.com>

        Inner height behavior when the keyboard is shown should match on WKWebView and MobileSafari
        https://bugs.webkit.org/show_bug.cgi?id=150634
        <rdar://problem/23202254>

        Reviewed by Benjamin Poulain.

        Make WKWebView match behavior in Safari by not firing resize events and changing the inner height when showing
        or hiding the keyboard. Previously, the WKWebView would do both of the above because we use the scroll view's
        contentInset property when no unobscured insets are explicitly set for the WKWebView. To fix this, when updating
        the visible content rect of a WKWebView for computing the inner height, we readjust the computed bottom inset
        to not take the keyboard height into account. To know how much we need to readjust the inset by, we store the
        total amount by which the scroll view's bottom inset has been adjusted due to the keyboard.

        We perform this readjustment in _updateVisibleContentRects rather than in _computedContentInset since some users
        of _computedContentInset may still expect the bottom inset to account for the keyboard height. However, when
        updating visible content rects, we should not account for the keyboard height since we don't want the inner height
        to change when showing or hiding the keyboard.

        Lastly, while calling _adjustForAutomaticKeyboardInfo, we may end up calling _updateVisibleContentRects. This call
        is unnecessary since we call it again immediately after _adjustForAutomaticKeyboardInfo, and it also complicates
        the readjustment logic, so it makes sense to prevent the update from happening altogether while we are adjusting
        the scroll view's insets due to keyboard changes. Altogether, these changes mean that the computed inner height
        will no longer be adjusted for the keyboard height on WKWebViews, matching the behavior observed on mobile Safari.

        Test: LayoutTests/fast/events/ios/keyboard-should-not-trigger-resize.html

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _updateVisibleContentRects]):
        (-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):

2015-10-30  Anders Carlsson  <andersca@apple.com>

        Begin work on supporting reply blocks in _WKRemoteObjectRegistry
        https://bugs.webkit.org/show_bug.cgi?id=150739

        Reviewed by Tim Horton.

        * Platform/spi/Cocoa/BlockSPI.h:
        Add SPI header.

        * Shared/API/Cocoa/RemoteObjectInvocation.h:
        (WebKit::RemoteObjectInvocation::ReplyInfo::ReplyInfo):
        (WebKit::RemoteObjectInvocation::replyInfo):
        * Shared/API/Cocoa/RemoteObjectInvocation.mm:
        (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
        (WebKit::RemoteObjectInvocation::encode):
        (WebKit::RemoteObjectInvocation::decode):
        Add an optional ReplyInfo struct to RemoteObjectInvocation.

        * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
        (generateReplyIdentifier):
        Helper function to generate a reply identifier.

        (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
        Do some block parameter validation.

        * WebKit2.xcodeproj/project.pbxproj:

2015-10-30  Beth Dakin  <bdakin@apple.com>

        Link preview doesn't work on XHTML pages with Content-Type header as 
        ‘application/xhtml+xml’
        https://bugs.webkit.org/show_bug.cgi?id=150740
        -and corresponding-
        rdar://problem/23063585

        Reviewed by Tim Horton.

        For XHTML pages, the element names are lowercase. This patch uses 
        equalIgnoringCase to fix the bug.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _actionForLongPress]):
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
        (-[WKContentView _dataForPreviewItemController:atPosition:type:]):

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:processGroup:browsingContextGroup:relatedToView:]):
        (-[WKView prepareContentInRect:]):
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView pageRef]):
        (-[WKView _web_immediateActionAnimationControllerForHitTestResultInternal:withType:userData:]):
        (-[WKView dealloc]): Deleted.
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::page):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (-[WKWindowVisibilityObserver initWithView:impl:]):
        (-[WKWindowVisibilityObserver dealloc]):
        (-[WKWindowVisibilityObserver _activeSpaceDidChange:]):
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::~WebViewImpl):
        (WebKit::WebViewImpl::setDrawsBackground):
        (WebKit::WebViewImpl::drawsBackground):
        (WebKit::WebViewImpl::setDrawsTransparentBackground):
        (WebKit::WebViewImpl::drawsTransparentBackground):
        (WebKit::WebViewImpl::isOpaque):
        (WebKit::WebViewImpl::acceptsFirstMouse):
        (WebKit::WebViewImpl::becomeFirstResponder):
        (WebKit::WebViewImpl::resignFirstResponder):
        (WebKit::WebViewImpl::viewWillStartLiveResize):
        (WebKit::WebViewImpl::viewDidEndLiveResize):
        (WebKit::WebViewImpl::updateWindowAndViewFrames):
        (WebKit::WebViewImpl::setFixedLayoutSize):
        (WebKit::WebViewImpl::fixedLayoutSize):
        (WebKit::WebViewImpl::isUsingUISideCompositing):
        (WebKit::WebViewImpl::setDrawingAreaSize):
        (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate):
        (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate):
        (WebKit::WebViewImpl::updateLayer):
        (WebKit::WebViewImpl::drawRect):
        (WebKit::WebViewImpl::dispatchSetTopContentInset):
        (WebKit::WebViewImpl::prepareContentInRect):
        (WebKit::WebViewImpl::updateViewExposedRect):
        (WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
        (WebKit::WebViewImpl::minimumSizeForAutoLayout):
        (WebKit::WebViewImpl::setShouldExpandToViewHeightForAutoLayout):
        (WebKit::WebViewImpl::shouldExpandToViewHeightForAutoLayout):
        (WebKit::WebViewImpl::setIntrinsicContentSize):
        (WebKit::WebViewImpl::setViewScale):
        (WebKit::WebViewImpl::viewScale):
        (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
        (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
        (WebKit::WebViewImpl::windowDidOrderOffScreen):
        (WebKit::WebViewImpl::windowDidOrderOnScreen):
        (WebKit::WebViewImpl::windowDidBecomeKey):
        (WebKit::WebViewImpl::windowDidResignKey):
        (WebKit::WebViewImpl::windowDidMiniaturize):
        (WebKit::WebViewImpl::windowDidDeminiaturize):
        (WebKit::WebViewImpl::windowDidChangeBackingProperties):
        (WebKit::WebViewImpl::windowDidChangeScreen):
        (WebKit::WebViewImpl::windowDidChangeLayerHosting):
        (WebKit::WebViewImpl::windowDidChangeOcclusionState):
        (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent):
        (WebKit::WebViewImpl::windowResizeMouseLocationIsInVisibleScrollerThumb):
        (WebKit::WebViewImpl::viewDidMoveToWindow):
        (WebKit::WebViewImpl::viewDidChangeBackingProperties):
        (WebKit::WebViewImpl::viewDidHide):
        (WebKit::WebViewImpl::viewDidUnhide):
        (WebKit::WebViewImpl::activeSpaceDidChange):
        (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
        (WebKit::WebViewImpl::setUnderlayColor):
        (WebKit::WebViewImpl::underlayColor):
        (WebKit::WebViewImpl::pageExtendedBackgroundColor):
        (WebKit::WebViewImpl::setOverlayScrollbarStyle):
        (WebKit::WebViewImpl::overlayScrollbarStyle):
        (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
        (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
        (WebKit::WebViewImpl::prepareForMoveToWindow):
        (WebKit::WebViewImpl::updateSecureInputState):
        (WebKit::WebViewImpl::setPluginComplexTextInputState):
        (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
        (WebKit::WebViewImpl::handleAcceptedAlternativeText):
        (WebKit::WebViewImpl::pressureChangeWithEvent):
        (WebKit::WebViewImpl::isEditable):
        (WebKit::WebViewImpl::executeEditCommandForSelector):
        (WebKit::WebViewImpl::writeSelectionToPasteboard):
        (WebKit::WebViewImpl::readSelectionFromPasteboard):
        (WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
        (WebKit::WebViewImpl::centerSelectionInVisibleArea):
        (WebKit::WebViewImpl::updateFontPanelIfNeeded):
        (WebKit::WebViewImpl::changeFontFromFontPanel):
        (WebKit::WebViewImpl::validateUserInterfaceItem):
        (WebKit::WebViewImpl::startSpeaking):
        (WebKit::WebViewImpl::showGuessPanel):
        (WebKit::WebViewImpl::checkSpelling):
        (WebKit::WebViewImpl::changeSpelling):
        (WebKit::WebViewImpl::toggleContinuousSpellChecking):
        (WebKit::WebViewImpl::setGrammarCheckingEnabled):
        (WebKit::WebViewImpl::toggleGrammarChecking):
        (WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
        (WebKit::WebViewImpl::toggleSmartInsertDelete):
        (WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
        (WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
        (WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
        (WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
        (WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
        (WebKit::WebViewImpl::toggleAutomaticLinkDetection):
        (WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
        (WebKit::WebViewImpl::toggleAutomaticTextReplacement):
        (WebKit::WebViewImpl::uppercaseWord):
        (WebKit::WebViewImpl::lowercaseWord):
        (WebKit::WebViewImpl::capitalizeWord):
        (WebKit::WebViewImpl::preferencesDidChange):
        (WebKit::WebViewImpl::dismissContentRelativeChildWindowsFromViewOnly):
        (WebKit::WebViewImpl::quickLookWithEvent):
        (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
        (WebKit::WebViewImpl::didChangeContentSize):
        (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
        (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
        (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
        (WebKit::WebViewImpl::stringForToolTip):
        (WebKit::WebViewImpl::setInspectorAttachmentView):
        (WebKit::WebViewImpl::remoteObjectRegistry):
        (WebKit::WebViewImpl::browsingContextController):
        (WebKit::WebViewImpl::draggedImage):
        (WebKit::WebViewImpl::draggingEntered):
        (WebKit::WebViewImpl::draggingUpdated):
        (WebKit::WebViewImpl::draggingExited):
        (WebKit::WebViewImpl::performDragOperation):
        (WebKit::WebViewImpl::takeViewSnapshot):
        (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
        (WebKit::WebViewImpl::saveBackForwardSnapshotForItem):
        (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
        (WebKit::WebViewImpl::setMagnification):
        (WebKit::WebViewImpl::magnification):
        (WebKit::WebViewImpl::scrollWheel):
        (WebKit::WebViewImpl::swipeWithEvent):
        (WebKit::WebViewImpl::magnifyWithEvent):
        (WebKit::WebViewImpl::rotateWithEvent):
        (WebKit::WebViewImpl::doCommandBySelector):
        (WebKit::WebViewImpl::insertText):
        (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
        (WebKit::WebViewImpl::markedRangeWithCompletionHandler):
        (WebKit::WebViewImpl::hasMarkedTextWithCompletionHandler):
        (WebKit::WebViewImpl::attributedSubstringForProposedRange):
        (WebKit::WebViewImpl::firstRectForCharacterRange):
        (WebKit::WebViewImpl::characterIndexForPoint):
        (WebKit::WebViewImpl::inputContext):
        (WebKit::WebViewImpl::unmarkText):
        (WebKit::WebViewImpl::setMarkedText):
        (WebKit::WebViewImpl::performKeyEquivalent):
        (WebKit::WebViewImpl::keyUp):
        (WebKit::WebViewImpl::keyDown):
        (WebKit::WebViewImpl::flagsChanged):
        (WebKit::WebViewImpl::executeSavedKeypressCommands):
        (WebKit::WebViewImpl::selectedRange):
        (WebKit::WebViewImpl::hasMarkedText):
        (WebKit::WebViewImpl::markedRange):
        (WebKit::WebViewImpl::setContentPreparationRect): Deleted.
        (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResultFromViewOnly): Deleted.
        (WebKit::WebViewImpl::destroyRemoteObjectRegistry): Deleted.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::scrollPinningBehavior):
        (WebKit::WebPageProxy::overlayScrollbarStyle):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::createWebPage):
        * UIProcess/WebProcessPool.h:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::PageClientImpl):
        (WebKit::PageClientImpl::createDrawingAreaProxy):
        (WebKit::PageClientImpl::viewSize):
        (WebKit::PageClientImpl::activeView):
        (WebKit::PageClientImpl::activeWindow):
        (WebKit::PageClientImpl::isViewFocused):
        (WebKit::PageClientImpl::makeFirstResponder):
        (WebKit::PageClientImpl::isViewVisible):
        (WebKit::PageClientImpl::colorSpace):
        (WebKit::PageClientImpl::processDidExit):
        (WebKit::PageClientImpl::pageClosed):
        (WebKit::PageClientImpl::didRelaunchProcess):
        (WebKit::PageClientImpl::preferencesDidChange):
        (WebKit::PageClientImpl::toolTipChanged):
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        (WebKit::PageClientImpl::didChangeContentSize):
        (WebKit::PageClientImpl::setCursor):
        (WebKit::PageClientImpl::registerEditCommand):
        (WebKit::PageClientImpl::registerInsertionUndoGrouping):
        (WebKit::PageClientImpl::clearAllEditCommands):
        (WebKit::PageClientImpl::canUndoRedo):
        (WebKit::PageClientImpl::executeUndoRedo):
        (WebKit::PageClientImpl::setDragImage):
        (WebKit::PageClientImpl::setPromisedDataForImage):
        (WebKit::PageClientImpl::setPromisedDataForAttachment):
        (WebKit::PageClientImpl::updateSecureInputState):
        (WebKit::PageClientImpl::resetSecureInputState):
        (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
        (WebKit::PageClientImpl::convertToDeviceSpace):
        (WebKit::PageClientImpl::convertToUserSpace):
        (WebKit::PageClientImpl::screenToRootView):
        (WebKit::PageClientImpl::rootViewToScreen):
        (WebKit::PageClientImpl::doneWithKeyEvent):
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        (WebKit::PageClientImpl::createColorPicker):
        (WebKit::PageClientImpl::setTextIndicator):
        (WebKit::PageClientImpl::clearTextIndicator):
        (WebKit::PageClientImpl::setTextIndicatorAnimationProgress):
        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
        (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
        (WebKit::PageClientImpl::takeViewSnapshot):
        (WebKit::PageClientImpl::selectionDidChange):
        (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
        (WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
        (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
        (WebKit::PageClientImpl::setPluginComplexTextInputState):
        (WebKit::PageClientImpl::didPerformDictionaryLookup):
        (WebKit::PageClientImpl::dismissContentRelativeChildWindows):
        (WebKit::PageClientImpl::showCorrectionPanel):
        (WebKit::PageClientImpl::recordAutocorrectionResponse):
        (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
        (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
        (WebKit::PageClientImpl::executeSavedCommandBySelector):
        (WebKit::PageClientImpl::showDictationAlternativeUI):
        (WebKit::PageClientImpl::closeFullScreenManager):
        (WebKit::PageClientImpl::isFullScreen):
        (WebKit::PageClientImpl::enterFullScreen):
        (WebKit::PageClientImpl::exitFullScreen):
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
        (WebKit::PageClientImpl::didFinishLoadForMainFrame):
        (WebKit::PageClientImpl::didFailLoadForMainFrame):
        (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
        (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
        (WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):
        (WebKit::PageClientImpl::didPerformImmediateActionHitTest):
        (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):
        (WebKit::PageClientImpl::showPlatformContextMenu):
        (WebKit::PageClientImpl::refView):
        (WebKit::PageClientImpl::derefView):
        (WebKit::PageClientImpl::startWindowDrag):
        (WebKit::PageClientImpl::platformWindow):
        (WebKit::PageClientImpl::inspectorAttachmentView):
        (WebKit::PageClientImpl::remoteObjectRegistry):
        * UIProcess/mac/WebColorPickerMac.h:
        * UIProcess/mac/WebColorPickerMac.mm:
        (WebKit::WebColorPickerMac::create):
        (WebKit::WebColorPickerMac::WebColorPickerMac):
        (-[WKColorPopoverMac initWithFrame:inView:]):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
        * UIProcess/mac/WebPopupMenuProxyMac.h:
        (WebKit::WebPopupMenuProxyMac::create):
        * UIProcess/mac/WebPopupMenuProxyMac.mm:
        (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
        Move ownership of WebPageProxy and PageClientImpl to WebViewImpl.

2015-10-30  Alex Christensen  <achristensen@webkit.org>

        Fix Mac CMake build after rr191810.

        * PlatformMac.cmake:
        Add RemoteObjectInvocation.mm.

2015-10-30  Anders Carlsson  <andersca@apple.com>

        Add a separate object that represents a remote object invocation
        https://bugs.webkit.org/show_bug.cgi?id=150639

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/RemoteObjectInvocation.h: Copied from Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.h.
        (WebKit::RemoteObjectInvocation::interfaceIdentifier):
        (WebKit::RemoteObjectInvocation::encodedInvocation):
        * Shared/API/Cocoa/RemoteObjectInvocation.mm: Copied from Source/WebKit2/Shared/API/Cocoa/RemoteObjectRegistry.mm.
        (WebKit::RemoteObjectInvocation::RemoteObjectInvocation):
        (WebKit::RemoteObjectInvocation::encode):
        (WebKit::RemoteObjectInvocation::decode):
        * Shared/API/Cocoa/RemoteObjectRegistry.h:
        * Shared/API/Cocoa/RemoteObjectRegistry.messages.in:
        * Shared/API/Cocoa/RemoteObjectRegistry.mm:
        (WebKit::RemoteObjectRegistry::sendInvocation):
        (WebKit::RemoteObjectRegistry::invokeMethod):
        * Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
        (-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
        (-[_WKRemoteObjectRegistry _invokeMethod:]):
        * Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-30  Beth Dakin  <bdakin@apple.com>

        Another speculative build fix.

        * UIProcess/API/Cocoa/_WKElementAction.h:

2015-10-30  Beth Dakin  <bdakin@apple.com>

        Speculative build fix.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/ios/WKContentViewInteraction.mm:

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView mouseMoved:]):
        (-[WKView mouseDown:]):
        (-[WKView mouseUp:]):
        (-[WKView mouseDragged:]):
        (-[WKView mouseEntered:]):
        (-[WKView mouseExited:]):
        (-[WKView otherMouseDown:]):
        (-[WKView otherMouseDragged:]):
        (-[WKView otherMouseUp:]):
        (-[WKView rightMouseDown:]):
        (-[WKView rightMouseDragged:]):
        (-[WKView rightMouseUp:]):
        (-[WKView _updateViewExposedRect]): Deleted.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::mouseMoved):
        (WebKit::WebViewImpl::mouseDown):
        (WebKit::WebViewImpl::mouseUp):
        (WebKit::WebViewImpl::mouseDragged):
        Move mouse event handling.

2015-10-30  Beth Dakin  <bdakin@apple.com>

        Tapping and holding a link should have a share option
        https://bugs.webkit.org/show_bug.cgi?id=150693
        -and corresponding-
        rdar://problem/21319702

        Reviewed by Tim Horton.

        New _WKElementActionType called _WKElementActionTypeShare.
        * UIProcess/API/Cocoa/_WKElementAction.h:
        * UIProcess/API/Cocoa/_WKElementAction.mm:
        (+[_WKElementAction _elementActionWithType:customTitle:assistant:]):

        _WKElementActionTypeShare is part of the default actions for links.
        * UIProcess/ios/WKActionSheetAssistant.h:
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant defaultActionsForLinkSheet:]):

        Handle the sharing part!
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView actionSheetAssistant:shareElementWithURL:rect:]):

        To support this in PDF, PDF need to create a _webSelectionAssistant.
        * UIProcess/ios/WKPDFView.mm:
        (-[WKPDFView web_initWithFrame:webView:]):
        (-[WKPDFView actionSheetAssistant:openElementAtLocation:]):
        (-[WKPDFView actionSheetAssistant:shareElementWithURL:rect:]):
        (-[WKPDFView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _wantsKeyDownForEvent:]):
        (-[WKView acceptsFirstMouse:]):
        (-[WKView shouldDelayWindowOrderingForEvent:]):
        (-[WKView validAttributesForMarkedText]):
        (-[WKView _windowResizeMouseLocationIsInVisibleScrollerThumb:]):
        (-[WKView drawRect:]):
        (-[WKView isOpaque]):
        (-[WKView mouseDownCanMoveWindow]):
        (-[WKView viewDidHide]):
        (-[WKView viewDidUnhide]):
        (-[WKView _activeSpaceDidChange:]):
        (-[WKView hitTest:]):
        (-[WKView wantsUpdateLayer]):
        (-[WKView canChangeFrameLayout:]):
        (-[WKView printOperationWithPrintInfo:forFrame:]):
        (+[WKView hideWordDefinitionWindow]):
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::wantsUpdateLayer):
        (WebKit::WebViewImpl::mouseDownCanMoveWindow):
        (WebKit::WebViewImpl::wantsKeyDownForEvent):
        (WebKit::WebViewImpl::layerHostingView): Deleted.
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::isOpaque):
        (WebKit::WebViewImpl::acceptsFirstMouse):
        (WebKit::WebViewImpl::drawRect):
        (WebKit::WebViewImpl::canChangeFrameLayout):
        (WebKit::WebViewImpl::printOperationWithPrintInfo):
        (WebKit::WebViewImpl::shouldDelayWindowOrderingForEvent):
        (WebKit::WebViewImpl::windowResizeMouseLocationIsInVisibleScrollerThumb):
        (WebKit::WebViewImpl::viewDidHide):
        (WebKit::WebViewImpl::viewDidUnhide):
        (WebKit::WebViewImpl::activeSpaceDidChange):
        (WebKit::WebViewImpl::hitTest):
        (WebKit::WebViewImpl::hideWordDefinitionWindow):
        (WebKit::WebViewImpl::validAttributesForMarkedText):
        Printing and random bits.

2015-10-30  Anders Carlsson  <andersca@apple.com>

        REGRESSION (r191691): Unexpected "Share" context menu when right clicking around inspector
        https://bugs.webkit.org/show_bug.cgi?id=150699
        rdar://problem/23324522

        Reviewed by Tim Horton.

        Don't create a share menu item if we have nothing to share.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::createShareMenuItem):

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        Initialize some new WebViewImpl members

        * UIProcess/Cocoa/WebViewImpl.h:
        Oh well.

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        Fix the build

        * UIProcess/API/mac/WKView.mm:

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        Fix the build

        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):

2015-10-30  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Darin Adler.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView doCommandBySelector:]):
        (-[WKView insertText:]):
        (-[WKView insertText:replacementRange:]):
        (-[WKView inputContext]):
        (-[WKView performKeyEquivalent:]):
        (-[WKView keyUp:]):
        (-[WKView keyDown:]):
        (-[WKView flagsChanged:]):
        (-[WKView setMarkedText:selectedRange:replacementRange:]):
        (-[WKView unmarkText]):
        (-[WKView selectedRange]):
        (-[WKView hasMarkedText]):
        (-[WKView markedRange]):
        (-[WKView attributedSubstringForProposedRange:actualRange:]):
        (-[WKView characterIndexForPoint:]):
        (-[WKView firstRectForCharacterRange:actualRange:]):
        (-[WKView selectedRangeWithCompletionHandler:]):
        (-[WKView markedRangeWithCompletionHandler:]):
        (-[WKView hasMarkedTextWithCompletionHandler:]):
        (-[WKView attributedSubstringForProposedRange:completionHandler:]):
        (-[WKView firstRectForCharacterRange:completionHandler:]):
        (-[WKView characterIndexForPoint:completionHandler:]):
        (-[WKView _superPerformKeyEquivalent:]):
        (-[WKView _superKeyDown:]):
        (extractUnderlines): Deleted.
        (-[WKView _collectKeyboardLayoutCommandsForEvent:to:]): Deleted.
        (-[WKView _interpretKeyEvent:completionHandler:]): Deleted.
        (-[WKView NO_RETURN_DUE_TO_ASSERT]): Deleted.
        (-[WKView _interpretKeyEvent:savingCommandsTo:]): Deleted.
        (-[WKView _executeSavedKeypressCommands]): Deleted.
        (-[WKView _doneWithKeyEvent:eventWasHandled:]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::doneWithKeyEvent):
        (WebKit::extractUnderlines):
        (WebKit::WebViewImpl::collectKeyboardLayoutCommandsForEvent):
        (WebKit::WebViewImpl::interpretKeyEvent):
        (WebKit::WebViewImpl::doCommandBySelector):
        (WebKit::WebViewImpl::insertText):
        (WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
        (WebKit::WebViewImpl::markedRangeWithCompletionHandler):
        (WebKit::WebViewImpl::hasMarkedTextWithCompletionHandler):
        (WebKit::WebViewImpl::attributedSubstringForProposedRange):
        (WebKit::WebViewImpl::firstRectForCharacterRange):
        (WebKit::WebViewImpl::characterIndexForPoint):
        (WebKit::WebViewImpl::inputContext):
        (WebKit::WebViewImpl::unmarkText):
        (WebKit::WebViewImpl::setMarkedText):
        (WebKit::WebViewImpl::selectedRange):
        (WebKit::WebViewImpl::hasMarkedText):
        (WebKit::WebViewImpl::markedRange):
        (WebKit::WebViewImpl::performKeyEquivalent):
        (WebKit::WebViewImpl::keyUp):
        (WebKit::WebViewImpl::keyDown):
        (WebKit::WebViewImpl::flagsChanged):
        (WebKit::WebViewImpl::executeSavedKeypressCommands):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::doneWithKeyEvent):
        Move NSTextInputClient implementation.

2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Move the socket polling off the WorkQueue
        https://bugs.webkit.org/show_bug.cgi?id=150593

        Reviewed by Anders Carlsson.

        Create the socket poll source in Connection::open and attach it to
        the connection work queue context.

        * Platform/IPC/Connection.h:
        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::platformInvalidate):
        (IPC::Connection::open):

2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use RunLoop::Timer instead of GMainLoopSource
        https://bugs.webkit.org/show_bug.cgi?id=150592

        Reviewed by Žan Doberšek.

        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::DownloadClient::DownloadClient):
        (WebKit::DownloadClient::didReceiveData):
        (WebKit::DownloadClient::handleResponseLater):
        * UIProcess/gtk/GestureController.cpp:
        (WebKit::GestureController::DragGesture::begin):
        (WebKit::GestureController::DragGesture::update):
        (WebKit::GestureController::DragGesture::end):
        (WebKit::GestureController::DragGesture::longPressFired):
        (WebKit::GestureController::DragGesture::DragGesture):
        (WebKit::GestureController::ZoomGesture::scaleChanged):
        (WebKit::GestureController::ZoomGesture::ZoomGesture):
        * UIProcess/gtk/GestureController.h:

2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use a persistent main loop source in RunLoop glib implementation
        https://bugs.webkit.org/show_bug.cgi?id=150590

        Reviewed by Žan Doberšek.

        Use RunLoop::dispatch() instead of
        GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
        cases.

        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
        (WebKit::NetworkCache::runTaskInQueue):
        * UIProcess/gtk/DragAndDropHandler.cpp:
        (WebKit::DragAndDropHandler::dragLeave):

2015-10-29  Alex Christensen  <achristensen@webkit.org>

        Make WebCore a framework in Mac CMake build
        https://bugs.webkit.org/show_bug.cgi?id=150702

        Reviewed by Geoffrey Garen.

        * PlatformMac.cmake:

2015-10-29  Alex Christensen  <achristensen@webkit.org>

        EFL build fix after r191749

        * CMakeLists.txt:
        Only Mac should include the Cocoa directory.

2015-10-29  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * Platform/spi/mac/AppKitSPI.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView validRequestorForSendType:returnType:]):
        (-[WKView readSelectionFromPasteboard:]):
        (-[WKView changeFont:]):
        (-[WKView startSpeaking:]):
        (-[WKView stopSpeaking:]):
        (-[WKView showGuessPanel:]):
        (-[WKView checkSpelling:]):
        (-[WKView changeSpelling:]):
        (-[WKView toggleContinuousSpellChecking:]):
        (-[WKView isGrammarCheckingEnabled]):
        (-[WKView setGrammarCheckingEnabled:]):
        (-[WKView toggleGrammarChecking:]):
        (-[WKView toggleAutomaticSpellingCorrection:]):
        (-[WKView orderFrontSubstitutionsPanel:]):
        (-[WKView toggleSmartInsertDelete:]):
        (-[WKView isAutomaticQuoteSubstitutionEnabled]):
        (-[WKView setAutomaticQuoteSubstitutionEnabled:]):
        (-[WKView toggleAutomaticQuoteSubstitution:]):
        (-[WKView isAutomaticDashSubstitutionEnabled]):
        (-[WKView setAutomaticDashSubstitutionEnabled:]):
        (-[WKView toggleAutomaticDashSubstitution:]):
        (-[WKView isAutomaticLinkDetectionEnabled]):
        (-[WKView setAutomaticLinkDetectionEnabled:]):
        (-[WKView toggleAutomaticLinkDetection:]):
        (-[WKView isAutomaticTextReplacementEnabled]):
        (-[WKView setAutomaticTextReplacementEnabled:]):
        (-[WKView toggleAutomaticTextReplacement:]):
        (-[WKView uppercaseWord:]):
        (-[WKView lowercaseWord:]):
        (-[WKView capitalizeWord:]):
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::readSelectionFromPasteboard):
        (WebKit::WebViewImpl::validRequestorForSendAndReturnTypes):
        (WebKit::WebViewImpl::changeFontFromFontPanel):
        (WebKit::WebViewImpl::startSpeaking):
        (WebKit::WebViewImpl::stopSpeaking):
        (WebKit::WebViewImpl::showGuessPanel):
        (WebKit::WebViewImpl::checkSpelling):
        (WebKit::WebViewImpl::changeSpelling):
        (WebKit::WebViewImpl::toggleContinuousSpellChecking):
        (WebKit::WebViewImpl::isGrammarCheckingEnabled):
        (WebKit::WebViewImpl::setGrammarCheckingEnabled):
        (WebKit::WebViewImpl::toggleGrammarChecking):
        (WebKit::WebViewImpl::toggleAutomaticSpellingCorrection):
        (WebKit::WebViewImpl::orderFrontSubstitutionsPanel):
        (WebKit::WebViewImpl::toggleSmartInsertDelete):
        (WebKit::WebViewImpl::isAutomaticQuoteSubstitutionEnabled):
        (WebKit::WebViewImpl::setAutomaticQuoteSubstitutionEnabled):
        (WebKit::WebViewImpl::toggleAutomaticQuoteSubstitution):
        (WebKit::WebViewImpl::isAutomaticDashSubstitutionEnabled):
        (WebKit::WebViewImpl::setAutomaticDashSubstitutionEnabled):
        (WebKit::WebViewImpl::toggleAutomaticDashSubstitution):
        (WebKit::WebViewImpl::isAutomaticLinkDetectionEnabled):
        (WebKit::WebViewImpl::setAutomaticLinkDetectionEnabled):
        (WebKit::WebViewImpl::toggleAutomaticLinkDetection):
        (WebKit::WebViewImpl::setAutomaticTextReplacementEnabled):
        (WebKit::WebViewImpl::toggleAutomaticTextReplacement):
        (WebKit::WebViewImpl::uppercaseWord):
        (WebKit::WebViewImpl::lowercaseWord):
        (WebKit::WebViewImpl::capitalizeWord):
        Move spellcheck and related bits.

2015-10-29  Eric Carlson  <eric.carlson@apple.com>

        Revert inadvertent changes
        https://bugs.webkit.org/show_bug.cgi?id=150694

        Reviewed by Tim Horton.

        * WebProcess/com.apple.WebProcess.sb.in:

2015-10-29  Alex Christensen  <achristensen@webkit.org>

        CMake build fix.

        * CMakeLists.txt:
        * PlatformMac.cmake:
        I mistakenly added some mac-specific files to the shared CMakeLists.txt.  This puts them in the right place.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::viewWillStartLiveResize):
        (WebKit::WebPageProxy::viewDidLeaveWindow):
        (WebKit::WebPageProxy::didEndColorPicker):
        Add preprocessor enable checks.

2015-10-29  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Darin Adler.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView browsingContextController]):
        (-[WKView validateUserInterfaceItem:]):
        (-[WKView saveBackForwardSnapshotForCurrentItem]):
        (-[WKView saveBackForwardSnapshotForItem:]):
        (-[WKView updateLayer]):
        (-[WKView minimumSizeForAutoLayout]):
        (-[WKView setMinimumSizeForAutoLayout:]):
        (-[WKView shouldExpandToViewHeightForAutoLayout]):
        (-[WKView setShouldExpandToViewHeightForAutoLayout:]):
        (-[WKView underlayColor]):
        (-[WKView setUnderlayColor:]):
        (-[WKView _setOverlayScrollbarStyle:]):
        (-[WKView _overlayScrollbarStyle]):
        (-[WKView _pageExtendedBackgroundColor]):
        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
        (-[WKView isUsingUISideCompositing]):
        (createSelectorExceptionMap): Deleted.
        (commandNameForSelector): Deleted.
        (menuItem): Deleted.
        (toolbarItem): Deleted.
        (-[WKView _setUserInterfaceItemState:enabled:state:]): Deleted.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::createDrawingAreaProxy):
        (WebKit::WebViewImpl::isUsingUISideCompositing):
        (WebKit::WebViewImpl::forceAsyncDrawingAreaSizeUpdate):
        (WebKit::WebViewImpl::waitForAsyncDrawingAreaSizeUpdate):
        (WebKit::WebViewImpl::updateLayer):
        (WebKit::WebViewImpl::setMinimumSizeForAutoLayout):
        (WebKit::WebViewImpl::minimumSizeForAutoLayout):
        (WebKit::WebViewImpl::setShouldExpandToViewHeightForAutoLayout):
        (WebKit::WebViewImpl::shouldExpandToViewHeightForAutoLayout):
        (WebKit::WebViewImpl::setUnderlayColor):
        (WebKit::WebViewImpl::underlayColor):
        (WebKit::WebViewImpl::pageExtendedBackgroundColor):
        (WebKit::WebViewImpl::setOverlayScrollbarStyle):
        (WebKit::WebViewImpl::overlayScrollbarStyle):
        (WebKit::createSelectorExceptionMap):
        (WebKit::commandNameForSelector):
        (WebKit::WebViewImpl::executeSavedCommandBySelector):
        (WebKit::WebViewImpl::executeEditCommandForSelector):
        (WebKit::menuItem):
        (WebKit::toolbarItem):
        (WebKit::WebViewImpl::validateUserInterfaceItem):
        (WebKit::WebViewImpl::setUserInterfaceItemState):
        (WebKit::WebViewImpl::browsingContextController):
        (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
        (WebKit::WebViewImpl::saveBackForwardSnapshotForItem):
        (WebKit::WebViewImpl::executeEditCommand): Deleted.
        Move UI validation and a grab-bag of other things.

2015-10-29  Alex Christensen  <achristensen@webkit.org>

        Fix Mac CMake build
        https://bugs.webkit.org/show_bug.cgi?id=150686

        Reviewed by Filip Pizlo.

        * CMakeLists.txt:
        * PlatformMac.cmake:

2015-10-29  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191728.
        https://bugs.webkit.org/show_bug.cgi?id=150668

        Caused a lot of timeouts in layout tests (Requested by KaL on
        #webkit).

        Reverted changeset:

        "[GTK] Use a persistent main loop source in RunLoop glib
        implementation"
        https://bugs.webkit.org/show_bug.cgi?id=150590
        http://trac.webkit.org/changeset/191728

2015-10-29  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use a persistent main loop source in RunLoop glib implementation
        https://bugs.webkit.org/show_bug.cgi?id=150590

        Reviewed by Žan Doberšek.

        Use RunLoop::dispatch() instead of
        GMainLoopSource::scheduleAndDeleteOnDestroy in a couple of simple
        cases.

        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
        (WebKit::NetworkCache::runTaskInQueue):
        * UIProcess/gtk/DragAndDropHandler.cpp:
        (WebKit::DragAndDropHandler::dragLeave):

2015-10-28  Tim Horton  <timothy_horton@apple.com>

        Fix the build

        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::startWindowDrag):
        (WebKit::PageClientImpl::platformWindow):

2015-10-28  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (WKPageGetObjectRegistry):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController _remoteObjectRegistry]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView dealloc]):
        (-[WKView _inspectorAttachmentView]):
        (-[WKView _setInspectorAttachmentView:]):
        (-[WKView windowOcclusionDetectionEnabled]):
        (-[WKView setWindowOcclusionDetectionEnabled:]):
        (-[WKView _setTotalHeightOfBanners:]):
        (-[WKView _totalHeightOfBanners]):
        (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
        (-[WKView _remoteObjectRegistry]): Deleted.
        (-[WKView _startWindowDrag]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::setWindowOcclusionDetectionEnabled):
        (WebKit::WebViewImpl::windowOcclusionDetectionEnabled):
        (WebKit::WebViewImpl::setTotalHeightOfBanners):
        (WebKit::WebViewImpl::totalHeightOfBanners):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::window):
        (WebKit::WebViewImpl::setInspectorAttachmentView):
        (WebKit::WebViewImpl::inspectorAttachmentView):
        (WebKit::WebViewImpl::remoteObjectRegistry):
        (WebKit::WebViewImpl::destroyRemoteObjectRegistry):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewVisible):
        (WebKit::PageClientImpl::createColorPicker):
        (WebKit::PageClientImpl::startWindowDrag):
        (WebKit::PageClientImpl::platformWindow):
        (WebKit::PageClientImpl::inspectorAttachmentView):
        (WebKit::PageClientImpl::remoteObjectRegistry):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        (WebKit::WebInspectorProxy::platformCanAttach):
        (WebKit::WebInspectorProxy::platformBringToFront):
        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
        (WebKit::WebInspectorProxy::platformInspectedWindowWidth):
        (WebKit::WebInspectorProxy::platformAttach):
        (WebKit::WebInspectorProxy::platformDetach):
        (WebKit::WebInspectorProxy::platformStartWindowDrag):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::startWindowDrag):
        (WebKit::WebPageProxy::platformWindow):
        (WebKit::WebPageProxy::inspectorAttachmentView):
        (WebKit::WebPageProxy::remoteObjectRegistry):
        (WebKit::WebPageProxy::wkView): Deleted.
        Get rid of the wkView() getters on PageClientImpl and WebPageProxy, because
        those can't be a thing in the brave new world. Instead, plumb the four
        callers through PageClient to WebViewImpl.

        Also, move a few more things (banners, window occlusion).

2015-10-27  Anders Carlsson  <andersca@apple.com>

        Stub out more of the context menu SPI
        https://bugs.webkit.org/show_bug.cgi?id=150606

        Reviewed by Dan Bernstein.

        Add a delegate method that will allow the client to modify the menu. Also,
        add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
        * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
        * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
        (WebKit::UIDelegate::UIClient::createNewPage):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-28  Anders Carlsson  <andersca@apple.com>

        Stop using ContextMenuItem::shareMenuItem in the UI process
        https://bugs.webkit.org/show_bug.cgi?id=150578

        Reviewed by Tim Horton.

        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::createShareMenuItem):
        (WebKit::WebContextMenuProxyMac::createContextMenuItem):
        (WebKit::WebContextMenuProxyMac::shareMenuItem): Deleted.

2015-10-28  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _superDoCommandBySelector:]):
        (-[WKView _createDrawingAreaProxy]): Deleted.
        (-[WKView _processDidExit]): Deleted.
        (-[WKView _pageClosed]): Deleted.
        (-[WKView _didRelaunchProcess]): Deleted.
        (-[WKView _convertToDeviceSpace:]): Deleted.
        (-[WKView _convertToUserSpace:]): Deleted.
        (-[WKView _executeSavedCommandBySelector:]): Deleted.
        (-[WKResponderChainSink initWithResponderChain:]): Deleted.
        (-[WKResponderChainSink detach]): Deleted.
        (-[WKResponderChainSink didReceiveUnhandledCommand]): Deleted.
        (-[WKResponderChainSink noResponderFor:]): Deleted.
        (-[WKResponderChainSink doCommandBySelector:]): Deleted.
        (-[WKResponderChainSink tryToPerform:with:]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (-[WKResponderChainSink initWithResponderChain:]):
        (-[WKResponderChainSink detach]):
        (-[WKResponderChainSink didReceiveUnhandledCommand]):
        (-[WKResponderChainSink noResponderFor:]):
        (-[WKResponderChainSink doCommandBySelector:]):
        (-[WKResponderChainSink tryToPerform:with:]):
        (WebKit::WebViewImpl::createDrawingAreaProxy):
        (WebKit::WebViewImpl::processDidExit):
        (WebKit::WebViewImpl::pageClosed):
        (WebKit::WebViewImpl::didRelaunchProcess):
        (WebKit::WebViewImpl::executeSavedCommandBySelector):
        (WebKit::WebViewImpl::resetGestureController): Deleted.
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::createDrawingAreaProxy):
        (WebKit::PageClientImpl::processDidExit):
        (WebKit::PageClientImpl::pageClosed):
        (WebKit::PageClientImpl::didRelaunchProcess):
        (WebKit::PageClientImpl::convertToDeviceSpace):
        (WebKit::PageClientImpl::convertToUserSpace):
        (WebKit::PageClientImpl::executeSavedCommandBySelector):
        Move most of the rest of WKViewInternal.h's methods to WebViewImpl.

2015-10-28  Alex Christensen  <achristensen@webkit.org>

        Compile and link with CMake on Mac
        https://bugs.webkit.org/show_bug.cgi?id=150632

        Reviewed by Tim Horton.

        * CMakeLists.txt:
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * PlatformMac.cmake:

2015-10-27  Anders Carlsson  <andersca@apple.com>

        Stub out more of the context menu SPI
        https://bugs.webkit.org/show_bug.cgi?id=150606

        Reviewed by Dan Bernstein.

        Add a delegate method that will allow the client to modify the menu. Also,
        add an empty _WKContextMenuElementInfo class and its _WKElementInfo superclass.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.h: Added.
        * UIProcess/API/Cocoa/_WKContextMenuElementInfo.mm: Added.
        * UIProcess/API/Cocoa/_WKElementInfo.h: Added.
        * UIProcess/API/Cocoa/_WKElementInfo.mm: Added.
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
        (WebKit::UIDelegate::UIClient::createNewPage):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-28  Chris Dumez  <cdumez@apple.com>

        Use RunLoopTimer in DataURLDecoder to avoid issues related to runloops
        https://bugs.webkit.org/show_bug.cgi?id=150609
        <rdar://problem/22702894>

        Reviewed by Antti Koivisto.

        Move addSchedulePair() call to Page::platformInitialize() so that
        RunLoopTimer can be used by any Page, even those that don't have
        a WebPage wrapper.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::platformInitialize): Deleted.

2015-10-27  Tim Horton  <timothy_horton@apple.com>

        Fix the 32-bit build.

        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::dragImageForView):

2015-10-27  Tim Horton  <timothy_horton@apple.com>

        Fix the build.

        * UIProcess/Cocoa/WebViewImpl.mm:

2015-10-27  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView mouseDown:]):
        (-[WKView mouseUp:]):
        (-[WKView acceptsFirstMouse:]):
        (-[WKView shouldDelayWindowOrderingForEvent:]):
        (-[WKView pasteboardChangedOwner:]):
        (-[WKView pasteboard:provideDataForType:]):
        (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
        (-[WKView _startWindowDrag]):
        (-[WKView _setMouseDownEvent:]): Deleted.
        (-[WKView _colorSpace]): Deleted.
        (-[WKView _dragImageForView:withImage:at:linkDrag:]): Deleted.
        (matchesExtensionOrEquivalent): Deleted.
        (-[WKView _setFileAndURLTypes:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
        (-[WKView _setPromisedDataForImage:withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:forPasteboard:]): Deleted.
        (-[WKView _setPromisedDataForAttachment:withExtension:withTitle:withURL:withVisibleURL:forPasteboard:]): Deleted.
        (fileExists): Deleted.
        (pathWithUniqueFilenameForPath): Deleted.
        (-[WKView spellCheckerDocumentTag]): Deleted.
        (-[WKView handleAcceptedAlternativeText:]): Deleted.
        (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::handleAcceptedAlternativeText):
        (WebKit::WebViewImpl::spellCheckerDocumentTag):
        (WebKit::WebViewImpl::startWindowDrag):
        (WebKit::WebViewImpl::dragImageForView):
        (WebKit::matchesExtensionOrEquivalent):
        (WebKit::WebViewImpl::setFileAndURLTypes):
        (WebKit::WebViewImpl::setPromisedDataForImage):
        (WebKit::WebViewImpl::setPromisedDataForAttachment):
        (WebKit::WebViewImpl::pasteboardChangedOwner):
        (WebKit::WebViewImpl::provideDataForPasteboard):
        (WebKit::fileExists):
        (WebKit::pathWithUniqueFilenameForPath):
        (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
        (WebKit::WebViewImpl::setLastMouseDownEvent):
        * UIProcess/mac/CorrectionPanel.h:
        * UIProcess/mac/CorrectionPanel.mm:
        (WebKit::CorrectionPanel::show):
        (WebKit::CorrectionPanel::recordAutocorrectionResponse):
        (WebKit::CorrectionPanel::handleAcceptedReplacement):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::colorSpace):
        (WebKit::PageClientImpl::setDragImage):
        (WebKit::PageClientImpl::setPromisedDataForImage):
        (WebKit::PageClientImpl::setPromisedDataForAttachment):
        (WebKit::PageClientImpl::showCorrectionPanel):
        (WebKit::PageClientImpl::recordAutocorrectionResponse):
        (WebKit::PageClientImpl::showDictationAlternativeUI):
        Move some pasteboard and spellcheck code.

2015-10-27  Wenson Hsieh  <wenson_hsieh@apple.com>

        Implement viewport-width-based fast-click heuristic
        https://bugs.webkit.org/show_bug.cgi?id=150604
        <rdar://problem/23267308>

        Reviewed by Simon Fraser.

        Implement a new fast-click heuristic that applies to viewports with width = device-width. The basic rules are
        as follows: when a page has viewport width = device-width and is at initial zoom scale, we disable double-tapping
        in favor of fast-clicking. However, if the viewport scale is not the initial scale, we allow double tapping. For
        fast-clicking to remain useful after the user pinch-zooms, we change our double-tap to zoom out behavior to zoom
        to the initial scale rather than the minimum scale. For unscalable viewports, we default to fast-clicking behavior,
        and for all other viewports not at device-width, we double-tap to zoom and scroll as normal.

        This patch removes some logic previously used for our scroll- and zoom-based fast-clicking heuristic, and adds
        information about the viewport width and initial scale to RemoteLayerTreeTransactions. This information is then
        used by the UI process to determine whether double tapping should be disabled or enabled.

        The fast-click heuristic can be turned off through user default preferences, and a tap highlight for debugging
        fast-clicking can also be enabled through a user default preference. A red highlight indicates that a single-
        tap was slow, whereas a green highlight indicates a fast single-tap.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::initialScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::setInitialScaleFactor):
        (WebKit::RemoteLayerTreeTransaction::viewportMetaTagWidth):
        (WebKit::RemoteLayerTreeTransaction::setViewportMetaTagWidth):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView _processDidExit]):
        (-[WKWebView _didCommitLayerTree:]):
        (-[WKWebView _zoomToInitialScaleWithOrigin:animated:]):
        (-[WKWebView _allowsDoubleTapGestures]):
        (-[WKWebView _setViewportMetaTagWidth:]): Deleted.
        (-[WKWebView _contentZoomScale]): Deleted.
        (-[WKWebView _viewportMetaTagWidth]): Deleted.
        (-[WKWebView _viewportIsUserScalable]): Deleted.
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::disableDoubleTapGesturesDuringTapIfNecessary):
        (WebKit::PageClientImpl::didChangeViewportMetaTagWidth): Deleted.
        (WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
        * UIProcess/ios/SmartMagnificationController.h:
        * UIProcess/ios/SmartMagnificationController.mm:
        (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
        * UIProcess/ios/WKContentView.h:
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _zoomToInitialScaleWithOrigin:]):
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):
        (-[WKContentView _showTapHighlight]):
        (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
        (-[WKContentView _mayDisableDoubleTapGesturesDuringSingleTap]):
        (-[WKContentView _disableDoubleTapGesturesDuringTapIfNecessary:]):
        (-[WKContentView _finishInteraction]):
        (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
        (-[WKContentView _tapHighlightColorForFastClick:]):
        (-[WKContentView _setDoubleTapGesturesEnabled:]):
        (-[WKContentView _fastClickZoomThreshold]): Deleted.
        (-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]): Deleted.
        (-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]): Deleted.
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::disableDoubleTapGesturesDuringTapIfNecessary):
        (WebKit::WebPageProxy::viewportMetaTagWidthDidChange): Deleted.
        (WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary): Deleted.
        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::willCommitLayerTree):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::potentialTapAtPosition):
        (WebKit::WebPage::viewportPropertiesDidChange): Deleted.

2015-10-27  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _superAccessibilityAttributeValue:]):
        (-[WKView accessibilityFocusedUIElement]):
        (-[WKView accessibilityIsIgnored]):
        (-[WKView accessibilityHitTest:]):
        (-[WKView accessibilityAttributeValue:]):
        (-[WKView _processDidExit]):
        (-[WKView _pageClosed]):
        (-[WKView _updateRemoteAccessibilityRegistration:]): Deleted.
        (-[WKView enableAccessibilityIfNecessary]): Deleted.
        (-[WKView _toolTipChangedFrom:to:]): Deleted.
        (-[WKView _setAccessibilityWebProcessToken:]): Deleted.
        (-[WKView _hasFullScreenWindowController]): Deleted.
        (-[WKView _fullScreenWindowController]): Deleted.
        (-[WKView _closeFullScreenWindowController]): Deleted.
        (-[WKView _setSuppressVisibilityUpdates:]): Deleted.
        (-[WKView _suppressVisibilityUpdates]): Deleted.
        (-[WKView _primaryTrackingArea]): Deleted.
        (-[WKView _setPrimaryTrackingArea:]): Deleted.
        (-[WKView initWithFrame:processPool:configuration:webView:]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::accessibilityIsIgnored):
        (WebKit::WebViewImpl::primaryTrackingArea):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::trackingAreaOptions):
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::setAccessibilityWebProcessToken):
        (WebKit::WebViewImpl::updateRemoteAccessibilityRegistration):
        (WebKit::WebViewImpl::accessibilityFocusedUIElement):
        (WebKit::WebViewImpl::accessibilityHitTest):
        (WebKit::WebViewImpl::enableAccessibilityIfNecessary):
        (WebKit::WebViewImpl::accessibilityAttributeValue):
        (WebKit::WebViewImpl::setPrimaryTrackingArea):
        (WebKit::WebViewImpl::toolTipChanged):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::toolTipChanged):
        (WebKit::PageClientImpl::accessibilityWebProcessTokenReceived):
        (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
        (WebKit::PageClientImpl::closeFullScreenManager):
        (WebKit::PageClientImpl::isFullScreen):
        (WebKit::PageClientImpl::enterFullScreen):
        (WebKit::PageClientImpl::exitFullScreen):
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        Move accessibility code, and fold in some internal-only methods.

2015-10-27  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView scrollWheel:]):
        (-[WKView swipeWithEvent:]):
        (-[WKView _superSwipeWithEvent:]):
        (-[WKView _superMagnifyWithEvent:]):
        (-[WKView _superSmartMagnifyWithEvent:]):
        (-[WKView _processDidExit]):
        (-[WKView setAllowsBackForwardNavigationGestures:]):
        (-[WKView allowsBackForwardNavigationGestures]):
        (-[WKView setAllowsMagnification:]):
        (-[WKView allowsMagnification]):
        (-[WKView magnifyWithEvent:]):
        (-[WKView rotateWithEvent:]):
        (-[WKView _gestureEventWasNotHandledByWebCore:]):
        (-[WKView smartMagnifyWithEvent:]):
        (-[WKView setMagnification:centeredAtPoint:]):
        (-[WKView setMagnification:]):
        (-[WKView magnification]):
        (-[WKView _setCustomSwipeViews:]):
        (-[WKView _setCustomSwipeViewsTopContentInset:]):
        (-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
        (-[WKView _setDidMoveSwipeSnapshotCallback:]):
        (-[WKView _ensureGestureController]): Deleted.
        (takeWindowSnapshot): Deleted.
        (-[WKView _takeViewSnapshot]): Deleted.
        (-[WKView _wheelEventWasNotHandledByWebCore:]): Deleted.
        (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
        (-[WKView _didFinishLoadForMainFrame]): Deleted.
        (-[WKView _didFailLoadForMainFrame]): Deleted.
        (-[WKView _didSameDocumentNavigationForMainFrame:]): Deleted.
        (-[WKView _removeNavigationGestureSnapshot]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::gestureController):
        (WebKit::WebViewImpl::allowsBackForwardNavigationGestures):
        (WebKit::WebViewImpl::allowsMagnification):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::takeWindowSnapshot):
        (WebKit::WebViewImpl::takeViewSnapshot):
        (WebKit::WebViewImpl::ensureGestureController):
        (WebKit::WebViewImpl::resetGestureController):
        (WebKit::WebViewImpl::setAllowsBackForwardNavigationGestures):
        (WebKit::WebViewImpl::setAllowsMagnification):
        (WebKit::WebViewImpl::setMagnification):
        (WebKit::WebViewImpl::magnification):
        (WebKit::WebViewImpl::setCustomSwipeViews):
        (WebKit::WebViewImpl::setCustomSwipeViewsTopContentInset):
        (WebKit::WebViewImpl::tryToSwipeWithEvent):
        (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
        (WebKit::WebViewImpl::scrollWheel):
        (WebKit::WebViewImpl::swipeWithEvent):
        (WebKit::WebViewImpl::magnifyWithEvent):
        (WebKit::WebViewImpl::smartMagnifyWithEvent):
        (WebKit::WebViewImpl::rotateWithEvent):
        (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCore):
        (WebKit::WebViewImpl::gestureEventWasNotHandledByWebCoreFromViewOnly):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::takeViewSnapshot):
        (WebKit::PageClientImpl::wheelEventWasNotHandledByWebCore):
        (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
        (WebKit::PageClientImpl::didFinishLoadForMainFrame):
        (WebKit::PageClientImpl::didFailLoadForMainFrame):
        (WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
        (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
        Move swipe, zoom, rotate, and snapshotting code.

2015-10-27  Zhuo Li  <zachli@apple.com>

        Add WebKit API to clear data type Search Field Recent Searches.
        https://bugs.webkit.org/show_bug.cgi?id=150019.

        Reviewed by Anders Carlsson.

        * Shared/WebsiteData/WebsiteDataTypes.h: Add data type Search Field Recent Searches.
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
        (dataTypesToString): Ditto.
        * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
        (WebKit::toWebsiteDataTypes): Ditto.
        (WebKit::toWKWebsiteDataTypes): Ditto.
        * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h: Ditto.
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::removeData): Handle the case when data type is Search
        Field Recent Searches.
        * UIProcess/WebsiteData/WebsiteDataStore.h: Add a private function for removing
        recent searches based on time.
        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
        (WebKit::WebsiteDataStoreCocoa::platformRemoveRecentSearches): Call the removing
        recent searches logic in WebCore.
        * UIProcess/efl/WebPageProxyEfl.cpp:
        (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.
        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::WebsiteDataStore::platformRemoveRecentSearches): Not implemented.

2015-10-26  Brady Eidson  <beidson@apple.com>

        Make IDBKeyData from a struct to a class.
        https://bugs.webkit.org/show_bug.cgi?id=150576

        Reviewed by Alex Christensen.

        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
        * DatabaseProcess/IndexedDB/IDBSerialization.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:
        * DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:
        (WebKit::buildIndexStatement):
        (WebKit::buildObjectStoreStatement):
        (WebKit::SQLiteIDBCursor::establishStatement):
        (WebKit::SQLiteIDBCursor::createSQLiteStatement):
        (WebKit::SQLiteIDBCursor::resetAndRebindStatement):
        (WebKit::SQLiteIDBCursor::iterate):
        * DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
        (WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::didPutRecord):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:

2015-10-26  Philip Chimento  <philip.chimento@gmail.com>

        [GTK] [Stable] InstallMissingMediaPluginsPermissionRequest not defined when building without GStreamer
        https://bugs.webkit.org/show_bug.cgi?id=148607

        Unreviewed, build fix.

        * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h:
        Add a stub for the InstallMissingMediaPluginsPermissionRequest class
        for the case when video is disabled or not using GStreamer. It's OK
        that this class does nothing, because the associated C API contains
        an assert_not_reached if video is disabled. We just need to define
        the symbol so that the function signature will compile.

2015-10-26  Anders Carlsson  <andersca@apple.com>

        Pipe custom context menu handling through to the UIDelegate object
        https://bugs.webkit.org/show_bug.cgi?id=150572

        Reviewed by Tim Horton.

        * UIProcess/API/APIContextMenuClient.h:
        (API::ContextMenuClient::menuFromProposedMenu):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView setUIDelegate:]):
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::createContextMenuClient):
        (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
        (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
        (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):

2015-10-26  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView mouseDown:]):
        (-[WKView mouseDragged:]):
        (-[WKView draggedImage:endedAt:operation:]):
        (-[WKView draggingEntered:]):
        (-[WKView draggingUpdated:]):
        (-[WKView draggingExited:]):
        (-[WKView prepareForDragOperation:]):
        (-[WKView performDragOperation:]):
        (-[WKView _hitTest:dragTypes:]):
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView applicationFlags:]): Deleted.
        (maybeCreateSandboxExtensionFromPasteboard): Deleted.
        (createSandboxExtensionsForFileUpload): Deleted.
        (-[WKView _registerDraggedTypes]): Deleted.
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::ignoresMouseDraggedEvents):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::setIgnoresMouseDraggedEvents):
        (WebKit::WebViewImpl::draggedImage):
        (WebKit::applicationFlagsForDrag):
        (WebKit::WebViewImpl::draggingEntered):
        (WebKit::WebViewImpl::draggingUpdated):
        (WebKit::WebViewImpl::draggingExited):
        (WebKit::WebViewImpl::prepareForDragOperation):
        (WebKit::maybeCreateSandboxExtensionFromPasteboard):
        (WebKit::createSandboxExtensionsForFileUpload):
        (WebKit::WebViewImpl::performDragOperation):
        (WebKit::WebViewImpl::hitTestForDragTypes):
        (WebKit::WebViewImpl::registerDraggedTypes):
        Move some drag-related things to WebViewImpl.

2015-10-26  Anders Carlsson  <andersca@apple.com>

        Pipe custom context menu handling through to the UIDelegate object
        https://bugs.webkit.org/show_bug.cgi?id=150572

        Reviewed by Tim Horton.

        * UIProcess/API/APIContextMenuClient.h:
        (API::ContextMenuClient::menuFromProposedMenu):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView setUIDelegate:]):
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::createContextMenuClient):
        (WebKit::UIDelegate::ContextMenuClient::ContextMenuClient):
        (WebKit::UIDelegate::ContextMenuClient::~ContextMenuClient):
        (WebKit::UIDelegate::ContextMenuClient::menuFromProposedMenu):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):

2015-10-26  Alex Christensen  <achristensen@webkit.org>

        Build fix when using NETWORK_SESSION after r191457.

        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        Use resourceResponse.

2015-10-26  Anders Carlsson  <andersca@apple.com>

        Remove more dead context menu code
        https://bugs.webkit.org/show_bug.cgi?id=150569

        Reviewed by Tim Horton.

        * UIProcess/API/APIContextMenuClient.h:
        (API::ContextMenuClient::contextMenuDismissed): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageContextMenuClient): Deleted.

2015-10-26  Anders Carlsson  <andersca@apple.com>

        Remove dead context menu code
        https://bugs.webkit.org/show_bug.cgi?id=150567

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
        (WebKit::WebContextMenuClient::getCustomMenuFromDefaultItems): Deleted.
        * WebProcess/WebCoreSupport/WebContextMenuClient.h:

2015-10-26  Tim Horton  <timothy_horton@apple.com>

        Don't expose the whitelist/blacklist in _WKUserStyleSheet
        https://bugs.webkit.org/show_bug.cgi?id=150566

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/_WKUserStyleSheet.h:
        * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
        (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:]):
        (toWTFStrings): Deleted.
        (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]): Deleted.
        (-[_WKUserStyleSheet whitelistedURLPatterns]): Deleted.
        (-[_WKUserStyleSheet blacklistedURLPatterns]): Deleted.

2015-10-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r191543.

        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_run_javascript):
        (resourcesStreamReadCallback):

2015-10-24  Tim Horton  <timothy_horton@apple.com>

        Add a way to add user style sheets to WKUserContentController
        https://bugs.webkit.org/show_bug.cgi?id=150531
        <rdar://problem/23191691>

        Reviewed by Darin Adler.

        * Shared/API/APIObject.h:
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        Boilerplate for a new API::UserStyleSheet.

        * UIProcess/API/APIUserStyleSheet.cpp: Added.
        (API::generateIdentifier):
        (API::UserStyleSheet::generateUniqueURL):
        * UIProcess/API/APIUserStyleSheet.h: Added.
        Added API::UserStyleSheet, borrowing URL generation code from API::UserScript.

        * UIProcess/API/Cocoa/WKUserContentController.mm:
        (-[WKUserContentController _addUserStyleSheet:]):
        (-[WKUserContentController _removeAllUserStyleSheets]):
        Forward add and remove-all to WebUserContentControllerProxy.

        * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
        * UIProcess/API/Cocoa/_WKUserStyleSheet.h: Added.
        * UIProcess/API/Cocoa/_WKUserStyleSheet.mm: Added.
        (toWTFStrings):
        (-[_WKUserStyleSheet initWithSource:whitelistedURLPatterns:blacklistedURLPatterns:forMainFrameOnly:]):
        (-[_WKUserStyleSheet source]):
        (-[_WKUserStyleSheet isForMainFrameOnly]):
        (-[_WKUserStyleSheet copyWithZone:]):
        (-[_WKUserStyleSheet _apiObject]):
        * UIProcess/API/Cocoa/_WKUserStyleSheetInternal.h: Added.
        (API::wrapper):
        * WebKit2.xcodeproj/project.pbxproj:
        Add the new modern API object (as SPI for now).

2015-10-24  Tim Horton  <timothy_horton@apple.com>

        Expose more information about the exception in WKErrorJavaScriptExceptionOccurred errors
        https://bugs.webkit.org/show_bug.cgi?id=150525

        Reviewed by Darin Adler.

        * Scripts/webkit/messages.py:
        (headers_for_type):
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<ExceptionDetails>::encode):
        (IPC::ArgumentCoder<ExceptionDetails>::decode):
        * Shared/WebCoreArgumentCoders.h:
        Learn how to en/decode ExceptionDetails.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageRunJavaScriptInMainFrame):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::runJavaScriptInMainFrame):
        (WebKit::WebPageProxy::scriptValueCallback):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::runJavaScriptInMainFrame):
        Plumb ExceptionDetails back through runJavaScriptInMainFrame, across the
        process boundary.

        * UIProcess/API/Cocoa/WKError.mm:
        (localizedDescriptionForErrorCode):
        * UIProcess/API/Cocoa/WKErrorInternal.h:
        * UIProcess/API/Cocoa/WKErrorPrivate.h:
        Expose localizedDescriptionForErrorCode so that WKWebView can do special
        things with its error.
        Add new private userInfo keys for exception info.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView evaluateJavaScript:completionHandler:]):
        Fill in the NSError userInfo with the exception info.

2015-10-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Fix a wrong enum variable use
        https://bugs.webkit.org/show_bug.cgi?id=150522

        Reviewed by Csaba Osztrogonác.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::requestPopupMenu):
        Use kWKPopupItemTextDirectionLTR instead of EWK_TEXT_DIRECTION_LEFT_TO_RIGHT.

2015-10-24  Dan Bernstein  <mitz@apple.com>

        [Cocoa] _WKFormInputSession should provide access to the focused element info
        https://bugs.webkit.org/show_bug.cgi?id=150512

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/_WKFormInputSession.h: Added focusedElementInfo property to the
          protocol.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKFormInputSession initWithContentView:focusedElementInfo:userObject:]): Added the
          focusedElementInfo argument, used to initialize a new ivar.
        (-[WKFormInputSession focusedElementInfo]): Added this getter for the new
          _WKFormInputSession property.
        (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
          Create the WKFocusedElementInfo unconditionally and pass it to the new WKFormInputSession
          initializer.

2015-10-24  Dan Bernstein  <mitz@apple.com>

        [iOS] Allow clients to specify a custom input view to be used for a form input session
        https://bugs.webkit.org/show_bug.cgi?id=150395

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/_WKFormInputSession.h: Added customInputView property to the protocol.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKFormInputSession customInputView]): Added this getter.
        (-[WKFormInputSession setCustomInputView:]): Added this setter, which reloads the input
          views when the custom input view changes.
        (-[WKContentView inputView]): Changed to return the custom view from the input session if
          there is one.

2015-10-23  Alex Christensen  <achristensen@webkit.org>

        Fix CMake compile error and add correct null check
        https://bugs.webkit.org/show_bug.cgi?id=150520

        Reviewed by Simon Fraser.

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

2015-10-23  Alex Christensen  <achristensen@webkit.org>

        Progress towards CMake on Mac
        https://bugs.webkit.org/show_bug.cgi?id=150517

        Reviewed by Tim Horton.

        * CMakeLists.txt:
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * PlatformMac.cmake:
        * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
        * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.

2015-10-23  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        * UIProcess/Cocoa/WebViewImpl.h:
        Whoops.

2015-10-23  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView hitTest:]):
        (-[WKView _processDidExit]):
        (-[WKView _setThumbnailView:]):
        (-[WKView _thumbnailView]):
        (-[WKFlippedView isFlipped]): Deleted.
        (-[WKView dealloc]): Deleted.
        (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
        (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
        (-[WKView _updateThumbnailViewLayer]): Deleted.
        (-[WKView _reparentLayerTreeInThumbnailView]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::acceleratedCompositingRootLayer):
        (WebKit::WebViewImpl::layerHostingView):
        (WebKit::WebViewImpl::thumbnailView):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (-[WKFlippedView isFlipped]):
        (WebKit::WebViewImpl::~WebViewImpl):
        (WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
        (WebKit::WebViewImpl::setThumbnailView):
        (WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
        (WebKit::WebViewImpl::updateThumbnailViewLayer):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
        (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
        (WebKit::PageClientImpl::acceleratedCompositingRootLayer):
        Move accelerated compositing and thumbnail view code.

2015-10-23  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _superRemoveTrackingRect:]):
        (-[WKView addTrackingRect:owner:userData:assumeInside:]):
        (-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
        (-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
        (-[WKView removeTrackingRect:]):
        (-[WKView _removeTrackingRects:count:]):
        (-[WKView view:stringForToolTip:point:userData:]):
        (-[WKView _toolTipChangedFrom:to:]):
        (-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
        (-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
        (takeWindowSnapshot): Deleted.
        * UIProcess/Cocoa/WebViewImpl.h:
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::addTrackingRect):
        (WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
        (WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
        (WebKit::WebViewImpl::removeTrackingRect):
        (WebKit::WebViewImpl::removeTrackingRects):
        (WebKit::WebViewImpl::sendToolTipMouseExited):
        (WebKit::WebViewImpl::sendToolTipMouseEntered):
        (WebKit::WebViewImpl::stringForToolTip):
        (WebKit::WebViewImpl::toolTipChanged):
        Move tooltip code.

2015-10-23  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _interpretKeyEvent:completionHandler:]):
        (-[WKView inputContext]):
        (-[WKView performKeyEquivalent:]):
        (-[WKView keyDown:]):
        (-[WKView _doneWithKeyEvent:eventWasHandled:]):
        (-[WKView _setPluginComplexTextInputState:]): Deleted.
        (-[WKView _disableComplexTextInputIfNecessary]): Deleted.
        (-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
        (-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
        (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
        (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
        (-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::pluginComplexTextInputState):
        (WebKit::WebViewImpl::pluginComplexTextInputIdentifier):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (WebKit::WebViewImpl::setPluginComplexTextInputState):
        (WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
        (WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
        (WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
        (WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
        (WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
        (WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
        (WebKit::PageClientImpl::setPluginComplexTextInputState):
        Move a few more methods.

2015-10-23  Eric Carlson  <eric.carlson@apple.com>

        [MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
        https://bugs.webkit.org/show_bug.cgi?id=150503
        <rdar://problem/23235386>

        Reviewed by Dean Jackson.

        * UIProcess/UserMediaPermissionRequestProxy.cpp:
        (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
        (WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after
          calling the manager.
        (WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
        (WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.
        * UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a
          pointer so it can be cleared.

2015-10-23  Claudio Saavedra  <csaavedra@igalia.com>

        [GTK] Minor web editor fixes
        https://bugs.webkit.org/show_bug.cgi?id=150501

        Reviewed by Carlos Garcia Campos.

        * UIProcess/gtk/KeyBindingTranslator.cpp: Remove
        "MoveParagraphForward/Backward" as these commands do not exist in
        WebKit (anymore?).
        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
        (WebKit::WebEditorClient::executePendingEditorCommands):
        Editor::Command can take a String, no need to convert to a C char.

2015-10-23  Timothy Horton  <timothy_horton@apple.com>

        Fix the build by unapplying review comments.

        * UIProcess/Cocoa/WebViewImpl.h:

2015-10-23  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView renewGState]):
        (-[WKView writeSelectionToPasteboard:types:]):
        (-[WKView centerSelectionInVisibleArea:]):
        (-[WKView scrollWheel:]):
        (-[WKView swipeWithEvent:]):
        (-[WKView mouseMoved:]):
        (-[WKView mouseDown:]):
        (-[WKView mouseUp:]):
        (-[WKView mouseDragged:]):
        (-[WKView pressureChangeWithEvent:]):
        (-[WKView acceptsFirstMouse:]):
        (-[WKView shouldDelayWindowOrderingForEvent:]):
        (-[WKView performKeyEquivalent:]):
        (-[WKView keyUp:]):
        (-[WKView keyDown:]):
        (-[WKView flagsChanged:]):
        (-[WKView _superQuickLookWithEvent:]):
        (-[WKView _addFontPanelObserver]):
        (-[WKView viewWillMoveToWindow:]):
        (-[WKView viewDidMoveToWindow]):
        (-[WKView viewDidChangeBackingProperties]):
        (-[WKView enableAccessibilityIfNecessary]):
        (-[WKView quickLookWithEvent:]):
        (-[WKView _colorSpace]):
        (-[WKView _didRelaunchProcess]):
        (-[WKView _setTextIndicator:]):
        (-[WKView _setTextIndicator:withLifetime:]):
        (-[WKView _clearTextIndicatorWithAnimation:]):
        (-[WKView _setTextIndicatorAnimationProgress:]):
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
        (-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
        (-[WKView _internalPrepareForImmediateActionAnimation]):
        (-[WKView _internalCancelImmediateActionAnimation]):
        (-[WKView _internalCompleteImmediateActionAnimation]):
        (-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
        (-[WKView beginDeferringViewInWindowChanges]):
        (-[WKView endDeferringViewInWindowChanges]):
        (-[WKView endDeferringViewInWindowChangesSync]):
        (-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
        (-[WKView isDeferringViewInWindowChanges]):
        (-[WKView allowsLinkPreview]):
        (-[WKView setAllowsLinkPreview:]):
        (-[WKView _setIgnoresAllEvents:]):
        (-[WKView _setIgnoresNonWheelMouseEvents:]):
        (-[WKView _setIgnoresNonWheelEvents:]):
        (-[WKView _ignoresNonWheelEvents]):
        (-[WKView _ignoresAllEvents]):
        (-[WKView _setOverrideDeviceScaleFactor:]):
        (-[WKView _overrideDeviceScaleFactor]):
        (-[WKView _setTopContentInset:]):
        (-[WKView _topContentInset]):
        (-[WKView _dismissContentRelativeChildWindows]):
        (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
        (-[WKView _setAutomaticallyAdjustsContentInsets:]):
        (-[WKView _automaticallyAdjustsContentInsets]):
        (-[WKWindowVisibilityObserver initWithView:]): Deleted.
        (-[WKWindowVisibilityObserver startObserving:]): Deleted.
        (-[WKWindowVisibilityObserver stopObserving:]): Deleted.
        (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
        (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
        (-[WKView dealloc]): Deleted.
        (-[WKView _updateWindowAndViewFrames]): Deleted.
        (-[WKView updateFontPanelIfNeeded]): Deleted.
        (-[WKView _selectionChanged]): Deleted.
        (-[WKView addWindowObserversForWindow:]): Deleted.
        (-[WKView removeWindowObservers]): Deleted.
        (-[WKView doWindowDidChangeScreen]): Deleted.
        (-[WKView _windowDidBecomeKey:]): Deleted.
        (-[WKView _windowDidChangeScreen:]): Deleted.
        (-[WKView _windowDidChangeLayerHosting:]): Deleted.
        (-[WKView _windowDidResignKey:]): Deleted.
        (-[WKView _windowDidMiniaturize:]): Deleted.
        (-[WKView _windowDidDeminiaturize:]): Deleted.
        (-[WKView _windowDidMove:]): Deleted.
        (-[WKView _windowDidResize:]): Deleted.
        (-[WKView _windowDidOrderOffScreen:]): Deleted.
        (-[WKView _windowDidOrderOnScreen:]): Deleted.
        (-[WKView _windowDidChangeBackingProperties:]): Deleted.
        (-[WKView _windowDidChangeOcclusionState:]): Deleted.
        (-[WKView _prepareForDictionaryLookup]): Deleted.
        (-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
        (-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
        (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
        (-[WKView _intrinsicDeviceScaleFactor]): Deleted.
        (-[WKView _preferencesDidChange]): Deleted.
        (-[WKView _targetWindowForMovePreparation]): Deleted.
        (-[WKView _updateContentInsetsIfAutomatic]): Deleted.
        (-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
        (-[WKView _dispatchSetTopContentInset]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h:
        (WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
        (WebKit::WebViewImpl::topContentInset):
        (WebKit::WebViewImpl::overrideDeviceScaleFactor):
        (WebKit::WebViewImpl::isDeferringViewInWindowChanges):
        (WebKit::WebViewImpl::targetWindowForMovePreparation):
        (WebKit::WebViewImpl::lastPressureEvent):
        (WebKit::WebViewImpl::allowsLinkPreview):
        (WebKit::WebViewImpl::ignoresNonWheelEvents):
        (WebKit::WebViewImpl::ignoresAllEvents):
        (WebKit::WebViewImpl::createWeakPtr):
        * UIProcess/Cocoa/WebViewImpl.mm:
        (SOFT_LINK_CONSTANT_MAY_FAIL):
        (-[WKWindowVisibilityObserver initWithView:impl:]):
        (-[WKWindowVisibilityObserver dealloc]):
        (-[WKWindowVisibilityObserver startObserving:]):
        (-[WKWindowVisibilityObserver stopObserving:]):
        (-[WKWindowVisibilityObserver startObservingFontPanel]):
        (-[WKWindowVisibilityObserver startObservingLookupDismissal]):
        (-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
        (-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
        (-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
        (-[WKWindowVisibilityObserver _windowDidResignKey:]):
        (-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
        (-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
        (-[WKWindowVisibilityObserver _windowDidMove:]):
        (-[WKWindowVisibilityObserver _windowDidResize:]):
        (-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
        (-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
        (-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
        (-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
        (-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
        (-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
        (-[WKEditCommandObjC initWithWebEditCommandProxy:]):
        (-[WKEditCommandObjC command]):
        (-[WKEditorUndoTargetObjC undoEditing:]):
        (-[WKEditorUndoTargetObjC redoEditing:]):
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::~WebViewImpl):
        (WebKit::WebViewImpl::becomeFirstResponder):
        (WebKit::WebViewImpl::resignFirstResponder):
        (WebKit::WebViewImpl::renewGState):
        (WebKit::WebViewImpl::updateWindowAndViewFrames):
        (WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
        (WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
        (WebKit::WebViewImpl::setTopContentInset):
        (WebKit::WebViewImpl::dispatchSetTopContentInset):
        (WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
        (WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
        (WebKit::WebViewImpl::windowDidOrderOffScreen):
        (WebKit::WebViewImpl::windowDidOrderOnScreen):
        (WebKit::WebViewImpl::windowDidBecomeKey):
        (WebKit::WebViewImpl::windowDidResignKey):
        (WebKit::WebViewImpl::windowDidMiniaturize):
        (WebKit::WebViewImpl::windowDidDeminiaturize):
        (WebKit::WebViewImpl::windowDidMove):
        (WebKit::WebViewImpl::windowDidResize):
        (WebKit::WebViewImpl::windowDidChangeBackingProperties):
        (WebKit::WebViewImpl::windowDidChangeScreen):
        (WebKit::WebViewImpl::windowDidChangeLayerHosting):
        (WebKit::WebViewImpl::windowDidChangeOcclusionState):
        (WebKit::WebViewImpl::viewWillMoveToWindow):
        (WebKit::WebViewImpl::viewDidMoveToWindow):
        (WebKit::WebViewImpl::viewDidChangeBackingProperties):
        (WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
        (WebKit::WebViewImpl::colorSpace):
        (WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
        (WebKit::WebViewImpl::endDeferringViewInWindowChanges):
        (WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
        (WebKit::WebViewImpl::prepareForMoveToWindow):
        (WebKit::WebViewImpl::pressureChangeWithEvent):
        (WebKit::WebViewImpl::isEditable):
        (WebKit::WebViewImpl::executeEditCommand):
        (WebKit::WebViewImpl::registerEditCommand):
        (WebKit::WebViewImpl::clearAllEditCommands):
        (WebKit::WebViewImpl::writeSelectionToPasteboard):
        (WebKit::WebViewImpl::centerSelectionInVisibleArea):
        (WebKit::WebViewImpl::selectionDidChange):
        (WebKit::WebViewImpl::startObservingFontPanel):
        (WebKit::WebViewImpl::updateFontPanelIfNeeded):
        (WebKit::WebViewImpl::preferencesDidChange):
        (WebKit::WebViewImpl::setTextIndicator):
        (WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
        (WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
        (WebKit::WebViewImpl::dismissContentRelativeChildWindows):
        (WebKit::WebViewImpl::quickLookWithEvent):
        (WebKit::WebViewImpl::prepareForDictionaryLookup):
        (WebKit::WebViewImpl::setAllowsLinkPreview):
        (WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
        (WebKit::WebViewImpl::prepareForImmediateActionAnimation):
        (WebKit::WebViewImpl::cancelImmediateActionAnimation):
        (WebKit::WebViewImpl::completeImmediateActionAnimation):
        (WebKit::WebViewImpl::setIgnoresNonWheelEvents):
        (WebKit::WebViewImpl::setIgnoresAllEvents):
        (WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::activeWindow):
        (WebKit::PageClientImpl::preferencesDidChange):
        (WebKit::PageClientImpl::registerEditCommand):
        (WebKit::PageClientImpl::clearAllEditCommands):
        (WebKit::PageClientImpl::selectionDidChange):
        (WebKit::PageClientImpl::didPerformDictionaryLookup):
        (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
        (-[WKEditCommandObjC command]): Deleted.
        (-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
        (-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
        (WebKit::PageClientImpl::PageClientImpl): Deleted.
        Move more things to WebViewImpl.
        This also introduces an unfortunate pattern that is required for things which
        clients override on WKView, where we have a flow like this:
                - somebody (PageClient, etc.) calls WebViewImpl::x
                - WebViewImpl::x does nothing except call [WKView _x]
                - [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work
        As long as no clients call the -FromViewOnly variant, this will mean that
        all callers are bottlenecked through the overridable WKView method.
        How this works with WKWebView, I am not sure yet.

        * UIProcess/mac/WKImmediateActionController.h:
        * UIProcess/mac/WKImmediateActionController.mm:
        (-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
        (-[WKImmediateActionController willDestroyView:]):
        (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
        (-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
        (-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
        (-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
        (-[WKImmediateActionController menuItem:previewItemAtPoint:]):
        (-[WKImmediateActionController menuItem:itemFrameForPoint:]):
        (-[WKImmediateActionController menuItem:maxSizeForPoint:]):
        (-[WKImmediateActionController _animationControllerForDataDetectedText]):
        (-[WKImmediateActionController _animationControllerForDataDetectedLink]):
        (-[WKImmediateActionController _animationControllerForText]):
        (-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
        Keep a generic NSView, use the WebViewImpl for WK*View related things.

2015-10-22  Joonghun Park  <jh718.park@samsung.com>

        [GTK] Fix build break since r191471
        https://bugs.webkit.org/show_bug.cgi?id=150487

        Reviewed by Žan Doberšek.

        * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::WebContextMenuProxyGtk::populate):

2015-10-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Build break since r191472 and r191473
        https://bugs.webkit.org/show_bug.cgi?id=150485

        Unreviewed build fix.

        * CMakeLists.txt: Remove icu include path and move page include path.

2015-10-22  Sam Weinig  <sam@webkit.org>

        Navigations on the same host (but with different schemes and ports) should not trigger universal links
        <rdar://problem/22811325>
        https://bugs.webkit.org/show_bug.cgi?id=150481

        Reviewed by Dan Bernstein.

        Update the policy for following universal links to only take host into consideration.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::createNewPage):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::createNewPage):
        (WebKit::WebPageProxy::showPage):

2015-10-22  Anders Carlsson  <andersca@apple.com>

        Simplify menu creation
        https://bugs.webkit.org/show_bug.cgi?id=150476

        Reviewed by Tim Horton.

        Instead of creating vectors of NSMenuItem objects, just simply build the menu recursively.

        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::createContextMenuFromItems):
        (WebKit::WebContextMenuProxyMac::createContextMenuItem):
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        (WebKit::populateNSMenu): Deleted.
        (WebKit::nsMenuItem): Deleted.
        (WebKit::nsMenuItemVector): Deleted.

2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
        https://bugs.webkit.org/show_bug.cgi?id=150315

        Reviewed by Andreas Kling.

        It was introduced in r184930, that keeps the session storage area
        maps alive in the UI process when they are destroyed by the web
        process. The problem is that we also keep the listeners, so that
        events are also dispatched to the listeners of destroyed areas,
        and the message handlers were removed in the web process.

        * UIProcess/Storage/StorageManager.cpp:
        (WebKit::StorageManager::createTransientLocalStorageMap): Add a
        listener for the new storage map ID when the map is reused.
        (WebKit::StorageManager::destroyStorageMap): Always remove
        listeners of destroyed maps.

2015-10-22  Tim Horton  <timothy_horton@apple.com>

        Add a SPI variant of loadData that accepts user data to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=150475

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2015-10-22  Alex Christensen  <achristensen@webkit.org>

        Progress towards CMake on Mac
        https://bugs.webkit.org/show_bug.cgi?id=150466

        Reviewed by Chris Dumez.

        * CMakeLists.txt:
        * PlatformMac.cmake:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:

2015-10-22  Anders Carlsson  <andersca@apple.com>

        NativeContextMenuItem isn't needed anymore, remove it
        https://bugs.webkit.org/show_bug.cgi?id=150473

        Reviewed by Tim Horton.

        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/NativeContextMenuItem.h: Removed.
        (WebKit::NativeContextMenuItem::~NativeContextMenuItem): Deleted.
        (WebKit::NativeContextMenuItem::nsMenuItem): Deleted.
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::WebContextMenuItem): Deleted.
        * Shared/WebContextMenuItem.h:
        (WebKit::WebContextMenuItem::create): Deleted.
        (WebKit::WebContextMenuItem::nativeContextMenuItem): Deleted.
        * Shared/efl/NativeContextMenuItemEfl.cpp: Removed.
        (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
        * Shared/gtk/NativeContextMenuItemGtk.cpp: Removed.
        (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
        * Shared/mac/NativeContextMenuItem.mm: Removed.
        (WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::nsMenuItem): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-22  Anders Carlsson  <andersca@apple.com>

        CTTE WebContextMenuItemData
        https://bugs.webkit.org/show_bug.cgi?id=150471

        Reviewed by Tim Horton.

        * Shared/API/c/WKContextMenuItem.cpp:
        (WKContextMenuItemGetTag):
        (WKContextMenuItemGetType):
        (WKContextMenuItemCopyTitle):
        (WKContextMenuItemGetEnabled):
        (WKContextMenuItemGetChecked):
        * Shared/WebContextMenuItem.cpp:
        (WebKit::WebContextMenuItem::create):
        * Shared/WebContextMenuItem.h:
        (WebKit::WebContextMenuItem::data):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSelectContextMenuItem):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::nsMenuItem):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageClickMenuItem):
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):

2015-10-22  Anders Carlsson  <andersca@apple.com>

        Handle nil menu items.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::nsMenuItemVector):

2015-10-22  Anders Carlsson  <andersca@apple.com>

        Wait to convert the share menu item to a real share menu until after calling out to the client
        https://bugs.webkit.org/show_bug.cgi?id=150465

        Reviewed by Tim Horton.

        This will let us simplify more code in upcoming patches.

        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::nsMenuItem):
        (WebKit::nsMenuItemVector):
        (WebKit::WebContextMenuProxyMac::showContextMenu):

2015-10-22  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
        https://bugs.webkit.org/show_bug.cgi?id=150460

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.

2015-10-22  Alex Christensen  <achristensen@webkit.org>

        Initial NSURLSession WebResourceLoader implementation
        https://bugs.webkit.org/show_bug.cgi?id=150355

        Reviewed by Antti Koivisto.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        (WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::~NetworkResourceLoader):
        (WebKit::NetworkResourceLoader::startNetworkLoad):
        (WebKit::NetworkResourceLoader::setDefersLoading):
        (WebKit::NetworkResourceLoader::cleanup):
        (WebKit::NetworkResourceLoader::didConvertHandleToDownload):
        (WebKit::NetworkResourceLoader::abort):
        (WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
        (WebKit::NetworkResourceLoader::didReceiveChallenge):
        (WebKit::NetworkResourceLoader::didReceiveResponse):
        (WebKit::NetworkResourceLoader::didReceiveData):
        (WebKit::NetworkResourceLoader::didCompleteWithError):
        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
        (WebKit::NetworkResourceLoader::willSendRequestAsync):
        (WebKit::NetworkResourceLoader::continueWillSendRequest):
        (WebKit::NetworkResourceLoader::continueDidReceiveResponse):
        (WebKit::NetworkResourceLoader::didSendData):
        (WebKit::NetworkResourceLoader::receivedCancellation):
        (WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
        (WebKit::NetworkResourceLoader::bufferingTimerFired):
        (WebKit::NetworkResourceLoader::validateCacheEntry):
        (WebKit::NetworkResourceLoader::sendAbortingOnFailure):
        (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
        (WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
        (WebKit::NetworkResourceLoader::supportsDataArray):
        * NetworkProcess/NetworkResourceLoader.h:
        (WebKit::NetworkResourceLoader::create):
        (WebKit::NetworkResourceLoader::currentRequest):
        (WebKit::NetworkResourceLoader::handle):
        * NetworkProcess/NetworkSession.h: Added.
        (WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
        (WebKit::NetworkingDataTask::client):
        (WebKit::NetworkingDataTask::clearClient):
        (WebKit::NetworkSession::~NetworkSession):
        * NetworkProcess/cocoa/NetworkSessionCocoa.mm: Added.
        (toNSURLSessionResponseDisposition):
        (toNSURLSessionAuthChallengeDisposition):
        (-[NetworkSessionDelegate initWithNetworkSession:]):
        (-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
        (-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
        (-[NetworkSessionDelegate URLSession:task:didCompleteWithError:]):
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
        (-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
        (WebKit::NetworkSession::create):
        (WebKit::NetworkSession::singleton):
        (WebKit::configurationForType):
        (WebKit::NetworkSession::NetworkSession):
        (WebKit::NetworkSession::createDataTaskWithRequest):
        (WebKit::NetworkSession::dataTaskForIdentifier):
        (WebKit::NetworkingDataTask::NetworkingDataTask):
        (WebKit::NetworkingDataTask::~NetworkingDataTask):
        (WebKit::NetworkingDataTask::suspend):
        (WebKit::NetworkingDataTask::resume):
        (WebKit::NetworkingDataTask::taskIdentifier):
        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
        (WebKit::NetworkResourceLoader::willCacheResponseAsync):
        * WebKit2.xcodeproj/project.pbxproj:
        * config.h:

2015-10-22  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix for disabled redirected XComposite window support.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp: Add USE(REDIRECTED_XCOMPOSITE_WINDOW) guards.
        * UIProcess/DrawingAreaProxyImpl.h: Mark virtual methods as override to avoid compilation warnings.

2015-10-22  Wenson Hsieh  <wenson_hsieh@apple.com>

        Implement touch-action: manipulation; for iOS
        https://bugs.webkit.org/show_bug.cgi?id=149854
        <rdar://problem/23017145>

        Reviewed by Benjamin Poulain.

        Implements the manipulation value for the CSS property touch-action. Performs hit-testing upon receiving a potential
        tap to determine whether to disable double-tap gesture recognition over the duration of the tap. If so, sends a message
        from the web process to the UI process indicating that double-tapping should be disabled, allowing single taps to
        avoid the delay.

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

2015-10-22  Ryosuke Niwa  <rniwa@webkit.org>

        REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
        https://bugs.webkit.org/show_bug.cgi?id=150428

        Reviewed by Antti Koivisto.

        Call updateFocusAppearance with RevealMode::DoNotReveal to avoid revealing the focused element.

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

2015-10-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix a crash in GTk+ after r191402.

        Since r191402 WebContextMenuProxy is no longer refcounted, and
        std::unique_ptr is used instead. This means that when we show the
        context menu for the second time in a web view, a new
        WebContextMenuProxy is created and the previous one is
        destroyed. We were setting the active context menu of the WebView
        in the constructor of WebContextMenuProxy, and unsetting it in the
        destructor. Now the constructor of the new WebContextMenuProxy
        happens before the destructor of the current one that unsets the
        WebView active context menu. This patch simply makes the web view
        unset its active context menu when it's unmapped and a new one
        hasn't been set.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (activeContextMenuUnmapped):
        (webkitWebViewBaseSetActiveContextMenuProxy):
        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):

2015-10-22  Hunseop Jeong  <hs85.jeong@samsung.com>

        [GTK] Try to fix the build after r191402.
        https://bugs.webkit.org/show_bug.cgi?id=150435

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        (WebKit::PageClientImpl::createColorPicker):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::WebContextMenuProxyGtk::populate):
        (WebKit::WebContextMenuProxyGtk::show):
        (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
        (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
        (WebKit::WebContextMenuProxyGtk::showContextMenu): Deleted.
        (WebKit::WebContextMenuProxyGtk::hideContextMenu): Deleted.
        (WebKit::WebContextMenuProxyGtk::cancelTracking): Deleted.
        * UIProcess/gtk/WebContextMenuProxyGtk.h:
        (WebKit::WebContextMenuProxyGtk::gtkMenu):
        (WebKit::WebContextMenuProxyGtk::create): Deleted.

2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

       Unreviewed EFL build fix. Remove customizeMenu implementation.

        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
        (WebKit::WebContextMenuClient::customizeMenu): Deleted.

2015-10-21  Alex Christensen  <achristensen@webkit.org>

        Speculative EFL build fix.

        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
        Remove another customizeMenu call.

2015-10-21  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][GTK][WK2] Fix build break since r191402, r191401
        https://bugs.webkit.org/show_bug.cgi?id=150432

        Unreviewed EFL and GTK build fix.

        * CMakeLists.txt:
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::createContextMenuProxy):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
        (WebKit::WebContextMenuProxyEfl::show):
        * UIProcess/efl/WebContextMenuProxyEfl.h:
        (WebKit::WebContextMenuProxyEfl::create): Deleted.
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebViewEfl::createContextMenuProxy):
        * UIProcess/efl/WebViewEfl.h:
        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
        (WebKit::WebContextMenuClient::customizeMenu):
        * WebProcess/WebCoreSupport/WebContextMenuClient.h:

2015-10-21  Anders Carlsson  <andersca@apple.com>

        Get rid of WebContextMenuClient::customizeMenu, it's no longer used
        https://bugs.webkit.org/show_bug.cgi?id=150427

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
        (WebKit::WebContextMenuClient::customizeMenu): Deleted.
        * WebProcess/WebCoreSupport/WebContextMenuClient.h:

2015-10-21  Tim Horton  <timothy_horton@apple.com>

        API-ify the FindMatches client
        https://bugs.webkit.org/show_bug.cgi?id=150422

        Reviewed by Anders Carlsson.

        * UIProcess/API/APIFindMatchesClient.h: Renamed from Source/WebKit2/UIProcess/WebFindClient.h.
        (API::FindMatchesClient::~FindMatchesClient):
        (API::FindMatchesClient::didFindStringMatches):
        (API::FindMatchesClient::didGetImageForMatchResult):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageFindMatchesClient):
        * UIProcess/WebFindClient.cpp: Removed.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::setFindMatchesClient):
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::didGetImageForFindMatch):
        (WebKit::WebPageProxy::didFindStringMatches):
        (WebKit::WebPageProxy::initializeFindMatchesClient): Deleted.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::findMatchesClient):
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-21  Enrica Casucci  <enrica@apple.com>

        WebProcess crashes when accessibility bundle is not found.
        https://bugs.webkit.org/show_bug.cgi?id=150414

        Reviewed by Dan Bernstein.

        The uninitialized pointer to NSError causes the print function to crash.

        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::registerWithAccessibility):

2015-10-21  Anders Carlsson  <andersca@apple.com>

        Move services menu handling out into a separate function
        https://bugs.webkit.org/show_bug.cgi?id=150420

        Reviewed by Tim Horton.

        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showServicesMenu):
        (WebKit::WebContextMenuProxyMac::show):
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        (WebKit::WebContextMenuProxyMac::populate): Deleted.

2015-10-21  Wenson Hsieh  <wenson_hsieh@apple.com>

        Single tapping clickable elements in unscalable pages should show a tap highlight
        https://bugs.webkit.org/show_bug.cgi?id=150382

        Reviewed by Simon Fraser.

        When the double tap gesture recognizer is disabled ahead of time (as in the case of unscalable pages) the tap is
        committed before the geometries come in. To fix this, we introduce a flag that allows the single tap to be
        committed before the tap highlight arrives. This allows the tap highlight to be immediately animated when receiving
        the tap highlight geometries only in the case where double tapping is disabled when recognizing the single tap.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):
        (-[WKContentView cleanupInteraction]):
        (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
        (-[WKContentView _singleTapRecognized:]):
        (-[WKContentView _singleTapCommited:]):

2015-10-21  Anders Carlsson  <andersca@apple.com>

        Get rid of useBinaryEncoding from WKPageGetContentsAsMHTMLData
        https://bugs.webkit.org/show_bug.cgi?id=150417

        Reviewed by Tim Horton.

        The useBinaryEncoding parameter is always false, so just get rid of it.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageGetContentsAsMHTMLData):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/efl/ewk_view.cpp:
        (ewk_view_page_contents_get):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_save):
        (webkit_web_view_save_to_file):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::getContentsAsMHTMLData):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::getContentsAsMHTMLData):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-10-21  Anders Carlsson  <andersca@apple.com>

        WebContextMenuProxyMac::setupServicesMenu doesn't need to take a context parameter
        https://bugs.webkit.org/show_bug.cgi?id=150418

        Reviewed by Tim Horton.

        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::setupServicesMenu):
        (WebKit::WebContextMenuProxyMac::populate):

2015-10-21  Anders Carlsson  <andersca@apple.com>

        WebContextMenuProxy doesn't have to be ref-counted
        https://bugs.webkit.org/show_bug.cgi?id=150415

        Reviewed by Tim Horton.

        Change WebContextMenuProxy to not inherit from RefCounted. Instead of using RefPtr, use std::unique_ptr.
        Get rid of cancelTracking and hideContextMenu and dismiss the menu whenever the menu proxy is destroyed.
        Also, rename showContextMenu to show.

        * UIProcess/PageClient.h:
        * UIProcess/WebContextMenuProxy.h:
        (WebKit::WebContextMenuProxy::cancelTracking): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::close):
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::createContextMenuProxy):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::createContextMenuProxy):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        (WebKit::WebContextMenuProxyMac::create): Deleted.
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
        (WebKit::WebContextMenuProxyMac::show):
        (WebKit::WebContextMenuProxyMac::showContextMenu): Deleted.
        (WebKit::WebContextMenuProxyMac::hideContextMenu): Deleted.
        (WebKit::WebContextMenuProxyMac::cancelTracking): Deleted.

2015-10-21  Anders Carlsson  <andersca@apple.com>

        Stop using a popup menu button cell(!) for context menus
        https://bugs.webkit.org/show_bug.cgi?id=150413

        Reviewed by Tim Horton.

        Just use a regular NSMenu. Also, have the service menu code path store the service menu
        in the same member variable.

        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::setupServicesMenu):
        (WebKit::WebContextMenuProxyMac::clearServicesMenu):
        (WebKit::WebContextMenuProxyMac::populate):
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        (WebKit::WebContextMenuProxyMac::hideContextMenu):
        (WebKit::WebContextMenuProxyMac::cancelTracking):
        (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac): Deleted.

2015-10-21  Chris Dumez  <cdumez@apple.com>

        Add assertions to NetworkCache::Entry constructor to make sure a key's type is "resource"
        https://bugs.webkit.org/show_bug.cgi?id=150369

        Reviewed by Antti Koivisto.

        Add assertions to NetworkCache::Entry constructor to make sure a key's
        type is "resource" now that the NetworkCache storage supports other
        types of entries.

        * NetworkProcess/cache/NetworkCacheEntry.cpp:
        (WebKit::NetworkCache::Entry::Entry):

2015-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        NetworkProcess: DNS prefetch happens in the Web Process
        https://bugs.webkit.org/show_bug.cgi?id=147824

        Reviewed by Chris Dumez.

        DNS prefetch requests started in the WebProcess should be sent to
        the network process when it's enabled.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::prefetchDNS): Use NetworkProcess::prefetchDNS().
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Add
        PrefetchDNS message.
        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::prefetchDNS): Do the actual DNS prefetch.
        * NetworkProcess/NetworkProcess.h:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
        (webkitWebExtensionDidReceiveMessage): Use WebProcess::prefetchDNS().
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::prefetchDNS): Use WebProcess::prefetchDNS().
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::sendTapHighlightForNodeIfNecessary): Use
        FrameLoaderClient to do the DNS prefetch.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::WebProcess): Initialize the DNS prefetched
        hosts cleanup hysteresis activity. Clear the cache of DNS
        prefetched when hysteresis activity stopped.
        (WebKit::WebProcess::prefetchDNS): Send the request to the network
        process if it's enabled, otherwise do the actual DNS prefetch.
        * WebProcess/WebProcess.h:

2015-10-20  Chris Dumez  <cdumez@apple.com>

        [WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
        https://bugs.webkit.org/show_bug.cgi?id=150221
        <rdar://problem/23149771>

        Reviewed by Darin Adler and Antti Koivisto.

        Generalize NetworkCacheStorage API so it can store different types of
        metadata alongside the network resources. This is a pre-requirement to
        making our NetworkCache smarter by storing information about the
        resources.

        To keep the code simple, the entry type is now part of the entry key and
        we store records of a specific type in a 'type' subfolder. The cache
        structure looks like so:
        - WebKitCache/Version 5/[Partition]/[Type]/[Hash]
        - WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)

        Existing cache entries now that the 'resource' type as these are network
        resources.

        * NetworkProcess/cache/NetworkCache.cpp:
        * NetworkProcess/cache/NetworkCacheKey.cpp:
        * NetworkProcess/cache/NetworkCacheKey.h:
        * NetworkProcess/cache/NetworkCacheStatistics.cpp:
        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        * NetworkProcess/cache/NetworkCacheStorage.h:

2015-10-20  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] ContextMenu doesn't work correctly on MiniBrowser after r191194.
        https://bugs.webkit.org/show_bug.cgi?id=150311

        Reviewed by Gyuyoung Kim.

        Restore the test_ewk2_context_menu API test to check the context menu whether it works correctly.

        * PlatformEfl.cmake:

2015-10-13  Conrad Shultz  <conrad_shultz@apple.com>

        _WKThumbnailView should support a snapshot-only mode
        https://bugs.webkit.org/show_bug.cgi?id=150106

        Reviewed by Tim Horton.

        Add a new property to _WKThumbnailView, exclusivelyUsesSnapshot, which causes _WKThumbnailView
        to bypass both layer tree reparenting and event suppression on the associated WKView.

        Add a new method, -requestSnapshot, which clients can use to force _WKThumbnailView to refresh
        on demand.

        * UIProcess/API/Cocoa/_WKThumbnailView.h:
        * UIProcess/API/Cocoa/_WKThumbnailView.mm:
        (-[_WKThumbnailView requestSnapshot]):
        Extracted from -_requestSnapshotIfNeeded:.
        (-[_WKThumbnailView _viewWasUnparented]):
        (-[_WKThumbnailView _viewWasParented]):
        (-[_WKThumbnailView _requestSnapshotIfNeeded]):

2015-10-20  Alexey Proskuryakov  <ap@apple.com>

        Build fix.

        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
        * UIProcess/ios/forms/WKFileUploadPanel.mm:

2015-10-20  Joseph Pecoraro  <pecoraro@apple.com>

        ASSERT when right clicking on SVG Image generating Share menu - can break Web Inspector
        https://bugs.webkit.org/show_bug.cgi?id=150374

        Reviewed by Brian Burg.

        When there is no absolute URL or downloadable media URL no system share
        menu is created, but we were still appending the null context menu to
        the list of context menu items.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::shareMenuItem):
        Bail early if the context menu is null.

        (WebKit::WebContextMenuProxyMac::showContextMenu):
        Only append the share context menu item if it is non-null.
        This matches ContextMenuController.cpp in WebCore.

2015-10-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191306.
        https://bugs.webkit.org/show_bug.cgi?id=150371

        "May have caused a significant warm PLT regression" (Requested
        by cdumez_ on #webkit).

        Reverted changeset:

        "[WK2] Generalize NetworkCacheStorage API so it can store
        different types of metadata"
        https://bugs.webkit.org/show_bug.cgi?id=150221
        http://trac.webkit.org/changeset/191306

2015-10-20  Tim Horton  <timothy_horton@apple.com>

        Try to fix the build by disabling MAC_GESTURE_EVENTS on 10.9 and 10.10

        * Configurations/FeatureDefines.xcconfig:

2015-10-20  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191333.
        https://bugs.webkit.org/show_bug.cgi?id=150362

        Caused assertions on regression tests (Requested by ap on
        #webkit).

        Reverted changeset:

        "ERROR: Unhandled web process message
        'StorageAreaMap:DispatchStorageEvent'"
        https://bugs.webkit.org/show_bug.cgi?id=150315
        http://trac.webkit.org/changeset/191333

2015-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        [UNIX] ASSERTION FAILED: m_shouldWaitForSyncReplies in Connection::connectionDidClose()
        https://bugs.webkit.org/show_bug.cgi?id=150361

        Reviewed by Martin Robinson.

        It doesn't always happen because it depends on how sockets are
        closed, and the state of the threads. The problem is that we are
        not handling the case when the read fails because we closed the
        connection. In that case we log the error and call
        Connection::connectionDidClose(). But it was connectionDidClose()
        the one closing the socket. So, in this particular case it's not an
        error but a normal termination, and we shouldn't try to close the
        connection again. Something similar can happen while sending a
        message, and we get a broken pipe error, but in that case we are
        only printing the error, so it's harmless.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::readyReadHandler): Only print error and call
        connectionDidClose() if we are still connected when read fails.
        (IPC::Connection::sendOutgoingMessage): Only print error if we are
        still connected when send fails.

2015-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Graphics corruption when entering/leaving AC mode quickly
        https://bugs.webkit.org/show_bug.cgi?id=150323

        Reviewed by Mario Sanchez Prada.

        The UI process is notified when entering accelerated compositing
        mode after the layers have been flushed and rendered to avoid
        flickering. However, this is producing flickering in the GTK+
        port, because we use an offscreen redirected window that is
        resized to a minimium size to save memory when not in AC mode. The
        web process always uses the current size of the redirected window,
        so when entering AC mode, contents are rendered into the 1x1
        window, then the UI process is notified, the redirected window is
        resized to its actual size, and we force a resize to ask the web
        process to render again, now at the correct size. Rendering at 1x1
        and then resizing the window is what produces the flickering when
        entering AC mode, but it's also inefficient, since we need to
        render again after the redirected window is resized. So, this
        patch adds a WillEnterAcceleratedCompositing message that is sent
        to the UI process when the layer tree host is created but before
        the contents have been composited and rendered. This is
        implemented by the GTK+ port to prepare for entering AC mode, by
        resizing the redirected window. When we actually enter AC mode,
        the contents have already been rendered in the web process at the
        correct size, so we can just use the redirected window surface
        instead of the drawing area one, and paint in the web view without
        any flickering. We no longer need the forceResize either.
        When leaving accelerated compositing mode, we now clear the redirected
        window resources after a short delay. This ensures that we have
        already rendered the update sent in the ExitAcceleratedCompositingMode
        message, but also that entering/leaving AC mode quickly doesn't
        produce any redirected window resize.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseClearRedirectedWindowSoon):
        (webkitWebViewBaseWillEnterAcceleratedCompositingMode):
        (webkitWebViewBaseEnterAcceleratedCompositingMode):
        (webkitWebViewBaseExitAcceleratedCompositingMode):
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::willEnterAcceleratedCompositingMode):
        * UIProcess/DrawingAreaProxy.messages.in:
        * UIProcess/DrawingAreaProxyImpl.cpp:
        (WebKit::DrawingAreaProxyImpl::willEnterAcceleratedCompositingMode):
        * UIProcess/DrawingAreaProxyImpl.h:
        (WebKit::DrawingAreaProxyImpl::forceResize): Deleted.
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::willEnterAcceleratedCompositingMode):
        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::willEnterAcceleratedCompositingMode):
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):

2015-10-20  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] Fix build for ENABLE_PLUGIN_PROCESS_GTK2=OFF
        https://bugs.webkit.org/show_bug.cgi?id=150086

        Reviewed by Darin Adler.

        * UIProcess/cairo/BackingStoreCairo.cpp:
        (WebKit::BackingStore::createBackend):

2015-10-20  Yoav Weiss  <yoav@yoav.ws>

        Rename the PICTURE_SIZES flag to CURRENTSRC
        https://bugs.webkit.org/show_bug.cgi?id=150275

        Reviewed by Dean Jackson.

        * Configurations/FeatureDefines.xcconfig:

2015-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
        https://bugs.webkit.org/show_bug.cgi?id=150315

        Reviewed by Andreas Kling.

        It was introduced in r184930, that keeps the session storage area
        maps alive in the UI process when they are destroyed by the web
        process. The problem is that we also keep the listeners, so that
        events are also dispatched to the listeners of destroyed areas,
        and the message handlers were removed in the web process.

        * UIProcess/Storage/StorageManager.cpp:
        (WebKit::StorageManager::createTransientLocalStorageMap): Add a
        listener for the new storage map ID when the map is reused.
        (WebKit::StorageManager::destroyStorageMap): Always remove
        listeners of destroyed maps.

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        Remove unused support for long presses from WebKit
        https://bugs.webkit.org/show_bug.cgi?id=150345

        Reviewed by Beth Dakin.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/APIUIClient.h:
        (API::UIClient::didBeginTrackingPotentialLongMousePress): Deleted.
        (API::UIClient::didRecognizeLongMousePress): Deleted.
        (API::UIClient::didCancelTrackingPotentialLongMousePress): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient): Deleted.
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesGetLongMousePressEnabled):
        (WKPreferencesSetLongMousePressEnabled): Deleted.
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Deleted.
        (WebKit::WebPageProxy::didRecognizeLongMousePress): Deleted.
        (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Deleted.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
        (API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
        (API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Deleted.
        (API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.
        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
        (WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Deleted.
        (WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Deleted.
        (WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Deleted.
        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Deleted.
        (WebKit::WebChromeClient::didRecognizeLongMousePress): Deleted.
        (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Deleted.
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences): Deleted.

2015-10-19  Chris Dumez  <cdumez@apple.com>

        Make sure development Safari does not delete the stable Safari cache storage.
        https://bugs.webkit.org/show_bug.cgi?id=150343

        Reviewed by Antti Koivisto.

        Make sure development Safari does not delete the stable Safari disk cache
        storage. Development Safari now uses Version 5, while the last stable
        Safari uses Version 4. Since the 2 versions can co-exist, it is best not
        to drop the old cache version (4) at this point.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::deleteOldVersions):

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Darin Adler.

        * UIProcess/API/mac/WKView.mm:
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h: Added.
        * UIProcess/Cocoa/WebViewImpl.mm: Added.
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::~WebViewImpl):
        (WebKit::WebViewImpl::setDrawsBackground):
        (WebKit::WebViewImpl::drawsBackground):
        (WebKit::WebViewImpl::setDrawsTransparentBackground):
        (WebKit::WebViewImpl::drawsTransparentBackground):
        (WebKit::WebViewImpl::acceptsFirstResponder):
        (WebKit::WebViewImpl::becomeFirstResponder):
        (WebKit::WebViewImpl::resignFirstResponder):
        (WebKit::WebViewImpl::isFocused):
        (WebKit::WebViewImpl::viewWillStartLiveResize):
        (WebKit::WebViewImpl::viewDidEndLiveResize):
        (WebKit::WebViewImpl::setFrameSize):
        (WebKit::WebViewImpl::disableFrameSizeUpdates):
        (WebKit::WebViewImpl::enableFrameSizeUpdates):
        (WebKit::WebViewImpl::frameSizeUpdatesDisabled):
        (WebKit::WebViewImpl::setFrameAndScrollBy):
        (WebKit::WebViewImpl::setFixedLayoutSize):
        (WebKit::WebViewImpl::fixedLayoutSize):
        (WebKit::WebViewImpl::setDrawingAreaSize):
        (WebKit::WebViewImpl::setContentPreparationRect):
        (WebKit::WebViewImpl::updateViewExposedRect):
        (WebKit::WebViewImpl::setClipsToVisibleRect):
        (WebKit::WebViewImpl::setIntrinsicContentSize):
        (WebKit::WebViewImpl::intrinsicContentSize):
        (WebKit::WebViewImpl::setViewScale):
        (WebKit::WebViewImpl::viewScale):
        (WebKit::WebViewImpl::layoutMode):
        (WebKit::WebViewImpl::setLayoutMode):
        (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
        (WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
        (WebKit::WebViewImpl::updateSecureInputState):
        (WebKit::WebViewImpl::resetSecureInputState):
        (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
        (WebKit::WebViewImpl::hasFullScreenWindowController):
        (WebKit::WebViewImpl::fullScreenWindowController):
        (WebKit::WebViewImpl::closeFullScreenWindowController):
        (WebKit::WebViewImpl::fullScreenPlaceholderView):
        (WebKit::WebViewImpl::createFullScreenWindow):
        Move the actual implementation of a number of WKView methods into a
        C++ class, WebViewImpl, which WKView calls directly into.
        Eventually, we will move all of the logic of WKView into WebViewImpl,
        and then duplicate the necessary forwarding in WKWebView and remove
        WKWebView's inner WKView.

        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewFocused):
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        (WebKit::PageClientImpl::updateSecureInputState):
        (WebKit::PageClientImpl::resetSecureInputState):
        (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        For now, forward PageClient requests that can be answered by WebViewImpl
        to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
        together into one class, and these things will collapse down.

        * UIProcess/mac/WKFullScreenWindowController.h:
        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController initWithWindow:webView:page:]):
        (-[WKFullScreenWindowController enterFullScreen:]):
        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
        (-[WKFullScreenWindowController exitFullScreen]):
        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
        (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
        (-[WKFullScreenWindowController _manager]):
        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
        (-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
        (-[WKFullScreenWindowController _page]): Deleted.
        * UIProcess/mac/WKViewLayoutStrategy.h:
        * UIProcess/mac/WKViewLayoutStrategy.mm:
        (+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
        (-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewLayoutStrategy invalidate]):
        (-[WKViewLayoutStrategy didChangeFrameSize]):
        (-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
        (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
        (-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewLayoutStrategy willDestroyView:]): Deleted.
        (-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
        NSViews instead of WKView, so that eventually they will be able to work for either
        WKView or WKWebView, and so that they can sit underneath WebViewImpl.

        * WebKit2.xcodeproj/project.pbxproj:

2015-10-19  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191307.
        https://bugs.webkit.org/show_bug.cgi?id=150338

        broke lots of API tests, need time to figure out whats up
        (Requested by thorton on #webkit).

        Reverted changeset:

        "WKView being inside WKWebView leads to weird API issues"
        https://bugs.webkit.org/show_bug.cgi?id=150174
        http://trac.webkit.org/changeset/191307

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        Try again to fix the 32-bit build.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::setupServicesMenu):

2015-10-17  Wenson Hsieh  <wenson_hsieh@apple.com>

        Extend fast-clicking behavior to trigger on elements that have negligible zoom
        https://bugs.webkit.org/show_bug.cgi?id=150248
        <rdar://problem/23140069>

        Reviewed by Simon Fraser.

        Currently, fast-clicking only triggers on pages that have unscalable viewports. To allow more websites to benefit from fast-clicking
        behavior, we generalize fast-clicking to also occur when tapping on elements for which double-tap-to-zoom would zoom the element in
        or out by an insignificant amount. We define an insignificant amount of zoom to mean that zooming would increase the viewport scale
        by less than a configurable threshold, or decrease the viewport scale by more than a configurable threshold. We accomplish this by
        temporarily disabling the double tap gesture recognizer for the duration of the tap. This patch refactors some logic used to compute
        zoomed viewports to make it possible to predict the change in viewport scale when double tapping to zoom. See the changes in
        SmartMagnificationController and ViewGestureGeometryCollector for more details.

        There are no new tests, since this patch does not change existing behavior. Instead, this patch adds the machinery needed for zoom-
        dependent fast-clicking: by setting the preferences WebKitFastClickingEnabled and WebKitFastClickZoomThreshold, we will be able to tweak
        the behavior dynamically.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didCommitLayerTree:]):
        (-[WKWebView _contentZoomScale]):
        (-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
        (-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
        (-[WKWebView _viewportIsUserScalable]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
        * UIProcess/ios/SmartMagnificationController.h:
        * UIProcess/ios/SmartMagnificationController.mm:
        (WebKit::SmartMagnificationController::adjustSmartMagnificationTargetRectAndZoomScales):
        (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
        (WebKit::SmartMagnificationController::magnify):
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
        (-[WKContentView _fastClickZoomThreshold]):
        (-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]):
        (-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]):
        (-[WKContentView _highlightLongPressRecognized:]):
        (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
        (-[WKContentView _singleTapRecognized:]):
        (cancelPotentialTapIfNecessary):
        (-[WKContentView _singleTapCommited:]):
        (-[WKContentView webSelectionRects]): Deleted.
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
        * WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
        (WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
        (WebKit::ViewGestureGeometryCollector::computeZoomInformationForNode):
        * WebProcess/WebPage/ViewGestureGeometryCollector.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::potentialTapAtPosition):

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        WKView being inside WKWebView leads to weird API issues
        https://bugs.webkit.org/show_bug.cgi?id=150174

        Reviewed by Darin Adler.

        * UIProcess/API/mac/WKView.mm:
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/Cocoa/WebViewImpl.h: Added.
        * UIProcess/Cocoa/WebViewImpl.mm: Added.
        (WebKit::WebViewImpl::WebViewImpl):
        (WebKit::WebViewImpl::~WebViewImpl):
        (WebKit::WebViewImpl::setDrawsBackground):
        (WebKit::WebViewImpl::drawsBackground):
        (WebKit::WebViewImpl::setDrawsTransparentBackground):
        (WebKit::WebViewImpl::drawsTransparentBackground):
        (WebKit::WebViewImpl::acceptsFirstResponder):
        (WebKit::WebViewImpl::becomeFirstResponder):
        (WebKit::WebViewImpl::resignFirstResponder):
        (WebKit::WebViewImpl::isFocused):
        (WebKit::WebViewImpl::viewWillStartLiveResize):
        (WebKit::WebViewImpl::viewDidEndLiveResize):
        (WebKit::WebViewImpl::setFrameSize):
        (WebKit::WebViewImpl::disableFrameSizeUpdates):
        (WebKit::WebViewImpl::enableFrameSizeUpdates):
        (WebKit::WebViewImpl::frameSizeUpdatesDisabled):
        (WebKit::WebViewImpl::setFrameAndScrollBy):
        (WebKit::WebViewImpl::setFixedLayoutSize):
        (WebKit::WebViewImpl::fixedLayoutSize):
        (WebKit::WebViewImpl::setDrawingAreaSize):
        (WebKit::WebViewImpl::setContentPreparationRect):
        (WebKit::WebViewImpl::updateViewExposedRect):
        (WebKit::WebViewImpl::setClipsToVisibleRect):
        (WebKit::WebViewImpl::setIntrinsicContentSize):
        (WebKit::WebViewImpl::intrinsicContentSize):
        (WebKit::WebViewImpl::setViewScale):
        (WebKit::WebViewImpl::viewScale):
        (WebKit::WebViewImpl::layoutMode):
        (WebKit::WebViewImpl::setLayoutMode):
        (WebKit::WebViewImpl::supportsArbitraryLayoutModes):
        (WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
        (WebKit::WebViewImpl::updateSecureInputState):
        (WebKit::WebViewImpl::resetSecureInputState):
        (WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
        (WebKit::WebViewImpl::hasFullScreenWindowController):
        (WebKit::WebViewImpl::fullScreenWindowController):
        (WebKit::WebViewImpl::closeFullScreenWindowController):
        (WebKit::WebViewImpl::fullScreenPlaceholderView):
        (WebKit::WebViewImpl::createFullScreenWindow):
        Move the actual implementation of a number of WKView methods into a
        C++ class, WebViewImpl, which WKView calls directly into.
        Eventually, we will move all of the logic of WKView into WebViewImpl,
        and then duplicate the necessary forwarding in WKWebView and remove
        WKWebView's inner WKView.

        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::isViewFocused):
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        (WebKit::PageClientImpl::updateSecureInputState):
        (WebKit::PageClientImpl::resetSecureInputState):
        (WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        For now, forward PageClient requests that can be answered by WebViewImpl
        to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
        together into one class, and these things will collapse down.

        * UIProcess/mac/WKFullScreenWindowController.h:
        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController initWithWindow:webView:page:]):
        (-[WKFullScreenWindowController enterFullScreen:]):
        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
        (-[WKFullScreenWindowController exitFullScreen]):
        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
        (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
        (-[WKFullScreenWindowController _manager]):
        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
        (-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
        (-[WKFullScreenWindowController _page]): Deleted.
        * UIProcess/mac/WKViewLayoutStrategy.h:
        * UIProcess/mac/WKViewLayoutStrategy.mm:
        (+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
        (-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewLayoutStrategy invalidate]):
        (-[WKViewLayoutStrategy didChangeFrameSize]):
        (-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
        (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
        (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
        (-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewLayoutStrategy willDestroyView:]): Deleted.
        (-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
        NSViews instead of WKView, so that eventually they will be able to work for either
        WKView or WKWebView, and so that they can sit underneath WebViewImpl.

        * WebKit2.xcodeproj/project.pbxproj:

2015-10-19  Chris Dumez  <cdumez@apple.com>

        [WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
        https://bugs.webkit.org/show_bug.cgi?id=150221
        <rdar://problem/23149771>

        Reviewed by Darin Adler and Antti Koivisto.

        Generalize NetworkCacheStorage API so it can store different types of
        metadata alongside the network resources. This is a pre-requirement to
        making our NetworkCache smarter by storing information about the
        resources.

        To keep the code simple, the entry type is now part of the entry key and
        we store records of a specific type in a 'type' subfolder. The cache
        structure looks like so:
        - WebKitCache/Version 5/[Partition]/[Type]/[Hash]
        - WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)

        Existing cache entries now that the 'resource' type as these are network
        resources.

        * NetworkProcess/cache/NetworkCache.cpp:
        * NetworkProcess/cache/NetworkCacheKey.cpp:
        * NetworkProcess/cache/NetworkCacheKey.h:
        * NetworkProcess/cache/NetworkCacheStatistics.cpp:
        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        * NetworkProcess/cache/NetworkCacheStorage.h:

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        Try to fix the iOS build

        * Configurations/FeatureDefines.xcconfig:

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        Try to fix the 32-bit build.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::setupServicesMenu):

2015-10-16  Anders Carlsson  <andersca@apple.com>

        Fix image service menus somewhat
        https://bugs.webkit.org/show_bug.cgi?id=150265

        Reviewed by Tim Horton.

        * Shared/ContextMenuContextData.cpp:
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        It's a service menu if we have a controlled image.

        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::setupServicesMenu):
        Use an item provider.

2015-10-19  Tim Horton  <timothy_horton@apple.com>

        Add magnify and rotate gesture event support for Mac
        https://bugs.webkit.org/show_bug.cgi?id=150179
        <rdar://problem/8036240>

        Reviewed by Darin Adler.

        * Configurations/FeatureDefines.xcconfig:
        New feature flag.

        * Shared/NativeWebGestureEvent.h: Added.
        (WebKit::NativeWebGestureEvent::nativeEvent):
        * Shared/WebEvent.h:
        * Shared/WebEventConversion.cpp:
        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
        (WebKit::platform):
        * Shared/WebEventConversion.h:
        * Shared/mac/NativeWebGestureEventMac.mm: Added.
        (WebKit::webEventTypeForNSEvent):
        (WebKit::pointForEvent):
        (WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
        Add and plumb a new native event that wraps a NSEvent of type
        NSEventTypeMagnify or NSEventTypeRotate (gesture events).

        * Shared/mac/WebGestureEvent.cpp: Added.
        (WebKit::WebGestureEvent::encode):
        (WebKit::WebGestureEvent::decode):
        (WebKit::WebGestureEvent::isGestureEventType):
        * Shared/mac/WebGestureEvent.h: Added.
        (WebKit::WebGestureEvent::WebGestureEvent):
        (WebKit::WebGestureEvent::position):
        (WebKit::WebGestureEvent::gestureScale):
        (WebKit::WebGestureEvent::gestureRotation):
        Add IPC plumbing for WebGestureEvent, which becomes a WebCore::PlatformGestureEvent.

        * UIProcess/API/Cocoa/WKViewPrivate.h:
        Remove unnecessary iPhone-only WKView code.
        Add _gestureEventWasNotHandledByWebCore, SPI which can be overridden
        to react when WebCore decides not to handle a gesture event.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView magnifyWithEvent:]):
        Route magnification gesture events to the page, unless we're already
        in an active view zoom gesture, in which case we'll bypass the page
        and send the event straight to ViewGestureController.

        (-[WKView rotateWithEvent:]):
        Route rotation gesture events to the page.

        (-[WKView _gestureEventWasNotHandledByWebCore:]):
        Let ViewGestureController know that WebCore didn't handle a gesture event.
        We always give WebCore the first crack at the event if we're not in a zoom,
        because it could preventDefault() on the Begin phase event, and that should
        prevent pinch-zoom from starting.

        * UIProcess/PageClient.h:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
        Plumb gestureEventWasNotHandledByWebCore back from WebPageProxy to WKView.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::handleGestureEvent):
        (WebKit::WebPageProxy::didReceiveEvent):
        * UIProcess/WebPageProxy.h:
        Forward gesture events to EventDispatcher, and let WKView know when WebCore
        passes on handling them.
        
        * UIProcess/mac/ViewGestureController.h:
        (WebKit::ViewGestureController::hasActiveMagnificationGesture):
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::gestureEventWasNotHandledByWebCore):
        (WebKit::ViewGestureController::handleMagnificationGestureEvent):
        Don't try to start a zoom with anything other than a Begin phase event.
        Try to start a zoom with any events that WebCore doesn't handle.
        Move dispatch of endMagnificationGesture into ViewGestureController;
        there is no reason for that to be in WKView anymore.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::gestureEvent):
        (WebKit::EventDispatcher::dispatchGestureEvent):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/EventDispatcher.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::handleGestureEvent):
        (WebKit::WebPage::gestureEvent):
        * WebProcess/WebPage/WebPage.h:
        Dispatch to the main thread and hand off the gesture event to WebCore,
        asynchronously informing the UI process of whether the event was handled or not.

2015-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
        https://bugs.webkit.org/show_bug.cgi?id=150319

        Reviewed by Žan Doberšek.

        This happens when the inspector is shown/closed very
        quickly. Since we start the inspector attached by default, when
        the web inspector is created m_isAttached is set to true, so that
        when opened, it's attached to the view. If the inspector is closed
        before it has been actually attached, the inspector view doesn't
        have a parent, even if the m_isAttached is true. So, we should
        handle this case instead of asserting. This is what happens in
        test http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html.

        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformDetach): Remove the view from
        its parent container if it was actually attached.

2015-10-19  Hunseop Jeong  <hs85.jeong@samsung.com>

        [EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
        https://bugs.webkit.org/show_bug.cgi?id=150310

        Reviewed by Gyuyoung Kim.

        showContextMenu() doesn't work correctly after r191194 in EFL port.
        This patch implements WebContextMenuProxyEfl::showContextMenu.

        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
        (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
        (WebKit::WebContextMenuProxyEfl::showContextMenu):
        (WebKit::WebContextMenuProxyEfl::hideContextMenu):
        * UIProcess/efl/WebContextMenuProxyEfl.h:

2015-10-18  Csaba Osztrogonác  <ossy@webkit.org>

        [WK2] Simplify unused return warning in WKRetainPtr.h
        https://bugs.webkit.org/show_bug.cgi?id=150173

        Reviewed by Darin Adler.

        * UIProcess/API/cpp/WKRetainPtr.h:
        (WebKit::__attribute__):
        (WebKit::adoptWK): Deleted.

2015-10-18  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the ENABLE(SECCOMP_FILTERS) build after r187030
        https://bugs.webkit.org/show_bug.cgi?id=150172

        Reviewed by Alexey Proskuryakov.

        * Shared/linux/SeccompFilters/Syscall.cpp:
        (WebKit::reportUnexpectedSyscall):

2015-10-18  Joonghun Park  <jh718.park@samsung.com>

        [GTK] Remove WebKitContextMenu related missing annotation warnings
        https://bugs.webkit.org/show_bug.cgi?id=150299

        Reviewed by Darin Adler.

        The warnings occur currently because when executing g-ir-scanner,
        it doesn't consider WebKitContextMenu related .cpp files,
        but only .h files.

        * PlatformGTK.cmake: Add WebKitContextMenu related cpp files.

2015-10-18  Myles C. Maxfield  <mmaxfield@apple.com>

        Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
        https://bugs.webkit.org/show_bug.cgi?id=150287

        Reviewed by Simon Fraser.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
        (WebKit::WebProcessCreationParameters::encode): Deleted.
        (WebKit::WebProcessCreationParameters::decode): Deleted.
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::registerUserDefaultsIfNeeded): Deleted.
        (WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess): Deleted.

2015-10-18  Yusuke Suzuki  <utatane.tea@gmail.com>

        [GTK] Implement WebContextMenuProxyGtk::showContextMenu after r191194
        https://bugs.webkit.org/show_bug.cgi?id=150276

        Reviewed by Carlos Garcia Campos.

        After r191194, showContextMenu signature becomes changed, and the implementation
        is moved from the generic file to the Mac port. It poses the compile error in GTK port.
        This patch implements WebContextMenuProxyGtk::showContextMenu. The logic is the same
        to the old one except for dropping SERVICE_CONTROLS support. This is because
        SERVICE_CONTROLS is not related to GTK.

        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::WebContextMenuProxyGtk::showContextMenu):
        * UIProcess/gtk/WebContextMenuProxyGtk.h:

2015-10-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r191250 and r191253.
        https://bugs.webkit.org/show_bug.cgi?id=150296

        Broke all the tests on Windows (Requested by ap on #webkit).

        Reverted changesets:

        "Stop honoring the user default
        "WebKitKerningAndLigaturesEnabledByDefault""
        https://bugs.webkit.org/show_bug.cgi?id=150287
        http://trac.webkit.org/changeset/191250

        "Build fix after r191250"
        http://trac.webkit.org/changeset/191253

2015-10-17  Myles C. Maxfield  <mmaxfield@apple.com>

        Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
        https://bugs.webkit.org/show_bug.cgi?id=150287

        Reviewed by Simon Fraser.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
        (WebKit::WebProcessCreationParameters::encode): Deleted.
        (WebKit::WebProcessCreationParameters::decode): Deleted.
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::registerUserDefaultsIfNeeded): Deleted.
        (WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess): Deleted.

2015-10-17  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Stop using WKAXRegisterRemoteApp
        https://bugs.webkit.org/show_bug.cgi?id=150283

        Reviewed by Alexey Proskuryakov.

        * Platform/spi/mac: Added.
        * Platform/spi/mac/AppKitSPI.h: Added. Includes declaration of
          +[NSAccessibilityRemoteUIElement setRemoteUIApp:].

        * WebKit2.xcodeproj/project.pbxproj: Added reference to new header. Also changed the path of
          the Platform/spi/Cocoa group to the corresponding path in the source tree.

        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::registerWithAccessibility): Added.
        (WebKit::WebProcess::platformInitializeProcess): Use new registerWithAccessibility instead
          of WKAXRegisterRemoteApp.

2015-10-16  Simon Fraser  <simon.fraser@apple.com>

        Enhance TextStream for logging, remove subclasses, log more things
        https://bugs.webkit.org/show_bug.cgi?id=150269

        Reviewed by Zalan Bujtas.

        Remove the various TextStream subclasses that only existed to support indenting,
        and output additional types. Add output for more WebCore and WebKit2 types, and
        just use TextStream everywhere.
        
        TextStream is enhance to support grouping (open paren and intent), with a 
        stack-based class to open/end a group.
        
        Remove some SVG-specific duplicate output functions.
        
        Outdent namespace contents of GraphicsTypes.h.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (WebKit::dump):
        (WebKit::recursiveDumpNodes):
        (WebKit::RemoteScrollingCoordinatorTransaction::description):
        (WebKit::RemoteScrollingTreeTextStream::RemoteScrollingTreeTextStream): Deleted.
        (WebKit::RemoteScrollingTreeTextStream::increaseIndent): Deleted.
        (WebKit::RemoteScrollingTreeTextStream::decreaseIndent): Deleted.
        (WebKit::RemoteScrollingTreeTextStream::writeIndent): Deleted.
        (WebKit::dumpProperty): Deleted.
        (WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
        (WebKit::RemoteScrollingTreeTextStream::dump): Deleted.
        (WebKit::RemoteScrollingTreeTextStream::recursiveDumpNodes): Deleted.
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::operator<<):
        (WebKit::dumpChangedLayers):
        (WebKit::RemoteLayerTreeTransaction::description):
        (WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream): Deleted.
        (WebKit::RemoteLayerTreeTextStream::increaseIndent): Deleted.
        (WebKit::RemoteLayerTreeTextStream::decreaseIndent): Deleted.
        (WebKit::dumpProperty): Deleted.
        (WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.
        (WebKit::RemoteLayerTreeTextStream::writeIndent): Deleted.
        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
        (WebKit::operator<<):

2015-10-17  Hunseop Jeong  <hs85.jeong@samsung.com>

        URTBF after r191194 to fix EFL build.
        https://bugs.webkit.org/show_bug.cgi?id=150272

        Reviewed by Csaba Osztrogonác.

        * UIProcess/efl/WebContextMenuProxyEfl.cpp:
        (WebKit::WebContextMenuProxyEfl::showContextMenu):
        * UIProcess/efl/WebContextMenuProxyEfl.h:

2015-10-16  Wenson Hsieh  <wenson_hsieh@apple.com>

        Add a WKWebView input delegate SPI
        https://bugs.webkit.org/show_bug.cgi?id=149646

        Reviewed by Dan Bernstein.

        Renames the existing _WKFormDelegate to _WKInputDelegate and adds a new delegate SPI method
        -[_WKInputDelegate _webView:focusShouldStartInputSession:] that allows clients to allow or
        disallow showing up the keyboard. To make this decision, clients are given a
        _WKFocusedElementInfo, which contains information about the focused element prior to the
        keyboard showing up so the client will be able to override default assistance behavior.

        While the information contained in a _WKFocusedElementInfo currently seems like overkill for
        _webView:focusShouldStartInputSession, our intentions are to give WebKit clients control over more
        details of how node assistance works, such as being able to use a custom editor for certain
        types of nodes.

        * Shared/API/Cocoa/WebKitPrivate.h: Added new header _WKFocusedElementInfo.h.
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _inputDelegate]):
        (-[WKWebView _formDelegate]):
        (-[WKWebView _setInputDelegate:]):
        (-[WKWebView _setFormDelegate:]):
        (-[WKWebView initWithFrame:configuration:]): Deleted canAssistOnProgrammaticFocus flag.
        (-[WKWebView canAssistOnProgrammaticFocus]): Ditto.
        (-[WKWebView setCanAssistOnProgrammaticFocus:]): Ditto.
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]): Deleted.
        (-[WKWebViewConfiguration _canAssistOnProgrammaticFocus]): Deleted canAssistOnProgrammaticFocus flag.
        (-[WKWebViewConfiguration _setCanAssistOnProgrammaticFocus:]): Ditto.
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/Cocoa/_WKFocusedElementInfo.h: Added.
        * UIProcess/API/Cocoa/_WKFormDelegate.h:
        * UIProcess/API/Cocoa/_WKInputDelegate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKFormDelegate.h.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKFocusedElementInfo initWithAssistedNodeInformation:isInteracting:]):
        (-[WKFocusedElementInfo type]):
        (-[WKFocusedElementInfo value]):
        (-[WKFocusedElementInfo isUserInitiated]):
        (-[WKContentView accessoryAutoFill]):
        (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): If the input delegate responds to
            shouldStartInputSession, consult it to see if we should bring up the keyboard; otherwise, use our default behavior.
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-16  Simon Fraser  <simon.fraser@apple.com>

        Make TextStream the canonical way to log classes in WebCore
        https://bugs.webkit.org/show_bug.cgi?id=150256

        Reviewed by Sam Weinig.

        We vacillated between PrintStream and TextStream as being the canonical way
        to stringify WebCore data structures. This patch solidifies TextStream
        as the solution, since it has convenient stream syntax, and is what we
        use for render tree dumps.

        Remove TextStream member functions that output non-simple structs
        (sizes, points and rects), replacing them with free operator<< functions
        in the .cpp file for the relevant class. Formatting is currently consistent
        with RenderTreeAsText output, to avoid breaking tests.

        Remove custom FloatRect outputting in SVG and RemoteLayerTreeTransaction.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.

2015-10-16  Anders Carlsson  <andersca@apple.com>

        Remove some dead menu code
        https://bugs.webkit.org/show_bug.cgi?id=150247

        Reviewed by Andreas Kling.

        * Shared/WebContextMenuItemData.cpp:
        (WebKit::WebContextMenuItemData::WebContextMenuItemData):
        (WebKit::WebContextMenuItemData::encode): Deleted.
        * Shared/WebContextMenuItemData.h:
        (WebKit::WebContextMenuItemData::selectionHandler): Deleted.
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::nsMenuItem):

2015-10-16  Anders Carlsson  <andersca@apple.com>

        Move more code to WebContextMenuProxyMac
        https://bugs.webkit.org/show_bug.cgi?id=150240

        Reviewed by Tim Horton.

        * UIProcess/WebContextMenuProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::contextMenuClient):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::initializeShareMenuItem):
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::platformInitializeShareMenuItem): Deleted.

2015-10-16  Tim Horton  <timothy_horton@apple.com>

        Hook up autolayout intrinsic sizing for WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=150219
        <rdar://problem/20016905>

        Reviewed by Simon Fraser.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView intrinsicContentSize]):
        (-[WKWebView _setIntrinsicContentSize:]):
        (-[WKWebView _minimumLayoutWidth]):
        (-[WKWebView _setMinimumLayoutWidth:]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        Add a simple SPI to specify the minimum width that a WKWebView will attempt
        to lay out to, similar to WKView except just a width, not a size, and
        with no option to force the height to the view size. Similar behavior can
        be achieved by clients by setting custom autolayout constraints on the view.

        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::intrinsicContentSizeDidChange):
        Forward intrinsic content size changes to the WKWebView, not its inner WKView,
        if we have one.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
        Only set the autosizing fixed minimum height if we're using that behavior;
        otherwise, setting it to the view's height will end up accidentally
        turning on that behavior (which involves an extra layout per resize!).

2015-10-15  Anders Carlsson  <andersca@apple.com>

        Use the ShowContextMenu message for service menus as well
        https://bugs.webkit.org/show_bug.cgi?id=150206

        Reviewed by Tim Horton.

        * Shared/ContextMenuContextData.cpp:
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        (WebKit::ContextMenuContextData::encode):
        (WebKit::ContextMenuContextData::decode):
        * Shared/ContextMenuContextData.h:
        (WebKit::ContextMenuContextData::type):
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        (WebKit::ContextMenuContextData::isServicesMenu):
        (WebKit::ContextMenuContextData::needsServicesMenu): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::showContextMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::populate):
        (WebKit::WebContextMenuProxyMac::showContextMenu):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::showSelectionServiceMenu): Deleted.
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::handleSelectionServiceClick):

2015-10-16  Hunseop Jeong  <hs85.jeong@samsung.com>

        [GTK] Try to fix the build after r191137
        https://bugs.webkit.org/show_bug.cgi?id=150222

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::doneWithKeyEvent):
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        (WebKit::PageClientImpl::createColorPicker):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::WebContextMenuProxyGtk::populate):
        (WebKit::WebContextMenuProxyGtk::showContextMenu):
        (WebKit::WebContextMenuProxyGtk::hideContextMenu):
        (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
        * UIProcess/gtk/WebContextMenuProxyGtk.h:
        (WebKit::WebContextMenuProxyGtk::create):
        (WebKit::WebContextMenuProxyGtk::gtkMenu):
        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
        (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
        * UIProcess/gtk/WebPopupMenuProxyGtk.h:
        (WebKit::WebPopupMenuProxyGtk::create):
        (WebKit::WebPopupMenuProxyGtk::setCurrentlySelectedMenuItem):

2015-10-15  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

         EFL build fix since r191137

         Unreviewed EFL build fix.

        * UIProcess/CoordinatedGraphics/WebView.cpp: Removed.

2015-10-15  Myles C. Maxfield  <mmaxfield@apple.com>

        Migrate to CGContextSetBaseCTM() and CGContextResetClip() from WKSI
        https://bugs.webkit.org/show_bug.cgi?id=150155

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.

2015-10-15  Dean Jackson  <dino@apple.com>

        Fix the iOS build. And hopefully not breaking the other builds
        at the same time.

        * UIProcess/PageClient.h:
        * UIProcess/WebContextMenuProxy.cpp:
        * UIProcess/WebContextMenuProxy.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:

2015-10-15  Anders Carlsson  <andersca@apple.com>

        Use the context inside WebContextMenuProxyMac
        https://bugs.webkit.org/show_bug.cgi?id=150196

        Reviewed by Tim Horton.

        * UIProcess/WebContextMenuProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::populate):
        (WebKit::WebContextMenuProxyMac::showContextMenu):

2015-10-15  Anders Carlsson  <andersca@apple.com>

        Use the context menu location that's stored in the context data
        https://bugs.webkit.org/show_bug.cgi?id=150194

        Reviewed by Tim Horton.

        * UIProcess/WebContextMenuProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::showContextMenu):

2015-10-15  Anders Carlsson  <andersca@apple.com>

        Store the context menu data and user data in the WebContextMenuProxy object
        https://bugs.webkit.org/show_bug.cgi?id=150191

        Reviewed by Tim Horton.

        * UIProcess/PageClient.h:
        * UIProcess/WebContextMenuProxy.cpp:
        (WebKit::WebContextMenuProxy::WebContextMenuProxy):
        * UIProcess/WebContextMenuProxy.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::createContextMenuProxy):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::createContextMenuProxy):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        (WebKit::WebContextMenuProxyMac::create):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):

2015-10-15  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Stop using WKSetNSURLConnectionDefersCallbacks
        https://bugs.webkit.org/show_bug.cgi?id=150189

        Reviewed by Anders Carlsson.

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Removed initialization.

2015-10-15  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * UIProcess/API/APIFrameInfo.cpp:
        (API::FrameInfo::~FrameInfo):
        * UIProcess/API/APIFrameInfo.h:
        * UIProcess/API/Cocoa/WKUserContentController.mm:

2015-10-15  Anders Carlsson  <andersca@apple.com>

        CTTE menu proxies
        https://bugs.webkit.org/show_bug.cgi?id=150187

        Reviewed by Tim Horton.

        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::showPopupMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPopupMenuProxy.h:
        (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy): Deleted.
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        * UIProcess/mac/WebContextMenuProxyMac.h:
        (WebKit::WebContextMenuProxyMac::create):
        (WebKit::WebContextMenuProxyMac::page):
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
        (WebKit::WebContextMenuProxyMac::~WebContextMenuProxyMac):
        (WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
        * UIProcess/mac/WebPopupMenuProxyMac.h:
        (WebKit::WebPopupMenuProxyMac::create):
        * UIProcess/mac/WebPopupMenuProxyMac.mm:
        (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):

2015-10-15  Anders Carlsson  <andersca@apple.com>

        Add -[WKFrameInfo _handle]
        https://bugs.webkit.org/show_bug.cgi?id=150185
        rdar://problem/23132371

        Reviewed by Tim Horton.

        * UIProcess/API/APIFrameInfo.cpp:
        (API::FrameInfo::FrameInfo):
        * UIProcess/API/APIFrameInfo.h:
        * UIProcess/API/Cocoa/WKFrameInfo.mm:
        (-[WKFrameInfo _handle]):
        * UIProcess/API/Cocoa/WKFrameInfoInternal.h:
        * UIProcess/API/Cocoa/WKFrameInfoPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKFrameInfoInternal.h.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::showPopupMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPopupMenuProxy.h:
        (WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-15  Anders Carlsson  <andersca@apple.com>

        The menu location and menu items should be part of ContextMenuContextData
        https://bugs.webkit.org/show_bug.cgi?id=150182

        Reviewed by Andreas Kling.

        * Shared/ContextMenuContextData.cpp:
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        (WebKit::ContextMenuContextData::encode):
        (WebKit::ContextMenuContextData::decode):
        * Shared/ContextMenuContextData.h:
        (WebKit::ContextMenuContextData::menuLocation):
        (WebKit::ContextMenuContextData::menuItems):
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::showContextMenu):
        (WebKit::WebPageProxy::internalShowContextMenu):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::showSelectionServiceMenu):
        * WebProcess/WebPage/WebContextMenu.cpp:
        (WebKit::WebContextMenu::show):

2015-10-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Test WebKit2.RestoreSessionStateContainingFormData fails
        https://bugs.webkit.org/show_bug.cgi?id=84960

        Reviewed by Žan Doberšek.

        Add a cross-platform implementation to LegacySessionStateCodingNone
        using the new SessionState, so that non mac ports can make unit
        tests that use the legacy session state coding pass.

        * UIProcess/LegacySessionStateCodingNone.cpp:
        (WebKit::encodeLegacySessionState):
        (WebKit::decodeLegacySessionState):
        (WebKit::encodeLegacySessionHistoryEntryData): Deleted.
        (WebKit::decodeLegacySessionHistoryEntryData): Deleted.

2015-10-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix wrong #ifdef added in r190615.

        This disabled accelerated compositing unconditionally.

        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore):

2015-10-14  Zhuo Li  <zachli@apple.com>

        Augment <input type=search>’s recent search history with the time each entry was added,
        in order to allow time-based clearing of search history.
        https://bugs.webkit.org/show_bug.cgi?id=148388.

        Reviewed by Darin Adler.

        Replace Vector<String> with Vector<RecentSearch>, where RecentSearch is a struct
        that consists search string and time, for recent searches in order to store additional time
        information.

        All these new RecentSearches are stored in a plist in which the structure looks like:
        Root {
            "items": {
                autosave name: {
                    "searches": [
                        { "searchString": searchString, "date": date },
                        ...
                    ]
                }
            }
        }

        * Scripts/webkit/messages.py:
        (headers_for_type):
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<RecentSearch>::encode): Encode the new struct RecentSearch
        (IPC::ArgumentCoder<RecentSearch>::decode): Decode the new struct RecentSearch
        * Shared/WebCoreArgumentCoders.h:
        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
        (WebKit::WebPageProxy::saveRecentSearches): Call saveRecentSearches in WebCore::SearchPopupMenuCocoa.
        (WebKit::WebPageProxy::loadRecentSearches): Call loadRecentSearches in WebCore::SearchPopupMenuCocoa.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/efl/WebPageProxyEfl.cpp:
        (WebKit::WebPageProxy::saveRecentSearches):
        (WebKit::WebPageProxy::loadRecentSearches):
        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::WebPageProxy::saveRecentSearches):
        (WebKit::WebPageProxy::loadRecentSearches):
        * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
        (WebKit::WebSearchPopupMenu::saveRecentSearches):
        (WebKit::WebSearchPopupMenu::loadRecentSearches):
        * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:

2015-10-14  Wenson Hsieh  <wenson_hsieh@apple.com>

        Web pages with unscalable viewports shouldn't have a single tap delay
        https://bugs.webkit.org/show_bug.cgi?id=149968
        <rdar://problem/23054453>

        Reviewed by Simon Fraser.

        When a viewport is unscalable (specified through the meta viewport tag) we
        do not add a delay to our single tap gesture recognizer. We do this by
        disabling or reinitializing the WKContentView's double tap gesture recognizer
        when the viewport becomes unscalable or scalable, respectively. A viewport is
        deemed unscalable when it has user-scalable = no, or when the minimum scale is
        greater than or equal to the maximum scale.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didCommitLayerTree:]):
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]): Pulled logic
                for initializing a double tap gesture recognizer out into a helper function.
        (-[WKContentView setupInteraction]):
        (-[WKContentView _setDoubleTapGesturesEnabled:]): Turns gesture recognition for double
                taps on or off.

2015-10-14  Anders Carlsson  <andersca@apple.com>

        Remove a message that isn't used by anyone
        https://bugs.webkit.org/show_bug.cgi?id=150136

        Reviewed by Andreas Kling.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didRemoveFrameFromHierarchy): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy): Deleted.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::detachedFromParent2): Deleted.

2015-10-14  Alex Christensen  <achristensen@webkit.org>

        Add SPI for reloading without content blockers
        https://bugs.webkit.org/show_bug.cgi?id=150058
        rdar://problem/22742222

        Reviewed by Sam Weinig.

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageReload):
        (WKPageReloadWithoutContentBlockers):
        (WKPageReloadFromOrigin):
        (WKPageTryClose):
        (WKPageSetUserContentExtensionsEnabled):
        (WKPageSupportsTextEncoding):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController reload]):
        (-[WKBrowsingContextController reloadFromOrigin]):
        (-[WKBrowsingContextController applicationNameForUserAgent]):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView reload]):
        (-[WKWebView reloadFromOrigin]):
        (-[WKWebView _setUserContentExtensionsEnabled:]):
        (-[WKWebView _userContentExtensionsEnabled]):
        (-[WKWebView _webProcessIdentifier]):
        (-[WKWebView _killWebContentProcess]):
        (-[WKWebView _reloadWithoutContentBlockers]):
        (-[WKWebView _killWebContentProcessAndResetState]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_reload):
        (webkit_web_view_reload_bypass_cache):
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::stopLoading):
        (WebKit::WebPageProxy::reload):
        (WebKit::WebPageProxy::creationParameters):
        (WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
        (WebKit::WebPageProxy::setUserContentExtensionsEnabled): Deleted.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::userContentExtensionsEnabled): Deleted.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::m_shouldDispatchFakeMouseMoveEvents):
        (WebKit::WebPage::setDefersLoading):
        (WebKit::WebPage::reload):
        (WebKit::WebPage::goForward):
        (WebKit::WebPage::createDocumentLoader):
        (WebKit::WebPage::setShouldScaleViewToFitDocument):
        (WebKit::WebPage::imageOrMediaDocumentSizeChanged):
        (WebKit::WebPage::setUserContentExtensionsEnabled): Deleted.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-10-14  Simon Fraser  <simon.fraser@apple.com>

        Change GraphicsContext image-drawing functions to take references
        https://bugs.webkit.org/show_bug.cgi?id=150108

        Reviewed by Tim Horton and Sam Weinig.

        Change GraphicsContext::drawImage(), drawTiledImage(), drawImageBuffer(), clipToImageBuffer()
        and isCompatibleWithBuffer() to take references, and adjust calling code, adding
        null-checks where necessary.

        * Shared/ContextMenuContextData.cpp:
        (WebKit::ContextMenuContextData::ContextMenuContextData):
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::encodeImage):
        (IPC::encodeOptionalImage):
        (IPC::ArgumentCoder<Cursor>::encode):
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::createSelectionSnapshot):

2015-10-14  Anders Carlsson  <andersca@apple.com>

        Change the bundle app cache APIs to take a page
        https://bugs.webkit.org/show_bug.cgi?id=150123

        Reviewed by Sam Weinig.

        This is another step towards getting rid of ApplicationCacheStorage::singleton().
        Ideally the WKTR tests that use this should be converted to API tests.

        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
        (WKBundleClearApplicationCache): Deleted.
        (WKBundleClearApplicationCacheForOrigin): Deleted.
        (WKBundleSetAppCacheMaximumSize): Deleted.
        (WKBundleGetAppCacheUsageForOrigin): Deleted.
        (WKBundleSetApplicationCacheOriginQuota): Deleted.
        (WKBundleResetApplicationCacheOriginQuota): Deleted.
        (WKBundleCopyOriginsWithApplicationCache): Deleted.
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageClearApplicationCache):
        (WKBundlePageClearApplicationCacheForOrigin):
        (WKBundlePageSetAppCacheMaximumSize):
        (WKBundlePageGetAppCacheUsageForOrigin):
        (WKBundlePageSetApplicationCacheOriginQuota):
        (WKBundlePageResetApplicationCacheOriginQuota):
        (WKBundlePageCopyOriginsWithApplicationCache):
        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::clearApplicationCache): Deleted.
        (WebKit::InjectedBundle::clearApplicationCacheForOrigin): Deleted.
        (WebKit::InjectedBundle::setAppCacheMaximumSize): Deleted.
        (WebKit::InjectedBundle::appCacheUsageForOrigin): Deleted.
        (WebKit::InjectedBundle::setApplicationCacheOriginQuota): Deleted.
        (WebKit::InjectedBundle::resetApplicationCacheOriginQuota): Deleted.
        (WebKit::InjectedBundle::originsWithApplicationCache): Deleted.
        * WebProcess/InjectedBundle/InjectedBundle.h:

2015-10-14  Joonghun Park  <jh718.park@samsung.com>

        [EFL] Fix the problem in which environment variable included in webprocess-cmd-prefix can't be parsed
        https://bugs.webkit.org/show_bug.cgi?id=148616

        Reviewed by Gyuyoung Kim.

        This patch fixes the problem in which environment variable in web process-cmd-prefix can't be parsed.
        process-cmd-prefix option doesn't work in two cases.
        1. When executing run-layout-tests,
        2. When executing MiniBrowser with web process-cmd-prefix environment variable.

        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        (WebKit::parseAndRemoveEnvironments):
        (WebKit::ProcessLauncher::launchProcess):

2015-10-13  Yongjun Zhang  <yongjun_zhang@apple.com>

        Use the correct notification strings for view service applications state change.
        https://bugs.webkit.org/show_bug.cgi?id=150107

        Use the correct notification names "_UIViewServiceHostDidEnterBackgroundNotification" and
        "_UIViewServiceHostWillEnterForegroundNotification" to listen to view service application state changes.

        Reviewed by Gavin Barraclough.

        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::ApplicationStateTracker::ApplicationStateTracker):

2015-10-13  Myles C. Maxfield  <mmaxfield@apple.com>

        Split TypesettingFeatures into kerning and ligatures bools
        https://bugs.webkit.org/show_bug.cgi?id=150074

        Reviewed by Simon Fraser.

        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2015-10-13  Dean Jackson  <dino@apple.com>

        Fix iOS-family builds.

        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (WKPageGetObjectRegistry):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController _remoteObjectRegistry]):
        * UIProcess/API/mac/WKViewInternal.h:

2015-10-13  Anders Carlsson  <andersca@apple.com>

        Fix 32-bit build.

        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (WKPageGetObjectRegistry):

2015-10-13  Anders Carlsson  <andersca@apple.com>

        Add and implement WKPageGetObjectRegistry
        https://bugs.webkit.org/show_bug.cgi?id=150102

        Reviewed by Tim Horton.

        Put the _WKObjectRegistry used by WKPageRef and WKBrowsingContextController on the WKView for now.
        If we decide to share more code between WKView and WKWebView, the object registry could live in an object that would be shared
        between WKView and WKWebView.

        * UIProcess/API/C/mac/WKPagePrivateMac.h:
        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (WKPageGetObjectRegistry):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController _remoteObjectRegistry]):
        (-[WKBrowsingContextController dealloc]): Deleted.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView dealloc]):
        (-[WKView _remoteObjectRegistry]):
        * UIProcess/API/mac/WKViewInternal.h:

2015-10-13  Chris Dumez  <cdumez@apple.com>

        Avoid useless copies in range-loops that are using 'auto'
        https://bugs.webkit.org/show_bug.cgi?id=150091

        Reviewed by Sam Weinig.

        Avoid useless copies in range-loops that are using 'auto'. Also use
        'auto*' instead of 'auto' when range values are pointers for clarity.

        * UIProcess/VisitedLinkStore.cpp:
        (WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
        (WebKit::VisitedLinkStore::resizeTable):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::releaseRemainingIconsForPageURLs):
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::fetchData):
        (WebKit::WebsiteDataStore::removeData):
        (WebKit::WebsiteDataStore::plugins):

2015-10-13  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Add debug settings for using giant tiles (4096x4096)
        https://bugs.webkit.org/show_bug.cgi?id=149977
        <rdar://problem/23017093>

        Reviewed by Tim Horton.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetUseGiantTiles):
        (WKPreferencesGetUseGiantTiles):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-10-13  Brent Fulgham  <bfulgham@apple.com>

        [iOS] Avoid crash due to invalid screen bounds
        https://bugs.webkit.org/show_bug.cgi?id=150048
        <rdar://problem/22112664>

        Reviewed by Jer Noble.

        Check for an invalid bounds, and reset it to a known state before
        attempting to use it.

        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced):

2015-10-13  Sergio Villar Senin  <svillar@igalia.com>

        [GTK] Fix build for ENABLE_TOUCH_EVENTS=OFF
        https://bugs.webkit.org/show_bug.cgi?id=150085

        Reviewed by Carlos Garcia Campos.

        * Shared/gtk/NativeWebTouchEventGtk.cpp:
        * Shared/gtk/WebEventFactory.cpp:
        * Shared/gtk/WebEventFactory.h:
        * UIProcess/API/gtk/PageClientImpl.cpp:
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkit_web_view_base_class_init):

2015-10-13  Chris Dumez  <cdumez@apple.com>

        Avoid useless copying of Key::HashType in loops in NetworkCache::Storage::synchronize()
        https://bugs.webkit.org/show_bug.cgi?id=150061

        Reviewed by Carlos Garcia Campos.

        Avoid useless copying of Key::HashType in loops in NetworkCache::Storage::synchronize().
        Key::HashType is currently a SHA1::Digest, which is a std::array<uint8_t, 20>.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::synchronize):

2015-10-12  Philip Chimento  <philip.chimento@gmail.com>

        [GTK] OSX linker doesn't understand --whole-archive
        https://bugs.webkit.org/show_bug.cgi?id=144557

        Reviewed by Martin Robinson.

        * PlatformGTK.cmake: Link with extra libraries on Darwin, since
        we don't have the --whole-archive linker option.

2015-10-09  Anders Carlsson  <andersca@apple.com>

        Don't allow plug-ins to override image types for <embed> elements
        https://bugs.webkit.org/show_bug.cgi?id=149979

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::objectContentType):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2015-10-12  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Bump Version/X in user agent
        https://bugs.webkit.org/show_bug.cgi?id=150013

        Reviewed by Csaba Osztrogonác.

        EFL port needs to ensure maximum compatibility with existing web sites.
        Thus version number needs to be bumped from 5.0 to 8.0 as GTK port.

        * UIProcess/efl/WebPageProxyEfl.cpp:
        (WebKit::WebPageProxy::standardUserAgent):

2015-10-10  Dan Bernstein  <mitz@apple.com>

        [iOS] Remove unnecessary iOS version checks
        https://bugs.webkit.org/show_bug.cgi?id=150002

        Reviewed by Alexey Proskuryakov.

        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
        * Platform/IPC/mac/ConnectionMac.mm:
        (IPC::AccessibilityProcessSuspendedNotification):
        * Platform/spi/ios/SafariServicesSPI.h:
        * Platform/spi/ios/UIKitSPI.h:
        * Shared/Network/NetworkProcessCreationParameters.cpp:
        (WebKit::NetworkProcessCreationParameters::encode):
        (WebKit::NetworkProcessCreationParameters::decode):
        * Shared/Network/NetworkProcessCreationParameters.h:
        * Shared/Plugins/PluginProcessCreationParameters.cpp:
        (WebKit::PluginProcessCreationParameters::encode):
        (WebKit::PluginProcessCreationParameters::decode):
        * Shared/Plugins/PluginProcessCreationParameters.h:
        * Shared/WebEventConversion.cpp:
        (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
        * Shared/WebProcessCreationParameters.cpp:
        (WebKit::WebProcessCreationParameters::encode):
        (WebKit::WebProcessCreationParameters::decode):
        * Shared/WebProcessCreationParameters.h:
        * Shared/ios/NativeWebTouchEventIOS.mm:
        (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
        * Shared/ios/WebPlatformTouchPointIOS.cpp:
        (WebKit::WebPlatformTouchPoint::encode):
        (WebKit::WebPlatformTouchPoint::decode):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
        (shouldAllowPictureInPictureMediaPlayback):
        (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::platformInitializeWebProcess):
        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):
        (-[WKContentView _ensureFormAccessoryView]):
        (-[WKContentView webSelectionAssistant]):
        (-[WKContentView selectionInteractionAssistant]):
        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::create):
        * UIProcess/ios/forms/WKFileUploadPanel.mm:
        (photoLibraryIcon):
        (cameraIcon):
        (fallbackIconForFile):
        (iconForImageFile):
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2015-10-10  Dan Bernstein  <mitz@apple.com>

        [iOS] Remove project support for iOS 8
        https://bugs.webkit.org/show_bug.cgi?id=149993

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:
        * Configurations/BaseLegacyProcess.xcconfig:
        * Configurations/BaseXPCService.xcconfig:
        * Configurations/PluginProcessShim.xcconfig:
        * Configurations/SecItemShim.xcconfig:
        * Configurations/WebKit.xcconfig:
        * Configurations/WebKit2.xcconfig:
        * Configurations/WebProcessShim.xcconfig:

2015-10-09  Myles C. Maxfield  <mmaxfield@apple.com>

        Unreviewed, rolling out r190689
        https://bugs.webkit.org/show_bug.cgi?id=149992

        Fixed in other repository.

        Reverted changesets:

        "Unreviewed, rolling out r190572, r190593, r190594, and r190639."
        https://bugs.webkit.org/show_bug.cgi?id=149897

2015-10-09  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Anders Carlsson.

        Remove unnecessary includes.
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Plugin.h:
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/WebPage/mac/WebPageMac.mm:

2015-10-09  Beth Dakin  <bdakin@apple.com>

        Build fix.

        * CMakeLists.txt:
        * Shared/API/APIHitTestResult.cpp: Removed.
        * Shared/API/APIHitTestResult.h: Removed.
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-09  Beth Dakin  <bdakin@apple.com>

        Build fix.

        * UIProcess/API/APIHitTestResult.cpp: Copied from Shared/API/APIHitTestResult.cpp.
        * UIProcess/API/APIHitTestResult.h: Copied from Shared/API/APIHitTestResult.h.
        * UIProcess/mac/PageClientImpl.mm:

2015-10-09  Beth Dakin  <bdakin@apple.com>

        WKWebView needs SPI to customize immediate actions
        https://bugs.webkit.org/show_bug.cgi?id=149939
        -and corresponding-
        rdar://problem/20016849

        Reviewed by Anders Carlsson.

        This patch breaks WebHitTestResult into two files. WebHiTestResultData 
        continues to live in the WebKit namespace and contains the old 
        WebHitTestResult::Data struct. The rest of WebHitTestResult is now 
        API::HitTestResult. The patch also adds _WKHitTestResult as Obj-C API to wrap 
        API::HitTestResult.

        Attempt to keep other ports happy with new files.
        * CMakeLists.txt:

        WebKit::WebHitTestResult no longer contains the Data struct and is now called 
        API::HitTestResult.
        * Shared/API/APIHitTestResult.cpp: Copied from Shared/WebHitTestResult.cpp.
        (API::HitTestResult::create):
        (WebKit::WebHitTestResult::create): Deleted.
        (WebKit::WebHitTestResult::Data::Data): Deleted.
        (WebKit::WebHitTestResult::Data::~Data): Deleted.
        (WebKit::WebHitTestResult::Data::encode): Deleted.
        (WebKit::WebHitTestResult::Data::decode): Deleted.
        (WebKit::WebHitTestResult::Data::platformEncode): Deleted.
        (WebKit::WebHitTestResult::Data::platformDecode): Deleted.
        (WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates): Deleted.
        * Shared/API/APIHitTestResult.h: Copied from Shared/WebHitTestResult.h.
        (API::HitTestResult::absoluteImageURL):
        (API::HitTestResult::absolutePDFURL):
        (API::HitTestResult::absoluteLinkURL):
        (API::HitTestResult::absoluteMediaURL):
        (API::HitTestResult::linkLabel):
        (API::HitTestResult::linkTitle):
        (API::HitTestResult::lookupText):
        (API::HitTestResult::isContentEditable):
        (API::HitTestResult::isDownloadableMedia):
        (API::HitTestResult::HitTestResult):
        (WebKit::WebHitTestResult::absoluteImageURL): Deleted.
        (WebKit::WebHitTestResult::absolutePDFURL): Deleted.
        (WebKit::WebHitTestResult::absoluteLinkURL): Deleted.
        (WebKit::WebHitTestResult::absoluteMediaURL): Deleted.
        (WebKit::WebHitTestResult::linkLabel): Deleted.
        (WebKit::WebHitTestResult::linkTitle): Deleted.
        (WebKit::WebHitTestResult::lookupText): Deleted.
        (WebKit::WebHitTestResult::isContentEditable): Deleted.
        (WebKit::WebHitTestResult::isDownloadableMedia): Deleted.
        (WebKit::WebHitTestResult::WebHitTestResult): Deleted.

        This is a new obj-c object that we can use for the modern immediate action 
        API.
        * Shared/API/Cocoa/_WKHitTestResult.h: Added.
        * Shared/API/Cocoa/_WKHitTestResult.mm: Added.
        (-[_WKHitTestResult dealloc]):
        (-[_WKHitTestResult absoluteImageURL]):
        (-[_WKHitTestResult absolutePDFURL]):
        (-[_WKHitTestResult absoluteLinkURL]):
        (-[_WKHitTestResult absoluteMediaURL]):
        (-[_WKHitTestResult linkLabel]):
        (-[_WKHitTestResult linkTitle]):
        (-[_WKHitTestResult lookupText]):
        (-[_WKHitTestResult isContentEditable]):
        (-[_WKHitTestResult elementBoundingBox]):
        (-[_WKHitTestResult copyWithZone:]):
        (-[_WKHitTestResult _apiObject]):

        _WKHitTestResult wraps API::HitTestResult.
        * Shared/API/Cocoa/_WKHitTestResultInternal.h: Added.
        (API::wrapper):
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):

        Since we want to use the same enum name for the new enum, use a #define instead of a typedef in the old C SPI. This should keep old clients working in the meantime.
        * Shared/API/c/WKImmediateActionTypes.h:

        WebHitTestResult::Data is now WebHitTestResultData.
        * Shared/ContextMenuContextData.h:
        (WebKit::ContextMenuContextData::webHitTestResultData):
        (WebKit::ContextMenuContextData::selectedText):

        Remove WebHitTestResult, and add WebHitTestResultData for the Data struct.
        * Shared/WebHitTestResult.cpp: Removed.
        * Shared/WebHitTestResult.h: Removed.
        * Shared/WebHitTestResultData.cpp: Added.
        (WebKit::WebHitTestResultData::WebHitTestResultData):
        (WebKit::WebHitTestResultData::~WebHitTestResultData):
        (WebKit::WebHitTestResultData::encode):
        (WebKit::WebHitTestResultData::decode):
        (WebKit::WebHitTestResultData::platformEncode):
        (WebKit::WebHitTestResultData::platformDecode):
        (WebKit::WebHitTestResultData::elementBoundingBoxInWindowCoordinates):
        * Shared/WebHitTestResultData.h: Added.
        * Shared/mac/WebHitTestResult.mm: Removed.
        * Shared/mac/WebHitTestResultData.mm: Copied from Shared/mac/WebHitTestResult.mm.
        (WebKit::WebHitTestResultData::platformEncode):
        (WebKit::WebHitTestResultData::platformDecode):
        (WebKit::WebHitTestResult::Data::platformEncode): Deleted.
        (WebKit::WebHitTestResult::Data::platformDecode): Deleted.

        WebHitTestResult::Data is now WebHitTestResultData.
        * UIProcess/API/APIContextMenuClient.h:
        (API::ContextMenuClient::~ContextMenuClient):
        (API::ContextMenuClient::getContextMenuFromProposedMenu):
        (API::ContextMenuClient::customContextMenuItemSelected):
        (API::ContextMenuClient::contextMenuDismissed):
        (API::ContextMenuClient::showContextMenu):

        WebHitTestResult is now WebHitTestResult
        * UIProcess/API/APIUIClient.h:
        (API::UIClient::runJavaScriptPrompt):
        (API::UIClient::setStatusText):
        (API::UIClient::mouseDidMoveOverElement):
        (API::UIClient::unavailablePluginButtonClicked):
        (API::UIClient::pinnedStateDidChange):
        (API::UIClient::didBeginTrackingPotentialLongMousePress):
        (API::UIClient::didRecognizeLongMousePress):
        (API::UIClient::didCancelTrackingPotentialLongMousePress):
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKHitTestResult.cpp:
        (WKHitTestResultGetTypeID):
        (WKHitTestResultCopyAbsoluteImageURL):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageContextMenuClient):
        (WKPageSetPageUIClient):

        New WKWebView SPI _immediateActionAnimationControllerForHitTestResult
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

        Attempts to keep other ports happy with the re-name.
        * UIProcess/API/efl/WebAccessibility.cpp:
        * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
        (webkit_hit_test_result_class_init):
        (webkitHitTestResultCreate):
        (stringIsEqualToCString):
        (webkitHitTestResultCompare):
        * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
        * UIProcess/API/gtk/WebKitUIClient.cpp:
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewMakePermissionRequest):
        (webkitWebViewMouseTargetChanged):
        (contextMenuDismissed):
        (webkitWebViewPopulateContextMenu):
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:

        Re-name, and just use uint32_t for the old SPI.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
        (-[WKView _setDidMoveSwipeSnapshotCallback:]):
        (-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
        * UIProcess/API/mac/WKViewInternal.h:

        PageClient will figure out whether to call into WKWebView or WKView for this 
        SPI.
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::immediateActionAnimationControllerForHitTestResult):
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::immediateActionAnimationControllerForHitTestResult):

        WebKit::WebHitTestResult::Data is now WebKit::WebHitTestResultData.
        * UIProcess/WebPageProxy.messages.in:

        WKImmediateActionController calls through to WebPageProxy which calls to 
        PageClient, which figures out which API to call. Also cache the type as a 
        uint32_t
        * UIProcess/mac/WKImmediateActionController.h:
        * UIProcess/mac/WKImmediateActionController.mm:
        (-[WKImmediateActionController _updateImmediateActionItem]):

        WebHitTestResult::Data is now WebHitTestResultData.
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::platformInitializeShareMenuItem):

        New files!
        * WebKit2.xcodeproj/project.pbxproj:

        Deal with the #define situation for the enum.
        * WebKit2Prefix.h:

        New names for things. WebHitTestResult::Data -> WebHitTestResultData
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::pointInLayoutSpaceForPointInWindowSpace):
        (WebKit::PDFPlugin::lookupTextAtLocation):
        * WebProcess/Plugins/Plugin.h:
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::mouseDidMoveOverElement):
        (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress):
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performImmediateActionHitTestAtLocation):

2015-10-09  Anders Carlsson  <andersca@apple.com>

        Remove two unused WKFrame functions
        https://bugs.webkit.org/show_bug.cgi?id=149958

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKFrame.cpp:
        (WKFrameCopyChildFrames): Deleted.
        (WKFrameGetParentFrame): Deleted.
        * UIProcess/API/C/WKFrame.h:

2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>

        Format string issues in NetworkCache.cpp
        https://bugs.webkit.org/show_bug.cgi?id=149867

        Reviewed by Csaba Osztrogonác.

        Cast enums to ints before printing them to placate GCC's -Wformat.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::retrieve):
        (WebKit::NetworkCache::Cache::store):

2015-10-08  Michael Catanzaro  <mcatanzaro@igalia.com>

        Format string issue in WebResourceLoadScheduler.cpp
        https://bugs.webkit.org/show_bug.cgi?id=149868

        Reviewed by Csaba Osztrogonác.

        Cast enums to ints before printing them to placate GCC's -Wformat.

        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::scheduleLoad):

2015-10-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Stop using a nested main loop for popup menus
        https://bugs.webkit.org/show_bug.cgi?id=149920

        Reviewed by Sergio Villar Senin.

        WebPageProxy used to expect the popup menus to run in a nested
        main loop and invalidated the menu right after showing it. But
        this is no longer the case, so there's no reason to keep using
        the nested main loop.

        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
        (WebKit::WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk):
        (WebKit::WebPopupMenuProxyGtk::cancelTracking):
        (WebKit::WebPopupMenuProxyGtk::menuItemActivated):
        (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk): Deleted.
        (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Deleted.
        (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop): Deleted.
        (WebKit::WebPopupMenuProxyGtk::menuUnmapped): Deleted.
        * UIProcess/gtk/WebPopupMenuProxyGtk.h:
        (WebKit::WebPopupMenuProxyGtk::setActiveItem): Deleted.

2015-10-07  Anders Carlsson  <andersca@apple.com>

        Add API for getting a group identifier from a bundle page
        https://bugs.webkit.org/show_bug.cgi?id=149902

        Reviewed by Tim Horton.

        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageCopyGroupIdentifier):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:

2015-10-07  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r190678 to fix GTK and EFL builds.

        * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
        (WebKit::InjectedBundle::setBundleParameters):
        * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
        (WebKit::InjectedBundle::setBundleParameters):

2015-10-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r190572, r190593, r190594, and
        r190639.
        https://bugs.webkit.org/show_bug.cgi?id=149897

        Breaks Mavericks build (Requested by litherum on #webkit).

        Reverted changesets:

        "Allow WKRetainPtrs to be used as keys in hashing data
        structures"
        https://bugs.webkit.org/show_bug.cgi?id=149762
        http://trac.webkit.org/changeset/190572

        "REGRESSION(189668?): http/tests/notifications/events.html
        flakily asserts or times out"
        https://bugs.webkit.org/show_bug.cgi?id=149218
        http://trac.webkit.org/changeset/190593

        "Prospective Mavericks build fix."
        http://trac.webkit.org/changeset/190594

        "Post-review cleanup after r190572."
        http://trac.webkit.org/changeset/190639

2015-10-07  Anders Carlsson  <andersca@apple.com>

        Provide a way to get a WKFrameInfoRef from a WKFrameRef
        https://bugs.webkit.org/show_bug.cgi?id=149896
        rdar://problem/23016081

        Reviewed by Dan Bernstein.

        * UIProcess/API/C/WKFrame.cpp:
        (WKFrameCreateFrameInfo):
        * UIProcess/API/C/WKFrame.h:

2015-10-07  Anders Carlsson  <andersca@apple.com>

        Add unreachable URL to _WKObservablePageState
        https://bugs.webkit.org/show_bug.cgi?id=149893
        <rdar://problem/23017235>
 
        Reviewed by Dan Bernstein.

        * UIProcess/API/C/mac/WKPagePrivateMac.h:
        * UIProcess/API/C/mac/WKPagePrivateMac.mm:
        (-[WKObservablePageState unreachableURL]):

2015-10-07  Anders Carlsson  <andersca@apple.com>

        Add -[WKProcessPool _setObjectsForBundleParametersWithDictionary:]
        https://bugs.webkit.org/show_bug.cgi?id=149887

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _setObjectsForBundleParametersWithDictionary:]):
        Copy the dictionary, archive it, and set the values on the UI side bundle parameter data struct.

        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
        Add new SPI.

        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.h:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
        (-[WKWebProcessBundleParameters setParameter:forKey:]):
        We can just call setValue:forKey: on the dictionary; it will do the right thing if value is nil.

        (-[WKWebProcessBundleParameters setParametersForKeyWithDictionary:]):
        Enumerate the dictionary and call setValue:forKey: on each key/value pair.

        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::setBundleParameter):
        If we fail to unarchive a parameter, don't set it to null.

        (WebKit::InjectedBundle::setBundleParameters):
        Unarchive the dictionary and update the bundle parameters.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::setInjectedBundleParameters):
        Call the injected bundle.

        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:
        Add new message.

2015-10-06  Anders Carlsson  <andersca@apple.com>

        Expose the bundle parameter object on WKBundleRef
        https://bugs.webkit.org/show_bug.cgi?id=149860

        Reviewed by Tim Horton.

        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessBundleParameters.mm:
        (-[WKWebProcessBundleParameters description]):
        Add a description that includes the parameters.

        * WebProcess/InjectedBundle/API/c/mac/WKBundleMac.h:
        * WebProcess/InjectedBundle/API/c/mac/WKBundleMac.mm:
        (WKBundleGetParameters):
        Add getter.

        * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
        (WebKit::InjectedBundle::initialize):
        Make sure to decode the bundle parameters before calling out to the bundle.

2015-10-06  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Add autocleanups
        https://bugs.webkit.org/show_bug.cgi?id=149588

        Reviewed by Darin Adler.

        * PlatformGTK.cmake:
        * UIProcess/API/gtk/WebKitAutocleanups.h: Added.
        * UIProcess/API/gtk/webkit2.h:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionAutocleanups.h: Added.
        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:

2015-10-06  Anders Carlsson  <andersca@apple.com>

        Try to fix the 32-bit build.

        * UIProcess/API/C/mac/WKPagePrivateMac.mm:

2015-10-06  Anders Carlsson  <andersca@apple.com>

        WKPage needs to expose a KVO-compliant object, similar to WKWebView
        https://bugs.webkit.org/show_bug.cgi?id=149851
        rdar://problem/22382022

        Reviewed by Dan Bernstein.

        Move the PageLoadStateObserver object from WKBrowsingContextController out into a separate file and make it
        work with any Objective-C object. Use it in WKObservablePageState and add a WKPageCreateObservableState function.

        * UIProcess/API/C/mac/WKPagePrivateMac.h:
        * UIProcess/API/C/mac/WKPagePrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKPagePrivateMac.cpp.
        (-[WKObservablePageState initWithPage:]):
        (-[WKObservablePageState dealloc]):
        (-[WKObservablePageState isLoading]):
        (-[WKObservablePageState title]):
        (-[WKObservablePageState URL]):
        (-[WKObservablePageState hasOnlySecureContent]):
        (-[WKObservablePageState estimatedProgress]):
        (WKPageCreateObservableState):
        (WKPageGetProcessIdentifier):
        (WKPageIsURLKnownHSTSHost):
        * UIProcess/API/Cocoa/PageLoadStateObserver.h: Added.
        (WebKit::PageLoadStateObserver::PageLoadStateObserver):
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (PageLoadStateObserver::PageLoadStateObserver): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2015-10-06  Daniel Bates  <dbates@webkit.org>

        Enable XSLT when building WebKit for iOS using the public iOS SDK
        https://bugs.webkit.org/show_bug.cgi?id=149827

        Reviewed by Alexey Proskuryakov.

        * Configurations/FeatureDefines.xcconfig:

2015-10-06  Emanuele Aina  <emanuele.aina@collabora.com>

        Fix ENABLE_OPENGL=OFF builds
        https://bugs.webkit.org/show_bug.cgi?id=146511

        Reviewed by Darin Adler.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseRealize):
        (webkitWebViewBaseDraw):
        (webkitWebViewBaseDidRelaunchWebProcess):
        Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
        webkitWebViewRenderAcceleratedCompositingResults()
        * UIProcess/DrawingAreaProxyImpl.cpp:
        * UIProcess/DrawingAreaProxyImpl.h:
        * WebProcess/WebPage/DrawingArea.cpp:
        (WebKit::DrawingArea::DrawingArea):
        * WebProcess/WebPage/DrawingArea.h:
        * WebProcess/WebPage/LayerTreeHost.h:
        Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
        setNativeSurfaceHandleForCompositing().
        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore):
        Default to no AC if no GL support has been built.
        * WebProcess/WebPage/DrawingArea.messages.in:
        Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
        SetNativeSurfaceHandleForCompositing.
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
        Replace USE(TEXTURE_MAPPER_GL) with USE(TEXTURE_MAPPER) around
        setNativeSurfaceHandleForCompositing().
        (WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
        Force setAcceleratedCompositingEnabled() only if a LayerTreeHost
        implementation is available, to avoid crashing when building without
        any GL support.

2015-10-06  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r190611.

        * CMakeLists.txt:

2015-10-06  Alex Christensen  <achristensen@webkit.org>

        Report error when main resource is blocked by content blocker
        https://bugs.webkit.org/show_bug.cgi?id=149719
        rdar://problem/21970595

        Reviewed by Brady Eidson.

        * Shared/API/c/WKErrorRef.h:
        * WebProcess/WebCoreSupport/WebErrors.h:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::blockedError):
        (WebKit::WebFrameLoaderClient::blockedByContentBlockerError):
        (WebKit::WebFrameLoaderClient::cannotShowURLError):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
        (WebKit::blockedError):
        (WebKit::blockedByContentBlockerError):
        (WebKit::cannotShowURLError):
        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
        (WebKit::blockedError):
        (WebKit::blockedByContentBlockerError):
        (WebKit::cannotShowURLError):
        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
        (WebKit::blockedError):
        (WebKit::blockedByContentBlockerError):
        (WebKit::cannotShowURLError):
        Make a new error type for loads that were blocked by a content blocker.

2015-10-05  Jer Noble  <jer.noble@apple.com>

        [iOS] REGRESSION(r190434): Media continues to play when locking screen
        https://bugs.webkit.org/show_bug.cgi?id=149822

        Reviewed by Brent Fulgham.

        Pass through isSuspendedUnderLock when notifying the WebPage that the
        applicationWillEnterForeground, and pass that boolean in the userInfo of the
        WebUIApplicationWillEnterForegroundNotification.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::applicationWillEnterForeground):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::applicationWillEnterForeground):

2015-10-05  Anders Carlsson  <andersca@apple.com>

        Get rid of some dead code
        https://bugs.webkit.org/show_bug.cgi?id=149825

        Reviewed by Tim Horton.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::didDraw): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didDraw): Deleted.
        * UIProcess/WebPageProxy.h:

2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Prospective Mavericks build fix.

        Unreviewed.

        * UIProcess/API/cpp/WKRetainPtr.h:

2015-10-05  Beth Dakin  <bdakin@apple.com>

        Compress snapshots on iOS
        https://bugs.webkit.org/show_bug.cgi?id=149814
        -and corresponding-
        rdar://problem/22976230

        Reviewed by Simon Fraser.

        Compress the snapshot.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _takeViewSnapshot]):

        Since the snapshots are converted to YUV asynchronously, it is possible to 
        get here and have a snapshot that does not yet have an image, so we have to 
        relax this constraint.
        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::recordSnapshot):

2015-10-05  Myles C. Maxfield  <mmaxfield@apple.com>

        Allow WKRetainPtrs to be used as keys in hashing data structures
        https://bugs.webkit.org/show_bug.cgi?id=149762

        Reviewed by Anders Carlsson.

        Use RefPtr as a model.

        * UIProcess/API/cpp/WKRetainPtr.h:
        (WebKit::WKRetainPtr::WKRetainPtr):
        (WebKit::WKRetainPtr::isHashTableDeletedValue):
        (WebKit::WKRetainPtr::hashTableDeletedValue):
        (WTF::HashTraits<WKRetainPtr<P>>::emptyValue):
        (WTF::HashTraits<WKRetainPtr<P>>::peek):

2015-10-05  Enrica Casucci  <enrica@apple.com>

        Cannot select certain text on Wikipedia homepage even when zoomed in.
        https://bugs.webkit.org/show_bug.cgi?id=149758
        rdar://problem/22407947

        Reviewed by Dan Bernstein.

        Several functions that handle gestures for text selection are used for both
        editable and non editable content. When used on editable content, the point
        where the gesture occurs needs to be constrained within the boundaries of the
        editable element. In the WebProcess we decide whether to constrain the point or not only based
        on the presence of the assisted node.
        That unfortunately does not guarantee that the user is actually editing the element,
        but only that the element is focused. Since the knowledge about the interaction exists reliably
        in the UI process, this patch adds a parameter to each gesture handler that tries to clip
        the point, to indicate whether the user is actually interacting with the element so that
        in the WebProcess the assisted node information can be used to constrain the point.

        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::deviceOrientation):
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _isInteractingWithAssistedNode]):
        (-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
        (-[WKContentView selectPositionAtPoint:completionHandler:]):
        (-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]):
        (-[WKContentView selectTextWithGranularity:atPoint:completionHandler:]):
        (-[WKContentView updateSelectionWithExtentPoint:completionHandler:]):
        (-[WKContentView updateSelectionWithExtentPoint:withBoundary:completionHandler:]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::selectWithGesture):
        (WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
        (WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
        (WebKit::WebPageProxy::selectPositionAtPoint):
        (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
        (WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::selectWithGesture):
        (WebKit::WebPage::visiblePositionInFocusedNodeForPoint):
        (WebKit::WebPage::selectPositionAtPoint):
        (WebKit::WebPage::selectPositionAtBoundaryWithDirection):
        (WebKit::WebPage::rangeForGranularityAtPoint):
        (WebKit::WebPage::selectTextWithGranularityAtPoint):
        (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary):
        (WebKit::WebPage::updateSelectionWithExtentPoint):

2015-10-05  Antti Koivisto  <antti@apple.com>

        Remove CancelResourceLoader message
        https://bugs.webkit.org/show_bug.cgi?id=149801

        Reviewed by Andreas Kling.

        It has no clients.

        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::messageSenderDestinationID):
        (WebKit::WebResourceLoader::detachFromCoreLoader):
        (WebKit::WebResourceLoader::cancelResourceLoader): Deleted.
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Network/WebResourceLoader.messages.in:

2015-10-03  Ricky Mondello  <rmondello@apple.com>

        "Plug-in is blocked" message doesn't draw correctly
        https://bugs.webkit.org/show_bug.cgi?id=149741
        <rdar://problem/22920949>

        Patch by Conrad Shultz and Ricky Mondello.

        Reviewed by Anders Carlsson.

        If a WebKit client sets plug-in X to not be visible to the web, that doesn't mean we shouldn't consult
        that plug-in when determining what kind of object type an object is. Properly classifying a non-web-visible
        Netscape plug-in as such allows its bounds to properly measured, allowing it to be drawn properly.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::objectContentType): Use PluginData's supportsMimeType, rather than its
            supportsWebVisibleMimeType, when determining the ObjectContentType for a MIME type on a url.

2015-10-02  Enrica Casucci  <enrica@apple.com>

        Text selection is inaccurate in Wikipedia pages when starting navigation from wikipedia.org.
        https://bugs.webkit.org/show_bug.cgi?id=149756
        rdar://problem/22332409

        Reviewed by Tim Horton.

        When loading a new document into the same WebPage object, we need
        to clear the assisted node, since there is no guarantee that the
        node will be blurred. The bug is caused by the use of a stale
        assisted node to constrain the point where the gesture occurs.
        A fix for this problem was landed in http://trac.webkit.org/changeset/179885
        where the cleanup was added when FrameLoaderClient::detach2 was called.
        This method doesn't seem to be called any longer for the main frame,
        so the correct solution is to add the cleanup to didCommitLoad in WebPage.
        I've also added some checks to webSelectionsRects and selectedTextRange to avoid
        the use of postLayoutData when the selection is none.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView webSelectionRects]):
        (-[WKContentView selectedTextRange]):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::detachedFromParent2): Removed call to resetAssistedNodeForFrame.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didCommitLoad): Added call to resetAssistedNodeForFrame.

2015-10-02  Alex Christensen  <achristensen@webkit.org>

        Reloading without content blockers doesn't apply to resource loads after the main frame finishes
        https://bugs.webkit.org/show_bug.cgi?id=149430
        rdar://problem/22742222

        Reviewed by Geoffrey Garen.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::createDocumentLoader):
        Copy the state of whether content extensions are disabled from the Page to the DocumentLoader
        when making a DocumentLoader.

2015-10-02  Antoine Quint  <graouts@apple.com>

        popstate is fired at the wrong time on load
        https://bugs.webkit.org/show_bug.cgi?id=94265

        Reviewed by Darin Adler.

        Ensure we have a valid page before trying to get to its drawingArea as this could lead
        to a crash as observed with fast/loader/stateobjects/pushstate-object-types.html.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::restoreViewState):

2015-10-01  Antti Koivisto  <antti@apple.com>

        Network cache: Subresource referer header wrong after cached redirect
        https://bugs.webkit.org/show_bug.cgi?id=149709
        rdar://problem/22917174

        Reviewed by Chris Dumez.

        If a main resource is loaded from a cache entry that involved redirects the document
        will end up setting the Referer-headers of the subresources to the request URL not the redirected URL

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

            If a cache entry involved a redirect synthesize a minimal willSendRequest message so that WebCore side
            runs through the same code paths as when receiving a redirect from network.

2015-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Websites with invalid auth header keep loading forever
        https://bugs.webkit.org/show_bug.cgi?id=149710

        Reviewed by Martin Robinson.

        Do not show the remember credentials checkbutton in the auth
        dialog if the realm is empty.

        * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
        (webkitAuthenticationDialogInitialize):

2015-09-30  Chris Dumez  <cdumez@apple.com>

        Unreviewed, roll out r188331: "NetworkProcess: DNS prefetch happens in the Web Process"
        <rdar://problem/22560715>

        Speculative roll out of r188331 as we had a ~2.5% PLT regression around
        the time it landed and it seems the most likely culprit. I'll reland if
        the perf bots do not recover after the roll out.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::storageSession): Deleted.
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
        (webkitWebExtensionDidReceiveMessage):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
        * WebProcess/WebProcess.cpp:
        * WebProcess/WebProcess.h:

2015-09-30  Timothy Horton  <timothy_horton@apple.com>

        Compute document marker rects at use time instead of paint time
        https://bugs.webkit.org/show_bug.cgi?id=149643

        Reviewed by Darin Adler.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::didInvalidateDocumentMarkerRects):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        Plumb the notification about invalidated document marker rects through to FindController.

        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::updateFindUIAfterPageScroll):
        Make a document-relative PageOverlay, so that we get fast scrolling.

        (WebKit::FindController::rectsForTextMatchesInRect):
        Return find hole rects in main-FrameView content coordinates, to 
        match the document-relative page overlay.
        We'll only return rects that intersect the passed-in rect, which
        comes from the dirty rect passed to drawRect.

        (WebKit::FindController::drawRect):
        Inflate the dirty rect by the border width so that we hit all relevant
        markers in each tile. Otherwise, we would end up missing the border of a marker
        that touched the edge of a tile.

        (WebKit::FindController::didInvalidateDocumentMarkerRects):
        Repaint (for now, the entire overlay) when document marker rects change.

        * WebProcess/WebPage/FindController.h:

2015-09-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] Build error with -DENABLE_SPELLCHECK=OFF
        https://bugs.webkit.org/show_bug.cgi?id=146904

        Reviewed by Carlos Garcia Campos.

        Add ifdef guards to allow building when SPELLCHECK is not enabled.

        * UIProcess/gtk/TextCheckerGtk.cpp:
        (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
        (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
        (WebKit::TextChecker::setGrammarCheckingEnabled):
        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
        (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
        (WebKit::TextChecker::checkSpellingOfString):
        (WebKit::TextChecker::getGuessesForWord):
        (WebKit::TextChecker::learnWord):
        (WebKit::TextChecker::ignoreWord):
        (WebKit::TextChecker::requestCheckingOfString):
        (WebKit::TextChecker::checkTextOfParagraph):
        (WebKit::TextChecker::setSpellCheckingLanguages):
        (WebKit::TextChecker::loadedSpellCheckingLanguages):

2015-09-30  Gwang Yoon Hwang  <yoon@igalia.com>

        [GTK] Support HiDPI Properly in WebKitGtk+ with the TextureMapper
        https://bugs.webkit.org/show_bug.cgi?id=141782

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        * UIProcess/gtk/RedirectedXCompositeWindow.cpp:

            Modified to create scaled size of window.

        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::initialize):
        (WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):

            We should apply device scale factor to the root layer to apply
            the scale matrix before applying other transform matrices.

        (WebKit::LayerTreeHostGtk::deviceScaleFactor): Added.
        (WebKit::LayerTreeHostGtk::pageScaleFactor): Added.

2015-09-29  Daniel Bates  <dabates@apple.com>

        Make WebKit for iOS Simulator build with the public iOS 9 SDK
        https://bugs.webkit.org/show_bug.cgi?id=149652

        Reviewed by Simon Fraser.

        * Platform/spi/ios/SafariServicesSPI.h: Add definition for SFSafariViewController.
        * Platform/spi/ios/UIKitSPI.h: Add more SPI.
        * WebProcess/cocoa/WebProcessCocoa.mm: Include header pthreadSPI.h.

2015-09-29  Brady Eidson  <beidson@apple.com>

        Followup to "Move WebKit2 AsyncTask to WebCore CrossThreadTask."
        https://bugs.webkit.org/show_bug.cgi?id=149651

        Rubberstamped by Alex Christensen.

        * DatabaseProcess/DatabaseProcess.h: CrossThreadTask is in the WebCore namespace, not WebKit.
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h: Ditto.

2015-09-29  Brady Eidson  <beidson@apple.com>

        Move WebKit2 AsyncTask to WebCore CrossThreadTask.
        https://bugs.webkit.org/show_bug.cgi?id=149651

        Reviewed by Alex Christensen.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::ensureIndexedDatabaseRelativePathExists):
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::performNextDatabaseTask):
        (WebKit::DatabaseProcess::fetchWebsiteData):
        (WebKit::DatabaseProcess::deleteWebsiteData):
        (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown):
        (WebKit::UniqueIDBDatabase::shutdownBackingStore):
        (WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
        (WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
        (WebKit::UniqueIDBDatabase::openTransaction):
        (WebKit::UniqueIDBDatabase::beginTransaction):
        (WebKit::UniqueIDBDatabase::commitTransaction):
        (WebKit::UniqueIDBDatabase::resetTransaction):
        (WebKit::UniqueIDBDatabase::rollbackTransaction):
        (WebKit::UniqueIDBDatabase::postTransactionOperation):
        (WebKit::UniqueIDBDatabase::changeDatabaseVersion):
        (WebKit::UniqueIDBDatabase::createObjectStore):
        (WebKit::UniqueIDBDatabase::deleteObjectStore):
        (WebKit::UniqueIDBDatabase::clearObjectStore):
        (WebKit::UniqueIDBDatabase::createIndex):
        (WebKit::UniqueIDBDatabase::deleteIndex):
        (WebKit::UniqueIDBDatabase::putRecord):
        (WebKit::UniqueIDBDatabase::getRecord):
        (WebKit::UniqueIDBDatabase::openCursor):
        (WebKit::UniqueIDBDatabase::cursorAdvance):
        (WebKit::UniqueIDBDatabase::cursorIterate):
        (WebKit::UniqueIDBDatabase::count):
        (WebKit::UniqueIDBDatabase::deleteRange):
        (WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
        (WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
        (WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
        (WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
        (WebKit::UniqueIDBDatabase::createIndexInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):
        (WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
        (WebKit::UniqueIDBDatabase::openCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::advanceCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::iterateCursorInBackingStore):
        (WebKit::UniqueIDBDatabase::countInBackingStore):
        (WebKit::UniqueIDBDatabase::deleteRangeInBackingStore):
        (WebKit::UniqueIDBDatabase::postMainThreadTask):
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask):
        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * WebKit2.xcodeproj/project.pbxproj:

2015-09-29  Chris Dumez  <cdumez@apple.com>

        Memory cache revalidations should refresh the network disk cache
        https://bugs.webkit.org/show_bug.cgi?id=149606

        Reviewed by Darin Adler.

        Previously, resource revalidations triggered by the memory cache would
        bypass the disk cache entirely because the requests are conditional. As
        a result, when the server responds with a 304, we were unable to update
        the headers (e.g. new expiration date) of the corresponding entry in
        the disk cache.

        This patch updates our disk cache implementation to not bypass the disk
        cache when the request is conditional. Instead, we look up the cached
        entry and force its revalidation from the network. If the server then
        returns a 304, we are now able to update the headers of this cached
        entry. In such case though, we let the 304 response through to WebCore
        unlike revalidations triggered by the disk cache.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::makeUseDecision):
        (WebKit::NetworkCache::makeRetrieveDecision):

2015-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        printing does not use minimum page zoom factor
        https://bugs.webkit.org/show_bug.cgi?id=108507

        Reviewed by Darin Adler.

        Add kWKSnapshotOptionsPrinting flag to indicate the snapshot
        should be generated in printing mode.

        * Shared/API/c/WKImage.h:
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toSnapshotOptions):
        * Shared/ImageOptions.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::numberOfPages): Pass the frame as a
        reference instead of a pointer.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scaledSnapshotWithOptions): In case of printing,
        calculate the bitmap height based on the number of pages.
        (WebKit::WebPage::snapshotAtSize): In case of printing, use
        PrintContext::spoolAllPagesWithBoundaries() and return.

2015-09-28  Brent Fulgham  <bfulgham@apple.com>

        Expose 'geometryFlipped' state for debugging/logging purposes
        https://bugs.webkit.org/show_bug.cgi?id=149557

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (WebKit::PlatformCALayerRemote::geometryFlipped): Added.
        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:

2015-09-28  Brady Eidson  <beidson@apple.com>

        Add an IDB Server that can roundtrip a request back to the client.
        https://bugs.webkit.org/show_bug.cgi?id=149603

        Reviewed by Alex Christensen.

        * WebProcess/Databases/WebDatabaseProvider.h:

2015-09-28  Beth Dakin  <bdakin@apple.com>

        Heavy taps on links are sometimes interpreted as the preview gesture
        https://bugs.webkit.org/show_bug.cgi?id=149304
        -and corresponding-
        rdar://problem/22689258

        Rubber-stamped by Tim Horton.

        Rolling out this patch. We should try to fix this at the UIKit-level.
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
        (-[WKContentView _interactionStoppedFromPreviewItemController:]):

2015-09-27  Wenson Hsieh  <wenson_hsieh@apple.com>

        Expose a WKWebView API for allowing programmatic focus to trigger node assistance
        https://bugs.webkit.org/show_bug.cgi?id=149567

        Reviewed by Darin Adler.

        Adds an API method to WKWebView that allows clients to override the default iOS behavior of not
        starting node assistance when programmatically focusing. Also fixes a bug caused by naively
        introducing the flag where the autofocus attribute could trigger node assistance before layout
        occurs, causing an ASSERT to fail in EditorState::postLayoutData.

        I fixed this issue by not assisting the node if the editor state is missing post layout data,
        instead deferring node assistance until layout has occurred.

        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]): Initializes the new node assistance flag to NO, which
            is the current default behavior.
        (-[WKWebView canAssistOnProgrammaticFocus]):
        (-[WKWebView setCanAssistOnProgrammaticFocus:]): New API method that allows clients to set node
            assistance behavior upon programmatic focus.
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]): Added new node assistance flag to configuration.
        (-[WKWebViewConfiguration _canAssistOnProgrammaticFocus]):
        (-[WKWebViewConfiguration _setCanAssistOnProgrammaticFocus:]):
        * UIProcess/WebPageProxy.h: Added NodeAssistanceArguments struct.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Do not return
            early if the node assistance flag is set to allow programmatic focus.
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::didCommitLayerTree): After committing the layer tree, if we have deferred
            starting node assistance, immediately trigger node assistance.
        (WebKit::WebPageProxy::startAssistingNode): Defer starting node assistance if we have not yet repainted.
        (WebKit::WebPageProxy::stopAssistingNode): Also cancel any deferred node assistance.

2015-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r188639): [GTK] Several inspector tests started to time out in GTK+ bots after r188639
        https://bugs.webkit.org/show_bug.cgi?id=148569

        Reviewed by Darin Adler.

        * PlatformGTK.cmake: Add missing inspector files required for
        layout tests.

2015-09-25  Eric Carlson  <eric.carlson@apple.com>

        Clean up user media request internal API
        https://bugs.webkit.org/show_bug.cgi?id=149527

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
        (WKUserMediaPermissionRequestVideoDeviceUIDs): New, renamed from WKUserMediaPermissionRequestDeviceNamesVideo.
        (WKUserMediaPermissionRequestAudioDeviceUIDs): New, renamed from WKUserMediaPermissionRequestDeviceNamesAudio.
        (WKUserMediaPermissionRequestAllowBest): Deleted.
        (WKUserMediaPermissionRequestDeviceNamesVideo): Deleted.
        (WKUserMediaPermissionRequestDeviceNamesAudio): Deleted.
        (WKUserMediaPermissionRequestFirstVideoDeviceUID): Deleted.
        (WKUserMediaPermissionRequestFirstAudioDeviceUID): Deleted.
        * UIProcess/API/C/WKUserMediaPermissionRequest.h:

        * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
        (webkitUserMediaPermissionRequestAllow): Update for UserMediaRequest API change.

        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
        (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Get rid of the bool parameters.
          Switch audio/video parameter order to be consistent with everywhere else.
        (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Ditto.
        * UIProcess/UserMediaPermissionRequestManagerProxy.h:

        * UIProcess/UserMediaPermissionRequestProxy.cpp:
        (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): Get rid of the bool parameters.
          Switch audio/video parameter order to be consistent with everywhere else.
        (WebKit::UserMediaPermissionRequestProxy::allow): Switch audio/video parameter order.
        (WebKit::UserMediaPermissionRequestProxy::getDeviceNameForUID): Deleted.
        * UIProcess/UserMediaPermissionRequestProxy.h:
        (WebKit::UserMediaPermissionRequestProxy::create):
        (WebKit::UserMediaPermissionRequestProxy::videoDeviceUIDs):
        (WebKit::UserMediaPermissionRequestProxy::audioDeviceUIDs):
        (WebKit::UserMediaPermissionRequestProxy::firstAudioDeviceUID):
        (WebKit::UserMediaPermissionRequestProxy::requiresAudio): Deleted.
        (WebKit::UserMediaPermissionRequestProxy::requiresVideo): Deleted.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::requestUserMediaPermissionForFrame): Get rid of the bool parameters.
          Switch audio/video parameter order to be consistent with everywhere else.
        * UIProcess/WebPageProxy.h: Ditto.
        * UIProcess/WebPageProxy.messages.in: Ditto.

        * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
        (WebKit::UserMediaPermissionRequestManager::startRequest): Get rid of bool params, the device
          vectors have the same information.
        (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): Switch audio/video
          parameter order to be consistent with everywhere else. deviceUIDVideo -> videoDeviceUID,
        deviceUIDAudio -> audioDeviceUID.
        * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didReceiveUserMediaPermissionDecision): Switch audio/video parameter order.
        * WebProcess/WebPage/WebPage.h:

2015-09-25  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Add viewport tests and fix runUIScript() timing issues
        https://bugs.webkit.org/show_bug.cgi?id=149577

        Reviewed by Tim Horton.
        
        When calling testRunner.runUIScript() from a page load event, the script could run
        in the UI process before the current remote layer tree transaction had been handled
        there. This meant that runUIScript() could query state which was about to change.
        
        Fix by delaying the execution of the UI script until a layer tree transaction has
        been handled by the UI process, leveraging the existing DrawingAreaProxy::dispatchAfterEnsuringDrawing().
        
        This is done using a new C SPI function WKPageCallAfterNextPresentationUpdate(),
        which is mirrored in the Obj-C SPI as -_doAfterNextPresentationUpdate:.
        
        Move WKWebView SPI which is testing-related into a WKTesting category. It is expected
        that this will grow significantly.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageCallAfterNextPresentationUpdate):
        * UIProcess/API/C/WKPagePrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::callAfterNextPresentationUpdate):
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::dispatchAfterEnsuringDrawing):

2015-09-25  Alexey Proskuryakov  <ap@apple.com>

        [Mac] Media tests start to time out after a few days of bot uptime
        https://bugs.webkit.org/show_bug.cgi?id=149468

        Reviewed by Darin Adler.

        Make the fix work with WebKit2, and avoid touching user's media cache for WebKit1.

        When UI process is not sandboxed, inherit DIRHELPER_USER_DIR_SUFFIX from it.
        This means that during testing, WebContent uses a temporary directory of the form
        /private/var/folders/.../T/WebKitTestRunner-VKjmz0/com.apple.WebKit.WebContent.Development,
        instead of /private/var/folders/.../T/com.apple.WebKit.WebContent.Development+WebKitTestRunner.

        WebKit1 now also better respects a temporary directory of the form
        /private/var/folders/.../T/DumpRenderTree-VKjmz0, instead of the default, which
        makes CoreMedia put its cache inside it.

        As a result, almost everything is isolated per testing process, and deleted at the end.
        Same with cache directories. The only outliers that I know of are plug-in directories,
        which are per-process, but are not under the testing root, and thus aren't deleted.

        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::PluginProcess::initializeSandbox):
        * Shared/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::fromConnection):
        (WebKit::ChildProcessProxy::getLaunchOptions):
        (WebKit::ChildProcessProxy::connect):
        * Shared/ChildProcessProxy.h:
        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
        (WebKit::XPCServiceInitializerDelegate::getExtraInitializationData):
        * Shared/SandboxInitializationParameters.h:
        (WebKit::SandboxInitializationParameters::sandboxProfile):
        (WebKit::SandboxInitializationParameters::setUserDirectorySuffix):
        (WebKit::SandboxInitializationParameters::userDirectorySuffix):
        (WebKit::SandboxInitializationParameters::setSystemDirectorySuffix): Deleted.
        (WebKit::SandboxInitializationParameters::systemDirectorySuffix): Deleted.
        * Shared/ios/ChildProcessIOS.mm:
        (WebKit::ChildProcess::initializeSandbox):
        * Shared/mac/ChildProcessMac.mm:
        (WebKit::ChildProcess::initializeSandbox):
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::getLaunchOptions):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::getLaunchOptions):
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::getLaunchOptions):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getLaunchOptions):

2015-09-25  Beth Dakin  <bdakin@apple.com>

        Clicking on a data detected item inside a form control always pops up a map 
        on force touch trackpad
        https://bugs.webkit.org/show_bug.cgi?id=149559
        -and corresponding-
        rdar://problem/22826796

        Reviewed by Tim Horton.

        Look for Data Detected text for text nodes and HitTestResults that are over 
        text inside form controls.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performImmediateActionHitTestAtLocation):

2015-09-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] ASSERTION FAILED: !m_inUpdateBackingStoreState in DrawingAreaImpl::display() after DrawingAreaImpl::forceRepaint()
        https://bugs.webkit.org/show_bug.cgi?id=148956

        Reviewed by Žan Doberšek.

        This is because those tests call notifyDone in the onresize event
        handler. InjectedBundlePage::dump() always calls WKBundlePageForceRepaint()
        before dumping. When the view is resized DrawingAreaImpl::updateBackingStoreState()
        is called, so if the size has changed the FrameView::resize()
        method is called and all children are resized, so the onresize
        handlers happen at that point, before the
        m_inUpdateBackingStoreState is set to false again. For WTR we
        could probably just return early from froceReapaint() when
        m_inUpdateBackingStoreState is true, because in that case we know
        the layout is updated because of the resize and the actual display
        is not really needed. But the UI process can also request a force
        repaint, so we could wait until the backing store update is done
        and then force the repaint. For WTR it will happen after the
        dump, but it shouldn't be a problem.

        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::forceRepaint):
        (WebKit::DrawingAreaImpl::updateBackingStoreState):
        * WebProcess/WebPage/DrawingAreaImpl.h:

2015-09-24  Tim Horton  <timothy_horton@apple.com>

        Find hole drawn at subframe's 0x0 when a subframe find match is not rendered
        https://bugs.webkit.org/show_bug.cgi?id=149543

        Reviewed by Beth Dakin.

        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::rectsForTextMatches):
        Don't add empty rects to the list. Later code will just inflate them
        and end up drawing a nonsensical find hole.

2015-09-24  Chris Dumez  <cdumez@apple.com>

        Drop XPATH_NAMESPACE_NODE from Node::NodeType enum
        https://bugs.webkit.org/show_bug.cgi?id=149532

        Reviewed by Ryosuke Niwa.

        Drop XPATH_NAMESPACE_NODE from Node::NodeType enum as there is currently
        no way to construct such Node in WebKit. This avoid having to handle this
        Node type everywhere.

        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
        (WebKit::WKDOMNodeClass): Deleted.

2015-09-24  Ryosuke Niwa  <rniwa@webkit.org>

        Ran sort-Xcode-project-file.

        * WebKit2.xcodeproj/project.pbxproj:

2015-09-23  Timothy Horton  <timothy_horton@apple.com>

        Link highlight rect is too rounded on blocks with border-radius
        https://bugs.webkit.org/show_bug.cgi?id=149511

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (nsSizeForTapHighlightBorderRadius):
        (-[WKContentView _updateTapHighlight]):
        Scale the border radius from content to view coordinates, just like
        we do for the rects that WebKit returns us.

2015-09-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Add a file of pointer-lock to cmake ports
        https://bugs.webkit.org/show_bug.cgi?id=149453

        Reviewed by Csaba Osztrogonác.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::navigateToPDFLinkWithSimulatedClick): Fix a build break.

2015-09-22  Anders Carlsson  <andersca@apple.com>

        URL of page visited in private browsing still appears in Activity Monitor after page is closed
        https://bugs.webkit.org/show_bug.cgi?id=149475
        rdar://problem/22684521

        Reviewed by Dan Bernstein.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::close):
        Make sure to call updateActivePages after removing the page from the page map.

        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::updateActivePages):
        Don't include pages that have private browsing enabled.

2015-09-22  Tim Horton  <timothy_horton@apple.com>

        Make it more obvious when using an unaccelerated image buffer, and fix a few callers who do
        https://bugs.webkit.org/show_bug.cgi?id=149428

        Reviewed by Simon Fraser and Darin Adler.

        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
        (WebKit::ThreadSafeCoordinatedSurface::create):

2015-09-22  Andreas Kling  <akling@apple.com>

        [WK2][NetworkCache] New entry bodies remain in dirty memory after being written to disk.
        <https://webkit.org/b/149463>

        Reviewed by Antti Koivisto.

        Call msync(MS_ASYNC) on cache entry bodies after writing their data to a
        memory-mapped file. This turns the previously dirty memory into clean memory,
        reducing our effective footprint.

        I previously believed this would happen automatically when the kernel finds
        itself under memory pressure, around the same time as it starts dropping
        volatile pages. Turns out that's not the case. Even under considerable pressure,
        we never flush this memory to file. So let's take care of it ourselves.

        If this ends up generating more IO activity than we're comfortable with on some
        scenario, we can look at throttling.

        * NetworkProcess/cache/NetworkCacheData.cpp:
        (WebKit::NetworkCache::Data::mapToFile):

2015-09-22  Chris Dumez  <cdumez@apple.com>

        Drop support for legacy EntityReference DOM Node type
        https://bugs.webkit.org/show_bug.cgi?id=149348

        Reviewed by Darin Adler.

        Drop handling EntityReference Nodes.

        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
        (WebKit::WKDOMNodeClass): Deleted.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::isAssistableElement):

2015-09-22  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r189616.
        https://bugs.webkit.org/show_bug.cgi?id=149456

        suspected cause of multiple regressions (Requested by kling on
        #webkit).

        Reverted changeset:

        "[JSC] Weak should only accept cell pointees."
        https://bugs.webkit.org/show_bug.cgi?id=148955
        http://trac.webkit.org/changeset/189616

2015-09-21  Timothy Horton  <timothy_horton@apple.com>

        Allow DataDetectors to pre-filter telephone number menu items
        https://bugs.webkit.org/show_bug.cgi?id=149444
        <rdar://problem/19286320>

        Reviewed by Sam Weinig.

        * Platform/mac/MenuUtilities.mm:
        (WebKit::menuItemForTelephoneNumber):
        (WebKit::menuForTelephoneNumber):
        Let DataDetectors know what kind of items we want, so that they can avoid
        some unnecessary work in cases where we were just going to throw away the items anyway.

2015-09-21  Gwang Yoon Hwang  <yoon@igalia.com>

        [Threaded Compositor] Modified to use reference of GraphicsContext instead of pointer
        https://bugs.webkit.org/show_bug.cgi?id=149399

        Reviewed by Darin Adler.

        This fixes build failure after r189144

        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
        (WebKit::ThreadSafeCoordinatedSurface::paintToSurface):
        (WebKit::ThreadSafeCoordinatedSurface::beginPaint):
        (WebKit::ThreadSafeCoordinatedSurface::endPaint):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h:

2015-09-21  Simon Fraser  <simon.fraser@apple.com>

        Add the ability for tests to run script in the UI process in WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=149356

        Reviewed by Tim Horton.

        Expose a few private functions for testing.

        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2015-09-21  Tim Horton  <timothy_horton@apple.com>

        Layout milestones aren't synchronized with UI-side compositing transactions
        https://bugs.webkit.org/show_bug.cgi?id=149362

        Reviewed by Anders Carlsson.
        
        Because layout milestones are primarily used to synchronize things with
        the displayed layout/rendering of the page, they should fire at the same
        time as the contents of the view change.

        However, with UI-side compositing, the layer tree transaction will
        most likely come in *after* the layout milestones associated with its
        contents fire, breaking this synchronization.

        Instead, put the layout milestones inside the transaction and fire them
        immediately after it is committed in the UI process.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::setCallbackIDs):
        (WebKit::RemoteLayerTreeTransaction::newlyReachedLayoutMilestones):
        (WebKit::RemoteLayerTreeTransaction::setNewlyReachedLayoutMilestones):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        Add LayoutMilestones to the transaction.

        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::didLayout):
        * UIProcess/API/APINavigationClient.h:
        (API::NavigationClient::renderingProgressDidChange):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        (WKPageSetPageNavigationClient):
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::NavigationClient::renderingProgressDidChange):
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::didCommitLayerTree):
        Remove the UserData parameter from didLayout/renderingProgressDidChange,
        except for at the API level where we'll always pass null.
        Nobody uses UserData on didLayout, and we'll assert if any client sets it
        (and it won't get passed through to the UI process).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didLayoutForCustomContentProvider):
        Just call didLayout with the relevant milestones instead of reimplementing it.

        (WebKit::WebPageProxy::didLayout):
        * UIProcess/WebPageProxy.h:
        Make didLayout public.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
        Let WebPage handle dispatching didLayout.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::dispatchDidLayout):
        * WebProcess/WebPage/WebPage.h:
        Let the DrawingArea handle dispatching didLayout.
        If it doesn't want to handle it, we'll just do the normal thing
        and dispatch an async message.

        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        If we reach a new layout milestone, dispatch didLayout client/delegate callbacks.

        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::dispatchDidLayout):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
        (WebKit::RemoteLayerTreeDrawingArea::dispatchDidLayout):
        Queue up milestones as we reach them, and send them in the transaction.

2015-09-20  Youenn Fablet  <youenn.fablet@crf.canon.fr>

        Remove XHR_TIMEOUT compilation guard
        https://bugs.webkit.org/show_bug.cgi?id=149260

        Reviewed by Benjamin Poulain.

        * Configurations/FeatureDefines.xcconfig:

2015-09-19  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] WebEditorClient::supportsGlobalSelection returns true under Wayland
        https://bugs.webkit.org/show_bug.cgi?id=149375

        Reviewed by Darin Adler.

        WebEditorClient::supportsGlobalSelection should return false when running under Wayland,
        since Wayland does not have any equivalent for PRIMARY or the concept of a global selection.

        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
        (WebKit::WebEditorClient::supportsGlobalSelection):

2015-09-19  Dan Bernstein  <mitz@apple.com>

        Attempted build fix.

        * mac/postprocess-framework-headers.sh: Fixed an overzealous regular expression.

2015-09-18  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r189908.
        https://bugs.webkit.org/show_bug.cgi?id=149368

        Broke run-webkit-tests --pixel (Requested by ap on #webkit).

        Reverted changeset:

        "printing does not use minimum page zoom factor"
        https://bugs.webkit.org/show_bug.cgi?id=108507
        http://trac.webkit.org/changeset/189908

2015-09-18  Andy Estes  <aestes@apple.com>

        [iOS] did{Start,Finish}LoadForQuickLookDocumentInMainFrame is never called on WKNavigationDelegate
        https://bugs.webkit.org/show_bug.cgi?id=149360

        Reviewed by Tim Horton.

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::didStartLoadForQuickLookDocumentInMainFrame): Called on m_navigationDelegate if non-null.
        (WebKit::WebPageProxy::didFinishLoadForQuickLookDocumentInMainFrame): Ditto.

2015-09-18  Beth Dakin  <bdakin@apple.com>

        Snapshots broken on iOS
        https://bugs.webkit.org/show_bug.cgi?id=149354

        Reviewed by Tim Horton.

        We need to send the IOSurface to ViewSnapshot::create() for this to work.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _takeViewSnapshot]):

2015-09-18  Chris Dumez  <cdumez@apple.com>

        Drop support for Entity Node type
        https://bugs.webkit.org/show_bug.cgi?id=149239

        Reviewed by Darin Adler.

        Stop handling the Entity node type.

        * WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:

2015-09-17  Brian Burg  <bburg@apple.com>

        ASSERT(!m_frontendRouter->hasLocalFrontend()) when running Web Inspector tests
        https://bugs.webkit.org/show_bug.cgi?id=149006
        <rdar://problem/22654257>
        <rdar://problem/22631369>

        Reviewed by Joseph Pecoraro.

        Stop using InspectorController to close the frontend page. Go through
        the FrontendClient instead. Reduce redundant code paths.

        This change seems to fix some recent crashes that were seen when
        closing Safari with Web Inspector open. These were caused by the frontend
        channel not being disconnected at the right time.

        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
        (WebKit::WebInspectorClient::inspectedPageDestroyed):
        (WebKit::WebInspectorClient::closeLocalFrontend): Deleted.
        * WebProcess/WebCoreSupport/WebInspectorClient.h:
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::close):
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::establishConnection):

            Save a pointer to the frontend's InspectorController since we may
            need to use it while the page is being destructed and its getter
            is no longer accessible.

        (WebKit::WebInspectorUI::closeWindow):

            Explicitly remove the frontend client when closing the frontend.

        * WebProcess/WebPage/WebInspectorUI.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::inspector):

            Allow clients to specify whether an inspector should be eagerly created.
            Without this, we may accidentally create an instance during teardown.

        * WebProcess/WebPage/WebPage.h:

2015-09-18  Emanuele Aina  <emanuele.aina@collabora.com>

        Fix build with --no-indexed-database after r189831
        https://bugs.webkit.org/show_bug.cgi?id=149342

        Reviewed by Csaba Osztrogonác.

        * WebProcess/Databases/WebDatabaseProvider.h:
        Add ENABLE(INDEXED_DATABASE) guard around supportsModernIDB().

2015-09-17  Beth Dakin  <bdakin@apple.com>

        Heavy taps on links are sometimes interpreted as the preview gesture
        https://bugs.webkit.org/show_bug.cgi?id=149304
        -and corresponding-
        rdar://problem/22689258

        Reviewed by Tim Horton.

        If the preview gesture starts and stop and less than 250 milliseconds have 
        passed, then call _attemptClickAtLocation to treat it as a normal tap.
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
        (-[WKContentView _interactionStartedFromPreviewItemController:]):
        (-[WKContentView _interactionStoppedFromPreviewItemController:]):

2015-09-17  Tim Horton  <timothy_horton@apple.com>

        After restoring tabs, swipes back to fast loading pages hang for 3 seconds
        https://bugs.webkit.org/show_bug.cgi?id=148764
        <rdar://problem/22568860>

        Reviewed by Beth Dakin.

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::endSwipeGesture):
        Don't wait for the render tree size threshold if we don't have one.

2015-09-17  Timothy Horton  <timothy_horton@apple.com>

        REGRESSION (r189287): 2.5% PLT regression
        https://bugs.webkit.org/show_bug.cgi?id=149277
        <rdar://problem/22657219>

        Reviewed by Anders Carlsson.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _takeViewSnapshot]):
        Don't take an extra unused snapshot.

2015-09-17  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Crash in WebKit::BackingStore::createBackend running under Wayland
        https://bugs.webkit.org/show_bug.cgi?id=147453

        Reviewed by Carlos Garcia Campos.

        Except when running on X11, this function always crashes if called before the web view is
        realized, as gdk_window_create_similar_surface will return null in that case. Avoid this by
        simply realizing the widget before calling that.

        Thanks to Carlos Garnacho for some debugging help.

        * UIProcess/cairo/BackingStoreCairo.cpp:
        (WebKit::BackingStore::createBackend):

2015-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        printing does not use minimum page zoom factor
        https://bugs.webkit.org/show_bug.cgi?id=108507

        Reviewed by Darin Adler.

        Add kWKSnapshotOptionsPrinting flag to indicate the snapshot
        should be generated in printing mode.

        * Shared/API/c/WKImage.h:
        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toSnapshotOptions):
        * Shared/ImageOptions.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::numberOfPages): Pass the frame as a
        reference instead of a pointer.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scaledSnapshotWithOptions): In case of printing,
        calculate the bitmap height based on the number of pages.
        (WebKit::WebPage::snapshotAtSize): In case of printing, use
        PrintContext::spoolAllPagesWithBoundaries() and return.

2015-09-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Fix common typo "supress" => "suppress"
        https://bugs.webkit.org/show_bug.cgi?id=149199

        Reviewed by Gyuyoung Kim.

        * PluginProcess/mac/PluginProcessMac.mm:
        (WebKit::PluginProcess::platformInitializeProcess):

2015-09-16  Dan Bernstein  <mitz@apple.com>

        [iOS] Inline implementation of -[WKImagePreviewViewController previewActions]
        https://bugs.webkit.org/show_bug.cgi?id=149224

        Reviewed by Tim Horton.

        * Platform/spi/ios/UIKitSPI.h: Declare UIViewControllerPreviewAction and its factory method.
        * UIProcess/WKImagePreviewViewController.mm:
        (-[WKImagePreviewViewController previewActions]): Moved here.

2015-09-16  Alexey Proskuryakov  <ap@apple.com>

        [Mac] Allow reading from SubmitDiagInfo.domains in Networking process
        https://bugs.webkit.org/show_bug.cgi?id=149176
        rdar://problem/22483680

        Reviewed by Darin Adler.

        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:

2015-09-16  Dan Bernstein  <mitz@apple.com>

        [iOS] Unifiy WebKit2PlatformTouchPoint definition
        https://bugs.webkit.org/show_bug.cgi?id=149221

        Reviewed by Darin Adler.

        * Shared/WebEventConversion.cpp:
        (WebKit::touchEventType):
        (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):

2015-09-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Web Process crash recovery no longer works
        https://bugs.webkit.org/show_bug.cgi?id=149064

        Reviewed by Žan Doberšek.

        After a web process crash the new DrawingArea is never resized, so
        nothing is rendered into the web view.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseDidRelaunchWebProcess): Queue a widget resize to ensure
        the new DrawingAreaProxy is resized.

2015-09-15  Ryosuke Niwa  <rniwa@webkit.org>

        Add ShadowRoot interface and Element.prototype.attachShadow
        https://bugs.webkit.org/show_bug.cgi?id=149187

        Reviewed by Antti Koivisto.

        * Configurations/FeatureDefines.xcconfig:

2015-09-15  Brady Eidson  <beidson@apple.com>

        Add empty IDBFactory implementation for Modern IDB.
        https://bugs.webkit.org/show_bug.cgi?id=149191

        Reviewed by Jer Noble.

        * WebProcess/Databases/WebDatabaseProvider.h:

2015-09-15  Brady Eidson  <beidson@apple.com>

        Move most IDB object encoding/decoding from WebKit2 to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=149152

        Reviewed by Alex Christensen.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBDatabaseMetadata>::encode): Deleted.
        (IPC::ArgumentCoder<IDBDatabaseMetadata>::decode): Deleted.
        (IPC::ArgumentCoder<IDBIndexMetadata>::encode): Deleted.
        (IPC::ArgumentCoder<IDBIndexMetadata>::decode): Deleted.
        (IPC::ArgumentCoder<IDBKeyData>::encode): Deleted.
        (IPC::ArgumentCoder<IDBKeyData>::decode): Deleted.
        (IPC::ArgumentCoder<IDBKeyPath>::encode): Deleted.
        (IPC::ArgumentCoder<IDBKeyPath>::decode): Deleted.
        (IPC::ArgumentCoder<IDBKeyRangeData>::encode): Deleted.
        (IPC::ArgumentCoder<IDBKeyRangeData>::decode): Deleted.
        (IPC::ArgumentCoder<IDBObjectStoreMetadata>::encode): Deleted.
        (IPC::ArgumentCoder<IDBObjectStoreMetadata>::decode): Deleted.
        * Shared/WebCoreArgumentCoders.h:

2015-09-14  Brady Eidson  <beidson@apple.com>

        Make the enum IDBKey::Type into a utility enum class.
        https://bugs.webkit.org/show_bug.cgi?id=149149

        Reviewed by Alex Christensen.

        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::putRecordInBackingStore):

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<IDBKeyData>::encode):
        (IPC::ArgumentCoder<IDBKeyData>::decode):

2015-09-14  Wenson Hsieh  <wenson_hsieh@apple.com>

        WKWebView scroll deceleration rate is not being set properly
        https://bugs.webkit.org/show_bug.cgi?id=149145
        <rdar://problem/22064071>

        Reviewed by Simon Fraser.

        We are not currently setting the web view's deceleration rate to the correct preferred value because we
        are setting the decelerationRate property of the scrollView, which snaps input values to the closer of
        two predefined UIKit constants, UIScrollViewDecelerationRateFast and UIScrollViewDecelerationRateNormal.
        To fix this, we directly set the horizontal and vertical scroll deceleration factors to the preferred
        value.

        * UIProcess/API/Cocoa/WKWebView.mm: 
        (-[WKWebView scrollViewWillBeginDragging:]): Directly set the scroll view's deceleration factor without
                going through the decelerationRate property.

2015-09-14  Dan Bernstein  <mitz@apple.com>

        Consolidate touch event code dealing with force.

        Reviewed by Beth Dakin.

        * Shared/WebEvent.h:
        (WebKit::WebPlatformTouchPoint::state):
        (WebKit::WebPlatformTouchPoint::setForce):
        (WebKit::WebPlatformTouchPoint::force):
        * Shared/ios/NativeWebTouchEventIOS.mm:
        (WebKit::positionForCGPoint):
        (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
        * Shared/ios/WebPlatformTouchPointIOS.cpp:
        (WebKit::WebPlatformTouchPoint::encode):
        (WebKit::WebPlatformTouchPoint::decode):

2015-09-14  Alex Christensen  <achristensen@webkit.org>

        Progress towards CMake on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=149123

        Reviewed by Chris Dumez.

        * PlatformMac.cmake:
        Added some more sources.

2015-09-14  Dan Bernstein  <mitz@apple.com>

        [iOS] Stop importing WebKitAdditions/WKContentViewInteraction.mm
        https://bugs.webkit.org/show_bug.cgi?id=149127

        Reviewed by Beth Dakin.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):

2015-09-14  Brady Eidson  <beidson@apple.com>

        Rename current concrete IDB implementation to "Legacy".
        https://bugs.webkit.org/show_bug.cgi?id=149118

        Reviewed by Alex Christensen.

        * CMakeLists.txt:

2015-09-14  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Remove create() factory function in EvasGLContext and EvasGLSurface
        https://bugs.webkit.org/show_bug.cgi?id=149110

        Reviewed by Csaba Osztrogonác.

        It is not good implementation we support both create() factory function and public constructor.
        In EvasGLContext and EvasGLSurface cases, those have supported both. However create() factory is only
        used by EwkView. Thus let's remove the create() function, then EwkView creates EvasGLContext using
        std::make_unique<> directly.

        * UIProcess/API/efl/EwkView.cpp:
        (EwkView::EwkView):
        (EwkView::createGLSurface):

2015-09-13  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Remove all uses of PassRefPtr in crypto, storage, and history
        https://bugs.webkit.org/show_bug.cgi?id=149091

        Reviewed by Andreas Kling.

        * WebProcess/Storage/StorageNamespaceImpl.cpp:
        (WebKit::StorageNamespaceImpl::storageArea):
        * WebProcess/Storage/StorageNamespaceImpl.h:

2015-09-13  Dan Bernstein  <mitz@apple.com>

        Define HAVE_LINK_PREVIEW in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=149099

        Reviewed by Sam Weinig.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/WKImagePreviewViewController.mm:
        * config.h:

2015-09-12  Myles C. Maxfield  <mmaxfield@apple.com>

        [Cocoa] Allow testing with the system language
        https://bugs.webkit.org/show_bug.cgi?id=148671

        Reviewed by Anders Carlsson and Alexey Proskuryakov.

        This patch adds two new SPI functions for setting and retrieving a vector of
        override languages to/from the WKContextConfiguration. The implementation of
        these functions holds state inside WebProcessPoolConfiguration. Then, when
        we launch a process, the WebProcessProxy will inject these override languages
        into the ProcessLauncher::LaunchOptions so that the ProcessLauncher can
        inject these languages into the XPC Bootstrap message. Then, in the Web
        Process's main(), the XPC Boostrap message is read, and the platform
        languages are set via NSUserDefaults setting a volatile domain.

        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
        (main): Set the volatile domain with NSUserDefaults.
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h: Hold state for the override
        languages.
        * UIProcess/API/C/WKContextConfigurationRef.cpp:
        (WKContextConfigurationCopyOverrideLanguages): SPI.
        (WKContextConfigurationSetOverrideLanguages): Ditto.
        * UIProcess/API/C/WKContextConfigurationRef.h:
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        (WebKit::connectToService): Inject the languages into the XPC Bootstrap
        message.
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::getLaunchOptions): Inject the override languages
        into the ProcessLauncher::LaunchOptions.

2015-09-12  Alexey Proskuryakov  <ap@apple.com>

        [iOS] Allow UDP networking
        https://bugs.webkit.org/show_bug.cgi?id=149081
        rdar://problem/22291743

        Reviewed by Sam Weinig.

        * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

2015-09-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Extract InspectorFrontendAPI dispatching from WebInspectorUI
        https://bugs.webkit.org/show_bug.cgi?id=149089

        Reviewed by Brian Burg.

        * CMakeLists.txt:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.cpp: Added.
        (WebKit::WebInspectorFrontendAPIDispatcher::WebInspectorFrontendAPIDispatcher):
        (WebKit::WebInspectorFrontendAPIDispatcher::reset):
        (WebKit::WebInspectorFrontendAPIDispatcher::frontendLoaded):
        (WebKit::WebInspectorFrontendAPIDispatcher::dispatchCommand):
        (WebKit::WebInspectorFrontendAPIDispatcher::dispatchMessageAsync):
        (WebKit::WebInspectorFrontendAPIDispatcher::evaluateExpressionOnLoad):
        * WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h: Added.
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::WebInspectorUI):
        (WebKit::WebInspectorUI::establishConnection):
        (WebKit::WebInspectorUI::frontendLoaded):
        (WebKit::WebInspectorUI::setDockSide):
        (WebKit::WebInspectorUI::setDockingUnavailable):
        (WebKit::WebInspectorUI::showConsole):
        (WebKit::WebInspectorUI::showResources):
        (WebKit::WebInspectorUI::showMainResourceForFrame):
        (WebKit::WebInspectorUI::startPageProfiling):
        (WebKit::WebInspectorUI::stopPageProfiling):
        (WebKit::WebInspectorUI::didSave):
        (WebKit::WebInspectorUI::didAppend):
        (WebKit::WebInspectorUI::sendMessageToFrontend):
        (WebKit::WebInspectorUI::evaluateCommandOnLoad): Deleted.
        (WebKit::WebInspectorUI::evaluateExpressionOnLoad): Deleted.
        (WebKit::WebInspectorUI::evaluatePendingExpressions): Deleted.
        * WebProcess/WebPage/WebInspectorUI.h:
        (WebKit::WebInspectorUI::evaluateCommandOnLoad): Deleted.

2015-09-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Move Already Generic Inspector Page Context Menu to Generic Setup
        https://bugs.webkit.org/show_bug.cgi?id=149088

        Reviewed by Brian Burg.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::getContextMenuFromProposedMenu):
        (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::getContextMenuFromProposedMenu): Deleted.
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):

2015-09-12  Brian Burg  <bburg@apple.com>

        Web Inspector: disambiguate inspected/frontend controllers and pages in backend code
        https://bugs.webkit.org/show_bug.cgi?id=149071

        Reviewed by Joseph Pecoraro.

        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
        (WebKit::WebInspectorClient::inspectedPageDestroyed): Renamed.
        (WebKit::WebInspectorClient::openLocalFrontend): Renamed.
        (WebKit::WebInspectorClient::closeLocalFrontend): Renamed.
        (WebKit::WebInspectorClient::inspectorDestroyed): Deleted.
        (WebKit::WebInspectorClient::openInspectorFrontend): Deleted.
        (WebKit::WebInspectorClient::closeInspectorFrontend): Deleted.
        * WebProcess/WebCoreSupport/WebInspectorClient.h:

2015-09-11  Beth Dakin  <bdakin@apple.com>

        Another build fix.

        * UIProcess/mac/ViewSnapshotStore.h:
        (WebKit::ViewSnapshot::size):
        (WebKit::ViewSnapshot::imageSizeInBytes):

2015-09-11  Beth Dakin  <bdakin@apple.com>

        Still need view snapshotting code for non-IOSurface for the sim
        https://bugs.webkit.org/show_bug.cgi?id=149077

        Reviewed by Tim Horton.

        This fixes the simulator build.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _takeViewSnapshot]):
        (-[WKWebView _zoomToPoint:atScale:animated:]):
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::removeSwipeSnapshot):
        * UIProcess/mac/ViewSnapshotStore.h:
        (WebKit::ViewSnapshot::setDeviceScaleFactor):
        (WebKit::ViewSnapshot::deviceScaleFactor):
        (WebKit::ViewSnapshot::surface):
        (WebKit::ViewSnapshot::imageSizeInBytes):
        (WebKit::ViewSnapshot::size):
        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::singleton):
        (WebKit::ViewSnapshotStore::snapshottingContext):
        (WebKit::ViewSnapshotStore::didAddImageToSnapshot):
        (WebKit::ViewSnapshotStore::discardSnapshotImages):
        (WebKit::ViewSnapshot::create):
        (WebKit::ViewSnapshot::ViewSnapshot):
        (WebKit::ViewSnapshot::~ViewSnapshot):
        (WebKit::ViewSnapshot::setSurface):
        (WebKit::ViewSnapshot::hasImage):
        (WebKit::ViewSnapshot::clearImage):
        (WebKit::ViewSnapshot::asLayerContents):

2015-09-11  Beth Dakin  <bdakin@apple.com>

        Build fix

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::removeSwipeSnapshot):

2015-09-11  Beth Dakin  <bdakin@apple.com>

        Should use CARenderServerRenderLayerWithTransform for snapshots on iOS
        https://bugs.webkit.org/show_bug.cgi?id=149069
        -and corresponding-
        rdar://problem/19726953

        Reviewed by Tim Horton.

        This will let us own the backing IOSurface, which will let us share more code 
        with Mac.

        Use CARenderServerRenderLayerWithTransform
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _takeViewSnapshot]):
        (-[WKWebView _zoomToPoint:atScale:animated:]):

        We can eliminate things needed for the slot-based API.
        * UIProcess/mac/ViewSnapshotStore.h:
        (WebKit::ViewSnapshot::setDeviceScaleFactor):
        (WebKit::ViewSnapshot::deviceScaleFactor):
        (WebKit::ViewSnapshot::surface):
        (WebKit::ViewSnapshot::imageSizeInBytes):
        (WebKit::ViewSnapshot::size):
        * UIProcess/mac/ViewSnapshotStore.mm:
        (WebKit::ViewSnapshotStore::singleton):
        (WebKit::ViewSnapshotStore::didAddImageToSnapshot):
        (WebKit::ViewSnapshotStore::discardSnapshotImages):
        (WebKit::ViewSnapshot::create):
        (WebKit::ViewSnapshot::ViewSnapshot):
        (WebKit::ViewSnapshot::~ViewSnapshot):
        (WebKit::ViewSnapshot::setSurface):
        (WebKit::ViewSnapshot::hasImage):
        (WebKit::ViewSnapshot::clearImage):
        (WebKit::ViewSnapshot::asLayerContents):
        (WebKit::ViewSnapshotStore::snapshottingContext): Deleted.

2015-09-11  Andreas Kling  <akling@apple.com>

        [JSC] Weak should only accept cell pointees.
        <https://webkit.org/b/148955>

        Reviewed by Geoffrey Garen.

        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
        (WebKit::NPRuntimeObjectMap::finalize):
        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:

2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused files
        https://bugs.webkit.org/show_bug.cgi?id=149049

        Reviewed by Brian Burg.

        * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Removed.
        * WebProcess/WebPage/gtk/WebInspectorGtk.cpp: Removed.

2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>

        WebInspectorUI should have a WebPage reference
        https://bugs.webkit.org/show_bug.cgi?id=149046

        Reviewed by Geoffrey Garen.

        * WebProcess/WebPage/WebInspectorUI.cpp:
        * WebProcess/WebPage/WebInspectorUI.h:
        (WebKit::WebInspectorUI::page): Deleted.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::inspectorUI):

2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: WebInspectorUI does not need to be an API::Object
        https://bugs.webkit.org/show_bug.cgi?id=149045

        Reviewed by Timothy Hatcher.

        * Shared/API/APIObject.h:
        * WebProcess/WebPage/WebInspectorUI.h:

2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused member in WebPage
        https://bugs.webkit.org/show_bug.cgi?id=149040

        Reviewed by Brian Burg.

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

2015-09-10  Daniel Bates  <dabates@apple.com>

        sendProcessWillSuspendImminently uses a wrong message flag
        https://bugs.webkit.org/show_bug.cgi?id=148995

        Reviewed by Alexey Proskuryakov.

        Remove use of flag IPC::InterruptWaitingIfSyncMessageArrives as it does not make
        sense when sending a sync message.

        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::sendProcessWillSuspendImminently):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::sendProcessWillSuspendImminently):

2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed build fix after r189572.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::inspectorPageURL):
        (WebKit::WebInspectorProxy::inspectorTestPageURL):
        (WebKit::WebInspectorProxy::inspectorBaseURL):
        Remove the const on the now static methods.

2015-09-10  Chris Dumez  <cdumez@apple.com>

        Node.appendChild(null) / replaceChild(null, null) / removeChild(null) / insertBefore(null, ref) should throw a TypeError
        https://bugs.webkit.org/show_bug.cgi?id=148971
        <rdar://problem/22560883>
        <rdar://problem/22559225>

        Reviewed by Ryosuke Niwa.

        ContainerNode::appendChild() now takes a Ref<Node>&& parameter so we
        need to update the call sites.

        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::PDFPlugin):
        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
        (WebKit::PDFPluginAnnotation::attach):
        (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation):
        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
        (WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

2015-09-10  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Make WebInspectorProxy inspectorURL path methods static
        https://bugs.webkit.org/show_bug.cgi?id=149021

        Reviewed by Brian Burg.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
        (WebKit::isMainOrTestInspectorPage):
        (WebKit::decidePolicyForNavigationAction):
        (WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::inspectorPageURL):
        (WebKit::WebInspectorProxy::inspectorTestPageURL):
        (WebKit::WebInspectorProxy::inspectorBaseURL):
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::inspectorPageURL):
        (WebKit::WebInspectorProxy::inspectorTestPageURL):
        (WebKit::WebInspectorProxy::inspectorBaseURL):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::inspectorPageURL):
        (WebKit::WebInspectorProxy::inspectorTestPageURL):
        (WebKit::WebInspectorProxy::inspectorBaseURL):

2015-09-09  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove dead WebInspectorProxy related code
        https://bugs.webkit.org/show_bug.cgi?id=149019

        Reviewed by Timothy Hatcher.

        * UIProcess/API/C/mac/WKInspectorPrivateMac.h:
        * UIProcess/WebInspectorProxy.cpp:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (-[WKWebInspectorProxyObjCAdapter attachRight:]): Deleted.
        (-[WKWebInspectorProxyObjCAdapter attachBottom:]): Deleted.

2015-09-09  Anders Carlsson  <andersca@apple.com>

        Remove an unused NSString SPI constant
        https://bugs.webkit.org/show_bug.cgi?id=149009

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

2015-09-09  Dan Bernstein  <mitz@apple.com>

        Updated availability annotations for iOS 9 and OS X El Capitan.

        Rubber-stamped by Anders Carlsson.

        * Shared/API/Cocoa/_WKRenderingProgressEvents.h:
        * UIProcess/API/Cocoa/WKError.h:
        * UIProcess/API/Cocoa/WKErrorPrivate.h:
        * UIProcess/API/Cocoa/WKFrameInfo.h:
        * UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
        * UIProcess/API/Cocoa/WKNavigationDelegate.h:
        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
        * UIProcess/API/Cocoa/WKSecurityOrigin.h:
        * UIProcess/API/Cocoa/WKUIDelegate.h:
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebViewConfiguration.h:
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
        * UIProcess/API/Cocoa/WKWebsiteDataStore.h:
        * UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
        * UIProcess/API/Cocoa/_WKElementAction.h:
        * UIProcess/API/Cocoa/_WKLayoutMode.h:
        * UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h:
        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
        * UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
        * UIProcess/API/Cocoa/_WKUserContentFilter.h:
        * UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:
        * UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
        * WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:

2015-09-09  Alexey Proskuryakov  <ap@apple.com>

        fast/dom/rtl-scroll-to-leftmost-and-resize.html is a flaky timeout - IPC drops messages
        https://bugs.webkit.org/show_bug.cgi?id=148951

        Reviewed by Anders Carlsson.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::waitForMessage): Don't modify m_waitingForMessage without holding
        a lock. This is not part of this fix, but seems necessary for correctness.
        (IPC::Connection::processIncomingMessage): Don't interrupt a wait that has already succeeded.

2015-09-08  Daniel Bates  <dabates@apple.com>

        [Mac] Expose Enable/Disable Accelerated Drawing in MiniBrowser
        https://bugs.webkit.org/show_bug.cgi?id=148980

        Reviewed by Alexey Proskuryakov.

        Expose SPI web preference to enable/disable- and query the state of- accelerated drawing
        so that we can toggle this setting in MiniBrowser on Mac.

        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _acceleratedDrawingEnabled]): Added.
        (-[WKPreferences _setAcceleratedDrawingEnabled:]): Added.
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:

2015-09-08  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Remove unused file: WebInspectorFrontendClient.h
        https://bugs.webkit.org/show_bug.cgi?id=148979

        Reviewed by Brian Burg.

        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed.
        Unused now. WebInspectorUI subclasses InspectorFrontendClient itself.

2015-09-07  Andy Estes  <aestes@apple.com>

        [Mac] DebugRelease builds should link against libWebKitSystemInterfaceElCapitan.a on 10.11
        https://bugs.webkit.org/show_bug.cgi?id=148946
        <rdar://problem/22603981>

        Reviewed by Dan Bernstein.

        * Configurations/DebugRelease.xcconfig:

2015-09-05  Michael Catanzaro  <mcatanzaro@igalia.com>

        Leak in WebContextInjectedBundleClient::getInjectedBundleInitializationUserData
        https://bugs.webkit.org/show_bug.cgi?id=148769

        Fix suggested by Zan Dobersek.

        Reviewed by Darin Adler.

        * UIProcess/WebContextInjectedBundleClient.cpp:
        (WebKit::WebContextInjectedBundleClient::getInjectedBundleInitializationUserData):

2015-09-04  Brian Burg  <bburg@apple.com>

        Web Inspector: agents should send messages through FrontendRouter instead of FrontendChannel
        https://bugs.webkit.org/show_bug.cgi?id=148492

        Reviewed by Joseph Pecoraro.

        Stop using InspectorForwarding.h.

        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebInspectorUI.h:

2015-09-04  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorController should support multiple frontend channels
        https://bugs.webkit.org/show_bug.cgi?id=148538

        Reviewed by Joseph Pecoraro.

        Explicitly disconnect the frontend channel when closing the frontend.

        Rename createInspectorPage/closeFrontend to the symmetric and unambiguous
        {open,close}FrontendConnection in the WebInspector class.

        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
        (WebKit::WebInspectorClient::openInspectorFrontend):
        (WebKit::WebInspectorClient::closeInspectorFrontend):
        * WebProcess/WebCoreSupport/WebInspectorClient.h: Stop using a forwarded type.
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::openFrontendConnection):
        (WebKit::WebInspector::closeFrontendConnection):
        (WebKit::WebInspector::remoteFrontendConnected):
        (WebKit::WebInspector::remoteFrontendDisconnected):
        (WebKit::WebInspector::createInspectorPage): Deleted.
        (WebKit::WebInspector::closeFrontend): Deleted.
        * WebProcess/WebPage/WebInspector.h:

2015-09-04  Dan Bernstein  <mitz@apple.com>

        [iOS] Disable backspace key navigation by default
        https://bugs.webkit.org/show_bug.cgi?id=148808

        Reviewed by Tim Horton.

        * Shared/WebPreferencesDefinitions.h: Defined DEFAULT_BACKSPACE_KEY_NAVIGATION_ENABLED as
          false on iOS, true elsewhere, and made it the default value of the
          backspaceKeyNavigationEnabled preference key.

2015-09-04  Beth Dakin  <bdakin@apple.com>

        Need to be able to test default behaviors on force click
        https://bugs.webkit.org/show_bug.cgi?id=148758

        Reviewed by Tim Horton.

        The hit test seems to return synchronously in WKTR, so we need to do the hit 
        test last before we clear state otherwise we will trample the hit test 
        result.
        * UIProcess/mac/WKImmediateActionController.mm:
        (-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
        (-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

2015-09-03  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r189338.
        https://bugs.webkit.org/show_bug.cgi?id=148785

        Caused tons of crashes (Requested by cdumez on #webkit).

        Reverted changeset:

        "Web Inspector: InspectorController should support multiple
        frontend channels"
        https://bugs.webkit.org/show_bug.cgi?id=148538
        http://trac.webkit.org/changeset/189338

2015-09-03  Brian Burg  <bburg@apple.com>

        Web Inspector: InspectorController should support multiple frontend channels
        https://bugs.webkit.org/show_bug.cgi?id=148538

        Reviewed by Joseph Pecoraro.

        Explicitly disconnect the frontend channel when closing the frontend.

        Rename createInspectorPage/closeFrontend to the symmetric and unambiguous
        {open,close}FrontendConnection in the WebInspector class.

        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
        (WebKit::WebInspectorClient::openInspectorFrontend):
        (WebKit::WebInspectorClient::closeInspectorFrontend):
        * WebProcess/WebCoreSupport/WebInspectorClient.h: Stop using a forwarded type.
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::openFrontendConnection):
        (WebKit::WebInspector::closeFrontendConnection):
        (WebKit::WebInspector::remoteFrontendConnected):
        (WebKit::WebInspector::remoteFrontendDisconnected):
        (WebKit::WebInspector::createInspectorPage): Deleted.
        (WebKit::WebInspector::closeFrontend): Deleted.
        * WebProcess/WebPage/WebInspector.h:

2015-09-03  Timothy Hatcher  <timothy@apple.com>

        Web Inspector: Closing the Safari window when the Web Inspector is one of the other windows in split screen mode can cause the entire screen to go black
        https://bugs.webkit.org/show_bug.cgi?id=148777

        Reviewed by Brian Burg.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformDidClose):
        (WebKit::WebInspectorProxy::platformHide):
        (WebKit::WebInspectorProxy::platformAttach):
        Call close instead of orderOut: to make fullscreen and tile modes with Web Inspector work as expected.

2015-09-03  Brady Eidson  <beidson@apple.com>

        Move SecurityOriginData from WK2 to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=148739

        Reviewed by Tim Horton.

        This will be needed for upcoming IndexedDB work.

        * CMakeLists.txt:
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/DatabaseProcess.messages.in:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:
        * DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.cpp:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabaseIdentifier.h:
        * NetworkProcess/NetworkProcess.cpp:
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/NetworkProcess.messages.in:
        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        * Shared/WebCrossThreadCopier.cpp:
        * Shared/WebCrossThreadCopier.h:
        * Shared/WebsiteData/WebsiteData.cpp:
        * UIProcess/API/APINavigationClient.h:
        * UIProcess/API/APIUIClient.h:
        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/Cocoa/WKUserContentController.mm:
        * UIProcess/API/gtk/WebKitUIClient.cpp:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        * UIProcess/Storage/StorageManager.cpp:
        * UIProcess/Storage/StorageManager.h:
        * UIProcess/Storage/StorageManager.messages.in:
        * UIProcess/UserContent/WebScriptMessageHandler.h:
        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        * UIProcess/UserContent/WebUserContentControllerProxy.h:
        * UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
        * UIProcess/WebCookieManagerProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        * WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
        * WebProcess/MediaCache/WebMediaKeyStorageManager.h:
        * WebProcess/Storage/StorageAreaMap.cpp:
        * WebProcess/UserContent/WebUserContentController.cpp:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        * WebProcess/WebProcess.cpp:
        * WebProcess/WebProcess.h:
        * WebProcess/WebProcess.messages.in:

2015-09-03  Tim Horton  <timothy_horton@apple.com>

        [Mac] Add support for testing swipes
        https://bugs.webkit.org/show_bug.cgi?id=148700

        Reviewed by Beth Dakin.

        * UIProcess/API/mac/WKView.mm:
        (takeWindowSnapshot):
        (-[WKView _takeViewSnapshot]):
        Fall back to the non-hardware snapshotting path if the hardware path fails,
        which usually happens if the view is fully off-screen (as in the case
        of WebKitTestRunner).

2015-09-02  Tim Horton  <timothy_horton@apple.com>

        Add a modern API way to know that the navigation gesture snapshot was removed, for WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=148693

        Reviewed by Anders Carlsson.

        * UIProcess/API/APINavigationClient.h:
        (API::NavigationClient::didRemoveNavigationGestureSnapshot):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageNavigationClient):
        * UIProcess/API/C/WKPageNavigationClient.h:
        * UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::setNavigationDelegate):
        (WebKit::NavigationState::navigationGestureSnapshotWasRemoved):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::navigationGestureDidEnd):
        (WebKit::WebPageProxy::navigationGestureSnapshotWasRemoved):
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::didRemoveNavigationGestureSnapshot):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/CoordinatedGraphics/WebView.h:
        Add a callback for WKTR when the swipe snapshot is removed.

2015-09-02  Andreas Kling  <akling@apple.com>

        ScrollbarThemes should be returned by reference.
        <https://webkit.org/b/147551>

        Reviewed by Zalan Bujtas.

        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::paintControlForLayerInContext):

2015-09-02  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        REGRESSION(r188206): [EFL] Adjust scrollbar width to ewk_view_contents_size_get API test 
        https://bugs.webkit.org/show_bug.cgi?id=148701

        Reviewed by Csaba Osztrogonác.

        r188206 applied to use non-overlay scrollbar on EFL minibrowser. So we need to
        adjust scrollwidth to ewk_view_contents_size_get API test as well.

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

2015-09-02  Emanuele Aina  <emanuele.aina@collabora.com>

        Fix build with ENABLE(DATABASE_PROCESS) and !ENABLE(INDEXED_DATABASE)
        https://bugs.webkit.org/show_bug.cgi?id=146550

        Reviewed by Brady Eidson.

        Given that INDEXED_DATABASE at the moment is the only user of
        DATABASE_PROCESS, their guards got inevitably mixed up with various
        levels of consistency. Since the --no-indexed-database flag from
        build-webkit leaves DATABASE_PROCESS enabled, this resulted in build
        failures.

        * DatabaseProcess/DatabaseProcess.cpp:
        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        * Shared/Databases/DatabaseProcessCreationParameters.cpp:
        * Shared/Databases/DatabaseProcessCreationParameters.h:
        * UIProcess/WebProcessPool.cpp:
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        * WebProcess/Databases/WebToDatabaseProcessConnection.h:
        Add missing ENABLE(INDEXED_DATABASE) guards and moved the
        misplaced ones.

        * DatabaseProcess/DatabaseProcess.h:
        Ditto, and also add a forward declaration for SecurityOriginData since
        with INDEXED_DATABASE off SecurityOriginData.h is no longer included
        by way of UniqueIDBDatabaseIdentifier.h.

2015-09-01  Brian Burg  <bburg@apple.com>

        Web Inspector: opt the Inspector process out of page visibility-based process suppression when running tests
        https://bugs.webkit.org/show_bug.cgi?id=148686

        Reviewed by Timothy Hatcher.

        This may be the cause of debug test timeouts and high execution time variance
        that have been plaguing the bots. Process suppression shouldn't happen for
        inspector process during tests anyway, so it shouldn't hurt to flip this.

        * UIProcess/API/C/WKPreferencesRefPrivate.h:

            The stated default here is incorrect, the default value is true.

        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _pageVisibilityBasedProcessSuppressionEnabled]): Added.
        (-[WKPreferences _setPageVisibilityBasedProcessSuppressionEnabled:]): Added.
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):

2015-09-01  Alexey Proskuryakov  <ap@apple.com>

        Update sandbox after r179367
        https://bugs.webkit.org/show_bug.cgi?id=148683
        rdar://problem/21767401

        Reviewed by Darin Adler.

        * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:

2015-08-26  Andy Estes  <aestes@apple.com>

        [Content Filtering] Determine navigation and content policy before continuing to filter a load
        https://bugs.webkit.org/show_bug.cgi?id=148506

        Reviewed by Brady Eidson.

        Deleted parts of r188486 and r188851.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::convertMainResourceLoadToDownload):

2015-08-31  Chris Dumez  <cdumez@apple.com>

        Range.detach() / NodeIterator.detach() should be no-ops as per the latest DOM specification
        https://bugs.webkit.org/show_bug.cgi?id=148454

        Reviewed by Ryosuke Niwa.

        Update Range API call sites to reflect changes.

        * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
        (-[WKDOMRange collapse:]):
        (-[WKDOMRange startContainer]):
        (-[WKDOMRange startOffset]):
        (-[WKDOMRange endContainer]):
        (-[WKDOMRange endOffset]):
        (-[WKDOMRange isCollapsed]):
        (-[WKDOMRange text]): Deleted.
        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::getImageForFindMatch):
        (WebKit::FindController::selectFindMatch):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::targetFrameForEditing):
        (WebKit::WebPage::firstRectForCharacterRangeAsync): Deleted.
        * WebProcess/WebPage/efl/WebPageEfl.cpp:
        (WebKit::targetFrameForEditing):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::rangeForWebSelectionAtPosition):
        (WebKit::WebPage::rangeForBlockAtPoint):
        (WebKit::containsRange):
        (WebKit::unionDOMRanges):
        (WebKit::WebPage::contractedRangeFromHandle):
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::dictionaryPopupInfoForRange):
        (WebKit::WebPage::firstRectForCharacterRange): Deleted.

2015-08-31  Tim Horton  <timothy_horton@apple.com>

        iOS WebKit2 find-in-page doesn't support multi-line results, is often blank
        https://bugs.webkit.org/show_bug.cgi?id=148599
        <rdar://problem/17914031>

        Reviewed by Beth Dakin.

        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::findString):
        (WebKit::FindController::didFindString):
        * WebProcess/WebPage/FindController.h:
        Add didFindString() for FindControllerIOS.

        * WebProcess/WebPage/ios/FindControllerIOS.mm:
        (WebKit::FindIndicatorOverlayClientIOS::drawRect):
        (WebKit::FindController::updateFindIndicator):
        (WebKit::setCompositionSelectionChangeEnabledInAllFrames):
        (WebKit::FindController::willFindString):
        (WebKit::FindController::didFindString):
        (WebKit::FindController::didFailToFindString):
        (WebKit::FindController::didHideFindIndicator):
        * WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h:
        (WebKit::FindIndicatorOverlayClientIOS::FindIndicatorOverlayClientIOS):
        Adopt TextIndicator and shrink-wrapping.

        We'll re-create the indicator if the device/page scale factor change;
        this is the only case in which a TextIndicator sticks around when
        page scale changes -- we should come up with a better model!

2015-08-31  Antti Koivisto  <antti@apple.com>

        Network Cache: Stale content after back navigation
        https://bugs.webkit.org/show_bug.cgi?id=148634

        Reviewed by Chris Dumez.

        It is possible to get an older version of the previous page when navigating back. This can happen
        if the main resource load has not completed before navigating away from the page.

        Network cache entry is normally updated when the load completes. In case of cancellation we would leave
        any existing entry as-is. However we render incrementally and user might have seen some content from
        the partial load already. Navigating back to the cached page could show older version of the content.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::abort):

            If a network load is canceled by the client after receiving response but before the load has completed
            remove any existing cache entry for it.

2015-08-28  Myles C. Maxfield  <mmaxfield@apple.com>

        Migrate GraphicsContexts from pointers to references
        https://bugs.webkit.org/show_bug.cgi?id=148561

        Reviewed by Tim Horton.

        * PluginProcess/PluginControllerProxy.cpp:
        (WebKit::PluginControllerProxy::paint):
        * Shared/cairo/ShareableBitmapCairo.cpp:
        (WebKit::ShareableBitmap::paint):
        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
        (WebKit::imageForRect):
        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
        (WebKit::InjectedBundleRangeHandle::renderedImage):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::paint):
        (WebKit::NetscapePlugin::snapshot):
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
        (WebKit::NetscapePlugin::platformPaint):
        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
        (WebKit::NetscapePlugin::platformPaint):
        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
        (WebKit::NetscapePlugin::platformPaint):
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::updateControlTints):
        (WebKit::PDFPlugin::paintControlForLayerInContext):
        * WebProcess/Plugins/Plugin.cpp:
        (WebKit::Plugin::updateControlTints):
        * WebProcess/Plugins/Plugin.h:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::paint):
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::paint):
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
        (WebKit::convertCairoSurfaceToShareableBitmap):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::drawRect):
        (WebKit::WebPage::snapshotAtSize):
        (WebKit::WebPage::snapshotNode):
        * WebProcess/WebPage/ios/FindControllerIOS.mm:
        (WebKit::FindIndicatorOverlayClientIOS::drawRect):

2015-08-28  Eric Carlson  <eric.carlson@apple.com>

        [Mac] Restructure WebMediaSessionManager for testing
        https://bugs.webkit.org/show_bug.cgi?id=148593

        Reviewed by Jer Noble.

        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::mediaSessionManager): Call WebMediaSessionManager::singleton, not
          WebMediaSessionManagerMac::singleton.

2015-08-28  Jer Noble  <jer.noble@apple.com>

        [iOS] Add WebKit/WebKit2 settings to control automatic data loading
        https://bugs.webkit.org/show_bug.cgi?id=148579

        Reviewed by Anders Carlsson.

        Add a property to WKWebViewConfiguration to control whether clients are allowed
        to load media data automatically.  Pass this configuration on through to WebCore.

        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]):
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration _mediaDataLoadsAutomatically]):
        (-[WKWebViewConfiguration _setMediaDataLoadsAutomatically:]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-08-28  Jer Noble  <jer.noble@apple.com>

        [iOS] Make the AllowsInlineMediaPlayback preference work in WebKit / WebKit2.
        https://bugs.webkit.org/show_bug.cgi?id=147512

        Reviewed by Anders Carlsson.

        Default the value of allowsInlineMediaPlayback to YES on iPad and NO on iPhone and iPod.
        Add a new configuration property, _inlineMediaPlaybackRequiresPlaysInlineAttribute, which
        defaults to NO on iPad and YES on iPhone and iPad.

        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]):
        * Shared/WebPreferencesDefinitions.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetInlineMediaPlaybackRequiresPlaysInlineAttribute):
        (WKPreferencesGetInlineMediaPlaybackRequiresPlaysInlineAttribute):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]):
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration _inlineMediaPlaybackRequiresPlaysInlineAttribute]):
        (-[WKWebViewConfiguration _setInlineMediaPlaybackRequiresPlaysInlineAttribute:]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-08-28  Timothy Horton  <timothy_horton@apple.com>

        Add navigation gesture callbacks to WKPageNavigationClient
        https://bugs.webkit.org/show_bug.cgi?id=148568
        <rdar://problem/22371346>

        Reviewed by Anders Carlsson.

        * UIProcess/API/APINavigationClient.h:
        (API::NavigationClient::didBeginNavigationGesture):
        (API::NavigationClient::willEndNavigationGesture):
        (API::NavigationClient::didEndNavigationGesture):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageNavigationClient):
        * UIProcess/API/C/WKPageNavigationClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::navigationGestureDidBegin):
        (WebKit::WebPageProxy::navigationGestureWillEnd):
        (WebKit::WebPageProxy::navigationGestureDidEnd):

2015-08-28  Timothy Horton  <timothy_horton@apple.com>

        Get rid of the DynamicSizeWithMinimumViewSize layout mode
        https://bugs.webkit.org/show_bug.cgi?id=148554

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKLayoutMode.h:
        * UIProcess/API/Cocoa/WKViewPrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _layoutMode]):
        (-[WKWebView _setLayoutMode:]):
        (-[WKWebView _setMinimumViewSize:]): Deleted.
        (-[WKWebView _minimumViewSize]): Deleted.
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/API/Cocoa/_WKLayoutMode.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _setMinimumViewSize:]): Deleted.
        (-[WKView _minimumViewSize]): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::scaleViewAndUpdateGeometryFenced): Deleted.
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/WKViewLayoutStrategy.mm:
        (+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]):
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy _updateTransientScale:]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy updateLayout]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeMinimumViewSize]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willStartLiveResize]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didEndLiveResize]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy didChangeFrameSize]): Deleted.
        (-[WKViewDynamicSizeWithMinimumViewSizeLayoutStrategy willChangeLayoutStrategy]): Deleted.
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::replyWithFenceAfterNextFlush): Deleted.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scaleViewAndUpdateGeometryFenced): Deleted.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::replyWithFenceAfterNextFlush): Deleted.

2015-08-28  Timothy Horton  <timothy_horton@apple.com>

        [Mac] Right-clicking on GIFs spins the UI process for a while
        https://bugs.webkit.org/show_bug.cgi?id=148566
        <rdar://problem/22460854>

        Reviewed by Brady Eidson.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::internalShowContextMenu):
        (WebKit::WebPageProxy::platformInitializeShareMenuItem):
        * UIProcess/WebPageProxy.h:
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::platformInitializeShareMenuItem):
        Move all of the code to make a Share menuitem into platformInitializeShareMenuItem.
        Make an NSImage directly from the image data if possible.

2015-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        [CMake] LIBSECCOMP_INCLUDE_DIRS should be added to WebKit2_SYSTEM_INCLUDE_DIRECTORIES
        https://bugs.webkit.org/show_bug.cgi?id=148552

        Reviewed by Žan Doberšek.

        LIBSECCOMP_INCLUDE_DIRS should be added to WebKit2_SYSTEM_INCLUDE_DIRECTORIES, not
        WebKit2_INCLUDE_DIRECTORIES. (So that warnings from libseccomp headers are suppressed. Not
        that there are any right now.)

        * PlatformGTK.cmake:

2015-08-28  Michael Catanzaro  <mcatanzaro@igalia.com>

        Minor fixes in reportUnexpectedSyscall
        https://bugs.webkit.org/show_bug.cgi?id=148551

        Reviewed by Žan Doberšek.

        There is an off-by-one in the static assert.

        Also, an unsigned long long is passed in, but the parameter is an int. Then it's passed to
        writeUnsignedInt, which takes an unsigned int. Let's use unsigned int instead. (The value
        is a syscall number, so it's safe to truncate regardless -- it never be anywhere near as
        large as an int, unless the input is malicious, in which case truncating it is the right
        thing to do anyway -- so this is just a matter of style.)

        * Shared/linux/SeccompFilters/Syscall.cpp:
        (WebKit::reportUnexpectedSyscall):

2015-08-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Simplify the internal API to create a WebView
        https://bugs.webkit.org/show_bug.cgi?id=148570

        Reviewed by Žan Doberšek.

        Now that all the information required to create a WebView is in
        API::PageConfiguration, we can simplify the internal API to
        receive only the configuration instead of receiving a long list of
        parameters that we use to build a new API::PageConfiguration.

        * UIProcess/API/C/gtk/WKView.cpp:
        (WKViewCreate):
        * UIProcess/API/C/gtk/WKView.h:
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextCreatePageForWebView):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreate):
        (webkitWebViewBaseCreateWebPage):
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):

2015-08-27  Timothy Horton  <timothy_horton@apple.com>

        Video full-screen shouldn't use the DynamicSizeWithMinimumViewSize layout mode
        https://bugs.webkit.org/show_bug.cgi?id=148553

        Reviewed by Zalan Bujtas.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _supportsArbitraryLayoutModes]):
        (-[WKView _updateSupportsArbitraryLayoutModes]):
        (-[WKView _didCommitLoadForMainFrame]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::beganEnterFullScreen):
        (WebKit::PageClientImpl::beganExitFullScreen):
        * UIProcess/mac/WKFullScreenWindowController.mm:
        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Deleted.
        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Deleted.
        It's not OK to just randomly change the layout mode, because the client
        can change it or its properties out from under us, and also because we
        weren't resetting it to whatever the client had specified.

        I recently implemented a better way to override layout modes, for PDF,
        so use that here. Also, we shouldn't use DynamicSizeWithMinimumViewSize,
        we should just use the "normal" mode (ViewSize), since we've already ensured
        a minimum size by setting contentMinSize.

2015-08-27  Alexey Proskuryakov  <ap@apple.com>

        pluginInfo.clientLoadPolicy is used uninitialized in WebContent process
        https://bugs.webkit.org/show_bug.cgi?id=148550

        Reviewed by Tim Horton.

        This fixes flakiness on plugins/plugin-javascript-access.html.

        * Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<PluginInfo>::decode):

2015-08-27  Timothy Horton  <timothy_horton@apple.com>

        Factor out Lookup invocation
        https://bugs.webkit.org/show_bug.cgi?id=148509

        Reviewed by Anders Carlsson.

        * Shared/DictionaryPopupInfo.cpp: Removed.
        * Shared/DictionaryPopupInfo.h: Removed.
        Moved to WebCore.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<DictionaryPopupInfo>::encode):
        (IPC::ArgumentCoder<DictionaryPopupInfo>::decode):
        Add encode/decoders for DictionaryPopupInfo now that it's in WebCore.

        * Shared/WebCoreArgumentCoders.h:
        * Shared/WebHitTestResult.h:
        * Shared/mac/ArgumentCodersMac.h:
        * UIProcess/API/mac/WKView.mm:
        (+[WKView hideWordDefinitionWindow]):
        (-[WKView _dismissContentRelativeChildWindows]):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didPerformDictionaryLookup):
        * UIProcess/mac/WKImmediateActionController.mm:
        (-[WKImmediateActionController _animationControllerForText]):
        * UIProcess/mac/WebPageProxyMac.mm:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::showDefinitionForAttributedString):
        (WebKit::PDFPlugin::lookupTextAtLocation):
        * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performDictionaryLookupAtLocation):
        (WebKit::WebPage::performDictionaryLookupForSelection):
        (WebKit::WebPage::dictionaryPopupInfoForRange):
        (WebKit::WebPage::dictionaryPopupInfoForSelectionInPDFPlugin):
        (WebKit::WebPage::lookupTextAtLocation):
        Adjust to new names and move stuff to WebCore.

2015-08-27  Brian Burg  <bburg@apple.com>

        Web Inspector: FrontendChannel should know its own connection type
        https://bugs.webkit.org/show_bug.cgi?id=148482

        Reviewed by Joseph Pecoraro.

        * WebProcess/WebPage/WebInspector.h: add connectionType().

2015-08-27  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL] REGRESSION: 50+ layout tests crash
        https://bugs.webkit.org/show_bug.cgi?id=148471

        Reviewed by Gyuyoung Kim.

        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::WebView):

2015-08-27  Zan Dobersek  <zdobersek@igalia.com>

        Fix WKMutableArray creations in WKUserMediaPermissionRequest
        https://bugs.webkit.org/show_bug.cgi?id=148489

        Reviewed by Carlos Garcia Campos.

        Call WKMutableArrayCreate() to create the WKMutableArray objects.
        WKMutableArrayRef type is a pointer, so calling 'WKMutableArrayRef()' 
        just sets a null value to the variable that is then returned and
        queried for size in WebKitTestRunner's TestController, resulting
        in a crash.

        * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
        (WKUserMediaPermissionRequestDeviceNamesVideo):
        (WKUserMediaPermissionRequestDeviceNamesAudio):

2015-08-26  Emanuele Aina  <emanuele.aina@collabora.com>

        [ThreadedCompositor] Use WTF::Condition together with WTF::Lock
        https://bugs.webkit.org/show_bug.cgi?id=148493

        Reviewed by Gyuyoung Kim.

        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        Replace ThreadCondition::signal() calls with Condition::notifyOne().
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
        Replace ThreadCondition usage with Condition.

2015-08-26  Wenson Hsieh  <wenson_hsieh@apple.com>

        Fix crash due to animationDidEnd called on deallocated RemoteLayerTreeHost
        https://bugs.webkit.org/show_bug.cgi?id=148442
        <rdar://problem/21609257>

        Reviewed by Tim Horton.

        A PlatformCAAnimationRemote's backpointer to a deallocated RemoteLayerTreeHost is not
        invalidated when its host removes its reference to it.

        * UIProcess/mac/RemoteLayerTreeHost.mm:
        (WebKit::RemoteLayerTreeHost::layerWillBeRemoved): Invalidate a backpointer from the
            PlatformCAAnimationRemotes to the RemoteLayerTreeHost.

2015-08-26  Beth Dakin  <bdakin@apple.com>

        REGRESSION: Safari navigates after a cancelled force click
        https://bugs.webkit.org/show_bug.cgi?id=148491
        -and corresponding-
        rdar://problem/22394323

        Reviewed by Tim Horton.

        Use the current stage to determine which type of cancel this is.
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::immediateActionDidCancel):

2015-08-26  Eric Carlson  <eric.carlson@apple.com>

        Media Session: make MediaSessionMetadata a class
        https://bugs.webkit.org/show_bug.cgi?id=148486

        Reviewed by Jer Noble.

        * Shared/WebCoreArgumentCoders.h: struct MediaSessionMetadata -> class MediaSessionMetadata.
        * UIProcess/WebPageProxy.h: Ditto.

2015-08-26  Zan Dobersek  <zdobersek@igalia.com>

        Unreviewed.

        Fix the crashes in GTK+'s WebKitTestRunner by setting the process pool
        on the API::PageConfiguration object in webkitWebViewBaseCreate().

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

2015-08-25  Beth Dakin  <bdakin@apple.com>

        Speculative build fix.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):

2015-08-25  Beth Dakin  <bdakin@apple.com>

        Long press gesture recognizer should adjust delay based on other recognizers
        https://bugs.webkit.org/show_bug.cgi?id=148402
        -and corresponding-
        rdar://problem/22278723

        Reviewed by Tim Horton.

        Call _setAdjustsDelayBasedOnOtherRecognizers with a value of YES.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):

2015-08-24  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed, EFL and GTK build fix since r188895.

        * CMakeLists.txt: Rename Rename VisitedLinkProvider to VisitedLinkStore.

2015-08-24  Anders Carlsson  <andersca@apple.com>

        Rename VisitedLinkProvider to VisitedLinkStore
        https://bugs.webkit.org/show_bug.cgi?id=148406

        Reviewed by Tim Horton.

        * DerivedSources.make:
        * Shared/API/APIObject.h:
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * UIProcess/API/APIPageConfiguration.cpp:
        (API::PageConfiguration::copy):
        (API::PageConfiguration::visitedLinkStore):
        (API::PageConfiguration::setVisitedLinkStore):
        (API::PageConfiguration::visitedLinkProvider): Deleted.
        (API::PageConfiguration::setVisitedLinkProvider): Deleted.
        * UIProcess/API/APIPageConfiguration.h:
        * UIProcess/API/C/WKContext.cpp:
        (WKContextAddVisitedLink):
        (WKContextClearVisitedLinks):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/_WKVisitedLinkStore.mm:
        (-[_WKVisitedLinkStore init]):
        (-[_WKVisitedLinkStore dealloc]):
        (-[_WKVisitedLinkStore addVisitedLinkWithURL:]):
        (-[_WKVisitedLinkStore removeAll]):
        (-[_WKVisitedLinkStore _apiObject]):
        * UIProcess/API/Cocoa/_WKVisitedLinkStoreInternal.h:
        (WebKit::wrapper):
        * UIProcess/VisitedLinkProvider.cpp:
        (WebKit::generateIdentifier): Deleted.
        (WebKit::VisitedLinkProvider::create): Deleted.
        (WebKit::VisitedLinkProvider::~VisitedLinkProvider): Deleted.
        (WebKit::VisitedLinkProvider::VisitedLinkProvider): Deleted.
        (WebKit::VisitedLinkProvider::addProcess): Deleted.
        (WebKit::VisitedLinkProvider::removeProcess): Deleted.
        (WebKit::VisitedLinkProvider::addVisitedLinkHash): Deleted.
        (WebKit::VisitedLinkProvider::removeAll): Deleted.
        (WebKit::VisitedLinkProvider::webProcessWillOpenConnection): Deleted.
        (WebKit::VisitedLinkProvider::webProcessDidCloseConnection): Deleted.
        (WebKit::VisitedLinkProvider::addVisitedLinkHashFromPage): Deleted.
        (WebKit::nextPowerOf2): Deleted.
        (WebKit::tableSizeForKeyCount): Deleted.
        (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Deleted.
        (WebKit::VisitedLinkProvider::resizeTable): Deleted.
        (WebKit::VisitedLinkProvider::sendTable): Deleted.
        * UIProcess/VisitedLinkStore.cpp: Renamed from Source/WebKit2/UIProcess/VisitedLinkProvider.cpp.
        (WebKit::generateIdentifier):
        (WebKit::VisitedLinkStore::create):
        (WebKit::VisitedLinkStore::~VisitedLinkStore):
        (WebKit::VisitedLinkStore::VisitedLinkStore):
        (WebKit::VisitedLinkStore::addProcess):
        (WebKit::VisitedLinkStore::removeProcess):
        (WebKit::VisitedLinkStore::addVisitedLinkHash):
        (WebKit::VisitedLinkStore::removeAll):
        (WebKit::VisitedLinkStore::webProcessWillOpenConnection):
        (WebKit::VisitedLinkStore::webProcessDidCloseConnection):
        (WebKit::VisitedLinkStore::addVisitedLinkHashFromPage):
        (WebKit::nextPowerOf2):
        (WebKit::tableSizeForKeyCount):
        (WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
        (WebKit::VisitedLinkStore::resizeTable):
        (WebKit::VisitedLinkStore::sendTable):
        * UIProcess/VisitedLinkStore.h: Renamed from Source/WebKit2/UIProcess/VisitedLinkProvider.h.
        * UIProcess/VisitedLinkStore.messages.in: Renamed from Source/WebKit2/UIProcess/VisitedLinkProvider.messages.in.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::processDidFinishLaunching):
        (WebKit::WebPageProxy::creationParameters):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::WebProcessPool):
        (WebKit::WebProcessPool::createWebPage):
        * UIProcess/WebProcessPool.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::shutDown):
        (WebKit::WebProcessProxy::addVisitedLinkStore):
        (WebKit::WebProcessProxy::didDestroyVisitedLinkStore):
        (WebKit::WebProcessProxy::addVisitedLinkProvider): Deleted.
        (WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): Deleted.
        * UIProcess/WebProcessProxy.h:
        * WebKit2.xcodeproj/project.pbxproj:
        * WebProcess/WebPage/VisitedLinkTableController.cpp:
        (WebKit::VisitedLinkTableController::addVisitedLink):

2015-08-24  Tim Horton  <timothy_horton@apple.com>

        (Finally...) get rid of WKViewIOS
        https://bugs.webkit.org/show_bug.cgi?id=148404

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKView.h:
        * UIProcess/API/ios/WKViewIOS.mm: Removed.
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::PageClientImpl): Deleted.
        (WebKit::PageClientImpl::didRelaunchProcess): Deleted.
        (WebKit::PageClientImpl::refView): Deleted.
        (WebKit::PageClientImpl::derefView): Deleted.
        * UIProcess/ios/WKContentView.h:
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView initWithFrame:processPool:configuration:wkView:]): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:
        Get rid of WKViewIOS and references to it.

        * DatabaseProcess/ios/DatabaseProcessIOS.mm:
        (WebKit::DatabaseProcess::initializeSandbox):
        * NetworkProcess/ios/NetworkProcessIOS.mm:
        (WebKit::NetworkProcess::initializeSandbox):
        * Shared/Plugins/mac/PluginSandboxProfile.mm:
        (WebKit::pluginSandboxProfileDirectory):
        * Shared/ios/ChildProcessIOS.mm:
        (WebKit::ChildProcess::initializeSandbox):
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::initializeSandbox):
        Look for WKWebView instead of WKView if we have it.

2015-08-24  Anders Carlsson  <andersca@apple.com>

        Rename _WKVisitedLinkProvider to _WKVisitedLinkStore for consistency
        https://bugs.webkit.org/show_bug.cgi?id=148398

        Reviewed by Tim Horton.

        We'd like to call the abstract classes providers and the concrete classes stores in WebKit. Begin by renaming
        _WKVisitedLinkProvider to _WKVisitedLinkStore, but keep the former around as a deprecated class.

        * Shared/API/Cocoa/WebKitPrivate.h:
        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration copyWithZone:]):
        (-[WKWebViewConfiguration _visitedLinkStore]):
        (-[WKWebViewConfiguration _setVisitedLinkStore:]):
        (-[WKWebViewConfiguration _visitedLinkProvider]):
        (-[WKWebViewConfiguration _setVisitedLinkProvider:]):
        (-[WKWebViewConfiguration _validate]):
        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
        * UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
        * UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
        (-[_WKVisitedLinkProvider init]): Deleted.
        (-[_WKVisitedLinkProvider dealloc]): Deleted.
        (-[_WKVisitedLinkProvider addVisitedLinkWithURL:]): Deleted.
        (-[_WKVisitedLinkProvider removeAll]): Deleted.
        (-[_WKVisitedLinkProvider _apiObject]): Deleted.
        * UIProcess/API/Cocoa/_WKVisitedLinkStore.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKVisitedLinkProvider.h.
        * UIProcess/API/Cocoa/_WKVisitedLinkStore.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm.
        (-[_WKVisitedLinkStore init]):
        (-[_WKVisitedLinkStore dealloc]):
        (-[_WKVisitedLinkStore addVisitedLinkWithURL:]):
        (-[_WKVisitedLinkStore removeAll]):
        (-[_WKVisitedLinkStore _apiObject]):
        * UIProcess/API/Cocoa/_WKVisitedLinkStoreInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKVisitedLinkProviderInternal.h.
        (WebKit::wrapper):
        * WebKit2.xcodeproj/project.pbxproj:

2015-08-24  Wenson Hsieh  <wenson_hsieh@apple.com>

        Use _NSScrollingPredominantAxisFilter for wheel event filtering on Mac
        https://bugs.webkit.org/show_bug.cgi?id=147320

        Reviewed by Simon Fraser.

        Refactored to use a predominant axis filter instead of a predominant axis tracker. This allows us to
        employ AppKit's _NSScrollingPredominantAxisFilter when possible, and use the wheel event delta tracker
        as a fallback. Here, we refactor EventDispatcher to use the new filters for mainframe scrolling.

        No new tests, since this change does not add new functionality.

        * WebProcess/WebPage/EventDispatcher.cpp: Include WheelEventDeltaFilterMac.h when necessary.
        (WebKit::EventDispatcher::EventDispatcher): Initialize a WheelEventDeltaFilterMac when possible. Otherwise,
            fall back to a BasicWheelEventDeltaFilter.
        (WebKit::EventDispatcher::wheelEvent): Use filtered deltas to initialize the platform wheel event instead
            of zeroing out non-predominant axes.
        * WebProcess/WebPage/EventDispatcher.h: Replace m_recentWheelEventDeltaTracker with m_recentWheelEventDeltaFilter.

2015-08-23  Andy Estes  <aestes@apple.com>

        [Content Filtering] REGRESSION (r182356): Provisional URL is incorrect in didReceiveServerRedirectForProvisionalLoadForFrame when Content Filtering is enabled
        https://bugs.webkit.org/show_bug.cgi?id=147872
        rdar://problem/22044000

        Reviewed by Dan Bernstein.
        
        The provisional DocumentLoader request URL does not reflect redirects when content filtering is enabled, but
        the URL argument passed to dispatchDidReceiveServerRedirectForProvisionalLoad() does, so use it intead.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
        Sent DidReceiveServerRedirectForProvisionalLoadForFrame using the URL argument.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

2015-08-23  Csaba Osztrogonác  <ossy@webkit.org>

        Typo fix after r188842.

        * CMakeLists.txt:

2015-08-23  Csaba Osztrogonác  <ossy@webkit.org>

        Speculative buildfix after r188828.

        * CMakeLists.txt:

2015-08-22  Tim Horton  <timothy_horton@apple.com>

        Factor out and add logging to swipe-start hysteresis code
        https://bugs.webkit.org/show_bug.cgi?id=148361

        Reviewed by Darin Adler.

        * UIProcess/ViewGestureController.cpp:
        (WebKit::ViewGestureController::ViewGestureController):
        * UIProcess/mac/ViewGestureController.h:
        (WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
        (WebKit::ViewGestureController::shouldIgnorePinnedState):
        (WebKit::ViewGestureController::setShouldIgnorePinnedState):
        (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
        (WebKit::ViewGestureController::PendingSwipeTracker::shouldIgnorePinnedState):
        (WebKit::ViewGestureController::PendingSwipeTracker::setShouldIgnorePinnedState):
        Move pending-swipe members into PendingSwipeTracker.

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::scrollEventCanInfluenceSwipe):
        (WebKit::deltaShouldCancelSwipe):
        (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
        (WebKit::ViewGestureController::handleScrollWheelEvent):
        (WebKit::ViewGestureController::PendingSwipeTracker::handleEvent):
        (WebKit::ViewGestureController::PendingSwipeTracker::eventWasNotHandledByWebCore):
        (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
        (WebKit::ViewGestureController::PendingSwipeTracker::reset):
        (WebKit::ViewGestureController::trackSwipeGesture):
        (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
        Move pending-swipe methods into PendingSwipeTracker.
        Clean up the logic a bit.
        Add some logging.

2015-08-22  Timothy Horton  <timothy_horton@apple.com>

        WebKitTestRunner should use WKWebView on OS X and iOS
        https://bugs.webkit.org/show_bug.cgi?id=143743
        <rdar://problem/16947123>

        Reviewed by Anders Carlsson.
        Patch by Enrica Casucci and myself.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _windowOcclusionDetectionEnabled]):
        (-[WKWebView _setWindowOcclusionDetectionEnabled:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        Add SPI to disable window occlusion detection, for WebKitTestRunner's use.

        * Shared/WebPreferencesDefinitions.h:
        Remove a completely unused WebPreference. It is a WebCore Setting,
        but in the API it's exposed as a WKPage setter and WKView and WKWebView property
        instead of as a WKPreference, so there's no need for the WebPreference.

        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageAddUserScript):
        (WKBundlePageAddUserStyleSheet):
        (WKBundlePageRemoveAllUserContent):
        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::addUserScript):
        (WebKit::WebPage::addUserStyleSheet):
        (WebKit::WebPage::removeAllUserContent):
        * WebProcess/WebPage/WebPage.h:
        Add WKBundlePage functions for user script and style sheet manipulation.
        These use the WebPage's WebUserContentController instead of the WebPageGroupProxy's
        (used by the WKBundle functions), so they work correctly with the modern API.

2015-08-22  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, attempt to fix GTK build after r188718

        * CMakeLists.txt: Build WKPageConfigurationRef.cpp
        * PlatformEfl.cmake: Don't build WKPageConfigurationRef.cpp

2015-08-22  Antti Koivisto  <antti@apple.com>

        Decode data URLs in web process
        https://bugs.webkit.org/show_bug.cgi?id=148128

        Reviewed by Darin Adler.

        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::scheduleLoad):

            Don't send data: loads to the network process, handle them locally.

        (WebKit::WebResourceLoadScheduler::startLocalLoad):

            Call ResourceLoder::start() directly.

2015-08-21  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r188807, r188813, and r188815.
        https://bugs.webkit.org/show_bug.cgi?id=148349

        lots of 32-bit build problems, better to resolve separately
        and try again (Requested by thorton on #webkit).

        Reverted changesets:

        "WebKitTestRunner should use WKWebView on OS X and iOS"
        https://bugs.webkit.org/show_bug.cgi?id=143743
        http://trac.webkit.org/changeset/188807

        "Stop building WebKitTestRunner for 32-bit platforms"
        https://bugs.webkit.org/show_bug.cgi?id=143743
        http://trac.webkit.org/changeset/188813

        "Stop building WebKitTestRunner for 32-bit platforms"
        https://bugs.webkit.org/show_bug.cgi?id=143743
        http://trac.webkit.org/changeset/188815

2015-08-21  Timothy Horton  <timothy_horton@apple.com>

        WebKitTestRunner should use WKWebView on OS X and iOS
        https://bugs.webkit.org/show_bug.cgi?id=143743
        <rdar://problem/16947123>

        Reviewed by Anders Carlsson.
        Patch by Enrica Casucci and myself.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _windowOcclusionDetectionEnabled]):
        (-[WKWebView _setWindowOcclusionDetectionEnabled:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        Add SPI to disable window occlusion detection, for WebKitTestRunner's use.

        * Shared/WebPreferencesDefinitions.h:
        Remove a completely unused WebPreference. It is a WebCore Setting,
        but in the API it's exposed as a WKPage setter and WKView and WKWebView property
        instead of as a WKPreference, so there's no need for the WebPreference.

        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePageAddUserScript):
        (WKBundlePageAddUserStyleSheet):
        (WKBundlePageRemoveAllUserContent):
        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::addUserScript):
        (WebKit::WebPage::addUserStyleSheet):
        (WebKit::WebPage::removeAllUserContent):
        * WebProcess/WebPage/WebPage.h:
        Add WKBundlePage functions for user script and style sheet manipulation.
        These use the WebPage's WebUserContentController instead of the WebPageGroupProxy's
        (used by the WKBundle functions), so they work correctly with the modern API.

2015-08-21  Alexey Proskuryakov  <ap@apple.com>

        Improve how UI events are dispatched by WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=148326

        Reviewed by Anders Carlsson.

        Added "fully synchronous mode for testing", in which all messages are dispatched
        synchronously.

        When an async message is sent in this mode, it is wrapped into a sync one automatically.

        A client must opt in, either by using WKBundlePagePostSynchronousMessageForTesting(),
        or by calling WKContextConfigurationAllowFullySynchronousModeForTesting().
        This makes sure that we don't increase potential for IPC misuse.

        * WebProcess/WebPage/WebPage.messages.in: Yay, fewer messages!

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetShouldSendEventsSynchronously): Deleted.
        * UIProcess/API/C/WKPagePrivate.h:
        We no longer need WKPageSetShouldSendEventsSynchronously and associated custom messages.

        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::wheelEvent):
        (WebKit::updateWheelEventTestTriggersIfNeeded): Deleted.
        Removed code that was only needed to support pseudo-syncronous scrolling in tests.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::sendMessage):
        (IPC::Connection::dispatchSyncMessage):
        (IPC::Connection::dispatchMessage):
        * Platform/IPC/Connection.h:
        (IPC::Connection::allowFullySynchronousModeForTesting):
        (IPC::Connection::sendSync):
        * Platform/IPC/MessageDecoder.cpp:
        (IPC::MessageDecoder::shouldDispatchMessageWhenWaitingForSyncReply):
        (IPC::MessageDecoder::shouldUseFullySynchronousModeForTesting):
        (IPC::MessageDecoder::setImportanceAssertion):
        (IPC::MessageDecoder::unwrapForTesting):
        * Platform/IPC/MessageDecoder.h:
        (IPC::MessageDecoder::UUID):
        * Platform/IPC/MessageEncoder.cpp:
        (IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
        (IPC::MessageEncoder::setFullySynchronousModeForTesting):
        (IPC::MessageEncoder::wrapForTesting):
        * Platform/IPC/MessageEncoder.h:
        (IPC::MessageEncoder::UUID):
        * Platform/IPC/MessageFlags.h:
        * UIProcess/API/APIProcessPoolConfiguration.cpp:
        (API::ProcessPoolConfiguration::copy):
        * UIProcess/API/APIProcessPoolConfiguration.h:
        * UIProcess/API/C/WKContextConfigurationRef.cpp:
        (WKContextConfigurationSetMediaKeysStorageDirectory):
        (WKContextConfigurationAllowFullySynchronousModeForTesting):
        * UIProcess/API/C/WKContextConfigurationRef.h:

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::handleMouseEvent):
        (WebKit::WebPageProxy::sendWheelEvent):
        (WebKit::WebPageProxy::handleKeyboardEvent):
        (WebKit::WebPageProxy::handleTouchEvent):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::renderTreeSize):
        (WebKit::WebPageProxy::setShouldSendEventsSynchronously): Deleted.
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::processDidFinishLaunching):
        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
        (WKBundlePagePostMessage):
        (WKBundlePagePostSynchronousMessageForTesting):
        (WKBundlePagePostSynchronousMessage): Deleted.
        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mouseEvent):
        (WebKit::handleWheelEvent):
        (WebKit::WebPage::wheelEvent):
        (WebKit::handleKeyEvent):
        (WebKit::WebPage::keyEvent):
        (WebKit::WebPage::validateCommand):
        (WebKit::WebPage::touchEvent):
        (WebKit::WebPage::scroll):
        (WebKit::WebPage::postMessage):
        (WebKit::WebPage::postSynchronousMessageForTesting):
        (WebKit::WebPage::mouseEventSyncForTesting): Deleted.
        (WebKit::WebPage::wheelEventSyncForTesting): Deleted.
        (WebKit::WebPage::keyEventSyncForTesting): Deleted.
        (WebKit::WebPage::touchEventSyncForTesting): Deleted.
        (WebKit::WebPage::postSynchronousMessage): Deleted.
        * WebProcess/WebPage/WebPage.h:

2015-08-20  Matt Rajca  <mrajca@apple.com>

        Media Session: let UI clients change the volume of the focused media element
        https://bugs.webkit.org/show_bug.cgi?id=148289

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKMediaSessionFocusManager.cpp:
        (WKMediaSessionFocusManagerSetVolumeOfFocusedMediaElement):
        * UIProcess/API/C/WKMediaSessionFocusManager.h:
        * UIProcess/WebMediaSessionFocusManager.cpp:
        (WebKit::WebMediaSessionFocusManager::updatePlaybackAttribute):
        (WebKit::WebMediaSessionFocusManager::setVolumeOfFocusedMediaElement):
        * UIProcess/WebMediaSessionFocusManager.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setVolumeOfMediaElement):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setVolumeOfMediaElement):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-08-21  Anders Carlsson  <andersca@apple.com>

        Get rid of uses of the old callOnMainThread function that takes a function ptr + context
        https://bugs.webkit.org/show_bug.cgi?id=148324

        Reviewed by Tim Horton.

        * UIProcess/mac/WKPrintingView.mm:
        (prepareDataForPrintingOnSecondaryThread):
        (-[WKPrintingView knowsPageRange:]):

2015-08-21  Chris Dumez  <cdumez@apple.com>

        Regression(r188698): http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header.html is very flaky
        https://bugs.webkit.org/show_bug.cgi?id=148205

        Reviewed by Antti Koivisto.

        After r188640, successful revalidation of resources in the memory cache
        would cause us to drop the corresponding resource in the disk cache.
        This patch addresses the issue by not removing the cache entry if the
        response is a successful revalidation (i.e. status code == 304).

        Longer term, we should probably update the entry in the disk cache (if
        it exists) when it is revalidated by the memory cache. Currently,
        revalidation by the memory cache bypasses the disk cache and goes
        straight to the network. Then, when the response comes back as a 304,
        we try and store the response in the cache. However, a 304 status code
        is not cacheable so the cache rejects it.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::store):

2015-08-20  Joonghun Park  <jh718.park@samsung.com>

        [EFL] Revise PlatformWebView ctor according to r188718
        https://bugs.webkit.org/show_bug.cgi?id=148282

        Reviewed by Gyuyoung Kim.

        * PlatformEfl.cmake:

2015-08-20  Alex Christensen  <achristensen@webkit.org>

        GTK build fix after r188693.

        * UIProcess/API/gtk/PageClientImpl.h:
        Delete mediaDocumentNaturalSizeChanged which could be renamed to imageOrMediaDocumentSizeChanged, 
        but there's no reason to have an empty function overriding another virtual function that is also empty.

2015-08-20  Joonghun Park  <jh718.park@samsung.com>

        [EFL] Fix build error since r188693
        https://bugs.webkit.org/show_bug.cgi?id=148279

        Reviewed by Gyuyoung Kim.

        * UIProcess/efl/WebViewEfl.h:

2015-08-20  Anders Carlsson  <andersca@apple.com>

        Use WKPageConfigurationRef in WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=147996

        Reviewed by Tim Horton.

        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView _commonInitializationWithConfigurationRef:]):
        (-[WKView initWithFrame:configurationRef:]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:configurationRef:]):
        Make sure to copy the configuration, matching what we do in the modern API.
        
2015-08-20  Beth Dakin  <bdakin@apple.com>

        Standalone image documents should send their size to the UIClient just like 
        standalone media documents
        https://bugs.webkit.org/show_bug.cgi?id=148195
        -and corresponding-
        rdar://problem/21951253

        Reviewed by Tim Horton.

        This patch re-names mediaDocumentNaturalSizeChanged() to 
        imageOrMediaDocumentSizeChanged(), and, as the new name implies, uses the 
        function for both media documents and images.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::didClickAutoFillButton):
        (API::UIClient::imageOrMediaDocumentSizeChanged):
        (API::UIClient::mediaDocumentNaturalSizeChanged): Deleted.
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

        The WKWebView and PageClient implementations of this function were actually 
        not being used, so this patch removes them and just keeps the UIClient stuff.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView performDragOperation:]):
        (-[WKWebView _mediaDocumentNaturalSizeChanged:]): Deleted.
        * UIProcess/API/Cocoa/WKWebViewInternal.h:

        More re-naming.
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::UIClient::UIClient):
        (WebKit::UIDelegate::UIClient::didNotHandleTapAsClick):
        (WebKit::UIDelegate::UIClient::imageOrMediaDocumentSizeChanged):
        (WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged): Deleted.
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::installViewStateChangeCompletionHandler):
        (WebKit::WebPageProxy::imageOrMediaDocumentSizeChanged):
        (WebKit::WebPageProxy::setShouldDispatchFakeMouseMoveEvents):
        (WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged): Deleted.
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::useFixedLayoutDidChange):
        (WebKit::WebPageProxy::fixedLayoutSizeDidChange):
        * UIProcess/WebPageProxy.messages.in:

        The WKWebView and PageClient implementations of this function were actually 
        not being used, so this patch removes them and just keeps the UIClient stuff.
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged): Deleted.
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged): Deleted.

        More re-naming.
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::imageOrMediaDocumentSizeChanged):
        (WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged): Deleted.
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::imageOrMediaDocumentSizeChanged):
        (WebKit::WebPage::mediaDocumentNaturalSizeChanged): Deleted.
        * WebProcess/WebPage/WebPage.h:

2015-08-19  Eric Carlson  <eric.carlson@apple.com>

        Remove ENABLE_WEBVTT_REGIONS
        https://bugs.webkit.org/show_bug.cgi?id=148184

        Reviewed by Jer Noble.

        * Configurations/FeatureDefines.xcconfig: Remove ENABLE_WEBVTT_REGIONS.

2015-08-18  Dean Jackson  <dino@apple.com>

        Support CSS filters without webkit prefix
        https://bugs.webkit.org/show_bug.cgi?id=148138
        <rdar://problem/22331434>

        Reviewed by Sam Weinig.

        Rename WebkitFilter to Filter.

        * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
        (IPC::ArgumentCoder<TextureMapperAnimation>::encode):
        (IPC::ArgumentCoder<TextureMapperAnimation>::decode):

2015-08-19  Alex Christensen  <achristensen@webkit.org>

        Build TestWTF on Mac with CMake.
        https://bugs.webkit.org/show_bug.cgi?id=147972

        Reviewed by Tim Horton.

        * PlatformMac.cmake:
        Make more forwarding headers.

2015-08-18  Filip Pizlo  <fpizlo@apple.com>

        Replace all uses of std::mutex/std::condition_variable with WTF::Lock/WTF::Condition
        https://bugs.webkit.org/show_bug.cgi?id=148140

        Reviewed by Geoffrey Garen.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::traverse):
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::SyncMessageState::processIncomingMessage):
        (IPC::Connection::SyncMessageState::dispatchMessages):
        (IPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesForConnection):
        (IPC::Connection::sendMessage):
        (IPC::Connection::waitForMessage):
        (IPC::Connection::processIncomingMessage):
        (IPC::Connection::installIncomingSyncMessageCallback):
        (IPC::Connection::uninstallIncomingSyncMessageCallback):
        (IPC::Connection::hasIncomingSyncMessage):
        (IPC::Connection::connectionDidClose):
        (IPC::Connection::sendOutgoingMessages):
        (IPC::Connection::enqueueIncomingMessage):
        (IPC::Connection::dispatchOneMessage):
        * Platform/IPC/Connection.h:
        * Shared/BlockingResponseMap.h:
        (BlockingResponseMap::waitForResponse):
        (BlockingResponseMap::didReceiveResponse):
        (BlockingResponseMap::cancel):
        * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
        (WebKit::PluginInfoCache::saveToFile):
        (WebKit::PluginInfoCache::updatePluginInfo):
        * UIProcess/Plugins/gtk/PluginInfoCache.h:
        * UIProcess/mac/WKPrintingView.h:
        * UIProcess/mac/WKPrintingView.mm:
        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
        (prepareDataForPrintingOnSecondaryThread):
        (-[WKPrintingView knowsPageRange:]):

2015-08-19  Chris Dumez  <cdumez@apple.com>

        WebKit may keep outdated entry in the disk cache after a reload
        https://bugs.webkit.org/show_bug.cgi?id=148137
        <rdar://problem/22299547>

        Reviewed by Antti Koivisto.

        WebKit would keep outdated entry in the disk cache after a reload
        in the following scenario:
        1. We have an entry in the cache
        2. The user reloads
        3. We get a fresh resource from the network but this one is not cacheable

        In this case, we now remove the stale entry from the cache to make sure
        it is not served to following requests (e.g. history navigations).

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didFinishLoading):
        Remove the entry from the cache if its redirection is no longer
        cacheable.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::store):
        If we make the decision not to store the response, then remove the
        entry in the cache for this resource if it exists.

        (WebKit::NetworkCache::Cache::remove):
        * NetworkProcess/cache/NetworkCache.h:
        Add new remove() overload taking a ResourceRequest argument so the
        call site does not have the compute the key.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::removeFromPendingWriteOperations):
        (WebKit::NetworkCache::Storage::remove):
        * NetworkProcess/cache/NetworkCacheStorage.h:
        When we're asked to remove an entry with a given key, also remove
        it from the pending write operations. This pre-existing bug would
        prevent the new layout test from passing.

2015-08-18  Zan Dobersek  <zdobersek@igalia.com>

        [GLib] GMainLoopSource should receive the std::function<> objects through rvalue references
        https://bugs.webkit.org/show_bug.cgi?id=147981

        Reviewed by Carlos Garcia Campos.

        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
        (WebKit::NetworkCache::runTaskInQueue): Move the std::function<> into the scheduling call.

2015-08-18  Dan Bernstein  <mitz@apple.com>

        [iOS] Safari’s Web Content process crashes when decoding an NSError containing an identity
        https://bugs.webkit.org/show_bug.cgi?id=148135

        Reviewed by Sam Weinig.

        * Configurations/WebContent-iOS.entitlements: Added the com.apple.identities keychain
          access group. The Networking process already has it since r169655.

        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::platformInitialize): Always allow the UI process to decode keys.

2015-08-18  Jincheol Jo  <jincheol.jo@navercorp.com>

        [EFL] Web Inspector: make to use StringBuilder in inspectorBaseURL
        https://bugs.webkit.org/show_bug.cgi?id=148126

        Reviewed by Gyuyoung Kim.

        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::inspectorBaseURL):
        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):

2015-08-18  Anders Carlsson  <andersca@apple.com>

        Fix build, and fix the version check.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):

2015-08-18  Anders Carlsson  <andersca@apple.com>

        REGRESSION: Playing audio causes near-instant crash
        https://bugs.webkit.org/show_bug.cgi?id=148059
        rdar://problem/22282680

        Reviewed by Sam Weinig.

        The version of WebKit that Safari 6.2.8, 7.1.8 and 8.0.8 built against
        had an ABI incompatible WKPageUIClientV4 struct. Thankfully we're not going to ship any
        versions of Safari that use the "normal" WKPageUIClientV4 struct so just assume that it's always the
        broken one and fix it up by converting it to a WKPageUIClientV5 struct and setting that as the page UI client.

        * UIProcess/API/C/WKPage.cpp:
        (fixUpBotchedPageUIClient):
        (WKPageSetPageUIClient):

2015-08-17  Filip Pizlo  <fpizlo@apple.com>

        Replace all remaining uses of WTF::Mutex with WTF::Lock
        https://bugs.webkit.org/show_bug.cgi?id=148089

        Reviewed by Geoffrey Garen.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::performNextDatabaseTask):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown):
        (WebKit::UniqueIDBDatabase::postMainThreadTask):
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask):
        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::sendSyncMessage):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::waitForSyncReply):
        (IPC::Connection::processIncomingSyncReply):
        (IPC::Connection::connectionDidClose):
        * Platform/IPC/Connection.h:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::appendUpdate):
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::ThreadedCompositor::createCompositingThread):
        (WebKit::ThreadedCompositor::runCompositingThread):
        (WebKit::ThreadedCompositor::terminateCompositingThread):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::addCustomProtocol):
        (WebKit::CustomProtocolManager::removeCustomProtocol):
        (WebKit::CustomProtocolManager::registerScheme):
        (WebKit::CustomProtocolManager::unregisterScheme):
        (WebKit::CustomProtocolManager::supportsScheme):
        (WebKit::CustomProtocolManager::protocolForID):
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
        * WebProcess/Plugins/PluginProcessConnectionManager.h:
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::addScrollingTreeForPage):
        (WebKit::EventDispatcher::removeScrollingTreeForPage):
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
        (webkitSoupRequestInputStreamReadAsync):
        (webkitSoupRequestInputStreamAddData):

2015-08-17  Alex Christensen  <achristensen@webkit.org>

        Speculative GTK build fix after r188553

        * CMakeLists.txt:
        Added new files.

2015-08-17  Myles C. Maxfield  <mmaxfield@apple.com>

        Implement IntegerHasher
        https://bugs.webkit.org/show_bug.cgi?id=147866

        Reviewed by Darin Adler and Anders Carlsson.

        Use new #include.

        * DatabaseProcess/IndexedDB/IDBIdentifier.h:
        * Platform/IPC/StringReference.cpp:

2015-08-13  Anders Carlsson  <andersca@apple.com>

        Add WKWindowFeaturesRef and a new modern createNewPage UI client callback
        https://bugs.webkit.org/show_bug.cgi?id=147989

        Reviewed by Tim Horton.

        Re-land this and make sure we actually allocate a WKWindowFeatures object.

        * Platform/IPC/mac/ConnectionMac.mm:
        * Shared/API/APIObject.h:
        * Shared/API/c/WKBase.h:
        * UIProcess/API/APIWindowFeatures.cpp: Added.
        * UIProcess/API/APIWindowFeatures.h: Added.
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/API/C/WKWindowFeaturesRef.cpp: Added.
        (WKWindowFeaturesGetTypeID):
        * UIProcess/API/C/WKWindowFeaturesRef.h: Added.
        * UIProcess/API/Cocoa/WKWindowFeatures.mm:
        (-[WKWindowFeatures dealloc]):
        (-[WKWindowFeatures menuBarVisibility]):
        (-[WKWindowFeatures statusBarVisibility]):
        (-[WKWindowFeatures toolbarsVisibility]):
        (-[WKWindowFeatures allowsResizing]):
        (-[WKWindowFeatures x]):
        (-[WKWindowFeatures y]):
        (-[WKWindowFeatures width]):
        (-[WKWindowFeatures height]):
        (-[WKWindowFeatures _apiObject]):
        (-[WKWindowFeatures _initWithWindowFeatures:]): Deleted.
        * UIProcess/API/Cocoa/WKWindowFeaturesInternal.h:
        (WebKit::wrapper):
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::createNewPage):
        * WebKit2.xcodeproj/project.pbxproj:

2015-08-17  Sam Weinig  <sam@webkit.org>

        API::PageConfiguration's sessionID needs to be set whenever the API::WebsiteDataStore is set
        https://bugs.webkit.org/show_bug.cgi?id=148097

        Reviewed by Anders Carlsson.

        We were getting an empty SessionID set on the WebPageProxy (and crashing asserting down the line)
        when using a WKPageConfiguration with a WKWebsiteDataStore set on it.

        Tests:
            WebKit2.WKPageConfigurationBasicWithDataStore
            WebKit2.WKPageConfigurationBasicWithNonPersistentDataStore

        * UIProcess/API/APIPageConfiguration.cpp:
        (API::PageConfiguration::setWebsiteDataStore):
        Set the sessionID member whenever changing the WebsiteDataStore.

        * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
        (WKWebsiteDataStoreGetDefaultDataStore):
        (WKWebsiteDataStoreCreateNonPersistentDataStore):
        * UIProcess/API/C/WKWebsiteDataStoreRef.h:
        Expose functions for getting default and new non-persistent data stores via the C-SPI. Useful
        for testing and transitioning users of the C-SPI to the new model.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        Remove explicit setting of the sessionID. This is handled by the above call to setWebsiteDataStore().

2015-08-17  Wenson Hsieh  <wenson_hsieh@apple.com>

        Cannot change WKWebView scrollView deceleration rate
        https://bugs.webkit.org/show_bug.cgi?id=148086
        <rdar://problem/21893685>

        Reviewed by Simon Fraser.

        Updates the preferred scroll deceleration factor when the scrollView's decelerationRate is explicitly set by the
        user, so when snap scrolling is inactive and [WKWebView scrollViewWillBeginDragging] sets its scrollView's
        decelerationRate to the preferred decelerationRate, it will be set to the updated value.

        * UIProcess/ios/WKScrollView.mm:
        (-[WKScrollView setDecelerationRate:]): Overrides setDecelerationRate to update _preferredScrollDecelerationFactor.

2015-08-17  Timothy Horton  <timothy_horton@apple.com>

        Adopt shrink-wrapping for TextIndicators on Mac
        https://bugs.webkit.org/show_bug.cgi?id=148064

        Reviewed by Beth Dakin.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<TextIndicatorData>::encode): Deleted.
        (IPC::ArgumentCoder<TextIndicatorData>::decode): Deleted.
        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::updateFindIndicator):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):
        Use the new option, TextIndicatorOptionIncludeMarginIfRangeMatchesSelection,
        for iOS and FindController, because we can keep the margins in these cases
        because we don't have to animate to/from the blue highlight.

2015-08-16  Timothy Horton  <timothy_horton@apple.com>

        Refactor ViewGestureController swipe snapshot removal to be more platform-independent
        https://bugs.webkit.org/show_bug.cgi?id=148062

        Reviewed by Dan Bernstein.

        * Platform/Logging.h:
        Add a ViewGestures logging channel.

        * UIProcess/ViewGestureController.cpp: Added.
        (viewGestureControllersForAllPages):
        (WebKit::ViewGestureController::ViewGestureController):
        (WebKit::ViewGestureController::~ViewGestureController):
        (WebKit::ViewGestureController::gestureControllerForPage):
        (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
        (WebKit::ViewGestureController::didRepaintAfterNavigation):
        (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
        (WebKit::ViewGestureController::didRestoreScrollPosition):
        (WebKit::ViewGestureController::didReachMainFrameLoadTerminalState):
        (WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
        (WebKit::ViewGestureController::checkForActiveLoads):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::eventsDescription):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::SnapshotRemovalTracker):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::log):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::start):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::reset):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::eventOccurred):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::cancelOutstandingEvent):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackIfPossible):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::fireRemovalCallbackImmediately):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::watchdogTimerFired):
        (WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
        Build a platform-independent SnapshotRemovalTracker, which keeps track of
        various events that we wait for before removing the snapshot. This
        is constructed from the union of ViewGestureController{IOS, Mac}'s snapshot
        removal code, and each platform ViewGestureController can specify which
        events to wait for (because this currently differs slightly).

        Add logging to SnapshotRemovalTracker to make debugging snapshot removal
        issues much easier.

        * UIProcess/mac/ViewGestureController.h:
        (WebKit::ViewGestureController::backgroundColorForCurrentSnapshot):
        (WebKit::ViewGestureController::didFinishLoadForMainFrame):
        (WebKit::ViewGestureController::didFailLoadForMainFrame):

        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (WebKit::ViewGestureController::platformTeardown):
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::endSwipeGesture):
        (WebKit::ViewGestureController::setRenderTreeSize):
        (WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree):
        (WebKit::ViewGestureController::removeSwipeSnapshot):
        (viewGestureControllersForAllPages): Deleted.
        (WebKit::ViewGestureController::ViewGestureController): Deleted.
        (WebKit::ViewGestureController::~ViewGestureController): Deleted.
        (WebKit::ViewGestureController::didRestoreScrollPosition): Deleted.
        (WebKit::ViewGestureController::mainFrameLoadDidReachTerminalState): Deleted.
        (WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame): Deleted.
        (WebKit::ViewGestureController::activeLoadMonitoringTimerFired): Deleted.
        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired): Deleted.
        (WebKit::ViewGestureController::removeSwipeSnapshotIfReady): Deleted.
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::platformTeardown):
        (WebKit::ViewGestureController::endSwipeGesture):
        (WebKit::ViewGestureController::forceRepaintIfNeeded):
        (WebKit::ViewGestureController::removeSwipeSnapshot):
        (WebKit::ViewGestureController::ViewGestureController): Deleted.
        (WebKit::ViewGestureController::~ViewGestureController): Deleted.
        (WebKit::ViewGestureController::beginSwipeGesture): Deleted.
        (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold): Deleted.
        (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame): Deleted.
        (WebKit::ViewGestureController::mainFrameLoadDidReachTerminalState): Deleted.
        (WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame): Deleted.
        (WebKit::ViewGestureController::activeLoadMonitoringTimerFired): Deleted.
        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired): Deleted.
        (WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint): Deleted.
        Move shareable snapshot removal code to a new platform-independent ViewGestureController file.
        Move the ViewGestureController constructor/destructor to the platform-independent file.

        * UIProcess/mac/ViewGestureController.messages.in:
        * WebKit2.xcodeproj/project.pbxproj:

2015-08-11  Andy Estes  <aestes@apple.com>

        [Cocoa] Add redirect support to CustomProtocolManager
        https://bugs.webkit.org/show_bug.cgi?id=147871

        Reviewed by Dan Bernstein.
        
        NSURLProtocols have the ability to generate redirect responses. This change teaches CustomProtocolManager how to handle them.

        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::wasRedirectedToRequest): Called -URLProtocol:wasRedirectedToRequest:redirectResponse: on the NSURLProtocolClient.
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/Network/CustomProtocols/CustomProtocolManager.messages.in: Defined WasRedirectedToRequest.
        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerSoup.cpp:
        (WebKit::CustomProtocolManager::wasRedirectedToRequest): Defined empty function.
        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
        (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]): If a redirect response is received, send WasRedirectedToRequest and return nil to ignore the redirect.

2015-08-13  Andy Estes  <aestes@apple.com>

        [Cocoa] Downloads do not start if policy decision is made asynchronously
        https://bugs.webkit.org/show_bug.cgi?id=147985

        Reviewed by Brady Eidson.

        * WebProcess/Network/WebResourceLoader.cpp: Updated to include SubresourceLoader.h.
        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::convertMainResourceLoadToDownload): Started a new download if the main resource loader is not calling didReceiveResponse.

2015-08-14  Simon Fraser  <simon.fraser@apple.com>

        Speculative fix for iOS build failure.

        * Shared/mac/RemoteLayerTreeTransaction.h:

2015-08-14  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, remove dead code after r188385.

        * UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
        (webkitUserMediaPermissionRequestAllow): Deleted.

2015-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix the build with !ENABLE(MEDIA_STREAM) after r188385.

        * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
        (WKUserMediaPermissionRequestDeviceNamesVideo):
        (WKUserMediaPermissionRequestDeviceNamesAudio):

2015-08-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r188386.

        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
        (webkitWindowPropertiesUpdateFromWebWindowFeatures):

2015-08-13  Tim Horton  <timothy_horton@apple.com>

        Performing a Lookup on wrapped text puts the popover arrow in the wrong place (off to the right)
        https://bugs.webkit.org/show_bug.cgi?id=148012
        <rdar://problem/19238094>

        Reviewed by Simon Fraser.

        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didPerformDictionaryLookup):
        * UIProcess/mac/WKImmediateActionController.mm:
        (-[WKImmediateActionController _animationControllerForText]):
        Adopt the new SPI, handing it the first text rect, instead of having it
        guess where to put the popover.

2015-08-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r188418.
        https://bugs.webkit.org/show_bug.cgi?id=148017

        Fix EFL after the rollout of r188404 (Requested by smfr on
        #webkit).

        Reverted changeset:

        "[CMake] Unreviewed build fix after r188404"
        http://trac.webkit.org/changeset/188418

2015-08-13  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r188404.
        https://bugs.webkit.org/show_bug.cgi?id=148014

        Broke 4 API tests (Requested by smfr on #webkit).

        Reverted changeset:

        "Add WKWindowFeaturesRef and a new modern createNewPage UI
        client callback"
        https://bugs.webkit.org/show_bug.cgi?id=147989
        http://trac.webkit.org/changeset/188404

2015-08-13  Tim Horton  <timothy_horton@apple.com>

        Try to fix the Gtk/EFL build.

        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::updateFindIndicator):

2015-08-13  Tim Horton  <timothy_horton@apple.com>

        Refactor and improve TextIndicator to prepare for tests
        https://bugs.webkit.org/show_bug.cgi?id=147622

        Reviewed by Simon Fraser.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::encodeOptionalImage):
        (IPC::decodeOptionalImage):
        (IPC::ArgumentCoder<TextIndicatorData>::encode):
        (IPC::ArgumentCoder<TextIndicatorData>::decode):
        Move encode/decodeOptionalImage to their own functions to avoid duplication.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _dictionaryLookupPopoverWillClose:]):
        (-[WKView _setTextIndicator:]):
        (-[WKView _setTextIndicator:withLifetime:]):
        (-[WKView _clearTextIndicatorWithAnimation:]):
        (-[WKView _dismissContentRelativeChildWindows]):
        (-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setTextIndicator):
        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::setTextIndicator):
        (WebKit::PageClientImpl::clearTextIndicator):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::setTextIndicator):
        (WebKit::PageClientImpl::clearTextIndicator):
        (WebKit::PageClientImpl::didPerformDictionaryLookup):
        * UIProcess/mac/WKImmediateActionController.mm:
        (-[WKImmediateActionController _animationControllerForText]):
        * WebProcess/WebPage/FindController.cpp:
        (WebKit::FindController::updateFindIndicator):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):
        (WebKit::shouldUseTextIndicatorForLink): Deleted.
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::dictionaryPopupInfoForRange):
        (WebKit::WebPage::performImmediateActionHitTestAtLocation):
        Adopt TextIndicatorOptions.
        Adjust to Range method renames.

2015-08-13  Jaehun Lim  <ljaehun.lim@samsung.com>

        [CMake] Unreviewed build fix after r188404

        * CMakeLists.txt: Add UIProcess/API/APIWindowFeatures.cpp, UIProcess/API/C/WKWindowFeaturesRef.cpp

2015-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>

        A focused node should not be assisted when handling touch events synchronously
        https://bugs.webkit.org/show_bug.cgi?id=147836
        <rdar://problem/22204108>

        Reviewed by Enrica Casucci.

        Makes interaction with touch handlers no longer assist the currently focused element in the
        general case. Added plumbing to reassist a currently focused node when dispatching touch events,
        so that an input that programmatically focuses itself and prevents default on a touch event will
        be properly assisted when it has been programmatically focused (either through Javascript or the
        autofocus attribute) prior to receiving the touch event. This patch also removes the now
        unnecessary special-casing of the Gmail settings app that currently makes the keyboard deploy
        upon autofocus.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Removed
            special case to avoid the early return for Gmail Add Account.
        * WebProcess/WebCoreSupport/WebChromeClient.h: Added a handler for refocusing an element.
        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
        (WebKit::WebChromeClient::elementDidRefocus): Makes refocusing an element trigger input
            assistance on iOS.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::dispatchTouchEvent): Removes logic to focus the currently focused element upon
            receiving a touch event.

2015-08-13  Anders Carlsson  <andersca@apple.com>

        Add WKWindowFeaturesRef and a new modern createNewPage UI client callback
        https://bugs.webkit.org/show_bug.cgi?id=147989

        Reviewed by Tim Horton.

        * Platform/IPC/mac/ConnectionMac.mm:
        * Shared/API/APIObject.h:
        * Shared/API/c/WKBase.h:
        * UIProcess/API/APIWindowFeatures.cpp: Added.
        * UIProcess/API/APIWindowFeatures.h: Added.
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/API/C/WKPageUIClient.h:
        * UIProcess/API/C/WKWindowFeaturesRef.cpp: Added.
        (WKWindowFeaturesGetTypeID):
        * UIProcess/API/C/WKWindowFeaturesRef.h: Added.
        * UIProcess/API/Cocoa/WKWindowFeatures.mm:
        (-[WKWindowFeatures dealloc]):
        (-[WKWindowFeatures menuBarVisibility]):
        (-[WKWindowFeatures statusBarVisibility]):
        (-[WKWindowFeatures toolbarsVisibility]):
        (-[WKWindowFeatures allowsResizing]):
        (-[WKWindowFeatures x]):
        (-[WKWindowFeatures y]):
        (-[WKWindowFeatures width]):
        (-[WKWindowFeatures height]):
        (-[WKWindowFeatures _apiObject]):
        (-[WKWindowFeatures _initWithWindowFeatures:]): Deleted.
        * UIProcess/API/Cocoa/WKWindowFeaturesInternal.h:
        (WebKit::wrapper):
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::createNewPage):
        * WebKit2.xcodeproj/project.pbxproj:

2015-08-13  Simon Fraser  <simon.fraser@apple.com>

        FilterOperation.h should not include FilterEffect.h
        https://bugs.webkit.org/show_bug.cgi?id=147970

        Reviewed by Daniel Bates.

        FilterEffect.h pulls in lots of JSC goop via runtime/Uint8ClampedArray.h,
        so move its include to FilterOperation.cpp.
        
        Causes include bloat because FilterOperation.h is pulled in via RenderStyle.h.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.h:

2015-08-12  Anders Carlsson  <andersca@apple.com>

        Use WTF::Optional in WindowFeatures
        https://bugs.webkit.org/show_bug.cgi?id=147956

        Reviewed by Sam Weinig.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<WindowFeatures>::encode): Deleted.
        (IPC::ArgumentCoder<WindowFeatures>::decode): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/API/Cocoa/WKWindowFeatures.mm:
        (-[WKWindowFeatures _initWithWindowFeatures:]):

2015-08-13  Matthew Daiter  <mdaiter@apple.com>

        Linking device query ability from WebKit2 to clients
        https://bugs.webkit.org/show_bug.cgi?id=147263
        <rdar://problem/21983345>

        Reviewed by Jer Noble.

        * Platform/mac/LayerHostingContext.mm:
        (WebKit::LayerHostingContext::setColorMatchUntaggedContent):
        (WebKit::LayerHostingContext::colorMatchUntaggedContent):
        * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
        (WKUserMediaPermissionRequestAllow):
        (WKUserMediaPermissionRequestDeviceNamesVideo):
        (WKUserMediaPermissionRequestDeviceNamesAudio):
        * UIProcess/API/C/WKUserMediaPermissionRequest.h:
        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
        (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Deleted.
        * UIProcess/UserMediaPermissionRequestManagerProxy.h:
        * UIProcess/UserMediaPermissionRequestProxy.cpp:
        (WebKit::UserMediaPermissionRequestProxy::allow):
        (WebKit::UserMediaPermissionRequestProxy::deny):
        * UIProcess/UserMediaPermissionRequestProxy.h:
        * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
        (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision):


2015-08-12  Alexey Proskuryakov  <ap@apple.com>

        [Mac] WebKit processes should have access to com.apple.nesessionmanager.flow-divert-token
        https://bugs.webkit.org/show_bug.cgi?id=147949
        rdar://problem/22254920

        Reviewed by Anders Carlsson.

        * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
        * WebProcess/com.apple.WebProcess.sb.in:

2015-08-12  Brian Burg  <bburg@apple.com>

        Web Inspector: CRASH under WebInspector::closeFrontend for some protocol tests
        https://bugs.webkit.org/show_bug.cgi?id=147948

        Reviewed by Joseph Pecoraro.

        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::closeFrontend): Don't invalidate the channel if it's null.
        * WebProcess/WebPage/WebInspector.h: Add default member variable values.

2015-08-12  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Not receiving responses for async request IndexedDB.requestDatabaseNames
        https://bugs.webkit.org/show_bug.cgi?id=147844

        Reviewed by Brian Burg.

        * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
        (WebKit::WebIDBFactoryBackend::getDatabaseNames):
        This method should not return without calling either the success
        or error callbacks. In this case, it can succeed with an empty list.

2015-08-12  Enrica Casucci  <enrica@apple.com>

        Element interaction should not be canceled when the menu is already being shown.
        https://bugs.webkit.org/show_bug.cgi?id=147945
        rdar://problem/22206433

        Reviewed by Beth Dakin.

        When preview is canceled by the action menu gesture, we should not stop interacting
        with the element, since the information about the element is used for the menu actions.
        We now expose a new method in the action sheet assistant to know if the action sheed is
        being shown and we use this as an indication that we should not stop the interaction
        with the element.

        * UIProcess/ios/WKActionSheetAssistant.h:
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant isShowingSheet]): Added.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interactionStoppedFromPreviewItemController:]): Do not stop
        the interaction if the sheet is being shown.

2015-08-12  Matt Rajca  <mrajca@apple.com>

        Fixed the Release build when MEDIA_SESSION is enabled.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageHandleMediaEvent):

2015-08-07  Matt Rajca  <mrajca@apple.com>

        Media Session: notify the UI process when media controls are enabled/disabled
        https://bugs.webkit.org/show_bug.cgi?id=147802

        Reviewed by Eric Carlson.

        * UIProcess/WebMediaSessionFocusManager.cpp:
        (WebKit::WebMediaSessionFocusManager::playbackAttributeDidChange): Generalized to take different attributes.
        (WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Deleted.
        * UIProcess/WebMediaSessionFocusManager.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::isPlayingMediaDidChange): Process new attributes for enabling/disabling media controls.

2015-08-12  Devin Rousso  <drousso@apple.com>

        Web Inspector: Implement selector highlighting for iOS
        https://bugs.webkit.org/show_bug.cgi?id=147919

        Reviewed by Timothy Hatcher.

        * UIProcess/WKInspectorHighlightView.mm:
        (-[WKInspectorHighlightView _layoutForNodeHighlight:offset:]):
        Added offset parameter to start drawing the highlight at that index of the highlight quad list.

        (-[WKInspectorHighlightView _layoutForNodeListHighlight:]):
        Loops through the highlight quads and draws a new highlight for every 4 highlight quad objects.

        (-[WKInspectorHighlightView update:]):
        Now uses the light highlighting for both nodes and lists of nodes.

2015-08-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        NetworkProcess: DNS prefetch happens in the Web Process
        https://bugs.webkit.org/show_bug.cgi?id=147824

        Reviewed by Alexey Proskuryakov.

        DNS prefetch requests started in the WebProcess should be sent to
        the network process when it's enabled.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::prefetchDNS): Do the
        actual DNS prefetch.
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Add
        PrefetchDNS message.
        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
        (webkitWebExtensionDidReceiveMessage): Use WebProcess::prefetchDNS().
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::prefetchDNS): Ditto.
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::sendTapHighlightForNodeIfNecessary): Use
        FrameLoaderClient to do the DNS prefetch.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::prefetchDNS): Send the request to the network
        process if it's enabled, otherwise do the actual DNS prefetch.
        * WebProcess/WebProcess.h:

2015-08-11  Hunseop Jeong  <hs85.jeong@samsung.com>

        Try to fix the EFL build after r188279
        https://bugs.webkit.org/show_bug.cgi?id=147917

        Reviewed by Gyuyoung Kim.

        Replaced the WKPageLoaderClient with variable name because it is removed in r188279.

        * UIProcess/efl/PageLoadClientEfl.cpp:
        (WebKit::PageLoadClientEfl::PageLoadClientEfl):
        * UIProcess/efl/PagePolicyClientEfl.cpp:
        (WebKit::PagePolicyClientEfl::PagePolicyClientEfl):

2015-08-11  Andy Estes  <aestes@apple.com>

        Tried again to fix the iOS build.

        * UIProcess/ios/WKGeolocationProviderIOS.mm:
        (-[WKGeolocationProviderIOS initWithProcessPool:]):

2015-08-11  Dan Bernstein  <mitz@apple.com>

        Tried to fix the iOS build.

        * UIProcess/ios/WKGeolocationProviderIOS.mm:
        (-[WKGeolocationProviderIOS initWithProcessPool:]):

2015-08-11  Andy Estes  <aestes@apple.com>

        WebFrameLoaderClient::dispatchDecidePolicyForResponse() calls an std::function after it's been moved from
        https://bugs.webkit.org/show_bug.cgi?id=147873

        Reviewed by Alexey Proskuryakov.
        
        I noticed during code inspection that we were calling an std::function after WTF::move() has been called on it.
        Calling an empty std::function results in a C++ exception being thrown. I don't know how to make a sync IPC
        message fail, so I'm not sure how to test this.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Called didReceivePolicyDecision instead.

2015-08-11  Beth Dakin  <bdakin@apple.com>

        REGRESSION (r188053): Sometimes unable to save an image from Google Search/
        imgur via long press
        https://bugs.webkit.org/show_bug.cgi?id=147896

        Reviewed by Enrica Casucci.

        http://trac.webkit.org/changeset/188053 added code to call cleanupSheet when 
        the long press gesture is cancelled. However, the gesture will be called with 
        the cancelled state when then user taps an item in the action sheet (such as 
        “save image”), and sometimes the “cancel” comes in before the image has been 
        saved. That is a problem because we need to avoid cleaning up the sheet until 
        after the image is saved. Before that patch, we never cleaned up the sheet on 
        cancel, so this patch goes back to that behavior. We also have to remove some 
        assertions that assume that everything will be totally cleaned up when a new 
        sheet is created, but that is not necessarily true due to interactions 
        between the preview gesture and the long press gesture. 

        Remove assertions.
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]):
        (-[WKActionSheetAssistant showImageSheet]):
        (-[WKActionSheetAssistant showLinkSheet]):
        (-[WKActionSheetAssistant showDataDetectorsSheet]):

        Revert the part of Enrica’s patch that called cleanupSheet when the gesture 
        is cancelled.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _longPressRecognized:]):

2015-08-11  Anders Carlsson  <andersca@apple.com>

        Remove unversioned client structs from the C SPI
        https://bugs.webkit.org/show_bug.cgi?id=147894

        Reviewed by Dan Bernstein.

        * Shared/API/c/WKConnectionRef.h:
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKContextConnectionClient.h:
        * UIProcess/API/C/WKContextDownloadClient.h:
        * UIProcess/API/C/WKContextHistoryClient.h:
        * UIProcess/API/C/WKContextInjectedBundleClient.h:
        * UIProcess/API/C/WKCookieManager.h:
        * UIProcess/API/C/WKDatabaseManager.h:
        * UIProcess/API/C/WKGeolocationManager.h:
        * UIProcess/API/C/WKIconDatabase.h:
        * UIProcess/API/C/WKNotificationProvider.h:
        * UIProcess/API/C/WKPageContextMenuClient.h:
        * UIProcess/API/C/WKPageDiagnosticLoggingClient.h:
        * UIProcess/API/C/WKPageFindClient.h:
        * UIProcess/API/C/WKPageFindMatchesClient.h:
        * UIProcess/API/C/WKPageFormClient.h:
        * UIProcess/API/C/WKPageLoaderClient.h:
        * UIProcess/API/C/WKPagePolicyClient.h:
        * UIProcess/API/C/WKPageUIClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundle.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:

2015-08-11  Dan Bernstein  <mitz@apple.com>

        Reverted r188255, because it turned out that delegates do nonot need this information.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::footerHeight):
        (API::UIClient::drawHeader):
        (API::UIClient::drawFooter):
        (API::UIClient::printFrame):
        (API::UIClient::canRunModal):
        (API::UIClient::runModal):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIDelegate):
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):
        (WebKit::UIDelegate::UIClient::printFrame):
        (WebKit::UIDelegate::UIClient::close):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::runOpenPanel):
        (WebKit::WebPageProxy::printFrame):
        (WebKit::WebPageProxy::printMainFrame):
        (WebKit::WebPageProxy::setMediaVolume):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::setShouldSendEventsSynchronously):
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::print):
        (WebKit::WebChromeClient::exceededDatabaseQuota):

2015-08-11  Dan Bernstein  <mitz@apple.com>

        [Cocoa] The UI delegate can't tell if printing was user-initiated
        https://bugs.webkit.org/show_bug.cgi?id=147869

        Reviewed by Sam Weinig.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::printFrame): Added processingUserGesture argument.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient): Updated for new client function signature.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added userInitiated boolean argument to
          -_webView:printFrame:.

        * UIProcess/Cocoa/UIDelegate.h: Added bool to m_delegateMethods for the new method.
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIDelegate):
        (WebKit::UIDelegate::setDelegate): Initialized new bool.
        (WebKit::UIDelegate::UIClient::printFrame): Pass processingUserGesture as the delegate’s
          userInitiated argument.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::printFrame): Added processingUserGesture argument, passing it along
          to the client.
        * UIProcess/WebPageProxy.h:

        * UIProcess/WebPageProxy.messages.in: Added processingUserGesture argument to printFrame.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::print): Pass new argument.

2015-08-10  Matthew Daiter  <mdaiter@apple.com>

        Add MediaDeviceIdentifier to WebsiteDataTypes
        https://bugs.webkit.org/show_bug.cgi?id=147853

        Reviewed by Jer Noble.

        * Shared/WebsiteData/WebsiteDataTypes.h:

2015-08-10  Sam Weinig  <sam@webkit.org>

        Try to fix the 32-bit build.

        * UIProcess/API/mac/WKViewInternal.h:

2015-08-08  Sam Weinig  <sam@webkit.org>

        Replace WebPageConfiguration with API::PageConfiguration and expose a C-SPI accessor for it
        https://bugs.webkit.org/show_bug.cgi?id=147811

        Reviewed by Darin Adler.

        - Adds the missing pieces from WebPageConfiguration into API::PageConfiguration.
        - Adds C-SPI to set and get the WebsiteDataStore on the WKPageConfigurationRef.
        - Uses API::PageConfiguration to pass configuration information from WKWebView/WKView 
          to WebPageProxy.
        - Stores the API::PageConfiguration on the WebPageProxy and exposes a new C-SPI function,
          WKPageCopyPageConfiguration, to get a copy of it.

        * UIProcess/API/APIPageConfiguration.cpp:
        (API::PageConfiguration::create):
        (API::PageConfiguration::PageConfiguration):
        (API::PageConfiguration::~PageConfiguration):
        (API::PageConfiguration::copy):
        (API::PageConfiguration::processPool):
        (API::PageConfiguration::setRelatedPage):
        (API::PageConfiguration::visitedLinkProvider):
        (API::PageConfiguration::setVisitedLinkProvider):
        (API::PageConfiguration::websiteDataStore):
        (API::PageConfiguration::setWebsiteDataStore):
        (API::PageConfiguration::sessionID):
        (API::PageConfiguration::setSessionID):
        (API::PageConfiguration::webPageConfiguration): Deleted.
        * UIProcess/API/APIPageConfiguration.h:
        (API::PageConfiguration::preferenceValues):
        (API::PageConfiguration::treatsSHA1SignedCertificatesAsInsecure):
        (API::PageConfiguration::setTreatsSHA1SignedCertificatesAsInsecure):
        (API::PageConfiguration::alwaysRunsAtForegroundPriority):
        (API::PageConfiguration::setAlwaysRunsAtForegroundPriority):
        (API::PageConfiguration::create): Deleted.
        * UIProcess/API/C/WKPage.cpp:
        (WKPageGetPageGroup):
        (WKPageCopyPageConfiguration):
        (WKPageLoadURL):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/C/WKPageConfigurationRef.cpp:
        (WKPageConfigurationSetRelatedPage):
        (WKPageConfigurationGetWebsiteDataStore):
        (WKPageConfigurationSetWebsiteDataStore):
        * UIProcess/API/C/WKPageConfigurationRef.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        * UIProcess/API/ios/WKViewIOS.mm:
        (-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _setPrimaryTrackingArea:]):
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
        (-[WKView initWithFrame:configurationRef:]):
        (-[WKView wantsUpdateLayer]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::create):
        (WebKit::WebPageProxy::WebPageProxy):
        (WebKit::WebPageProxy::~WebPageProxy):
        (WebKit::WebPageProxy::configuration):
        (WebKit::WebPageProxy::processIdentifier):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::pageID):
        (WebKit::WebPageProxy::sessionID):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
        (WebKit::WebProcessPool::createWebPage):
        (WebKit::WebProcessPool::download):
        * UIProcess/WebProcessPool.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::webPage):
        (WebKit::WebProcessProxy::createWebPage):
        * UIProcess/WebProcessProxy.h:
        (WebKit::WebProcessProxy::processPool):
        * UIProcess/ios/WKContentView.h:
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithProcessPool:configuration:]):
        (-[WKContentView initWithFrame:processPool:configuration:webView:]):
        (-[WKContentView initWithFrame:processPool:configuration:wkView:]):
        (-[WKContentView dealloc]):

2015-08-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r187131 and r187286.
        https://bugs.webkit.org/show_bug.cgi?id=147839

         Causing mroe frequent crashes with invalid layer bounds
        (rdar://problem/21465328) (Requested by smfr on #webkit).

        Reverted changesets:

        "[iOS] Menu drop down such as on nike.com does not stay"
        https://bugs.webkit.org/show_bug.cgi?id=147047
        http://trac.webkit.org/changeset/187131

        "[iOS] REGRESSION (187131): Loading CuteOverload zooms in to
        the top left corner."
        https://bugs.webkit.org/show_bug.cgi?id=147251
        http://trac.webkit.org/changeset/187286

2015-08-07  Matt Rajca  <mrajca@apple.com>

        Media Session: generalize isFocusedContentMediaElementPlaying so it works with other playback attributes
        https://bugs.webkit.org/show_bug.cgi?id=147797

        Reviewed by Simon Fraser.

        * UIProcess/API/C/WKMediaSessionFocusManager.cpp:
        (WKMediaSessionFocusManagerValueForPlaybackAttribute):
        (WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Deleted.
        * UIProcess/API/C/WKMediaSessionFocusManager.h:
        * UIProcess/WebMediaSessionFocusManager.cpp:
        (WebKit::WebMediaSessionFocusManager::valueForPlaybackAttribute):
        (WebKit::WebMediaSessionFocusManager::mediaControlIsEnabledDidChange):
        (WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Deleted.
        (WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Deleted.
        * UIProcess/WebMediaSessionFocusManager.h:

2015-08-10  Zan Dobersek  <zdobersek@igalia.com>

        [CoordinatedGraphics] Fix forward declarations of CoordinatedGraphicsLayerState, ViewportAttributes
        https://bugs.webkit.org/show_bug.cgi?id=147823

        Reviewed by Carlos Garcia Campos.

        * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
        * WebProcess/WebPage/LayerTreeHost.h:

2015-08-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Crash when the web view is destroyed while the screensaver DBUs proxy is being created
        https://bugs.webkit.org/show_bug.cgi?id=147780

        Reviewed by Sergio Villar Senin.

        We should cancel the screenSaverInhibitCancellable on
        dispose. Also use adoptGRef() when creating the cancellable object
        to not leak it.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseDispose):
        (webkitWebViewBaseSendInhibitMessageToScreenSaver):
        (webkitWebViewBaseInhibitScreenSaver):

2015-08-09  Chris Dumez  <cdumez@apple.com>

        Follow-up nit fixes after r187691.
        https://bugs.webkit.org/show_bug.cgi?id=128006

        Reviewed by Gavin Barraclough.

        Use modern for-loops instead of explicit iterators.

        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::AuthenticationManager::shouldCoalesceChallenge):
        (WebKit::AuthenticationManager::coalesceChallengesMatching):

2015-08-07  Filip Pizlo  <fpizlo@apple.com>

        Lightweight locks should be adaptive
        https://bugs.webkit.org/show_bug.cgi?id=147545

        Reviewed by Geoffrey Garen.

        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::clearQueuedTouchEventsForPage):
        (WebKit::EventDispatcher::getQueuedTouchEventsForPage):
        (WebKit::EventDispatcher::touchEvent):
        (WebKit::EventDispatcher::dispatchTouchEvents):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
        (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
        (WebKit::ViewUpdateDispatcher::dispatchVisibleContentRectUpdate):
        * WebProcess/WebPage/ViewUpdateDispatcher.h:

2015-08-07  Wenson Hsieh  <wenson_hsieh@apple.com>

        Temporarily allow programmatic input assistance for adding Gmail account
        https://bugs.webkit.org/show_bug.cgi?id=147792

        Reviewed by Enrica Casucci.
        <rdar://problem/22126518>

        Temporary fix for keyboard input sliding out and immediately back in upon user interaction
        in the Gmail 2-factor authentication page.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Early
            return no longer triggers due to lack of user interaction when adding a new Gmail account
            through Settings.

2015-08-07  Brady Eidson  <beidson@apple.com>

        Move concrete KeyedDecoder/Encoder implementations to WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=147757.

        Rubberstamped by Andy Estes.

        * DatabaseProcess/IndexedDB/IDBSerialization.cpp:
        (WebKit::serializeIDBKeyPath):
        (WebKit::deserializeIDBKeyPath):
        (WebKit::serializeIDBKeyData):
        (WebKit::deserializeIDBKeyData):
        
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * WebKit2.xcodeproj/project.pbxproj:

2015-08-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ compile warning also introduced in r188121.

        * UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp:
        (webkit_install_missing_media_plugins_permission_request_get_description):

2015-08-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ debug build after r188121.

        * UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp:
        (webkit_install_missing_media_plugins_permission_request_get_description):

2015-08-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GStreamer] Do not automatically show PackageKit codec installation notifications
        https://bugs.webkit.org/show_bug.cgi?id=135973

        Reviewed by Philippe Normand.

        Add InstallMissingMediaPluginsPermissionRequest to ask the API
        layer whether to allow or deny the installation of missing media
        plugins. And add a GTK+ implementation based on current permission
        request API. Replace the
        PageClientImpl::createGstInstallPluginsContext() with
        decicePolicyForInstallMissingMediaPluginsPermissionRequest() that
        passes the InstallMissingMediaPluginsPermissionRequest object to
        the API layer. The allow method receives the
        GstInstallPluginsContext now, so that it can be created by the API implementation.

        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::decicePolicyForInstallMissingMediaPluginsPermissionRequest):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.cpp: Added.
        (createGstInstallPluginsContext):
        (webkitInstallMissingMediaPluginsPermissionRequestAllow):
        (webkitInstallMissingMediaPluginsPermissionRequestDeny):
        (webkit_permission_request_interface_init):
        (webkitInstallMissingMediaPluginsPermissionRequestDispose):
        (webkit_install_missing_media_plugins_permission_request_class_init):
        (webkitInstallMissingMediaPluginsPermissionRequestCreate):
        (webkit_install_missing_media_plugins_permission_request_get_description):
        * UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequest.h: Added.
        * UIProcess/API/gtk/WebKitInstallMissingMediaPluginsPermissionRequestPrivate.h: Added.
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewRequestInstallMissingMediaPlugins):
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0.types:
        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
        * UIProcess/API/gtk/webkit2.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/efl/WebViewEfl.h:
        * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.cpp: Copied from Source/WebKit2/UIProcess/gstreamer/WebPageProxyGStreamer.cpp.
        (WebKit::InstallMissingMediaPluginsPermissionRequest::InstallMissingMediaPluginsPermissionRequest):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::~InstallMissingMediaPluginsPermissionRequest):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::allow):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::deny):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::didEndRequestInstallMissingMediaPlugins):
        * UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h: Copied from Source/WebKit2/WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp.
        (WebKit::InstallMissingMediaPluginsPermissionRequest::create):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::page):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::details):
        (WebKit::InstallMissingMediaPluginsPermissionRequest::description):
        * UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
        (WebKit::WebPageProxy::requestInstallMissingMediaPlugins):
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::requestInstallMissingMediaPlugins):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp:
        (WebKit::WebPage::requestInstallMissingMediaPlugins):

2015-08-06  Beth Dakin  <bdakin@apple.com>

        TextIndicator can have stale contentImage data and crash
        https://bugs.webkit.org/show_bug.cgi?id=147770
        -and corresponding-
        rdar://problem/22181735

        Reviewed by Tim Horton.

        If there is no contentImage or contentImageWithHighlight, set them to 
        nullptr.
        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<TextIndicatorData>::decode):

2015-08-06  Dan Bernstein  <mitz@apple.com>

        Fixed all the builds after trying to fix the non-HAVE(LINK_PREVIEW) build.

        * UIProcess/ios/WKContentViewInteraction.mm:

2015-08-06  Dan Bernstein  <mitz@apple.com>

        Fixed the non-HAVE(LINK_PREVIEW) build.

        * UIProcess/ios/WKContentViewInteraction.mm:

2015-08-06  Enrica Casucci  <enrica@apple.com>

        Cleanup action sheet only when long press is canceled (non ended).
        https://bugs.webkit.org/show_bug.cgi?id=147766
        rdar://problem/22181842

        Reviewed by Tim Horton.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _longPressRecognized:]):

2015-08-06  Matt Rajca  <mrajca@apple.com>

        Media Session: notify focus manager clients when the playing state of the focused media element changes
        https://bugs.webkit.org/show_bug.cgi?id=147745

        Reviewed by Tim Horton.

        Added plumbing to allow focus manager's clients to be notified when the focused Content media element begins
        playing or is paused.

        * UIProcess/API/C/WKMediaSessionFocusManager.cpp:
        (WKMediaSessionFocusManagerSetClient):
        * UIProcess/API/C/WKMediaSessionFocusManager.h:
        * UIProcess/WebMediaSessionFocusManager.cpp:
        (WebKit::WebMediaSessionFocusManager::initializeClient):
        (WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange):
        * UIProcess/WebMediaSessionFocusManager.h:
        * UIProcess/WebMediaSessionFocusManagerClient.cpp:
        (WebKit::WebMediaSessionFocusManagerClient::didChangePlaybackAttribute):
        * UIProcess/WebMediaSessionFocusManagerClient.h:
        * WebKit2.xcodeproj/project.pbxproj:

2015-08-06  Alex Christensen  <achristensen@webkit.org>

        Make CMake usable on Mac.
        https://bugs.webkit.org/show_bug.cgi?id=147756

        Reviewed by Tim Horton.

        * PlatformMac.cmake:
        DatabaseProcess_SOURCES needs something in order to not have errors when generating build systems from CMake.
        This doesn't fix everything, but it can now be used to build jsc again.

2015-08-06  Enrica Casucci  <enrica@apple.com>

        Build fix for iOS after http://trac.webkit.org/changeset/188053.

        Unreviewed.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _registerPreview]):

2015-08-06  Enrica Casucci  <enrica@apple.com>

        Allow long press to cancel link preview.
        https://bugs.webkit.org/show_bug.cgi?id=147743
        rdar://problem/22128839

        Reviewed by Tim Horton.

        We should be able to show the context menu at the beginnig of link preview.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _removeDefaultGestureRecognizers]):
        (-[WKContentView _addDefaultGestureRecognizers]):
        (-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
        (-[WKContentView _longPressRecognized:]):
        (-[WKContentView _singleTapRecognized:]):
        (-[WKContentView _registerPreview]):
        (-[WKContentView _unregisterPreview]):

2015-08-06  Matt Rajca  <mrajca@apple.com>

        Media Session: rename isFocusedContentMediaElementPaused and get rid of callback
        https://bugs.webkit.org/show_bug.cgi?id=147726

        Reviewed by Simon Fraser.

        - isFocusedContentMediaElementPaused should be renamed to isFocusedContentMediaElementPlaying to match recent
          refactoring work.
        - isFocusedContentMediaElementPlaying itself does not need a callback anymore because the value can be returned
          directly.

        * UIProcess/API/C/WKMediaSessionFocusManager.cpp:
        (WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Removed callback and renamed from...
        (WKMediaSessionFocusManagerIsFocusedContentMediaElementPaused): Deleted.
        * UIProcess/API/C/WKMediaSessionFocusManager.h:
        * UIProcess/WebMediaSessionFocusManager.cpp:
        (WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Removed callback and renamed from...
        (WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPaused): Deleted.
        * UIProcess/WebMediaSessionFocusManager.h:

2015-08-06  Csaba Osztrogonác  <ossy@webkit.org>

        [EFL] Bump EFL version to 1.15.0
        https://bugs.webkit.org/show_bug.cgi?id=147450

        Reviewed by Gyuyoung Kim.

        * PlatformEfl.cmake:

2015-08-06  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Crash closing a page when a context menu is open
        https://bugs.webkit.org/show_bug.cgi?id=147682

        Reviewed by Sergio Villar Senin.

        Implement WebContextMenuProxy::cancelTracking() to clear the
        internal menu when the web page is closed.

        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
        (WebKit::WebContextMenuProxyGtk::cancelTracking):
        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Deleted.
        * UIProcess/gtk/WebContextMenuProxyGtk.h:

2015-08-04  Matt Rajca  <mrajca@apple.com>

        Media Session: push paused state to the media session focus manager instead of polling
        https://bugs.webkit.org/show_bug.cgi?id=147633

        Reviewed by Simon Fraser.

        * UIProcess/WebMediaSessionFocusManager.cpp:
        (WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPaused): Report whether the focused media
         element is currently playing. The callback is no longer necessary and will be removed in a future patch in
         favor of returning a value directly.
        (WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Keep track of whether the focused media
         element is currently playing.
        * UIProcess/WebMediaSessionFocusManager.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::isPlayingMediaDidChange): If the focused media element begins/ends playing, keep track
         of its playing state.
        (WebKit::WebPageProxy::isMediaElementPaused): Deleted. We now push media playback state changes instead of
         polling.
        * UIProcess/WebPageProxy.h: isPlayingMediaDidChange is now passed the ID of the media element that triggered
         the 'playing' state change. This can be used in conjunction with the IsSourcePlaying media flag to identify
         whether the source element begin/ended playing.
        * UIProcess/WebPageProxy.messages.in: Ditto.
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::setPluginIsPlayingAudio): Since a media element did not trigger this, pass in 0 for the
         source media element.
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::isPlayingMediaDidChange): isPlayingMediaDidChange is now passed the ID of the media
         element that triggered the 'playing' state change.
        * WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::isMediaElementPaused): Deleted. We now push media playback state changes instead of polling.
        * WebProcess/WebPage/WebPage.h: Ditto.
        * WebProcess/WebPage/WebPage.messages.in: Ditto.

2015-08-05  Tim Horton  <timothy_horton@apple.com>

        PDFPlugins are clipped in link previews (and remain so when opened)
        https://bugs.webkit.org/show_bug.cgi?id=147708
        <rdar://problem/22055130>

        Reviewed by Simon Fraser.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView _supportsArbitraryLayoutModes]):
        (-[WKView _didCommitLoadForMainFrame]):
        (-[WKView _setLayoutMode:]):
        (-[WKView _setViewScale:]):
        Avoid using any layout mode other than "ViewSize" for main frame PluginDocuments,
        because they will often end up behaving incorrectly (especially with PDFPlugin,
        which is even more special in that it takes over application of page scale).

        Save any incoming changes to the viewScale and layoutMode, and re-apply
        them once we load something in the main frame that is *not* a PluginDocument.

        * UIProcess/API/mac/WKViewInternal.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scalePage):
        Make sure to reset WebCore's page scale if the main frame contains a 
        PluginDocument that takes care of page scale itself.

        (WebKit::WebPage::didCommitLoad):
        Do the same thing as what we do in WKView _didCommitLoadForMainFrame,
        but without the UI process round-trip, to avoid an ugly flash.

        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad):
        * UIProcess/WebFrameProxy.h:
        (WebKit::WebFrameProxy::containsPluginDocument):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
        Plumb and keep track of whether the main frame contains a PluginDocument or not.

2015-08-05  Filip Pizlo  <fpizlo@apple.com>

        Unreviewed, roll out http://trac.webkit.org/changeset/187972.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::performNextDatabaseTask):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown):
        (WebKit::UniqueIDBDatabase::postMainThreadTask):
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask):
        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::sendSyncMessage):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::waitForSyncReply):
        (IPC::Connection::processIncomingSyncReply):
        (IPC::Connection::connectionDidClose):
        * Platform/IPC/Connection.h:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::appendUpdate):
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::ThreadedCompositor::createCompositingThread):
        (WebKit::ThreadedCompositor::runCompositingThread):
        (WebKit::ThreadedCompositor::terminateCompositingThread):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::addCustomProtocol):
        (WebKit::CustomProtocolManager::removeCustomProtocol):
        (WebKit::CustomProtocolManager::registerScheme):
        (WebKit::CustomProtocolManager::unregisterScheme):
        (WebKit::CustomProtocolManager::supportsScheme):
        (WebKit::CustomProtocolManager::protocolForID):
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
        * WebProcess/Plugins/PluginProcessConnectionManager.h:
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::addScrollingTreeForPage):
        (WebKit::EventDispatcher::removeScrollingTreeForPage):
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
        (webkitSoupRequestInputStreamReadAsync):
        (webkitSoupRequestInputStreamAddData):

2015-08-05  Ryosuke Niwa  <rniwa@webkit.org>

        WebInspectorProxy should make WKWebView first responder
        https://bugs.webkit.org/show_bug.cgi?id=147676

        Reviewed by Timothy Hatcher.

        Revert r181927 now that WKWebView forwards the first responder role to WKView as needed.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformBringToFront):
        (WebKit::WebInspectorProxy::platformAttach):

2015-08-04  Filip Pizlo  <fpizlo@apple.com>

        Rename Mutex to DeprecatedMutex
        https://bugs.webkit.org/show_bug.cgi?id=147675

        Reviewed by Geoffrey Garen.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::postDatabaseTask):
        (WebKit::DatabaseProcess::performNextDatabaseTask):
        * DatabaseProcess/DatabaseProcess.h:
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
        (WebKit::UniqueIDBDatabase::shutdown):
        (WebKit::UniqueIDBDatabase::postMainThreadTask):
        (WebKit::UniqueIDBDatabase::performNextMainThreadTask):
        (WebKit::UniqueIDBDatabase::postDatabaseTask):
        (WebKit::UniqueIDBDatabase::performNextDatabaseTask):
        * DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::sendSyncMessage):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::waitForSyncReply):
        (IPC::Connection::processIncomingSyncReply):
        (IPC::Connection::connectionDidClose):
        * Platform/IPC/Connection.h:
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
        (WebKit::CoordinatedGraphicsScene::appendUpdate):
        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::ThreadedCompositor::createCompositingThread):
        (WebKit::ThreadedCompositor::runCompositingThread):
        (WebKit::ThreadedCompositor::terminateCompositingThread):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        (WebKit::CustomProtocolManager::addCustomProtocol):
        (WebKit::CustomProtocolManager::removeCustomProtocol):
        (WebKit::CustomProtocolManager::registerScheme):
        (WebKit::CustomProtocolManager::unregisterScheme):
        (WebKit::CustomProtocolManager::supportsScheme):
        (WebKit::CustomProtocolManager::protocolForID):
        * Shared/Network/CustomProtocols/CustomProtocolManager.h:
        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::removePluginProcessConnection):
        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
        * WebProcess/Plugins/PluginProcessConnectionManager.h:
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::addScrollingTreeForPage):
        (WebKit::EventDispatcher::removeScrollingTreeForPage):
        (WebKit::EventDispatcher::wheelEvent):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
        (webkitSoupRequestInputStreamReadAsync):
        (webkitSoupRequestInputStreamAddData):

2015-08-05  Daniel Bates  <dabates@apple.com>

        REGRESSION (r185111): Clicking phone numbers doesn't prompt to call sometimes
        https://bugs.webkit.org/show_bug.cgi?id=147678
        <rdar://problem/21827815>

        Reviewed by Brady Eidson.

        Teach WebKit to save and restore the "should open external URLs" policy.

        * Shared/SessionState.cpp:
        (WebKit::isValidEnum): Added.
        (WebKit::PageState::encode): Modified to encode the "should open external URLs" policy.
        (WebKit::PageState::decode): Modified to decode the "should open external URLs" policy.
        * Shared/SessionState.h: Added ShouldOpenExternalURLsPolicy to PageState (defaults to WebCore::ShouldOpenExternalURLsPolicy::ShouldNotAllow).
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _killWebContentProcessAndResetState]): Added; used in the unit test TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm.
        * UIProcess/API/Cocoa/WKWebViewPrivate.h: Declare -[WKWebView _killWebContentProcessAndResetState].
        * UIProcess/mac/LegacySessionStateCoding.cpp: Defined constant sessionHistoryEntryShouldOpenExternalURLsPolicyKey.
        (WebKit::encodeSessionHistory): Modified to encode the "should open external URLs" policy.
        (WebKit::decodeSessionHistoryEntry): Modified to decode the "should open external URLs" policy.
        * WebProcess/WebCoreSupport/SessionStateConversion.cpp:
        (WebKit::toPageState): Copy "should open external URLs" policy from specified history item.
        (WebKit::toHistoryItem): Apply "should open external URLs" policy from PageState to HistoryItem.

2015-08-04  Antti Koivisto  <antti@apple.com>

        Network cache fetches should have timeout
        https://bugs.webkit.org/show_bug.cgi?id=147631

        Reviewed by Andreas Kling.

        System might be under heavy I/O pressure. If it takes long time to get data from disk we should load from network instead.

        This patch introduces 1.5s timeout for disk reads. If the last dispatched cache read takes longer than that we cancel all
        active and pending reads and just load those resources from network.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::ReadOperation::ReadOperation):
        (WebKit::NetworkCache::Storage::ReadOperation::cancel):
        (WebKit::NetworkCache::Storage::ReadOperation::finish):

            Factor to functions.

        (WebKit::NetworkCache::Storage::Storage):
        (WebKit::NetworkCache::Storage::updateFileModificationTime):
        (WebKit::NetworkCache::Storage::dispatchReadOperation):
        (WebKit::NetworkCache::Storage::finishReadOperation):
        (WebKit::NetworkCache::Storage::cancelAllReadOperations):
        (WebKit::NetworkCache::Storage::dispatchPendingReadOperations):
        (WebKit::NetworkCache::Storage::dispatchPendingWriteOperations):

            Also make dispatch functions transfer the operation ownership.

        (WebKit::NetworkCache::shouldStoreBodyAsBlob):
        (WebKit::NetworkCache::Storage::dispatchWriteOperation):
        * NetworkProcess/cache/NetworkCacheStorage.h:

2015-08-04  Matt Rajca  <mrajca@apple.com>

        Media Session: add a focus manager that WebKit clients can use to access the focused media element
        https://bugs.webkit.org/show_bug.cgi?id=147629

        Reviewed by Tim Horton.

        * Shared/API/APIObject.h: Added a new type for the focus manager.
        * Shared/API/c/WKBase.h: Added a new type for the focus manager.
        * UIProcess/API/C/WKAPICast.h: Added a new type for the focus manager.
        * UIProcess/API/C/WKContext.cpp: The "global" focus manager is accessed via WKContext.
        (WKContextGetMediaSessionFocusManager):
        * UIProcess/API/C/WKContext.h:
        * UIProcess/API/C/WKMediaSessionFocusManager.cpp: Added C wrapper for WebMediaSessionFocusManager.
        (WKMediaSessionFocusManagerGetTypeID):
        (WKMediaSessionFocusManagerIsFocusedContentMediaElementPaused):
        * UIProcess/API/C/WKMediaSessionFocusManager.h: Added C wrapper for WebMediaSessionFocusManager.
        * UIProcess/WebMediaSessionFocusManager.cpp: Added to keep track of the focused media element in the UI process and let clients query this state.
        (WebKit::WebMediaSessionFocusManager::supplementName):
        (WebKit::WebMediaSessionFocusManager::create):
        (WebKit::WebMediaSessionFocusManager::WebMediaSessionFocusManager):
        (WebKit::WebMediaSessionFocusManager::refWebContextSupplement):
        (WebKit::WebMediaSessionFocusManager::derefWebContextSupplement):
        (WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPaused): Check if the media element on the focused page is paused.
        (WebKit::WebMediaSessionFocusManager::setFocusedMediaElement): Keep track of the focused page / media element pair.
        (WebKit::WebMediaSessionFocusManager::clearFocusedMediaElement): Reset the focused page / media element pair.
        * UIProcess/WebMediaSessionFocusManager.h: Added.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::isMediaElementPaused): Updated to take a UnsignedCallback.
        (WebKit::WebPageProxy::focusedContentMediaElementDidChange): Store the focused media element in the focus manager.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebProcessPool.cpp: Added WebMediaSessionFocusManager as a supplement.
        * UIProcess/WebProcessPool.h: WebMediaSessionFocusManager is a supplement, so include its header.
        * WebKit2.xcodeproj/project.pbxproj: Added new sources and ran sort-xcode-project.

2015-08-04  Anders Carlsson  <andersca@apple.com>

        Get rid of ReasonForCallingAllowPlugins since it's not used anywhere
        https://bugs.webkit.org/show_bug.cgi?id=147648

        Reviewed by Andreas Kling.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::objectContentType):
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::getPluginInfo):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::createPlugin):
        (WebKit::WebPage::canPluginHandleResponse):
        (WebKit::WebPage::canShowMIMEType):

2015-08-04  Alexey Proskuryakov  <ap@apple.com>

        Implement NPAPI redirect handling
        https://bugs.webkit.org/show_bug.cgi?id=138675
        rdar://problem/15779101

        Patch by Jeffrey Pfau, updated and tweaked by me.

        Reviewed by Anders Carlsson.

        * PluginProcess/PluginControllerProxy.cpp:
        (WebKit::PluginControllerProxy::loadURL):
        (WebKit::PluginControllerProxy::continueStreamLoad):
        (WebKit::PluginControllerProxy::cancelStreamLoad):
        (WebKit::PluginControllerProxy::didEvaluateJavaScript):
        (WebKit::PluginControllerProxy::streamWillSendRequest):
        (WebKit::PluginControllerProxy::streamDidReceiveResponse):
        * PluginProcess/PluginControllerProxy.h:
        * PluginProcess/PluginControllerProxy.messages.in:
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::willSendRequest):
        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
        (WebKit::NPN_ConvertPoint):
        (WebKit::NPN_URLRedirectResponse):
        (WebKit::initializeBrowserFuncs):
        (WebKit::netscapeBrowserFuncs):
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::getAuthenticationInfo):
        (WebKit::NetscapePlugin::registerRedirect):
        (WebKit::NetscapePlugin::urlRedirectResponse):
        (WebKit::NetscapePlugin::setIsPlayingAudio):
        (WebKit::NetscapePlugin::NPP_URLNotify):
        (WebKit::NetscapePlugin::NPP_URLRedirectNotify):
        (WebKit::NetscapePlugin::NPP_GetValue):
        (WebKit::NetscapePlugin::didEvaluateJavaScript):
        (WebKit::NetscapePlugin::streamWillSendRequest):
        (WebKit::NetscapePlugin::streamDidReceiveResponse):
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
        (WebKit::NetscapePluginStream::~NetscapePluginStream):
        (WebKit::NetscapePluginStream::willSendRequest):
        (WebKit::NetscapePluginStream::didReceiveResponse):
        (WebKit::NetscapePluginStream::stop):
        (WebKit::NetscapePluginStream::setURL):
        (WebKit::NetscapePluginStream::cancel):
        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
        (WebKit::NetscapePluginStream::streamID):
        (WebKit::NetscapePluginStream::npStream):
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/Plugin.h:
        * WebProcess/Plugins/PluginController.h:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::didEvaluateJavaScript):
        (WebKit::PluginProxy::streamWillSendRequest):
        (WebKit::PluginProxy::streamDidReceiveResponse):
        (WebKit::PluginProxy::setPluginIsPlayingAudio):
        (WebKit::PluginProxy::continueStreamLoad):
        (WebKit::PluginProxy::cancelStreamLoad):
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Plugins/PluginProxy.messages.in:
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::Stream::streamID):
        (WebKit::PluginView::Stream::Stream):
        (WebKit::PluginView::Stream::cancel):
        (WebKit::PluginView::Stream::continueLoad):
        (WebKit::buildHTTPHeaders):
        (WebKit::lastModifiedDateMS):
        (WebKit::PluginView::Stream::willSendRequest):
        (WebKit::PluginView::Stream::didReceiveResponse):
        (WebKit::PluginView::cancelStreamLoad):
        (WebKit::PluginView::continueStreamLoad):
        (WebKit::PluginView::cancelManualStreamLoad):
        * WebProcess/Plugins/PluginView.h:

2015-08-04  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r187812.

        This is not safe

        Reverted changeset:

        "[WK2] Reserve Vector capacity in VectorArgumentCoder<false,
        T, inlineCapacity>::decode()"
        https://bugs.webkit.org/show_bug.cgi?id=147619
        http://trac.webkit.org/changeset/187812

2015-08-03  Chris Dumez  <cdumez@apple.com>

        [WK2] Reserve Vector capacity in VectorArgumentCoder<false, T, inlineCapacity>::decode()
        https://bugs.webkit.org/show_bug.cgi?id=147619

        Reviewed by Andreas Kling.

        Reserve Vector capacity in VectorArgumentCoder<false, T, inlineCapacity>::decode()
        as we know the size of the Vector in advance.

        * Platform/IPC/ArgumentCoders.h:

2015-08-03  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [CoordinatedGraphics] Rearrange uses of USE_COORDINATED_GRAPHICS_MULTIPROCESS
        https://bugs.webkit.org/show_bug.cgi?id=147256

        Reviewed by Benjamin Poulain.

        Reduce uses of USE_COORDINATED_GRAPHICS_MULTIPROCESS guard in order to fix build
        breaks when USE_COORDINATED_GRAPHICS_MULTIPROCESS is off. This is first step to switch
        between multiprocess model to thread model.

        * PlatformEfl.cmake:
        * Shared/DrawingAreaInfo.h:
        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
        (WKViewFindZoomableAreaForRect):
        * UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:
        (WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
        (WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
        * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
        * UIProcess/CoordinatedGraphics/PageViewportController.cpp:
        (WebKit::PageViewportController::pageTransitionViewportReady):
        * UIProcess/CoordinatedGraphics/WebPageProxyCoordinatedGraphics.cpp:
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::commitPageTransitionViewport):
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
        (WebKit::CoordinatedDrawingArea::CoordinatedDrawingArea):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
        * WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:
        * WebProcess/WebPage/DrawingAreaImpl.cpp:
        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
        * WebProcess/WebPage/DrawingAreaImpl.h:
        * WebProcess/WebPage/LayerTreeHost.cpp:
        (WebKit::LayerTreeHost::create):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::sendViewportAttributesChanged):
        (WebKit::WebPage::pageDidRequestScroll):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-08-03  Matt Rajca  <mrajca@apple.com>

        Media Session: let UI clients query whether a media element is paused
        https://bugs.webkit.org/show_bug.cgi?id=147588

        Reviewed by Tim Horton.

        Added plumbing to determine if a page's media element is paused.

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

2015-08-03  Chris Dumez  <cdumez@apple.com>

        Make sure error handling code APIUserContentExtensionStore closes open file descriptors
        https://bugs.webkit.org/show_bug.cgi?id=147562

        Reviewed by Alex Christensen.

        Make sure error handling code APIUserContentExtensionStore closes open
        file descriptors to avoid leaking them.

        * NetworkProcess/cache/NetworkCacheData.cpp:
        (WebKit::NetworkCache::adoptAndMapFile):
        * UIProcess/API/APIUserContentExtensionStore.cpp:
        (API::compiledToFile):

2015-08-03  Beth Dakin  <bdakin@apple.com>

        Need WKWebView API to enable/disable link preview
        https://bugs.webkit.org/show_bug.cgi?id=147573
        -and corresponding-
        rdar://problem/22077836

        Reviewed by Dan Bernstein.

        WKView implementation.
        * UIProcess/API/Cocoa/WKViewPrivate.h:

        New API. Call into WKView to handle Mac.
        * UIProcess/API/Cocoa/WKWebView.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView initWithFrame:configuration:]):
        (-[WKWebView allowsLinkPreview]):
        (-[WKWebView setAllowsLinkPreview:]):

        Remove the SPI declaration from WKWebViewPrivate in order to make this API.
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:

        Handle the Mac side.
        * UIProcess/API/mac/WKView.mm:
        (-[WKView viewDidMoveToWindow]):
        (-[WKView initWithFrame:processPool:configuration:webView:]):
        (-[WKView allowsBackForwardNavigationGestures]):
        (-[WKView allowsLinkPreview]):
        (-[WKView setAllowsLinkPreview:]):

        Don’t register previews when link preview is prevented.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _registerPreview]):

2015-08-03  Tim Horton  <timothy_horton@apple.com>

        [iOS] Link previews sometimes don't hide the link highlight
        https://bugs.webkit.org/show_bug.cgi?id=147585
        <rdar://problem/22119648>

        Reviewed by Beth Dakin.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interactionStartedFromPreviewItemController:]):
        (-[WKContentView _interactionStoppedFromPreviewItemController:]):
        (-[WKContentView _previewItemController:didDismissPreview:committing:]):
        (-[WKContentView _previewItemController:willPresentPreview:forPosition:inSourceView:]): Deleted.
        Use interactionStarted/Stopped, which are always called, instead of didDismiss/willPresent,
        which are only called if we return a custom view controller from _presentedViewControllerForPreviewItemController.
        We continue using didDismiss to inform clients of dismissal because they'll
        only care if they customized the view controller.

2015-08-03  Chris Dumez  <cdumez@apple.com>

        [WK2][NetworkCache] Do not munmap() on the main thread
        https://bugs.webkit.org/show_bug.cgi?id=147569

        Reviewed by Geoffrey Garen.

        Do not munmap() on the main thread for performance reasons and
        consistency as we already make sure to mmap() on another thread.

        * NetworkProcess/cache/NetworkCacheDataCocoa.mm:
        (WebKit::NetworkCache::Data::adoptMap):

2015-08-03  Wenson Hsieh  <wenson_hsieh@apple.com>

        Inputs with the autofocus attribute cause the keyboard to not deploy
        https://bugs.webkit.org/show_bug.cgi?id=147555
        <rdar://problem/22018044>

        Reviewed by Andreas Kling.

        Upon submitting a form by pressing "Go" on the keyboard, an <input> on the next page with the
        autofocus attribute may become non-interactible. When attempting to tap on the input, nothing
        seems to happen. This is because the state of WebPage upon invoking WebPage::elementDidFocus
        indicates (incorrectly) that the input element is already focused, and therefore hits an early
        return. To solve this, we explicitly reset m_hasFocusedDueToUserInteraction upon transitioning
        to a new page.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didStartPageTransition): On iOS, resets m_hasFocusedDueToUserInteraction as
            well. It was previously thought that this would be handled by blur() called on the assisted
            element when submitting a form. However, pressing "Go" on the iOS keyboard is an implicit
            submission and does not trigger a blur event.

2015-08-03  Chris Dumez  <cdumez@apple.com>

        Fix error handling case in Cache::dumpContentsToFile()
        https://bugs.webkit.org/show_bug.cgi?id=147567

        Reviewed by Andreas Kling.

        Cache::dumpContentsToFile() was expecting openFile() to return 0 in case
        of error. However, it returns invalidPlatformFileHandle, which is -1 on
        Unix.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::dumpContentsToFile):

2015-08-03  Chris Dumez  <cdumez@apple.com>

        Make sure WebMemorySampler doesn't leak file descriptor
        https://bugs.webkit.org/show_bug.cgi?id=147564

        Reviewed by Anders Carlsson.

        WebMemorySampler was opening files but never closing them.

        * Shared/WebMemorySampler.cpp:
        (WebKit::WebMemorySampler::stop):
        * Shared/WebMemorySampler.h:

2015-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.5 release.

        * gtk/NEWS: Add release notes for 2.9.5.

2015-07-27  Matt Rajca  <mrajca@apple.com>

        Media Session: inform the UI process when the focused Content media element changes
        https://bugs.webkit.org/show_bug.cgi?id=147323

        Reviewed by Tim Horton.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::isPlayingMediaDidChange):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::focusedContentMediaElementDidChange):
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2015-07-31  Chris Dumez  <cdumez@apple.com>

        Drop dummy Timer callbacks
        https://bugs.webkit.org/show_bug.cgi?id=147516

        Reviewed by Alexey Proskuryakov.

        Drop dummy Timer callbacks in the code base. A lot of Timer callbacks
        do nothing else beside calling a particular method. In such case, we
        can use the called method as Timer callback instead.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
        (WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired): Deleted.

2015-07-31  Chris Dumez  <cdumez@apple.com>

        [WK2][NetworkCache] Drop HTTP method from NetworkCache::Key
        https://bugs.webkit.org/show_bug.cgi?id=143348

        Reviewed by Antti Koivisto.

        Drop HTTP method from NetworkCache::Key as we only cache GET responses
        for now. Even when we start caching HEAD responses, we likely will not
        want the method to be part of the key because:
        - A HEAD response can be used to update the headers of a previously cached response to GET
        - A cached GET response may be used to satisfy subsequent HEAD requests

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::makeCacheKey):
        * NetworkProcess/cache/NetworkCacheKey.cpp:
        (WebKit::NetworkCache::Key::Key):
        (WebKit::NetworkCache::Key::operator==):
        (WebKit::NetworkCache::Key::decode):
        (WebKit::NetworkCache::Key::operator=): Deleted.
        (WebKit::NetworkCache::Key::computeHash): Deleted.
        (WebKit::NetworkCache::Key::encode): Deleted.
        * NetworkProcess/cache/NetworkCacheKey.h:
        (WebKit::NetworkCache::Key::method): Deleted.

2015-07-31  Chris Dumez  <cdumez@apple.com>

        Coalesce concurrent authentication challenges for the same ProtectionSpace
        https://bugs.webkit.org/show_bug.cgi?id=147496
        <rdar://problem/16839069>

        Reviewed by Alexey Proskuryakov.

        Coalesce concurrent authentication challenges for the same ProtectionSpace.
        Ideally, this would be done in the network layer but short term, this will
        make sure the user no longer gets repeating authentication dialogs for the
        same protection space.

        This gets rid of a long-standing bug in WebKit / Safari where visiting a
        site using HTTP authentication would pop up one authentication dialog for
        each subresource being loaded from the network (especially when the main
        resource is loaded from the cache).

        * Shared/Authentication/AuthenticationManager.cpp:
        (WebKit::canCoalesceChallenge):
        (WebKit::AuthenticationManager::addChallengeToChallengeMap):
        (WebKit::AuthenticationManager::shouldCoalesceChallenge):
        (WebKit::AuthenticationManager::coalesceChallengesMatching):
        (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
        (WebKit::AuthenticationManager::useCredentialForChallenge):
        (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
        (WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
        (WebKit::AuthenticationManager::cancelChallenge):
        (WebKit::AuthenticationManager::cancelSingleChallenge):
        (WebKit::AuthenticationManager::performDefaultHandling):
        (WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
        (WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
        (WebKit::AuthenticationManager::AuthenticationManager): Deleted.
        * Shared/Authentication/AuthenticationManager.h:

2015-07-31  Joseph Pecoraro  <pecoraro@apple.com>

        Unreviewed parameter name typo fix.

        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _setHiddenPageDOMTimerThrottlingEnabled:]):

2015-07-31  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] NPAPI code crashes on Wayland
        https://bugs.webkit.org/show_bug.cgi?id=147297

        Reviewed by Žan Doberšek.

        Do not crete NPAPI plugins when runing on Wayland, since they are
        not supported. ENABLE_NETSCAPE_PLUGIN_API option used to be
        incompatible with building with the Wayland target, but now that
        we allow to build X11 and Wayland targets at the same time, we
        need runtime checks to avoid creating NPAPI plugins in Wayland.

        * UIProcess/API/gtk/WebKitSettings.cpp:
        (webkit_settings_set_enable_plugins): Do not allow to change the
        setting when running in Wayland.
        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore): Initialize
        EnablePlugins preference to false when running in Wayland.

2015-07-30  Joseph Pecoraro  <pecoraro@apple.com>

        LayoutTests/inspector frequently run slow and timeout when run in WebKit2 but not WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=147456

        Reviewed by Timothy Hatcher.

        By default, WebKit2 WebPage's on PLATFORM(COCOA) enabling DOM Timer
        throttling. Under testing, this ends up impacting Web Inspector
        tests that create their own WKWebView which never gets displayed
        and so gets throttled. Disable throttling on the Inspector's view
        during testing.

        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
        * UIProcess/API/Cocoa/WKPreferences.mm:
        (-[WKPreferences _hiddenPageDOMTimerThrottlingEnabled]):
        (-[WKPreferences _setHiddenPageDOMTimerThrottlingEnabled:]):
        SPI to toggle DOM timer throttling.

        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::createInspectorPage):
        * UIProcess/WebInspectorProxy.h:
        (WebKit::WebInspectorProxy::isUnderTest):
        Provide a way to get if we are under test, and set it before
        calling into the platform method.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        When testing, disable timer throttling.

2015-07-30  Eric Carlson  <eric.carlson@apple.com>

        [iOS] Set AirPlay discovery mode to disabled when page is hidden
        https://bugs.webkit.org/show_bug.cgi?id=147455

        Reviewed by Enrica Casucci.

        * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
        (-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]): Set discovery mode to disabled after
          the picker has been closed.
        (-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): Ditto.

2015-07-29  Dean Jackson  <dino@apple.com>

        Don't use (Details) when exposing SPI
        https://bugs.webkit.org/show_bug.cgi?id=147426
        <rdar://problem/22062407>

        Reviewed by Dan Bernstein.

        If we are declaring the interface without any implementation,
        we should use class extensions.

        * Platform/spi/ios/AssertionServicesSPI.h:
        * Platform/spi/ios/CorePDFSPI.h:
        * Platform/spi/ios/DataDetectorsUISPI.h:
        * Platform/spi/ios/ManagedConfigurationSPI.h:
        * Platform/spi/ios/UIKitSPI.h:
        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        * Shared/Network/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
        * UIProcess/_WKWebViewPrintFormatter.mm:
        * UIProcess/mac/WebPageProxyMac.mm:

2015-07-30  Chris Dumez  <cdumez@apple.com>

        [WK2][NetworkCache] Stop closing files on the main thread
        https://bugs.webkit.org/show_bug.cgi?id=147410

        Reviewed by Andreas Kling.

        After r186510, we no longer open cache files on the main thread.
        However, we still close them on the main thread. This patch makes
        sure we close the files on another thread instead.

        * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
        (WebKit::NetworkCache::IOChannel::IOChannel):

2015-07-30  Simon Fraser  <simon.fraser@apple.com>

        Convert Path applier to use std::function
        https://bugs.webkit.org/show_bug.cgi?id=147368

        Reviewed by Sam Weinig.

        Use std::function for Path::apply().

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::pathEncodeApplierFunction):
        (IPC::ArgumentCoder<Path>::encode):
        (IPC::pathPointCountApplierFunction): Deleted.

2015-07-30  Joonghun Park  <jh718.park@samsung.com>

        [EFL] Enable IndexedDB based on DatabaseProcess
        https://bugs.webkit.org/show_bug.cgi?id=147221

        Reviewed by Csaba Osztrogonác.

        * DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Add ecore_init().
        Without this call, it leads to crash when launching DatabaseProcess.
        * PlatformEfl.cmake: Add missing include_directory.
        * Shared/efl/ProcessExecutablePathEfl.cpp:
        (WebKit::executablePathOfDatabaseProcess):
        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
        (WebKit::ProcessLauncher::launchProcess):
        * UIProcess/efl/WebProcessPoolEfl.cpp:
        (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
        Add default path for indexedDB sqlite3 db file.

2015-07-30  Chris Dumez  <cdumez@apple.com>

        Minimize children vector capacity changes in PlatformCALayerRemote::recursiveBuildTransaction()
        https://bugs.webkit.org/show_bug.cgi?id=147446

        Reviewed by Simon Fraser.

        Minimize children vector capacity changes in PlatformCALayerRemote::recursiveBuildTransaction()
        by leveraging the fact that we know in advance how many layer IDs are going to be added. We
        now set the Vector size from the start, instead of clearing it and then growing the vector
        capacity when appending the layer IDs one by one.

        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (WebKit::PlatformCALayerRemote::recursiveBuildTransaction):

2015-07-30  Chris Dumez  <cdumez@apple.com>

        Mark more classes as fast allocated
        https://bugs.webkit.org/show_bug.cgi?id=147440

        Reviewed by Sam Weinig.

        Mark more classes as fast allocated for performance. We heap-allocate
        objects of those types throughout the code base.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        * NetworkProcess/cache/NetworkCacheStorage.h:
        * Platform/IPC/MessageRecorder.h:
        * Platform/mac/LayerHostingContext.h:

2015-07-29  Andy VanWagoner  <thetalecrafter@gmail.com>

        Implement basic types for ECMAScript Internationalization API
        https://bugs.webkit.org/show_bug.cgi?id=146926

        Reviewed by Benjamin Poulain.

        * Configurations/FeatureDefines.xcconfig: Enabled INTL.

2015-07-29  Chris Dumez  <cdumez@apple.com>

        [WK2] Use FastMalloc in IPC::MessageDecoder
        https://bugs.webkit.org/show_bug.cgi?id=147425

        Reviewed by Sam Weinig.

        Use FastMalloc in IPC::MessageDecoder instead of system malloc, for
        performance reasons and consistency.

        * Platform/IPC/ArgumentDecoder.cpp:
        (IPC::ArgumentDecoder::~ArgumentDecoder):
        (IPC::ArgumentDecoder::initialize):

2015-07-29  Enrica Casucci  <enrica@apple.com>

        Preview should not start if touch handler prevents default.
        https://bugs.webkit.org/show_bug.cgi?id=147423
        rdar://problem/22061043

        Reviewed by Tim Horton.

        We need to check if _highlightLongPressCanClick has not been reset before
        we allow the preview. It can be reset by a touch handler preventing default.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):

2015-07-29  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
        https://bugs.webkit.org/show_bug.cgi?id=147386

        Reviewed by Dan Bernstein.

        Make sure this also builds on iOS8.

        * Platform/IPC/mac/ConnectionMac.mm:

2015-07-29  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Seccomp] Further improvements to default web process policy
        https://bugs.webkit.org/show_bug.cgi?id=142987

        Provide various helper functions to allow more flexible construction of
        filesystem access policies.

        Reviewed by Žan Doberšek.

        Improve the policy. Also, remove ifdefs to reduce potential for breakage in non-default
        configurations.

        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

2015-07-29  Chris Dumez  <cdumez@apple.com>

        Avoid unnecessarily constructing PlatformMediaSessionManager on Document destruction
        https://bugs.webkit.org/show_bug.cgi?id=147398

        Reviewed by Jer Noble.

        Only call PlatformMediaSessionManager::stopAllMediaPlaybackForProcess() in
        destructors if an PlatformMediaSessionManager instance already exists, to 
        avoid constructing one unecessarily at that point.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::didClose):

2015-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to set the maximum number of web processes per WebKitWebContext
        https://bugs.webkit.org/show_bug.cgi?id=147108

        Reviewed by Gustavo Noronha Silva.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_set_web_process_count_limit):
        (webkit_web_context_get_web_process_count_limit):
        * UIProcess/API/gtk/WebKitWebContext.h:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

2015-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Fix empty space in popup menus when first item is selected
        https://bugs.webkit.org/show_bug.cgi?id=147358

        Reviewed by Martin Robinson.

        It happens when one of the first elements are selected, because we
        try to center the current selection on the combo element. When the
        menu is large enough to make the element centered we need to leave
        empty space at the beginning. This can be fixed by not scrolling
        to center the selected item when it's above the combo
        element. This ensure the selected item will always be visible,
        even if it's not centered. If the selected item is already
        centered or below the combo element, the behaviour doesn't change
        and we scroll to center it.

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

2015-07-28  Jincheol Jo  <jincheol.jo@navercorp.com>

        [EFL] Fix typos in ewk_extension.cpp
        https://bugs.webkit.org/show_bug.cgi?id=147396

        Reviewed by Gyuyoung Kim.

        Fix from toEwkExtendion to toEwkExtension.

        * WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:
        (toEwkExtension):
        (EwkExtension::didCreatePage):
        (EwkExtension::willDestroyPage):
        (EwkExtension::didReceiveMessage):
        (toEwkExtendion): Deleted.

2015-07-28  Alexey Proskuryakov  <ap@apple.com>

        Clean up usesAsyncCallbacks handling in ResourceHandle
        https://bugs.webkit.org/show_bug.cgi?id=147342

        Reviewed by Darin Adler.

        Update for a renaming in WebCore.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::cleanup):
        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::Download::platformInvalidate):

2015-07-28  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS: VoiceOver hangs indefinitely when an JS alert appears
        https://bugs.webkit.org/show_bug.cgi?id=147386

        Reviewed by Anders Carlsson.

        Support the iOS platform API to notify accessibility clients when the WebProcess is about to suspend (because of some modal dialog).
        Luckily, we did all the hardwork for OSX a few years ago to support this paradigm.         

        * Platform/IPC/mac/ConnectionMac.mm:
        (IPC::AccessibilityProcessSuspendedNotification):
        (IPC::Connection::willSendSyncMessage):
        (IPC::Connection::didReceiveSyncReply):

2015-07-28  Yusuke Suzuki  <utatane.tea@gmail.com>

        [ES6] Add ENABLE_ES6_MODULES compile time flag with the default value "false"
        https://bugs.webkit.org/show_bug.cgi?id=147350

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:

2015-07-28  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [iOS] REGRESSION(r168075): Fullscreen web video doesn't pause on screen lock
        https://bugs.webkit.org/show_bug.cgi?id=147269

        Reviewed by Andreas Kling.

        Media elements should pause when the application is going to EnterBackground
        under lock regardless whether it is in full screen or not.

        * Platform/spi/ios/UIKitSPI.h: Forward declare [UIApplication isSuspendedUnderLock].

        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::applicationDidEnterBackground):
        [UIApp isSuspendedUnderLock] can only be called in the UIProcess. We need
        to call it here and pass it to the WebPage in the WebProcess as part of the
        ApplicationDidEnterBackground message.
        
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in: Add the new parameter:
        'isSuspendedUnderLock' to the ApplicationDidEnterBackground message.
        
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::applicationDidEnterBackground): On iOS, the WebPage needs
        to notify the MediaSessionManagerIOS that it received the message 
        ApplicationDidEnterBackground.

2015-07-28  Yongjun Zhang  <yongjun_zhang@apple.com>

        Bounds in InteractionInformationAtPosition should be always in main frame coordinate space.
        https://bugs.webkit.org/show_bug.cgi?id=147372

        When we prepare the bounds for InteractionInformationAtPosition, we should convert the rect to
        main frame space since WKContent in UIProcess expects it to be in the web view space.

        Reviewed by Tim Horton.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation): Convert the bounding rect to main frame space if the element is inside a sub-frame.

2015-07-27  Simon Fraser  <simon.fraser@apple.com>

        PathApplierFunction should take a reference to a PathElement
        https://bugs.webkit.org/show_bug.cgi?id=147337

        Reviewed by Dan Bates.

        Convert PathApplierFunction to take a const PathElement&, since it can never be null.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::pathPointCountApplierFunction):
        (IPC::pathEncodeApplierFunction):

2015-07-28  Jer Noble  <jer.noble@apple.com>

        [iOS] Notify fullscreen controller in UIProcess whether external playback is allowed
        https://bugs.webkit.org/show_bug.cgi?id=147343

        Reviewed by Brady Eidson.

        Pass the boolean property wirelessVideoPlaybackDisabled across the UIProcess/WebProcess boundary.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::setWirelessVideoPlaybackDisabled):
        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled):
        (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
        (WebKit::WebVideoFullscreenManager::setWirelessVideoPlaybackDisabled):

2015-07-28  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Use fastMalloc instead of g_slice
        https://bugs.webkit.org/show_bug.cgi?id=147357

        Reviewed by Sergio Villar Senin.

        The use of g_slice is no longer encouraged by glib developers.

        * UIProcess/API/gtk/WebKitCredential.cpp:
        (webkitCredentialCreate):
        (webkit_credential_free):
        * UIProcess/API/gtk/WebKitJavascriptResult.cpp:
        (webkitJavascriptResultCreate):
        (webkit_javascript_result_unref):
        * UIProcess/API/gtk/WebKitMimeInfo.cpp:
        (webkitMimeInfoCreate):
        (webkit_mime_info_unref):
        * UIProcess/API/gtk/WebKitNavigationAction.cpp:
        (webkitNavigationActionCreate):
        (webkit_navigation_action_copy):
        (webkit_navigation_action_free):
        * UIProcess/API/gtk/WebKitPrivate.h:
        * UIProcess/API/gtk/WebKitScriptDialog.cpp:
        (webkitScriptDialogCopy):
        (webkitScriptDialogFree):
        * UIProcess/API/gtk/WebKitUserContent.cpp:
        (webkit_user_style_sheet_unref):
        (webkit_user_style_sheet_new):
        (webkit_user_script_unref):
        (webkit_user_script_new):

2015-07-27  Dan Bernstein  <mitz@apple.com>

        [iOS] REGRESSION (r187376): Form editing buttons are missing from the Shortcut Bar
        https://bugs.webkit.org/show_bug.cgi?id=147351

        Reviewed by Adele Peterson.

        We were relying on -[WKContentView inputAccessoryView] getting called to initialize the form
        accessory view, even when that method would always return nil, as it does on iPad. After
        r187376, that method changed to initializing the view only when returning it, which caused
        this bug.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _displayFormNodeInputView]): Call the new -_ensureFormAccessoryView from
        here, when we are going to need the view.
        (-[WKContentView _ensureFormAccessoryView]): Moved initialization code from
        -inputAccessoryView here, and removed outdated +instancesRespondToSelector: check.
        (-[WKContentView inputAccessoryView]): Now calls through -formAccessoryView.
        (-[WKContentView formAccessoryView]): Added call to -_ensureFormAccessoryView here.

2015-07-27  Andreas Kling  <akling@apple.com>

        WebsiteDataStore should clean up its storage in the network process when destroyed.
        <https://webkit.org/b/147349>
        <rdar://problem/21838764>

        Reviewed by Darin Adler.

        Have ~WebsiteDataStore() send a DestroyPrivateBrowsingSession message to all networking processes
        for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
        CFNetwork object graph.

        This complements r187115 which did the same for network process storage owned by
        API::Session objects.

        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::WebsiteDataStore::~WebsiteDataStore):

2015-07-27  Tim Horton  <timothy_horton@apple.com>

        First in-window viewStateChange synchronously blocks despite not previously being in-window
        https://bugs.webkit.org/show_bug.cgi?id=147344
        <rdar://problem/22021772>

        Reviewed by Simon Fraser.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::updateViewState):
        (WebKit::WebPageProxy::dispatchViewStateChange):
        The whole point of m_viewWasEverInWindow was so that we would not
        synchronously wait when a view was added to a window for the first time,
        only all subsequent times.

        However, since m_viewWasEverInWindow was being set *before* being
        checked in dispatchViewStateChange, we were always blocking. This is
        a huge waste of main-thread time, because there's no reason to wait
        for the first paint if you've never seen the view before (and shouldn't
        expect it to have content).

        Instead, set the flag after dispatching a view state change, so it becomes
        "have we ever sent a view state with IsInWindow set" instead.

2015-07-27  Tim Horton  <timothy_horton@apple.com>

        [iOS] Long press or link click can sometimes trigger during/after a preview
        https://bugs.webkit.org/show_bug.cgi?id=147338
        <rdar://problem/22020770>

        Reviewed by Enrica Casucci.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _longPressRecognized:]):
        Bail if we're previewing.

        (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
        (-[WKContentView _presentedViewControllerForPreviewItemController:]):
        Always avoid allowing clicks and start interaction when previewing a link.

2015-07-27  Andreas Kling  <akling@apple.com>

        [iOS] Occasional crashes in WebPage::elementDidBlur()'s async block.
        <https://webkit.org/b/147281>
        <rdar://problem/21701858>

        Reviewed by Anders Carlsson.

        Protect the WebPage object until the dispatch_async block has finished.
        I have no way to repro this, but there's evidence of some crashing here.

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

2015-07-27  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Seccomp] Set appropriate filters when trapping syscalls by default
        https://bugs.webkit.org/show_bug.cgi?id=142983

        If we trap syscalls by default, we must not set separate filters to trap
        anything here, since it will fail causing us to crash.

        But also, there are some things we must allow unconditionally even when
        trapping by default. sigreturn, obviously. Also, let's whitelist brk
        here instead of in platform-specific code.

        Reviewed by Žan Doberšek.

        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SeccompBroker::launchProcess): Don't trap sigprocmask or sigaction unless allow is
        the default action. Also, allow sigreturn and brk is allow is not the default.
        * Shared/linux/SeccompFilters/SeccompFilters.cpp: Added
        (WebKit::SeccompFilters::defaultAction):
        * Shared/linux/SeccompFilters/SeccompFilters.h: Added defaultAction

2015-07-27  Matthew Daiter  <mdaiter@apple.com>

        Renamed duplicate vectors inside UserMediaPermissionRequestProxy
        https://bugs.webkit.org/show_bug.cgi?id=147321
        <rdar://problem/22011290>

        Reviewed by Eric Carlson.

        * UIProcess/UserMediaPermissionRequestProxy.cpp:
        (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):
        * UIProcess/UserMediaPermissionRequestProxy.h:
        (WebKit::UserMediaPermissionRequestProxy::videoDeviceUIDs):
        (WebKit::UserMediaPermissionRequestProxy::audioDeviceUIDs):
        (WebKit::UserMediaPermissionRequestProxy::deviceUIDsVideo): Deleted.
        (WebKit::UserMediaPermissionRequestProxy::deviceUIDsAudio): Deleted.
        * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
        (WebKit::UserMediaPermissionRequestManager::startRequest):

2015-07-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Pass a GstInstallPluginsContext to gst_install_plugins_async
        https://bugs.webkit.org/show_bug.cgi?id=147103

        Reviewed by Philippe Normand.

        This allows PackageKit to properly position the window and make it
        transient to the web view window.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::setCursor): Disambiguate Cursor now that
        we include gtkx.h.
        (WebKit::PageClientImpl::createGstInstallPluginsContext): Create a
        new GstInstallPluginsContext and set the web view window XID when
        running on X11.
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/PageClient.h:
        * UIProcess/efl/WebViewEfl.h:
        * UIProcess/gstreamer/WebPageProxyGStreamer.cpp:
        (WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Use
        PageClient::createGstInstallPluginsContext() to create a new
        GstInstallPluginsContext and pass it to gst_install_plugins_async().

2015-07-26  Gwang Yoon Hwang  <yoon@igalia.com>

        [ThreadedCompositor] Unreviewed build fix after r186059
        https://bugs.webkit.org/show_bug.cgi?id=147315

        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::ThreadedCompositor::glContext):
        Explicitly cast u_int64 to GLNativeWindowType.
        * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
        (WebKit::ThreadedCoordinatedLayerTreeHost::create):
        Update declaration to match with modified definition.


2015-07-26  Chris Dumez  <cdumez@apple.com>

        [WK2][iOS] WebContent process main thread should have fixed priority
        https://bugs.webkit.org/show_bug.cgi?id=147313
        <rdar://problem/22003112>

        Reviewed by Darin Adler.

        WebContent process main thread should have fixed priority on iOS 9.
        Priority decay regresses PLT and fixing the main thread's priority
        gives up a ~3% progression on warm PLT (tested on iPhone 5s).

        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::platformInitializeWebProcess):

2015-07-26  Dan Bernstein  <mitz@apple.com>

        Suppressed an Xcode 7 warning about including a nib in an iOS build product.

        * Configurations/BaseLegacyProcess.xcconfig: Exclude xib files on iOS.
        * Configurations/BaseXPCService.xcconfig: Ditto.

2015-07-24  Ryosuke Niwa  <rniwa@webkit.org>

        iOS 8 build fix attempt after r187215.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Deleted.

2015-07-24  Yongjun Zhang  <yongjun_zhang@apple.com>

        Don't create UIWebFormAccessory if we don't require accessory view.
        https://bugs.webkit.org/show_bug.cgi?id=147283

        Don't try to intialize _formAccessoryView if requiresAccessoryView returns false since we don't
        need it yet.

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView inputAccessoryView]):

2015-07-24  Anders Carlsson  <andersca@apple.com>

        WKWebsiteDataStore remove methods don't properly delete cookies
        https://bugs.webkit.org/show_bug.cgi?id=147282
        rdar://problem/21948230

        Reviewed by Sam Weinig.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
        Call deleteCookiesForHostnames instead of iterating over each hostname.

        * WebProcess/Cookies/WebCookieManager.cpp:
        (WebKit::WebCookieManager::deleteCookiesForHostname):
        Call deleteCookiesForHostnames.

2015-07-24  Anders Carlsson  <andersca@apple.com>

        Networking process crash in NetworkConnectionToWebProcess::convertMainResourceLoadToDownload while attempting to download a blob
        https://bugs.webkit.org/show_bug.cgi?id=147276
        rdar://problem/21423353

        Reviewed by Andreas Kling.

        We currently don't support downloading blobs, so for now just bail if we encounter a null loader inside
        convertMainResourceLoadToDownload (which happens when trying to download a blob URL).

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):
        Rewrite the assertion to be more clear - it's fine to do an extra hash lookup in debug builds.

        (WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
        Bail if loader is null.

2015-07-24  Yusuke Suzuki  <utatane.tea@gmail.com>

        Remove runtime flags for symbols
        https://bugs.webkit.org/show_bug.cgi?id=147246

        Reviewed by Alex Christensen.

        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:

2015-07-24  Yusuke Suzuki  <utatane.tea@gmail.com>

        Object.getOwnPropertySymbols on large list takes very long
        https://bugs.webkit.org/show_bug.cgi?id=146137

        Reviewed by Mark Lam.

        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
        (WebKit::NPJSObject::enumerate):

2015-07-24  Simon Fraser  <simon.fraser@apple.com>

        Recode.net gets into a continual resize loop in split fullscreen
        https://bugs.webkit.org/show_bug.cgi?id=147266
        rdar://problem/21409047

        Reviewed by Tim Horton.
        
        In split fullscreen, we use fixed layout and scale to shrink pages down to
        fit a given width. This is re-evaluated every time the document width changes.
        However some pages, like recode.net, end up continually resizing because
        when laid out unconstrained they use a narrower width than when laid out with
        a fixed layout size. In fixed layout, they actually use more width than the fixed
        layout size.
        
        Detect and break this cycle by just not re-scaling when we've done one fixed layout,
        and the document is now taking more width than the fixed layout width.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

2015-07-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GStreamer] Crashes during plugin installation
        https://bugs.webkit.org/show_bug.cgi?id=144099

        Reviewed by Philippe Normand.

        Move the missing plugins installation to the UI process, ensuring
        there's a single installer running and cancelling the request when
        the page is closed or the media player is deleted.

        * PlatformEfl.cmake: Add new files to compilation.
        * PlatformGTK.cmake: Ditto.
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in: Add
        RequestInstallMissingMediaPlugins message.
        * UIProcess/gstreamer/WebPageProxyGStreamer.cpp: Added.
        (WebKit::WebPageProxy::requestInstallMissingMediaPlugins): Call
        gst_install_plugins_async() and send
        DidEndRequestInstallMissingMediaPlugins message back to the web
        process when done.
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::requestInstallMissingMediaPlugins): Call
        WebPage::requestInstallMissingMediaPlugins().
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::close): Invalidate the install missing plugins
        request callback.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in: Add
        DidEndRequestInstallMissingMediaPlugins message.
        * WebProcess/WebPage/gstreamer/WebPageGStreamer.cpp: Added.
        (WebKit::WebPage::requestInstallMissingMediaPlugins): Send
        RequestInstallMissingMediaPlugins to the UI process or complete
        the request early if there's already a request in progress.
        (WebKit::WebPage::didEndRequestInstallMissingMediaPlugins):
        Complete the request.

2015-07-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix the build with MEDIA_STREAM disabled after r187282.

        RealtimeMediaSource is only defined when MEDIA_STREAM is enabled.

        * UIProcess/UserMediaPermissionRequestProxy.cpp:
        * UIProcess/UserMediaPermissionRequestProxy.h:

2015-07-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r187100): [GTK] ASSERTION FAILED: Attempt to access post layout data before receiving it when typing backspace
        https://bugs.webkit.org/show_bug.cgi?id=147196

        Reviewed by Žan Doberšek.

        Do not try to use the PostLayoutData from EditorState when
        isMissingPostLayoutData is true. That happens when there's a
        layout pending, and EditorStateChanged is sent again after that
        layout with the post layout data. So we can just return early and
        wait until the second message.

        * UIProcess/API/gtk/WebKitEditorState.cpp:
        (webkitEditorStateChanged):
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseUpdateTextInputState):

2015-07-23  Alex Christensen  <achristensen@webkit.org>

        Fix 32-bit build after r187272.

        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
        Added some WK_API_ENABLED.

2015-07-23  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21929532> REGRESSION (r184026): Safari AutoFill with Contact info for phone number is broken
        https://bugs.webkit.org/show_bug.cgi?id=147249

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKRemoteObjectCoder.mm:
        (encodeObject): Use encodeString only for strings that encode as NSString or
        NSMutableString. It can’t encode arbitrary NSString subclasses.
        (decodeObject): Use decodeString for NSMutableString as well.

2015-07-23  Zalan Bujtas  <zalan@apple.com>

        [iOS] REGRESSION (187131): Loading CuteOverload zooms in to the top left corner.
        https://bugs.webkit.org/show_bug.cgi?id=147251
        rdar://problem/21953359

        Calling zoomToRect() should result in essentially the same zoom scale as if we
        called setZoomScale with the new page scale factor.
 
        Reviewed by Benjamin Poulain.

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

2015-07-23  Matthew Daiter  <mdaiter@apple.com>

        Linking WebKit2 to be able to grab media sources from a UID
        https://bugs.webkit.org/show_bug.cgi?id=147202
        <rdar://problem/21947608>

        Reviewed by Brent Fulgham.

        * UIProcess/UserMediaPermissionRequestProxy.cpp:
        (WebKit::UserMediaPermissionRequestProxy::getDeviceNameForUID):
        * UIProcess/UserMediaPermissionRequestProxy.h:

2015-07-23  Alex Christensen  <achristensen@webkit.org>

        Remove compile and runtime flags for promises.
        https://bugs.webkit.org/show_bug.cgi?id=147244

        Reviewed by Yusuke Suzuki.

        * Configurations/FeatureDefines.xcconfig:
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:

2015-07-21  Jer Noble  <jer.noble@apple.com>

        Notify the UI delegate when a MediaDocument's natural size changes
        https://bugs.webkit.org/show_bug.cgi?id=147182

        Reviewed by Simon Fraser.

        Pipe notifications of media document natural size changes up from the chrome client, through
        to the UIProcess,  through the page client, through the WKWebView, to the UIDelegate.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::mediaDocumentNaturalSizeChanged):
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _mediaDocumentNaturalSizeChanged:]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged):
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mediaDocumentNaturalSizeChanged):
        * WebProcess/WebPage/WebPage.h:
        * UIProcess/API/gtk/PageClientImpl.h: Add default, empty implementation of new pure-virtual method.
        * UIProcess/efl/WebViewEfl.h: Ditto.

2015-07-23  Enrica Casucci  <enrica@apple.com>

        Removing one incorrect annotation from the previous change.

        Unreviewed.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

2015-07-23  Enrica Casucci  <enrica@apple.com>

        [iOS] Add another preview delegate for didDismissPreview.
        https://bugs.webkit.org/show_bug.cgi?id=147241
        rdar://problem/21664211

        Reviewed by Tim Horton and Yongjun Zhang.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _previewItemController:didDismissPreview:committing:]):

2015-07-23  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21910578> Second pass at [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
        https://bugs.webkit.org/show_bug.cgi?id=146732

        Reviewed by Darin Adler.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interpretKeyEvent:isCharEvent:]): Rather than checking if the view is
        first responder, which it might still be when the Web Content processes invokes this
        callback, check if we are in editable content before forwarding the event to the keyboard.

2015-07-23  Jer Noble  <jer.noble@apple.com>

        Unreviewed build fix after r187251; rename flag -> allows.

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

2015-07-23  Alex Christensen  <achristensen@webkit.org>

        [iOS] Unreviewed build fix after r187251.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback):
        Use the correct name for the boolean to pass along to SetAllowsMediaDocumentInlinePlayback.

2015-07-23  Enrica Casucci  <enrica@apple.com>

        One more iOS build fix.

        Unreviewed.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/ios/WKContentViewInteraction.h:

2015-07-23  Matthew Daiter  <mdaiter@apple.com>

        Bridged passing lists of devices between the UIProcess and the WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=147056
        <rdar://problem/21883094>

        Reviewed by Brent Fulgham.

        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp: Modified file
        to reflect changes made to the header in the .messages.in file
        (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Ditto
        (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision):
        * UIProcess/UserMediaPermissionRequestManagerProxy.h: Ditto
        * UIProcess/UserMediaPermissionRequestProxy.cpp: Ditto
        (WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy):
        * UIProcess/UserMediaPermissionRequestProxy.h:
        (WebKit::UserMediaPermissionRequestProxy::create):
        (WebKit::UserMediaPermissionRequestProxy::deviceUIDsVideo):
        (WebKit::UserMediaPermissionRequestProxy::deviceUIDsAudio):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in: Changed heading
        * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
        (WebKit::UserMediaPermissionRequestManager::startRequest):
        (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision):
        * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didReceiveUserMediaPermissionDecision):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in: Changed heading

2015-07-23  Yongjun Zhang  <yongjun_zhang@apple.com>

        Adopt the new _previewItemControllerDidCancelPreview delegate method.
        https://bugs.webkit.org/show_bug.cgi?id=147238

        Don't allow hightlight long press to trigger tap if the link preview is cancelled because
        the link is not preview-able.

        Reviewed by Beth Dakin.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _previewItemControllerDidCancelPreview:]): 

2015-07-23  Enrica Casucci  <enrica@apple.com>

        iOS build fix after http://trac.webkit.org/changeset/187238.

        Unreviewed.

        * Platform/spi/ios/UIKitSPI.h:

2015-07-23  Jer Noble  <jer.noble@apple.com>

        [WK2] Add a WKWebView property for whether the view is displaying a media document
        https://bugs.webkit.org/show_bug.cgi?id=147233

        Reviewed by Beth Dakin.

        Add a _isDisplayingStandaloneMediaDocument property, which queries the frame for whether
        the current MIME type is one which our media engines support.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _isDisplayingStandaloneMediaDocument]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::isDisplayingStandaloneMediaDocument):
        * UIProcess/WebFrameProxy.h:

2015-07-21  Jer Noble  <jer.noble@apple.com>

        [iOS] Add an explicit API to allow media documents to (temporarily) play inline
        https://bugs.webkit.org/show_bug.cgi?id=147181

        Reviewed by Beth Dakin.

        Add a WKWebView(Private) API which allows MediaDocuments loaded by the view to play their contents inline, regardless
        of whether inline playback is restricted on the current device.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _setRequiresUserActionForMediaPlayback:]): Added. Pass through to WebPageProxy.
        (-[WKWebView _allowsMediaDocumentInlinePlayback]): Ditto.
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::allowsMediaDocumentInlinePlayback): Simple getter.
        (WebKit::WebPageProxy::setAllowsMediaDocumentInlinePlayback): Set, and conditionally pass the new value to WebPage.
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::setAllowsMediaDocumentInlinePlayback): Set, and conditionally notify WebCore page of the change.
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::allowsMediaDocumentInlinePlayback): Simple getter.
        * WebProcess/WebPage/WebPage.messages.in: Add new messages.

2015-07-23  Beth Dakin  <bdakin@apple.com>

        Should not allow previews of 1x1 images
        https://bugs.webkit.org/show_bug.cgi?id=147237
        -and corresponding-
        rdar://problem/21968460

        Reviewed by Tim Horton.

        1x1 images are used on some sites to cover actual images, which leads to a 
        misleading preview experience. There is not any reason why you would really 
        want to preview an image this small nor any reason to believe that the 
        preview would result in anything useful.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-07-23  Brady Eidson  <beidson@apple.com>

        Crash in WebPlatformStrategies::createPingHandle - Deref a null NetworkingContext.
        <rdar://problem/21949735> and https://bugs.webkit.org/show_bug.cgi?id=147227

        Reviewed by Alexey Proskuryakov.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createPingHandle): Skip it if there's a null NetworkingContext.

2015-07-23  Tim Horton  <timothy_horton@apple.com>

        Remove some files that should have been removed with WebKit2 Windows
        https://bugs.webkit.org/show_bug.cgi?id=147223

        Reviewed by Csaba Osztrogonác.

        * Shared/API/c/cf/WKURLRequestCF.cpp: Removed.
        * Shared/API/c/cf/WKURLRequestCF.h: Removed.
        * Shared/API/c/cf/WKURLResponseCF.cpp: Removed.
        * Shared/API/c/cf/WKURLResponseCF.h: Removed.

2015-07-23  Timothy Horton  <timothy_horton@apple.com>

        Fix the build

        * Platform/spi/ios/UIKitSPI.h:

2015-07-23  Tim Horton  <timothy_horton@apple.com>

        Remove files that were meant to be removed in r173929

        * WebProcess/WebPage/mac/WebInspectorMac.mm: Removed.

2015-07-23  Tim Horton  <timothy_horton@apple.com>

        Remove files that were meant to be removed in r168213

        * UIProcess/API/Cocoa/WKErrorRecoveryAttempting.h: Removed.

2015-07-23  Tim Horton  <timothy_horton@apple.com>

        Remove files that were meant to be removed in r168229

        * UIProcess/API/Cocoa/WKSession.h: Removed.
        * UIProcess/API/Cocoa/WKSession.mm: Removed.
        * UIProcess/API/Cocoa/WKSessionInternal.h: Removed.

2015-07-23  Tim Horton  <timothy_horton@apple.com>

        Remove files that were meant to be removed in r165014

        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Removed.
        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Removed.

2015-07-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to allow executing editing commands that require an argument
        https://bugs.webkit.org/show_bug.cgi?id=146781

        Reviewed by Gustavo Noronha Silva.

        Commands like InsertImage or CreateLink receive an argument, but
        we only have webkit_web_view_execute_editing_command() that
        doesn't receive any argument. This patch adds
        webkit_web_view_execute_editing_command_with_argument() for those
        commands. It also adds WEBKIT_EDITING_COMMAND_INSERT_IMAGE and
        WEBKIT_EDITING_COMMAND_CREATE_LINK to the predefined editing commands.

        * UIProcess/API/gtk/WebKitEditingCommands.h: Add
        WEBKIT_EDITING_COMMAND_INSERT_IMAGE and WEBKIT_EDITING_COMMAND_CREATE_LINK.
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkit_web_view_execute_editing_command_with_argument):
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::executeEditCommand): Pass also the argument
        to the message.
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::executeEditCommand): Add the argument parameter
        to the message handler.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in: Add argument parameter
        to ExecuteEditCommand message.

2015-07-22  Sukolsak Sakshuwong  <sukolsak@gmail.com>

        Add ENABLE_WEBASSEMBLY feature flag for WebAssembly
        https://bugs.webkit.org/show_bug.cgi?id=147212

        Reviewed by Filip Pizlo.

        * Configurations/FeatureDefines.xcconfig:

2015-07-22  James Savage  <james.savage@apple.com>

        Use updated CoreAnimation snapshot SPI.
        https://bugs.webkit.org/show_bug.cgi?id=147197
        <rdar://problem/21032083>

        Reviewed by Tim Horton.
        Patch by James Savage.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

2015-07-22  Timothy Horton  <timothy_horton@apple.com>

        Fix the build

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):
        (-[WKContentView cleanupInteraction]):

2015-07-22  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r187196.
        https://bugs.webkit.org/show_bug.cgi?id=147213

        broke all the iOS builds (Requested by thorton on #webkit).

        Reverted changeset:

        "Use updated CoreAnimation snapshot SPI."
        https://bugs.webkit.org/show_bug.cgi?id=147197
        http://trac.webkit.org/changeset/187196

2015-07-22  Tim Horton  <timothy_horton@apple.com>

        Fix the build

        * UIProcess/ios/WKContentViewInteraction.h:

2015-07-22  Tim Horton  <timothy_horton@apple.com>

        [iOS] Adjust the preview architecture
        https://bugs.webkit.org/show_bug.cgi?id=147203
        <rdar://problem/21945775>

        Reviewed by Simon Fraser.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
        Link previews should win over image previews if both are possible.

2015-07-22  James Savage  <james.savage@apple.com>

        Use updated CoreAnimation snapshot SPI.
        https://bugs.webkit.org/show_bug.cgi?id=147197

        Reviewed by Tim Horton.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

2015-07-22  Tim Horton  <timothy_horton@apple.com>

        [iOS] Adjust the preview architecture
        https://bugs.webkit.org/show_bug.cgi?id=147203
        <rdar://problem/21945775>

        Reviewed by Beth Dakin.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _setAllowsLinkPreview:]): Deleted.
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView willMoveToWindow:]): Deleted.
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView setupInteraction]):
        (-[WKContentView cleanupInteraction]):
        (-[WKContentView _registerPreview]):
        (-[WKContentView _unregisterPreview]):
        (-[WKContentView _interactionShouldBeginFromPreviewItemController:forPosition:]):
        (-[WKContentView _dataForPreviewItemController:atPosition:type:]):
        (-[WKContentView _presentationRectForPreviewItemController:]):
        (-[WKContentView _presentedViewControllerForPreviewItemController:]):
        (-[WKContentView _previewItemController:commitPreview:]):
        (-[WKContentView _previewItemController:willPresentPreview:forPosition:inSourceView:]):
        (-[WKContentView _previewItemController:didDismissPreview:committing:]):
        (-[WKContentView _presentationSnapshotForPreviewItemController:]):
        (-[WKContentView _presentationRectsForPreviewItemController:]):
        (-[WKContentView gestureRecognizerShouldBegin:]): Deleted.
        (-[WKContentView _registerPreviewInWindow:]): Deleted.
        (-[WKContentView _unregisterPreviewInWindow:]): Deleted.
        (-[WKContentView previewViewControllerForPosition:inSourceView:]): Deleted.
        (-[WKContentView commitPreviewViewController:]): Deleted.
        (-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]): Deleted.
        (-[WKContentView didDismissPreviewViewController:committing:]): Deleted.
        Register and unregister in setup/cleanupInteraction instead of when moving between windows.
        Implement 'shouldBegin' instead of interacting directly with the recognizer.
        Make use of system enums instead of our own.
        Let UIPreviewItemController handle shrink-wrapping and the indicator view.

2015-07-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] Support indexeddb for WK2
        https://bugs.webkit.org/show_bug.cgi?id=145867

        Reviewed by Csaba Osztrogonác.

        Add stub implementation for indexeddb. Move KeyedDecoder and KeyedEncoder from gtk to glib
        in order to share it between GTK and EFL ports.

        * DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp:
        * DatabaseProcess/efl/DatabaseProcessMainEfl.cpp: Copied from Source/WebKit2/DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp.
        (WebKit::DatabaseProcessMainUnix):
        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/glib/KeyedDecoder.cpp: Renamed from Source/WebKit2/Shared/gtk/KeyedDecoder.cpp.
        (WebKit::KeyedDecoder::KeyedDecoder):
        (WebKit::KeyedDecoder::~KeyedDecoder):
        (WebKit::KeyedDecoder::dictionaryFromGVariant):
        (WebKit::KeyedDecoder::decodeBytes):
        (WebKit::KeyedDecoder::decodeSimpleValue):
        (WebKit::KeyedDecoder::decodeBool):
        (WebKit::KeyedDecoder::decodeUInt32):
        (WebKit::KeyedDecoder::decodeInt32):
        (WebKit::KeyedDecoder::decodeInt64):
        (WebKit::KeyedDecoder::decodeFloat):
        (WebKit::KeyedDecoder::decodeDouble):
        (WebKit::KeyedDecoder::decodeString):
        (WebKit::KeyedDecoder::beginObject):
        (WebKit::KeyedDecoder::endObject):
        (WebKit::KeyedDecoder::beginArray):
        (WebKit::KeyedDecoder::beginArrayElement):
        (WebKit::KeyedDecoder::endArrayElement):
        (WebKit::KeyedDecoder::endArray):
        * Shared/glib/KeyedDecoder.h: Renamed from Source/WebKit2/Shared/gtk/KeyedDecoder.h.
        * Shared/glib/KeyedEncoder.cpp: Renamed from Source/WebKit2/Shared/gtk/KeyedEncoder.cpp.
        (WebKit::KeyedEncoder::KeyedEncoder):
        (WebKit::KeyedEncoder::~KeyedEncoder):
        (WebKit::KeyedEncoder::encodeBytes):
        (WebKit::KeyedEncoder::encodeBool):
        (WebKit::KeyedEncoder::encodeUInt32):
        (WebKit::KeyedEncoder::encodeInt32):
        (WebKit::KeyedEncoder::encodeInt64):
        (WebKit::KeyedEncoder::encodeFloat):
        (WebKit::KeyedEncoder::encodeDouble):
        (WebKit::KeyedEncoder::encodeString):
        (WebKit::KeyedEncoder::beginObject):
        (WebKit::KeyedEncoder::endObject):
        (WebKit::KeyedEncoder::beginArray):
        (WebKit::KeyedEncoder::beginArrayElement):
        (WebKit::KeyedEncoder::endArrayElement):
        (WebKit::KeyedEncoder::endArray):
        (WebKit::KeyedEncoder::finishEncoding):
        * Shared/glib/KeyedEncoder.h: Renamed from Source/WebKit2/Shared/gtk/KeyedEncoder.h.
        * UIProcess/Databases/efl/DatabaseProcessProxyEfl.cpp: Copied from Source/WebKit2/DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp.
        (WebKit::DatabaseProcessProxy::platformGetLaunchOptions):

2015-07-22  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Seccomp] Canonicalize filesystem path when whitelisting it
        https://bugs.webkit.org/show_bug.cgi?id=142986

        Reviewed by Žan Doberšek.

        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::canonicalizeFileName):
        (WebKit::SyscallPolicy::addFilePermission):
        (WebKit::SyscallPolicy::addDirectoryPermission):

2015-07-21  Simon Fraser  <simon.fraser@apple.com>

        Add logging for TiledCoreAnimationDrawingArea resizing
        https://bugs.webkit.org/show_bug.cgi?id=147180

        Reviewed by Tim Horton.

        Add a "Resize" log channel for WebKit2, and use it to log data in scaleViewToFitDocumentIfNeeded().

        * Platform/Logging.h:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

2015-07-22  Sam Weinig  <sam@webkit.org>

        Encode/Decode underlying errors when serializing NSErrors
        <rdar://problem/21818117>
        https://bugs.webkit.org/show_bug.cgi?id=147199

        Reviewed by Anders Carlsson.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (IPC::ArgumentCoder<CertificateInfo>::decode):
        (IPC::encodeNSError):
        (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
        (IPC::decodeNSError):
        (IPC::ArgumentCoder<ResourceError>::decodePlatformData):
        Break out encoding/decoding of the NSErrors into a helpers so they can be called
        for the underlying error.

2015-07-22  Beth Dakin  <bdakin@apple.com>

        Animated images should animate in previews
        https://bugs.webkit.org/show_bug.cgi?id=147173
        -and corresponding-
        rdar://problem/21637698

        Reviewed by Dan Bernstein.

        InteractionInformationAtPosition needs to know if it’s an animated image.
        * Shared/InteractionInformationAtPosition.cpp:
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * Shared/InteractionInformationAtPosition.h:

        New delegate method to create a link preview view controller for animated 
        images.
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

        Treat animated images more like link previews.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):

        Set info.isAnimatedImage
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-07-22  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Seccomp Filters] Add helpers to get XDG base directory locations
        https://bugs.webkit.org/show_bug.cgi?id=142982

        Reviewed by Zan Dobersek.

        * PlatformEfl.cmake:
        * PlatformGTK.cmake:
        * Shared/linux/SeccompFilters/XDGBaseDirectory.h: Added.
        * Shared/linux/SeccompFilters/XDGBaseDirectoryGLib.cpp: Added.
        (WebKit::userHomeDirectory):
        (WebKit::userCacheDirectory):
        (WebKit::userConfigDirectory):
        (WebKit::userDataDirectory):
        (WebKit::userRuntimeDirectory):

2015-07-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][WK2] EWK2ContextTestMultipleProcesses.ewk_context_network_process_model fails to pass
        https://bugs.webkit.org/show_bug.cgi?id=142967

        Reviewed by Csaba Osztrogonác.

        Though processIdentifier() can return 0 when a page is not closed, ewk_context_network_process_model has
        not been considered process id can be 0. This patch adds a protection logic which doesn't test when process
        id is 0 at the moment.

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

2015-07-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix some warnings when generating GTK+ HTML API docs.

        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
        WebKitWebsiteDataManager and WebKitWebEditor.

2015-07-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.4 release.

        * gtk/NEWS: Add release notes for 2.9.4.

2015-07-21  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: [Mac] "Open Image In New Window" context menu item does nothing on an image
        https://bugs.webkit.org/show_bug.cgi?id=147175

        Reviewed by Timothy Hatcher.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::getContextMenuFromProposedMenu):
        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
        Remove default context menus that won't work in the inspector page.

2015-07-21  Benjamin Poulain  <benjamin@webkit.org>

        [Content Extensions] Use a jump table when consecutive transitions have different targets
        https://bugs.webkit.org/show_bug.cgi?id=147099

        Reviewed by Alex Christensen.

        * UIProcess/API/APIUserContentExtensionStore.h:

2015-07-21  Daniel Bates  <dabates@apple.com>

        Fix the build following <https://trac.webkit.org/changeset/187129>
        (https://bugs.webkit.org/show_bug.cgi?id=147112)

        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState): Guard implementation with PLATFORM(IOS)
        since this logic is specific to the iOS port.

2015-07-21  Simon Fraser  <simon.fraser@apple.com>

        Rename the 'View' log channel to 'Printing'
        https://bugs.webkit.org/show_bug.cgi?id=147172

        Reviewed by Zalan Bujtas.

        "View" was a terrible name for a log channel that was all about printing.
        Sort the log channels.

        * Platform/Logging.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView drawRect:]):
        (-[WKView printOperationWithPrintInfo:forFrame:]):
        * UIProcess/mac/WKPrintingView.mm:
        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]):
        (pageDidComputePageRects):
        (-[WKPrintingView knowsPageRange:]):
        (-[WKPrintingView drawRect:]):
        (-[WKPrintingView rectForPage:]):
        (-[WKPrintingView beginDocument]):
        (-[WKPrintingView endDocument]):

2015-07-21  Zalan Bujtas  <zalan@apple.com>

        [iOS] Menu drop down such as on nike.com does not stay
        https://bugs.webkit.org/show_bug.cgi?id=147047
        rdar://problem/21046961

        Reviewed by Benjamin Poulain.

        This is a workaround for unintended scrolling while scaling.
        (Based on Benjamin Poulain's WIP patch for webkit.org/b/136904)

        In certain cases when scaling would result in moving the scrollview (which would trigger
        a scroll event on WebCore side), zoomRect is called instead of setZoomScale to ensure
        that the scroll position stays intact.

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

2015-07-21  Daniel Bates  <dabates@apple.com>

        WTFCrash() in WebKit::WebProcess::networkConnection()
        https://bugs.webkit.org/show_bug.cgi?id=147112
        <rdar://problem/18477459>

        Reviewed by Gavin Barraclough.

        Fixes an issue where a newly launched network process may be jetsam'd because it has not
        taken a process assertion between the time it was launched and the time when a web process
        makes use of it.

        Initially a network process does not have a process assertion. A process assertion is taken
        (if one has not been taken) for the network process when a process assertion is taken for at
        least one web process. When the network process crashes a WebProcess may ultimately launch a
        new network process in WebProcess::networkConnection(). The new network process may be jetsam'd
        immediately when the system is under some measure pressure because it has a low jetsam priority,
        0 (since it does not have a process assertion and higher priority implies that a process is less
        likely to be jetsam'd). And the logic in WebProcess::networkConnection() explicitly calls
        CRASH() if the newly launched network process crashes immediately. Towards preventing the newly
        launched network process from being jetsam'd we should obtain a process assertion for it.

        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::WebProcessPool): Initialize m_didNetworkProcessCrash to false.
        (WebKit::WebProcessPool::ensureNetworkProcess): If the network process crashed (m_didNetworkProcessCrash == true)
        then tell each process in the pool to reinstate their network activity token for the new network process.
        (WebKit::WebProcessPool::networkProcessCrashed): Set m_didNetworkProcessCrash to true when the
        network process crashed.
        * UIProcess/WebProcessPool.h:
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::reinstateNetworkProcessAssertionState): Added.
        (WebKit::WebProcessProxy::didSetAssertionState): Add assert to ensure we never have both
        a background- and foreground- activity token for the network process.
        * UIProcess/WebProcessProxy.h:

2015-07-21  Daniel Bates  <dabates@apple.com>

        ASSERT(m_suspendMessageCount >= 0) fails in ProcessThrottler::didCancelProcessSuspension()
        when WebContent process crashes; Network process may never voluntarily suspend
        https://bugs.webkit.org/show_bug.cgi?id=147122
        <rdar://problem/21906759>

        Reviewed by Chris Dumez.

        Fixes an issue where the network process may never voluntarily release its process assertion.

        Currently the network process always sends both a ProcessReadyToSuspend and CancelPrepareToSuspend
        message in response to receiving a PrepareToSuspend message and CancelPrepareToSuspend message,
        respectively. The process throttler expects to receive either a ProcessReadyToSuspend message
        or a CancelPrepareToSuspend message (and not both) in response to sending the message sequence
        PrepareToSuspend, CancelPrepareToSuspend. When a process throttler receives both messages in
        response to this sequence then its internal message count becomes imbalanced and it will
        never release the process assertion it manages. One user interaction that can cause such an
        imbalance, in the process throttler held by NetworkProcessProxy, is switching tabs.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::cancelPrepareToSuspend): Do not send message NetworkProcessProxy::DidCancelProcessSuspension. 
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::didCancelProcessSuspension): Deleted.
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Network/NetworkProcessProxy.messages.in: Remove message NetworkProcessProxy::DidCancelProcessSuspension.

2015-07-21  Matthew Daiter  <mdaiter@apple.com>

        Make sure to invalidate requests for user media after webpage reset
        https://bugs.webkit.org/show_bug.cgi?id=147155
        <rdar://problem/21924174>

        Reviewed by Brent Fulgham.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::resetState): Added user media reset

2015-07-21  Tim Horton  <timothy_horton@apple.com>

        [iOS] Avoid using a TextIndicator if there are non-text things to indicate
        https://bugs.webkit.org/show_bug.cgi?id=147152
        <rdar://problem/21921061>

        Reviewed by Beth Dakin.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::shouldUseTextIndicatorForLink):
        (WebKit::WebPage::getPositionInformation):
        Fall back to a rectangular area instead of a TextIndicator if there are any
        non-inline elements inside the link.

2015-07-21  Andreas Kling  <akling@apple.com>

        API::Session should clean up its storage in the network process when destroyed.
        <https://webkit.org/b/147139>
        <rdar://problem/21838764>

        Reviewed by Anders Carlsson.

        Have ~Session() send a DestroyPrivateBrowsingSession message to all networking processes
        for ephemeral sessions. This plugs a NetworkStorageSession leak that could retain a large
        CFNetwork object graph.

        * UIProcess/API/APISession.cpp:
        (API::Session::~Session):

2015-07-21  Sungmann Cho  <sungmann.cho@navercorp.com>

        Make PluginProxy::handleMouseEvent() asynchronous.
        https://bugs.webkit.org/show_bug.cgi?id=146142

        Reviewed by Anders Carlsson.

        PluginProxy::handleMouseEvent() forwards the generated mouse event to PluginControllerProxy
        using a synchronous message, but the recipient always reply immediately with the same value("true")
        even before handling the received message. So I think PluginProxy::handleMouseEvent() is perfectly
        OK to process its messages asynchronously.

        * PluginProcess/PluginControllerProxy.cpp:
        (WebKit::PluginControllerProxy::handleMouseEvent):
        * PluginProcess/PluginControllerProxy.h:
        * PluginProcess/PluginControllerProxy.messages.in:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::handleMouseEvent):

2015-07-20  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add API to be notified about editor state changes
        https://bugs.webkit.org/show_bug.cgi?id=145875

        Reviewed by Gustavo Noronha Silva.

        Add WebKitEditorState object, that is created on demand by the
        WebKitWebView and can be used to get the typing attributes of the
        editor at the current position or selection.

        * PlatformGTK.cmake:
        * Shared/EditorState.cpp: Use part of the PostLayoutData struct
        for the GTK port too.
        (WebKit::EditorState::encode): Encode PostLayoutData for GTK and
        remove our custom cursorRect.
        (WebKit::EditorState::decode): Decode PostLayoutData for GTK and
        remove our custom cursorRect.
        (WebKit::EditorState::PostLayoutData::encode): Reorder it to
        reduce the amonut of ifdefs.
        (WebKit::EditorState::PostLayoutData::decode): Ditto.
        * Shared/EditorState.h: Add AttributeStrikeThrough to
        TypingAttributes enum.
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::selectionDidChange): Rename
        updateTextInputState() to selectionDidChange() and also notify the
        WebKitWebView.
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/API/gtk/WebKitEditorState.cpp: Added.
        (webkitEditorStateGetProperty):
        (webkit_editor_state_class_init):
        (webkitEditorStateSetTypingAttributes):
        (webkitEditorStateCreate):
        (webkitEditorStateChanged):
        (webkit_editor_state_get_typing_attributes):
        * UIProcess/API/gtk/WebKitEditorState.h: Added.
        * UIProcess/API/gtk/WebKitEditorStatePrivate.h: Added.
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewSelectionDidChange): Notify the WebKitEditorState if
        it has already been created.
        (webkit_web_view_get_editor_state): Ensure a WebKitEditorState and
        return it.
        * UIProcess/API/gtk/WebKitWebView.h:
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseUpdateTextInputState): Get the caret cursor rect
        from PostLayoutData.
        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_editor_state_get_type.
        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for WebKitEditorState.
        * UIProcess/API/gtk/webkit2.h: Include WebKitEditorState.h.
        * UIProcess/PageClient.h:
        * UIProcess/gtk/WebPageProxyGtk.cpp:
        (WebKit::WebPageProxy::editorStateChanged): Call PageClientImpl::selectionDidChange().
        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::platformEditorState): Add typing attributes to EditorState.

2015-07-20  Simon Fraser  <simon.fraser@apple.com>

        Fix the iOS build.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

2015-07-20  Simon Fraser  <simon.fraser@apple.com>

        Facebook in tiled fullscreen is slow
        https://bugs.webkit.org/show_bug.cgi?id=147134
        rdar://problem/21823349

        Reviewed by Tim Horton.
        
        TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded() could cause a page to toggle
        between two fixed layout sizes differing by a pixel, because of rounding. This would cause
        lots of extra layouts and painting.
        
        This happened because the the fixed layout size was computed using ceil(m_webPage.size().width() / viewScale)

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

2015-07-20  Wenson Hsieh  <wenson_hsieh@apple.com>

        Fix crash due to RemoteLayerTreeDisplayRefreshMonitor outliving RemoteLayerTreeDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=147124
        <rdar://problem/21582858>

        Reviewed by Simon Fraser.

        Refactors RemoteLayerTreeDisplayRefreshMonitor to use a weak pointer rather than a reference
        to its RemoteLayerTreeDrawingArea, since the drawing area may be deallocated before the monitor
        in some rare cases. This rarely caused pages using requestAnimationFrame to crash on iOS. However,
        this should not be the case: logically, a RemoteLayerTreeDrawingArea should always outlive its
        refresh monitors. Refer to https://bugs.webkit.org/show_bug.cgi?id=147128 for more details.

        * WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h:
        * WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.mm:
        (WebKit::RemoteLayerTreeDisplayRefreshMonitor::RemoteLayerTreeDisplayRefreshMonitor):
        (WebKit::RemoteLayerTreeDisplayRefreshMonitor::~RemoteLayerTreeDisplayRefreshMonitor): On destruction, checks
            first to see whether or not the drawing area has been deallocated before telling it to update its monitors.
        (WebKit::RemoteLayerTreeDisplayRefreshMonitor::requestRefreshCallback):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        (WebKit::RemoteLayerTreeDrawingArea::createWeakPtr): Creates and returns a new weak pointer to itself.
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):

2015-07-20  Alex Christensen  <achristensen@webkit.org>

        [Content Extensions] Cache actions with domains that match everything
        https://bugs.webkit.org/show_bug.cgi?id=147050

        Reviewed by Benjamin Poulain.

        * UIProcess/API/APIUserContentExtensionStore.h:

2015-07-20  Gordon Sheridan  <gordon_sheridan@apple.com>

        Support blocking a plug-in for non-security reasons
        https://bugs.webkit.org/show_bug.cgi?id=145009

        Reviewed by Anders Carlsson.

        * Shared/Plugins/PluginModuleInfo.h:
        Replace PluginModuleBlocked with separate enum values for blocking for security and compatibility.

        * UIProcess/API/C/WKAPICast.h:
        (WebKit::toWKPluginLoadPolicy):
        Modify to handle change to PluginModuleBlocked enum.

        (WebKit::toPluginModuleLoadPolicy):
        Ditto.

        * UIProcess/API/C/WKPluginLoadPolicy.h:
        Added enum value for blocking a plugin for compatibility reasons.

        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
        (WebKit::shouldBlockPlugin):
        Check load policy for both reasons a plugin may be blocked.

        (WebKit::WKPlugInModuleLoadPolicyToPluginModuleLoadPolicy):
        Added function to convert between load policy enum types.

        (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
        Modified to call WKLoadPolicyForPluginVersion() which can distinguish between blocked for security or compatibility.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::findPlugin):
        Updated to recognize both PluginModuleBlocked enum values that indicate a plugin is blocked.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::createPlugin):
        Ditto.

        (WebKit::WebPage::canPluginHandleResponse):
        Ditto.

2015-07-20  Antti Koivisto  <antti@apple.com>

        NSURLCache fallback does not work on iOS due to sandboxing
        https://bugs.webkit.org/show_bug.cgi?id=146314
        <rdar://problem/21433691>

        Reviewed by Anders Carlsson.

        This broke with earlier cache path computation changes.

        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

            NSURLCache path is relative to the container cache path so "." is sufficient.
            This puts the cache files under
            <container>/Library/Caches/com.apple.WebKit.Networking/

2015-07-20  Jeremy Jones  <jeremyj@apple.com>

        Adopt AVPlayerLayerView
        https://bugs.webkit.org/show_bug.cgi?id=146862

        Reviewed by Simon Fraser.

        The CALayerHost is replaced with WebLayerHostView to be compatible with UIView animations.
        videoLayerFrame and videoLayerGravity no longer need to be stored because they are stored
        where they are used in the interface. Some animation is improved in the conversion.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (+[WebLayerHostView layerClass]): Add class WebLayerHostView.
        (-[WebLayerHostView contextID]):
        (-[WebLayerHostView setContextID:]):
        (-[WebLayerHostView layerHost]):
        (WebKit::WebVideoFullscreenManagerProxy::invalidate): layer -> view
        (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
        Apply the hostingDeviceScaleFactor transform to -sublayerTransform instead of to
        -transform. This more directly inverts the tranform WebProcess and allows -transform
        to be used for animation in the UIProcess. This is important because UIView's actions
        animate -transform, but not -sublayerTrasform.

        (WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): layer -> view
        (WebKit::WebVideoFullscreenModelContext::setVideoLayerFrame): Deleted.
        (WebKit::WebVideoFullscreenModelContext::videoLayerFrame): Deleted.
        (WebKit::WebVideoFullscreenModelContext::setVideoLayerGravity): Deleted.
        (WebKit::WebVideoFullscreenModelContext::videoLayerGravity): Deleted.
        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement):
        Set initial video layer frame to fix start point of animation.

        (WebKit::WebVideoFullscreenManager::didSetupFullscreen):
        dispatch_async allows the CATransaction to complete before continuing with the animation.
        This prevents a flash during animation.

2015-07-20  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r174287): Flash of black when opening a new web view or navigating to a new page
        https://bugs.webkit.org/show_bug.cgi?id=147127
        <rdar://problem/21474317>

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::snapshotAtSize):
        Avoid using an invalid documentBackgroundColor, fall back to baseBackgroundColor
        like we did before r174287.

2015-07-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Seccomp] Should be easier to debug blocked syscalls
        https://bugs.webkit.org/show_bug.cgi?id=142980

        These should be printed even when not running in debug mode. There is no
        value in hiding errors from release build users.

        Reviewed by Žan Doberšek.

        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SeccompBroker::runLoop): Don't close stderr et. al. in release builds.
        * Shared/linux/SeccompFilters/Syscall.cpp:
        (WebKit::write_uint): Added.
        (WebKit::reportUnexpectedSyscall): Added.
        (WebKit::Syscall::createFromContext): Call reportUnexpectedSyscall. Also, no need to crash
        here in release builds.
        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::SyscallPolicy::hasPermissionForPath): Print a warning when access is denied.
        (WebKit::SyscallPolicy::permissionToString): Added.
        * Shared/linux/SeccompFilters/SyscallPolicy.h: Add permissionToString.

2015-07-20  Csaba Osztrogonác  <ossy@webkit.org>

        Fix the !ENABLE(VIDEO) build after r186396
        https://bugs.webkit.org/show_bug.cgi?id=147116

        Reviewed by Brent Fulgham.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::didClose):

2015-07-20  Tomas Popela  <tpopela@redhat.com>

        [GTK] Add selection-changed signal to the WebKit2 API
        https://bugs.webkit.org/show_bug.cgi?id=137116

        Reviewed by Carlos Garcia Campos.

        Add a new object WebKitWebEditor where the editing capabilities of a
        WebPage will be grouped and exposed. Add the selection-changed signal
        there (we used the same name as in WK1 API).

        * PlatformGTK.cmake:
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.cpp: Added.
        (didChangeSelection):
        (webkitWebEditorCreate):
        (webkit_web_editor_get_page):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.h: Added.
        * WebProcess/InjectedBundle/API/gtk/WebKitWebEditorPrivate.h: Added.
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
        (webkitWebPageGetPage):
        (webkit_web_page_get_editor):
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
        * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:

2015-07-16  Anders Carlsson  <andersca@apple.com>

        WebsiteDataStore operations need to grab background assertions
        https://bugs.webkit.org/show_bug.cgi?id=147015
        rdar://problem/21799011

        Reviewed by Sam Weinig.

        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::fetchWebsiteData):
        (WebKit::NetworkProcessProxy::deleteWebsiteData):
        (WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::fetchWebsiteData):
        (WebKit::WebProcessProxy::deleteWebsiteData):
        (WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):

2015-07-19  Michael Catanzaro  <mcatanzaro@igalia.com>

        Unreviewed, placate -Wmismatched-tags after r187011

        It's basically bug #146990 again. Oops.

        * WebProcess/gtk/SeccompFiltersWebProcessGtk.h:

2015-07-19  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Add seccomp filters support
        https://bugs.webkit.org/show_bug.cgi?id=110014

        Reviewed by Žan Doberšek.

        Allow building with ENABLE_SECCOMP_FILTERS=ON. Based on work by Thiago Marcos P. Santos.

        * PlatformGTK.cmake: Support ENABLE_SECCOMP_FILTERS build option.
        * WebProcess/gtk/SeccompFiltersWebProcessGtk.cpp: Added.
        (WebKit::SeccompFiltersWebProcessGtk::SeccompFiltersWebProcessGtk):
        (WebKit::SeccompFiltersWebProcessGtk::platformInitialize):
        * WebProcess/gtk/SeccompFiltersWebProcessGtk.h: Added.
        * WebProcess/soup/WebProcessSoup.cpp:
        (WebKit::WebProcess::platformInitializeWebProcess): Initialize default
        GTK+ web process seccomp filters.

2015-07-18  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Reduce PassRefPtr in WebKit2 - 3
        https://bugs.webkit.org/show_bug.cgi?id=146995

        Reviewed by Daniel Bates.

        To remove PassRefPtr, this patch reduces use of PassRefPtr in WebKit2.
        Because some uses depend on WebCore, WebCore, WK1 ports are modified as well.

        * DatabaseProcess/DatabaseProcess.cpp:
        (WebKit::DatabaseProcess::getOrCreateUniqueIDBDatabase):
        * DatabaseProcess/DatabaseProcess.h:
        * PluginProcess/PluginControllerProxy.cpp:
        (WebKit::PluginControllerProxy::takeInitializationReply):
        * PluginProcess/PluginControllerProxy.h:
        * Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp:
        (WebKit::CoordinatedBackingStore::texture):
        * Shared/CoordinatedGraphics/CoordinatedBackingStore.h:
        (WebKit::CoordinatedBackingStore::create):
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
        (WebKit::WebCoordinatedSurface::create):
        (WebKit::WebCoordinatedSurface::createWithSurface):
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
        * UIProcess/API/APILoaderClient.h:
        (API::LoaderClient::webCryptoMasterKey):
        * UIProcess/API/APINavigationClient.h:
        (API::NavigationClient::webCryptoMasterKey):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageLoaderClient):
        (WKPageSetPageNavigationClient):
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        (WebKit::PageClientImpl::createColorPicker):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/Authentication/WebCredential.h:
        * UIProcess/Authentication/WebProtectionSpace.h:
        * UIProcess/AutoCorrectionCallback.h:
        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::NavigationClient::webCryptoMasterKey):
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::createPopupMenuProxy):
        (WebKit::WebView::createContextMenuProxy):
        (WebKit::WebView::createColorPicker):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebViewEfl::createPopupMenuProxy):
        (WebKit::WebViewEfl::createContextMenuProxy):
        (WebKit::WebViewEfl::createColorPicker):
        * UIProcess/efl/WebViewEfl.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::dataSelectionForPasteboard):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::createPopupMenuProxy):
        (WebKit::PageClientImpl::createContextMenuProxy):
        (WebKit::PageClientImpl::createColorPicker):
        * UIProcess/mac/WebPageProxyMac.mm:
        (WebKit::WebPageProxy::dataSelectionForPasteboard):
        * WebProcess/Network/WebResourceLoadScheduler.cpp:
        (WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
        (WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
        * WebProcess/Network/WebResourceLoadScheduler.h:
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::fromNPP):
        (WebKit::NetscapePlugin::snapshot):
        (WebKit::NetscapePlugin::liveResourceData):
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Plugin.h:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::snapshot):
        (WebKit::PluginProxy::liveResourceData):
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Storage/StorageNamespaceImpl.cpp:
        (WebKit::StorageNamespaceImpl::storageArea):
        (WebKit::StorageNamespaceImpl::copy):
        * WebProcess/Storage/StorageNamespaceImpl.h:
        * WebProcess/WebCoreSupport/SessionStateConversion.cpp:
        (WebKit::toHistoryItem):
        * WebProcess/WebCoreSupport/SessionStateConversion.h:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createPopupMenu):
        (WebKit::WebChromeClient::createSearchPopupMenu):
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::createDocumentLoader):
        (WebKit::WebFrameLoaderClient::createFrame):
        (WebKit::WebFrameLoaderClient::createPlugin):
        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::create):
        (WebKit::WebPage::createDocumentLoader):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::lookupTextAtLocation):

2015-07-18  Simon Fraser  <simon.fraser@apple.com>

        Scroll position jumps when scrolling scaling pages down in split view
        https://bugs.webkit.org/show_bug.cgi?id=147072
        rdar://problem/21769577

        Reviewed by Sam Weinig.
        
        When apple.com/music is in Split View at a reduced scale, scrolling the page
        can cause unwanted scroll jumps. This happened because we'd enter
        TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded() with a pending
        layout, so run the autosizing logic. When scrolled near the bottom, the unconstrained
        layout resulted in a shorter document, which truncated the scroll position. The
        scaled layout then restored the longer document, but it also restored that
        truncated scroll position.
        
        Forcing a layout is sufficient to fix the bug for this page, and doing a single
        layout (which will happen anyway) is preferable to running the autosize logic
        if layout happens to be dirty.

        I was not able to make a test to reproduce the problem. Entering
        scaleViewToFitDocumentIfNeeded() with pending layout was triggerable
        using a transform transition, but I was not able to reproduce incorrect
        scroll position restoration.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):

2015-07-17  Andy Estes  <aestes@apple.com>

        [iOS] Further tighten the sandbox around pages fetched with Content-Disposition: attachment
        https://bugs.webkit.org/show_bug.cgi?id=147044
        rdar://problem/21567820

        Reviewed by Brady Eidson.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage): Enabled Content-Disposition: attachment sandbox on iOS.

2015-07-17  Tim Horton  <timothy_horton@apple.com>

        [iOS] TextIndicator has a large forehead when line-height > 1
        https://bugs.webkit.org/show_bug.cgi?id=147058
        <rdar://problem/21643094>

        Reviewed by Dean Jackson.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):
        Apply a review comment that I left myself and then forgot about.

2015-07-17  Enrica Casucci  <enrica@apple.com>

        [iOS] Implement selectionInteractionAssistant accessor.
        https://bugs.webkit.org/show_bug.cgi?id=147054
        rdar://problem/20864286

        Reviewed by Tim Horton.

        One more change to adopt the new selection interaction
        model on iOS.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView selectionInteractionAssistant]):

2015-07-17  Dan Bernstein  <mitz@apple.com>

        REGRESSION (r186964): Crash in WebKit2.CloseFromWithinCreatePage
        https://bugs.webkit.org/show_bug.cgi?id=147055

        Reviewed by Alex Christensen.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::createNewPage): Grab the main frame’s URL before calling out to the
        client, who may destroy the frame.

2015-07-17  Dan Bernstein  <mitz@apple.com>

        WebKit2 part of <rdar://problem/21803781> The external URL policy is not reported correctly in navigation actions that create new windows
        https://bugs.webkit.org/show_bug.cgi?id=147040

        Reviewed by Dean Jackson.

        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::createNewPage): Disallow App Links if the new page is for the
        same protocol, host and port as the main frame of this page.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Disallow App Links if
        m_shouldSuppressAppLinksInNextNavigationPolicyDecision is set, and reset it. See below for
        when we set it.
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Disallow App Links if the new window
        is for the same protocol, host and port as the main frame of this page.
        (WebKit::WebPageProxy::createNewPage): Make the new page disallow App Links in the first
        policy decision if it is for the same protocol, host and port as the main frame of this
        page.
        * UIProcess/WebPageProxy.h: Added m_shouldSuppressAppLinksInNextNavigationPolicyDecision
        member variable.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createWindow): Pass the shouldOpenExternalURLsPolicy.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto.

2015-07-17  Tim Horton  <timothy_horton@apple.com>

        iOS TextIndicators include text that is not supposed to be indicated
        https://bugs.webkit.org/show_bug.cgi?id=147028
        <rdar://problem/21643094>

        Reviewed by Sam Weinig.

        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::shouldCreateTransientPaintingSnapshot):

2015-07-17  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Cleanup PasteboardHelper
        https://bugs.webkit.org/show_bug.cgi?id=147035

        Reviewed by Žan Doberšek.

        Use PasteboardHelper::singleton() instead of
        PasteboardHelper::defaultPasteboardHelper().

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseConstructed):
        * UIProcess/gtk/DragAndDropHandler.cpp:
        (WebKit::DragAndDropHandler::startDrag):
        (WebKit::DragAndDropHandler::fillDragData):
        (WebKit::DragAndDropHandler::dataObjectForDropData):
        (WebKit::DragAndDropHandler::requestDragData):

2015-07-16  Matt Baker  <mattbaker@apple.com>

        [Mac] Web Inspector toolbar can be covered by the Safari tab bar when docked to the right
        https://bugs.webkit.org/show_bug.cgi?id=146994

        Reviewed by Timothy Hatcher.

        WebInspectorProxy contained logic which ignored the next frame change notification from the inspected view,
        whenever it updated the frames of both the Inspector view and inspected view. This patch removes that logic,
        as it prevented the Inspector's frame from being adjusted after changes to the browser's top content inset.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (-[WKWebInspectorProxyObjCAdapter ignoreNextInspectedViewFrameDidChange]): Deleted.
        (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): Deleted.
        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Deleted.

2015-07-16  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: [Mac] Save dialog not working when inspector is docked
        https://bugs.webkit.org/show_bug.cgi?id=146991

        Reviewed by Sam Weinig.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::runOpenPanel):
        (WebKit::WebInspectorProxy::platformSave):
        When the window is nil (docked) use a non-window version of running the dialog.

2015-07-16  Tim Horton  <timothy_horton@apple.com>

        Add shrink-wrapped link highlights
        https://bugs.webkit.org/show_bug.cgi?id=147021
        <rdar://problem/21643094>

        Reviewed by Enrica Casucci.

        * Shared/InteractionInformationAtPosition.cpp:
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * Shared/InteractionInformationAtPosition.h:
        Add a TextIndicator to InteractionInformationAtPosition.
        Make use of some new C++ features.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):
        (-[WKContentView didDismissPreviewViewController:committing:]):
        Make use of the TextIndicator (if we have one) to show a shrink-wrapped
        snapshot of the link.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):
        Build a TextIndicator for the link if possible.

2015-07-16  Matt Rajca  <mrajca@apple.com>

        Media Session: remove plumbing for delivering start/end-of-interruption events
        https://bugs.webkit.org/show_bug.cgi?id=147005

        Reviewed by Eric Carlson.

        Instead of receiving interruptions through WebKit, we will provide platform-specific implementations in WebCore
        so the same behavior is available to all clients.

        * UIProcess/API/C/WKPage.cpp:
        * UIProcess/API/C/WKPagePrivate.h:
        * UIProcess/WebPageProxy.cpp:
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-07-16  Michael Catanzaro  <mcatanzaro@igalia.com>

        REGRESSION(r186464): [SOUP] ASSERTION FAILED: !m_messageReceiverMapCount when closing any tab
        https://bugs.webkit.org/show_bug.cgi?id=147006

        Reviewed by Anders Carlsson.

        Remove the message receiver before it is deallocated.

        * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
        (WebKit::CustomProtocolManagerProxy::~CustomProtocolManagerProxy):

2015-07-16  Brady Eidson  <beidson@apple.com>

        Review feedback followup for:
        REGRESSION(r186088): Crash under WebKit::WebPageProxy::didFailLoadForFrame
        <rdar://problem/21692212> and https://bugs.webkit.org/show_bug.cgi?id=146988

        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::refView): CFRetain instead of Obj-C retain.
        (WebKit::PageClientImpl::derefView): CFRelease instead of Obj-C release.


2015-07-16  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Linux] Seccomp: fix -Wmismatched-tags
        https://bugs.webkit.org/show_bug.cgi?id=146990

        Reviewed by Žan Doberšek.

        WebProcessCreationParameters is a struct nowadays, not a class, so declare it appropriately.

        * Shared/linux/SeccompFilters/SyscallPolicy.h:

2015-07-16  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r185415): [GTK] Browsers crash when an input method is enabled
        https://bugs.webkit.org/show_bug.cgi?id=146639

        Reviewed by Žan Doberšek.

        In r185415 I assumed that preedit signals were always emitted
        after a keypress was handled by the WebView. However, some input
        methods handle the keyboard events before the WebView, and preedit
        signals are emitted but no key event has been handled by the
        WebView. So, instead of asserting when filter key event completion
        handler is nullptr, we should check whether the current event was
        generated for a WebView filter request or not. In case the
        completion handler is nullptr, we send the event directly to the
        page, instead of going through the WebView, since there won't be
        editing commands for those events anyway.

        * UIProcess/gtk/InputMethodFilter.cpp:
        (WebKit::InputMethodFilter::handleKeyboardEvent):
        (WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):

2015-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Follow up to r186887 for GTK+.

        Add GTK+ implementation of PageClientImpl::refView/derefView.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::refView):
        (WebKit::PageClientImpl::derefView):
        * UIProcess/API/gtk/PageClientImpl.h:

2015-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Input method filter is always enabled when the view is focused
        https://bugs.webkit.org/show_bug.cgi?id=146965

        Reviewed by Martin Robinson.

        It should only be enabled when the view is focused and there's an
        editable element focused. In r138544, when input methods were
        implemented, the message SetInputMethodState was added, but it was
        never used. Instead, the notifyFocusIn method of the IM filter
        enables the input method unconditionally. We should actually use
        the SetInputMethodState message to enable/disable input methods
        when editable elements are focused/unfocused.

        * UIProcess/gtk/InputMethodFilter.cpp:
        (WebKit::InputMethodFilter::setEnabled): Call notifyFocusedIn/Out
        when inputs methods are enabled/disabled instead of notifying the
        IM context directly.
        (WebKit::InputMethodFilter::setCursorRect): Do not update the
        cursor position if input methods are didabled.
        (WebKit::InputMethodFilter::notifyFocusedIn): Do nothing when
        input methods are disabled. Do not enable input methods
        uncontionally here.
        (WebKit::InputMethodFilter::notifyFocusedOut): Do not disable
        input methods uncontionally here.
        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
        (WebKit::WebEditorClient::setInputMethodState): Call
        WebPage::setInputMethodState() for GTK platform.
        * WebProcess/WebPage/WebPage.h: Add setInputMethodState() for GTK platform.
        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
        (WebKit::WebPage::setInputMethodState): Update input method state
        and send SetInputMethodState message to the UI process if state changed.

2015-07-15  Brady Eidson  <beidson@apple.com>

        REGRESSION(r186088): Crash under WebKit::WebPageProxy::didFailLoadForFrame
        <rdar://problem/21692212> and https://bugs.webkit.org/show_bug.cgi?id=146988

        Reviewed by Sam Weinig.

        When a loader delegate callback results in the WKView getting deallocated, then the PageClient
        is also destroyed.

        WebPageProxy then (often) turns around and uses the PageClient anyways.

        Tried to write a TestWebKitAPI test for this, but only didFailLoadForFrame appears to obviously 
        be vulnerable, and there seems to be no way to reproduce that failure case under TestWebKitAPI.

        * UIProcess/PageClient.h: Add ref/derefView.

        * UIProcess/API/gtk/PageClientImpl.h: Stub them out.
        * UIProcess/efl/WebViewEfl.h: Stub them out.

        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::refView): [m_wkView retain]
        (WebKit::PageClientImpl::derefView): [m_wkView release]

        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::refView): Retain all 3 views.
        (WebKit::PageClientImpl::derefView): Release all 3 views.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::PageClientProtector::PageClientProtector): Calls refView() on the PageClient.
        (WebKit::PageClientProtector::~PageClientProtector): Calls derefView() on the PageClient.
        (WebKit::WebPageProxy::didChangeBackForwardList): All methods that make m_loaderClient or
          m_pageClient callouts get a protector at their head.
        (WebKit::WebPageProxy::willGoToBackForwardListItem):
        (WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):
        (WebKit::WebPageProxy::findPlugin):
        (WebKit::WebPageProxy::didCreateMainFrame):
        (WebKit::WebPageProxy::didCreateSubframe):
        (WebKit::WebPageProxy::didStartProgress):
        (WebKit::WebPageProxy::didChangeProgress):
        (WebKit::WebPageProxy::didFinishProgress):
        (WebKit::WebPageProxy::didDestroyNavigation):
        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
        (WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
        (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::didLayoutForCustomContentProvider):
        (WebKit::WebPageProxy::didLayout):
        (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
        (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
        (WebKit::WebPageProxy::didRunInsecureContentForFrame):
        (WebKit::WebPageProxy::didDetectXSSForFrame):
        (WebKit::WebPageProxy::frameDidBecomeFrameSet):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::decidePolicyForResponseSync):
        (WebKit::WebPageProxy::unableToImplementPolicy):
        (WebKit::WebPageProxy::didNavigateWithNavigationData):
        (WebKit::WebPageProxy::didPerformClientRedirect):
        (WebKit::WebPageProxy::didPerformServerRedirect):
        (WebKit::WebPageProxy::didUpdateHistoryTitle):
        (WebKit::WebPageProxy::wrapCryptoKey):
        (WebKit::WebPageProxy::unwrapCryptoKey):
        (WebKit::WebPageProxy::navigationGestureDidBegin):
        (WebKit::WebPageProxy::navigationGestureWillEnd):
        (WebKit::WebPageProxy::navigationGestureDidEnd):
        (WebKit::WebPageProxy::willRecordNavigationSnapshot):

2015-07-15  Sam Weinig  <sam@webkit.org>

        Color match plug-ins
        <rdar://problem/21758722>
        https://bugs.webkit.org/show_bug.cgi?id=146987

        Reviewed by Dean Jackson.

        * Platform/mac/LayerHostingContext.h:
        * Platform/mac/LayerHostingContext.mm:
        (WebKit::LayerHostingContext::setColorMatchUntaggedContent):
        (WebKit::LayerHostingContext::colorMatchUntaggedContent):
        Add setter/getter for color matching untagged content.

        * PluginProcess/mac/PluginControllerProxyMac.mm:
        (WebKit::PluginControllerProxy::updateLayerHostingContext):
        Have plug-ins CAContext's color match untagged colors into sRGB.

2015-07-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Rename PACKAGE_LOCALE_DIR to LOCALEDIR
        https://bugs.webkit.org/show_bug.cgi?id=146975

        Reviewed by Martin Robinson.

        * PlatformGTK.cmake:
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_class_init):
        * WebProcess/gtk/WebProcessMainGtk.cpp:

2015-07-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Rename LIBEXECDIR to PKGLIBEXECDIR
        https://bugs.webkit.org/show_bug.cgi?id=140070

        Reviewed by Martin Robinson.

        The path that's currently stored in LIBEXECDIR is one level lower than
        the real LIBEXECDIR, which we are going to need. Introduce PKGLIBEXECDIR
        so that we can use LIBEXECDIR for the real LIBEXECDIR in the future.

        * PlatformGTK.cmake:
        * Shared/gtk/ProcessExecutablePathGtk.cpp:
        (WebKit::findWebKitProcess):

2015-07-15  Daniel Bates  <dabates@apple.com>

        [Mac][WK2] Videos should only have access to cookies when -[NSURLRequest HTTPShouldHandleCookies] is YES
        https://bugs.webkit.org/show_bug.cgi?id=146763
        <rdar://problem/21736994>

        Reviewed by Darin Adler.

        We should only fetch cookies from the Network process when -[NSURLRequest HTTPShouldHandleCookies] is YES.
        This makes us more closely match the behavior of the CFNetwork implementation of
        -[__NSURLSessionLocal {_copyCookiesForRequestUsingAllAppropriateStorageSemantics, _getCookieHeadersForTask:completionHandler}].

        * Shared/mac/CookieStorageShim.mm:
        (-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):
        (-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):

2015-07-14  Enrica Casucci  <enrica@apple.com>

        [iOS] Add support for updateSelectionWithExtentPoint:withBoundary.
        https://bugs.webkit.org/show_bug.cgi?id=146951
        rdar://problem/20864286

        Reviewed by Tim Horton.

        Add implementation for new method used by text selection
        engine on iOS. The new function modifies the selection near the given point
        and snaps it at the boundary of the specified granularity.

        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView updateSelectionWithExtentPoint:completionHandler:]):
        (-[WKContentView updateSelectionWithExtentPoint:withBoundary:completionHandler:]):
        (-[WKContentView _characterBeforeCaretSelection]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::updateSelectionWithExtentPoint):
        (WebKit::WebPageProxy::updateSelectionWithExtentPointAndBoundary):
        (WebKit::WebPageProxy::requestDictationContext):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::rangeForGranularityAtPoint):
        (WebKit::WebPage::selectTextWithGranularityAtPoint):
        (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary):

2015-07-15  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Linux] SeccompBrokerClient should cache arbitrary file descriptors
        https://bugs.webkit.org/show_bug.cgi?id=140068

        Reviewed by Žan Doberšek.

        If malloc() attempts to open /proc/sys/vm/overcommit_memory in a SIGSYS
        signal handler, the SeccompBroker will attempt to recursively broker the
        open() syscall. Generalize the existing code that already handles the
        similar case where malloc() opens /sys/devices/system/cpu/online to
        handle this situation as well.

        * Shared/linux/SeccompFilters/SeccompBroker.cpp:
        (WebKit::SIGSYSHandler):
        (WebKit::SeccompBrokerClient::SeccompBrokerClient):
        (WebKit::SeccompBrokerClient::~SeccompBrokerClient):
        (WebKit::SeccompBrokerClient::handleIfOpeningCachedFile):
        (WebKit::SeccompBrokerClient::cacheFile):
        (WebKit::SeccompBrokerClient::handleIfOpeningOnlineCPUCount): Deleted.

2015-07-15  ChangSeok Oh  <changseok.oh@collabora.com>

        [GTK] Accelerated compositing is enabled by MiniBrowser in Wayland
        https://bugs.webkit.org/show_bug.cgi?id=146827

        Reviewed by Žan Doberšek.

        WebKit2Gtk+ does not currently support accelerated compositing. For the reason,
        we forcedly disable it in webkitWebViewBaseCreateWebPage. However, when we launch
        MiniBrowser in wayland, the unsupported feature is re-enabled since the existing
        setting is overwritten by a newly created one. Here the default value for
        accelerated compositing is true. We can fix this by moving the code disabling
        accelerated composition to WebPreferences::platformInitializeStore() so that
        we make sure the accelerated compositing is always disabled for wayland.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreateWebPage): Deleted.
        * UIProcess/gtk/WebPreferencesGtk.cpp:
        (WebKit::WebPreferences::platformInitializeStore):

2015-07-15  Dan Bernstein  <mitz@apple.com>

        Fixed build fix.

        * Platform/spi/ios/SafariServicesSPI.h:

2015-07-14  Ryuan Choi  <ryuan.choi@navercorp.com>

        [CoordinatedGraphics] Possible wrong rendering with scrolling
        https://bugs.webkit.org/show_bug.cgi?id=146958

        Reviewed by Gyuyoung Kim.

        While r174261 fixing build break, there is some mistake that flushes contents layer
        instead of overlay layer.

        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):

2015-07-14  Dan Bernstein  <mitz@apple.com>

        Attempted build fixes.

        * Platform/spi/ios/SafariServicesSPI.h:

2015-07-14  Dan Bernstein  <mitz@apple.com>

        Attempted build fixes.

        * Platform/spi/ios/SafariServicesSPI.h:

2015-07-14  Anders Carlsson  <andersca@apple.com>

        Remove wkPopupMenu from WebCoreSystemInterface; it's not called from WebCore
        https://bugs.webkit.org/show_bug.cgi?id=146945

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.

2015-07-14  Anders Carlsson  <andersca@apple.com>

        Release assert under StyleResolver::loadPendingImages() caused by MemoryPressureHandler
        https://bugs.webkit.org/show_bug.cgi?id=146940
        rdar://problem/21605505

        Reviewed by Sam Weinig.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::processWillSuspendImminently):

2015-07-14  Sam Weinig  <sam@webkit.org>

        WebKit needs to serialize numeric values in NSError userInfo
        <rdar://problem/21818117>
        https://bugs.webkit.org/show_bug.cgi?id=146936

        Reviewed by Anders Carlsson.

        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (IPC::ArgumentCoder<ResourceError>::encodePlatformData):
        Encode userInfo values that are NSNumbers in addition to NSStrings and NSURLs. Decoding 
        is already handled.

2015-07-14  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Linux] SeccompFilters: whitelist all NPAPI plugin directories
        https://bugs.webkit.org/show_bug.cgi?id=140067

        Reviewed by Žan Doberšek.

        * PlatformEfl.cmake: Build PluginSearchPath.cpp
        * PlatformGTK.cmake: Build PluginSearchPath.cpp
        * Shared/Plugins/unix/PluginSearchPath.cpp: Added.
        (WebKit::pluginsDirectories): Moved from PluginInfoStoreUnix.cpp.
        * Shared/Plugins/unix/PluginSearchPath.h: Added.
        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy): Add the entire
        plugin search path to the whitelist.
        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
        (WebKit::PluginInfoStore::pluginsDirectories): Now gets plugins
        directories from PluginSearchPath.cpp

2015-07-14  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=146917
        iOS WebKit doesn't build.
        rdar://problem/21801544

        Fix the build - don't use deprecated methods.

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _registerPreviewInWindow:]):
        (-[WKContentView _unregisterPreviewInWindow:]):

2015-07-14  Yongjun Zhang  <yongjun_zhang@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=146909
        Add actions for default link preview that uses SFSafariViewController.

        Use the new private properties to prepare actions for the default link preview controller.

        Reviewed by Dan Bernstein.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):

2015-07-14  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Linux] SeccompFilters: whitelist source directory on all ports
        https://bugs.webkit.org/show_bug.cgi?id=140066

        Reviewed by Žan Doberšek.

        Move this from EFL to port-independent code.

        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
        * WebProcess/efl/SeccompFiltersWebProcessEfl.cpp:
        (WebKit::SeccompFiltersWebProcessEfl::platformInitialize):

2015-07-14  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Add a runtime check for X11 display in webkitWebViewBaseExitAcceleratedCompositingMode()
        https://bugs.webkit.org/show_bug.cgi?id=146711

        Reviewed by Carlos Garcia Campos.

        webkitWebViewBaseExitAcceleratedCompositingMode() is already guarded with
        X11 build guards, but it should also do a runtime check that the program
        is running under an X11 display before proceeding.

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

2015-07-13  Matt Rajca  <mrajca@apple.com>

        Media Session: add plumbing for delivering start/end-of-interruption events
        https://bugs.webkit.org/show_bug.cgi?id=146837

        Reviewed by Tim Horton.

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

2015-07-13  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] When choosing an initial viewport scale, take overflow on the <body> into account
        https://bugs.webkit.org/show_bug.cgi?id=146918
        rdar://problem/9222837

        Reviewed by Tim Horton.

        Use as input to the viewport scaling algorithm a contents size from the FrameView
        that takes overflow on the viewport renderer into account. This prevents unexpected
        viewports scaling on pages that have content that overflows their expressed contents size,
        but apply overflow to the <body>.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::mainFrameDidLayout): Use contentsSizeRespectingOverflow(),
        rather than raw contentsSize(), to determine scaling.

2015-07-13  Dan Bernstein  <mitz@apple.com>

        Fixed the build.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _registerPreviewInWindow:]):
        (-[WKContentView _unregisterPreviewInWindow:]):

2015-07-13  Dan Bernstein  <mitz@apple.com>

        Removed now-unused SPI -[WKWebView _loadRequest:withOptions:].

        Rubber-stamped by Anders Carlsson.

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

2015-07-13  Anders Carlsson  <andersca@apple.com>

        Apps linked with a deployment target of iOS 7.x or earlier crash when using modern WebKit API
        https://bugs.webkit.org/show_bug.cgi?id=146913
        rdar://problem/21789252

        Reviewed by Dan Bernstein.

        Make a top-level symlink from /System/Library/PrivateFrameworks/WebKit.framework to
        /System/Library/Frameworks/WebKit.framework.

        * WebKit2.xcodeproj/project.pbxproj:

2015-07-13  Anders Carlsson  <andersca@apple.com>

        Silverlight causes tabs to hang
        https://bugs.webkit.org/show_bug.cgi?id=146912
        rdar://problem/21686508

        Reviewed by Sam Weinig.

        Make sure to link production builds of the legacy plug-in process against the shim on 10.11 and newer.

        * Configurations/PluginProcess.xcconfig:

2015-07-13  Michael Catanzaro  <mcatanzaro@igalia.com>

        [Linux] SeccompFilters: handle alternate install prefixes
        https://bugs.webkit.org/show_bug.cgi?id=140065

        Reviewed by Žan Doberšek.

        If the install prefix is something other than /usr, e.g. /usr/local or
        ~/jhbuild/install, then we want to make sure to allow libraries and data
        from that prefix.

        * PlatformEfl.cmake:
        * Shared/linux/SeccompFilters/SyscallPolicy.cpp:
        (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):

2015-07-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Contents not correctly laid out when the web view is not realized
        https://bugs.webkit.org/show_bug.cgi?id=142532

        Reviewed by Darin Adler.

        The problem is that we are not reporting any size until the web
        view is realized, so any web view loaded in a separate tab in the
        browser, will report 0x0 as the window.innerWidth,
        window.innerHeight until the view is realized. Websites that use
        the window.innerWidth/innerHeight during the page load to decide
        how to lay out the contents will be rendered wrongly.
        I haven't been able to reproduce this with unit tests, as this
        requires the particular case of same window but different web
        views using tabs for example.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::viewSize): Always report the drawing area
        size to make usre it's in sync with the WebProcess page size.
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseSizeAllocate): Remove the optimization of only
        report the size when it has changed, since both the redirected
        window and the drawing area already do that check. Also remove the
        optimization of waiting until the view is mapped to report its
        size, since that's often too late for websites using the window
        size during load.
        (webkitWebViewBaseMap): Never report size on map, it should have
        already been reported by size-allocate.

2015-07-11  Nikita Vasilyev  <nvasilyev@apple.com>

        Web Inspector: Inspector should be able to be docked to the bottom of a narrow window
        https://bugs.webkit.org/show_bug.cgi?id=146871

        Reviewed by Timothy Hatcher.

        * UIProcess/WebInspectorProxy.cpp:
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformCanAttach):
        * WebProcess/WebPage/WebInspector.cpp:

2015-07-11  Joseph Pecoraro  <pecoraro@apple.com>

        Allow clients to opt-out of default app link link actions
        https://bugs.webkit.org/show_bug.cgi?id=146883
        <rdar://problem/21221902>

        Reviewed by Dan Bernstein.

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::shouldIncludeAppLinkActionsForElement):
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::setDelegate):
        (WebKit::UIDelegate::UIClient::shouldIncludeAppLinkActionsForElement):
        Plumbing for a new delegate message to ask the client if they
        would like app link actions or not. Default is yes.

        * UIProcess/ios/WKActionSheetAssistant.h:
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant showImageSheet]):
        (-[WKActionSheetAssistant showLinkSheet]):
        (-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
        (-[WKActionSheetAssistant defaultActionsForImageSheet:]):
        Pass elementInfo into methods generating default actions.
        
        (-[WKActionSheetAssistant _appendOpenActionsForURL:actions:elementInfo:]):
        When generating open actions, if the process has AppLink capabilities
        ask the client if they want to include AppLink actions or fall back
        to the basic Open action.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):
        * UIProcess/ios/WKPDFView.mm:
        (-[WKPDFView actionSheetAssistant:shouldIncludeAppLinkActionsForElement:]):
        Assistant delegate implementations forward to the UIDelegate.

2015-07-11  Joseph Pecoraro  <pecoraro@apple.com>

        Update default link action sheets for app links
        https://bugs.webkit.org/show_bug.cgi?id=146658
        <rdar://problem/21221902>

        Reviewed by Dan Bernstein.

        * Shared/mac/SandboxUtilities.h:
        * Shared/mac/SandboxUtilities.mm: Renamed from Source/WebKit2/Shared/mac/SandboxUtilities.cpp.
        (WebKit::processHasEntitlement):
        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::applicationType):
        (WebKit::hasEntitlement): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:
        Share a helper for checking if the current process has an entitlement.

        * UIProcess/API/Cocoa/_WKElementAction.h:
        * UIProcess/API/Cocoa/_WKElementAction.mm:
        (+[_WKElementAction _elementActionWithType:title:actionHandler:]):
        (+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
        * UIProcess/API/Cocoa/_WKElementActionInternal.h:
        Add an internal way to make an element action with a standard type and regular handler.
        We use this for the new standard types that don't have a default implementation.

        * UIProcess/ios/WKActionSheetAssistant.mm:
        (applicationHasAppLinkEntitlements):
        (appLinkForURL):
        Helpers checking access to app links and fetching app links.

        (-[WKActionSheetAssistant _appendOpenActionsForURL:actions:]):
        (-[WKActionSheetAssistant defaultActionsForLinkSheet]):
        (-[WKActionSheetAssistant defaultActionsForImageSheet]):
        Create "Open in Safari" and "Open in 'App'" default actions for AppLinks,
        otherwise add the normal default "Open" action.

2015-07-11  Enrica Casucci  <enrica@apple.com>

        Remove incorrect overriding of inputAssistantItem in WKContentView.
        https://bugs.webkit.org/show_bug.cgi?id=146863
        rdar://problem/21507154

        Reviewed by Sam Weinig.

        Correction to the patch in r186713.
        We need to provide the inputAssistantItem from the responder.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView inputAccessoryView]):

2015-07-11  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r186689 and r186710.
        https://bugs.webkit.org/show_bug.cgi?id=146880

        May have caused a PLT regression and broken a layout test
        (Requested by cdumez on #webkit).

        Reverted changesets:

        "[WK2] Increase the QoS of some of our WorkQueues to match the
        one of our processes"
        https://bugs.webkit.org/show_bug.cgi?id=146855
        http://trac.webkit.org/changeset/186689

        "REGRESSION (r186689?): fast/frames/frame-limit.html timeout
        on Mavericks {Release,Debug} WK2 bots"
        https://bugs.webkit.org/show_bug.cgi?id=146876
        http://trac.webkit.org/changeset/186710

2015-07-10  Enrica Casucci  <enrica@apple.com>

        Remove incorrect overriding of inputAssistantItem in WKContentView.
        https://bugs.webkit.org/show_bug.cgi?id=146863
        rdar://problem/21507154

        Reviewed by Dan Bernstein.

        Removing implementation of inputAssistantItem and moving initialization
        of formAccessoryView to inputAccessoryView to avoid interfering with
        the keyboard handling of the assistant bar.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView inputAccessoryView]):
        (-[WKContentView inputAssistantItem]): Deleted.
        (-[WKContentView _inputAssistantItem]): Deleted.

2015-07-10  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Scrolling issues on horizontally scrollable RTL pages
        https://bugs.webkit.org/show_bug.cgi?id=146872
        rdar://problem/7569416

        Reviewed by Sam Weinig.

        Horizontally scrollable RTL pages in WebKit2 had a variety of issues: they had
        a gap down the right edge, and unreachable content on the left side, focussing
        form fields scrolled to the wrong location, and programmatic scrolls scrolled
        to the wrong place.
        
        Fix by plumbing the WebCore notion of scrollOrigin through to the UI process,
        and using it in various places. There are three main aspects to the patch:
        
        1. scroll origin is included in RemoteLayerTreeTransaction, and plumbed through
           to -[WKWebView _scrollToContentOffset:] for correct programmatic scrolling,
           including zooming to focused form elements. The WKContentView's boundsOrigin
           is set to the scroll origin so that the view coordinates match document coordinates.
        2. WebPageProxy::computeCustomFixedPositionRect() uses the actual documentRect()
           rather than just conjuring up a rect with a zero origin, which makes position:fixed
           work correctly.
        3. _interactionViewsContainerView (which hosts tap highlights) is positioned to 
           coincide with the origin of the documentRect (i.e. at the scroll origin, which
           may not be top-left). This allows tap highlights to show in the correct location.
        4. ScrollView::unobscuredContentRect() is fixed to take scroll origin into account;
           if the returned rect is wrong, RenderLayer::hitTest() incorrectly clips the hit
           testing area.

        * Shared/mac/RemoteLayerTreeTransaction.h:
        (WebKit::RemoteLayerTreeTransaction::scrollOrigin):
        (WebKit::RemoteLayerTreeTransaction::setScrollOrigin):
        * Shared/mac/RemoteLayerTreeTransaction.mm:
        (WebKit::RemoteLayerTreeTransaction::encode):
        (WebKit::RemoteLayerTreeTransaction::decode):
        (WebKit::RemoteLayerTreeTransaction::description): Dump some more info.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _scrollToContentOffset:scrollOrigin:]):
        (-[WKWebView _scrollToContentOffset:]): Deleted.
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::requestScroll):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/CoordinatedGraphics/WebView.cpp:
        (WebKit::WebView::requestScroll):
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::requestScroll):
        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::requestScroll):
        (WebKit::PageClientImpl::documentRect):
        (WebKit::PageClientImpl::contentsSize): Deleted.
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _didCommitLayerTree:]):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::computeCustomFixedPositionRect):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::requestScroll):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::willCommitLayerTree):

2015-07-10  Chris Dumez  <cdumez@apple.com>

        [WK2] Diagnostic logging messages are causing too much IPC
        https://bugs.webkit.org/show_bug.cgi?id=146873
        <rdar://problem/21779205>

        Reviewed by Ryosuke Niwa.

        Diagnostic logging messages are causing too much IPC. To address the
        problem, we now do the sampling of the senders' side (WebContent
        process and Networking process) instead of the receiver's side
        (UIProcess).

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::logDiagnosticMessage):
        (WebKit::NetworkProcess::logDiagnosticMessageWithResult):
        (WebKit::NetworkProcess::logDiagnosticMessageWithValue):
        * UIProcess/Network/NetworkProcessProxy.cpp:
        (WebKit::NetworkProcessProxy::logSampledDiagnosticMessage):
        (WebKit::NetworkProcessProxy::logSampledDiagnosticMessageWithResult):
        (WebKit::NetworkProcessProxy::logSampledDiagnosticMessageWithValue):
        * UIProcess/Network/NetworkProcessProxy.h:
        * UIProcess/Network/NetworkProcessProxy.messages.in:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::logDiagnosticMessage):
        (WebKit::WebPageProxy::logDiagnosticMessageWithResult):
        (WebKit::WebPageProxy::logDiagnosticMessageWithValue):
        (WebKit::WebPageProxy::logSampledDiagnosticMessage):
        (WebKit::WebPageProxy::logSampledDiagnosticMessageWithResult):
        (WebKit::WebPageProxy::logSampledDiagnosticMessageWithValue):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
        (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
        (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
        (WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):

2015-07-10  Dean Jackson  <dino@apple.com>

        Airplay button and placeholder are missing in inline controls
        https://bugs.webkit.org/show_bug.cgi?id=146869
        <rdar://problem/21555051>

        Reviewed by Simon Fraser.

        Fix a typo in the ENABLE that was causing the Airplay
        setting (allowsAirPlayForMediaPlayback, which becomes
        webkitWirelessVideoPlaybackDisabled) to default to false.

        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
        (-[WKWebViewConfiguration init]): Change WIRELESS_TARGET_PLAYBACK
        to WIRELESS_PLAYBACK_TARGET.

2015-07-10  Tim Horton  <timothy_horton@apple.com>

        Use CoreAnimation fences instead of synchronous IPC to synchronize resize
        https://bugs.webkit.org/show_bug.cgi?id=146294
        <rdar://problem/21090193>

        Reviewed by Anders Carlsson.

        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::createFenceForGeometryUpdate):
        Tiny followup; don't touch Connection if the connection isn't valid.

2015-07-10  Chris Dumez  <cdumez@apple.com>

        [WK2] Increase the QoS of some of our WorkQueues to match the one of our processes
        https://bugs.webkit.org/show_bug.cgi?id=146855

        Reviewed by Anders Carlsson.

        Increase the QoS of some of our WorkQueues to match the one of our processes. For
        e.g., even though the WebContent and the Networking processes have USER_UNITIATED
        QoS, the IPC between them is using a WorkQueue with DEFAULT QoS. Similarly, the
        WorkQueue used for network cache reads has DEFAULT QoS.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::Storage):
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::Connection):

2015-07-10  Zalan Bujtas  <zalan@apple.com>

        Crash at WebCore::WebPage::innerFrameQuad.
        https://bugs.webkit.org/show_bug.cgi?id=146843
        rdar://problem/21501819

        Reviewed by Andreas Kling.

        We may end up with a null rootEditableElement() after calling Document::updateLayout().

        Speculative fix. Not reproducible.

        * WebProcess/WebPage/WebPage.h: Some const cleanup.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::innerFrameQuad): null check assistedNode.rootEditableElement()
        (WebKit::constrainPoint):
        (WebKit::WebPage::selectWithGesture):
        (WebKit::WebPage::visiblePositionInFocusedNodeForPoint):
        (WebKit::WebPage::selectPositionAtPoint):
        (WebKit::WebPage::selectPositionAtBoundaryWithDirection):
        (WebKit::WebPage::selectTextWithGranularityAtPoint):
        (WebKit::WebPage::updateSelectionWithExtentPoint):
        (WebKit::WebPage::getPositionInformation):

2015-07-09  Jon Honeycutt  <jhoneycutt@apple.com>

        [iOS] Document picker has overlapping icons on iPad
        https://bugs.webkit.org/show_bug.cgi?id=146808
        <rdar://problem/21251875>

        Reviewed by Sam Weinig.

        * UIProcess/ios/forms/WKFileUploadPanel.mm:
        (-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]):
        Don't show this UI as a popover on iPad; the default is a full screen
        form sheet.

2015-07-09  Dan Bernstein  <mitz@apple.com>

        WebKit2 part of Track and expose policies for external URL schemes and App Links separately
        https://bugs.webkit.org/show_bug.cgi?id=146822

        Reviewed by Anders Carlsson.

        * Shared/NavigationActionData.cpp:
        (WebKit::NavigationActionData::encode):
        (WebKit::NavigationActionData::decode):
        * Shared/NavigationActionData.h:
          Replaced the shouldOpenExternalURLsPolicy boolean member with a
          shouldOpenExternalURLsPolicy member whose type is ShouldOpenExternalURLsPolicy, and
          updated encoding and decoding:

        * UIProcess/API/APINavigationAction.h:
          Added shouldOpenAppLinks boolean to NavigationAction::create and the constructor. It
          augments the policy in the NavigationActionData with a valude decided in the UI process.
          Replaced shouldOpenExternalURLs() with shouldOpenExternalSchemes() and
          shouldOpenAppLinks() which check the policy and the new m_shouldOpenAppLinks boolean.

        * UIProcess/API/Cocoa/WKNavigationAction.mm:
        (-[WKNavigationAction _shouldOpenExternalSchemes]): Getter for new property, calls through
          to the NavigationAction.
        (-[WKNavigationAction _shouldOpenAppLinks]): Ditto.
        (-[WKNavigationAction _shouldOpenExternalURLs]): Now deprecated and returns the
          _shouldOpenExternalSchemes value.
        * UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Declared new properties for the two
          policies and deprecated old property.

        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::tryAppLink): Changed to use NavigationAction::shouldOpenAppLinks, which
          encapsulates logic that used to be here.

        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::createNewPage): Allow App Links (if already allowed by policy).

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Moved logic from tryAppLink in
          NavigationState.mm here and pass the result to NavigationAction::create.
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Allow App Links (if already allowed
          by policy).
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::loadRequest): Changed the default policy to not allow App Links (but
          still allow external schemes).

        * WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp:
        (WKBundleNavigationActionGetShouldTryAppLinks): Added this getter.
        * WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h:

        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
        (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
          Added m_shouldTryAppLinks boolean member, initialized from the policy. Updated the
          initialization of m_shouldOpenExternalURLs to account for the new policy.

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Pass the policy
          in the navigation data.

2015-07-09  Tim Horton  <timothy_horton@apple.com>

        Use CoreAnimation fences instead of synchronous IPC to synchronize resize
        https://bugs.webkit.org/show_bug.cgi?id=146294
        <rdar://problem/21090193>

        Reviewed by Anders Carlsson.

        Because of changes in underlying frameworks, we can no longer depend on
        blocking the UI process main thread to be sufficient to synchronize
        UI process CA commits with commits coming from the Web process.

        Instead, we have to use CoreAnimation fences to perform this synchronization.
        Instead of blocking inside waitForAndDispatchImmediately, we'll end up
        blocking during the CA commit.

        * Platform/mac/LayerHostingContext.mm:
        Use HAVE(COREANIMATION_FENCES).

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::Connection):
        (IPC::Connection::processIncomingMessage):
        (IPC::Connection::installIncomingSyncMessageCallback):
        (IPC::Connection::uninstallIncomingSyncMessageCallback):
        Keep track of a set of incoming sync message callbacks, and fire them
        (on another queue) when a sync message arrives.

        (IPC::Connection::hasIncomingSyncMessage):
        * Platform/IPC/Connection.h:
        Add a way to check if there are any sync messages in the queue.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
        (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
        These are no longer used; do nothing on 10.10+.

        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
        * WebProcess/WebPage/DrawingArea.h:
        (WebKit::DrawingArea::updateGeometry):
        * WebProcess/WebPage/DrawingArea.messages.in:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::scaleViewAndUpdateGeometryFenced):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::updateGeometry):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
        Add a MachSendRight parameter to UpdateGeometry, so that we can send along
        a fence port with the geometry update if needed.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
        Apply the incoming fence so that geometry changes will be synchronized between processes.

        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
        (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
        Don't wait for DidUpdateGeometry to come in if we're using fences to achieve the same thing.

        (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
        Create and block us on a fence and send it along with the geometry update.
        If a sync message is in the incoming message queue, don't create the fence;
        if a sync message comes in at any point after we've installed the fence (but
        before the relevant commit completes), invalidate the fence, so that we won't
        end up temorarily deadlocked waiting for the fence timeout.

2015-07-09  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Crash when spell checker returns no guesses
        https://bugs.webkit.org/show_bug.cgi?id=146805

        Reviewed by Martin Robinson.

        Properly handle ContextMenuItemTagNoGuessesFound in the switch statement.

        * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
        (webkitContextMenuActionGetForContextMenuItem):

2015-07-09  Alex Christensen  <achristensen@webkit.org>

        [Content Extensions] Add 3 byte jump size.
        https://bugs.webkit.org/show_bug.cgi?id=146425

        Reviewed by Darin Adler.

        * UIProcess/API/APIUserContentExtensionStore.h:
        Increment CurrentContentExtensionFileVersion because of change in the bytecode.

2015-07-09  Anders Carlsson  <andersca@apple.com>

        SafariViewController loads partial webpage or entirely blank webpage
        https://bugs.webkit.org/show_bug.cgi?id=146815
        rdar://problem/21734757

        Reviewed by Dan Bernstein.

        * Platform/spi/ios/UIKitSPI.h:
        Add _hostProcessIdentifier getter.

        * UIProcess/ApplicationStateTracker.h:
        Change ApplicationStateTracker to hold on to a WKContentView instead of a UIView.

        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::applicationType):
        Add a helper function that returns the type of application the web view is hosted by (regular
        application, view service or extension).

        (WebKit::ApplicationStateTracker::ApplicationStateTracker):
        Register notifications and update m_isInBackground. For regular applications, just listen for UIApplication notifications.
        For view services, walk the view controller hierarchy and find the service view controller and listen for notifications and use
        BKS to find the background state of the host application. For extensions, just use BKSApplicationStateMonitor directly.

        (WebKit::isViewService): Deleted.

        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView willMoveToWindow:]):
        If we're moving out of a window, null out the state tracker.

        (-[WKContentView didMoveToWindow]):
        If we moved to a window, create a new state tracker.

        (-[WKContentView isBackground]):
        Handle a null application state.

        (-[WKContentView _commonInitializationWithProcessPool:configuration:]): Deleted.
        Don't create the application state here.

2015-07-09  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Report the first paint after committing a load as a rendering progress event
        https://bugs.webkit.org/show_bug.cgi?id=146765

        Reviewed by Tim Horton.

        * Shared/API/Cocoa/_WKRenderingProgressEvents.h: Added _WKRenderingProgressEventFirstPaint.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didCommitLayerTree:]): If this is the first layer tree commit since the load
        was committed, and the delegate is observing _WKRenderingProgressEventFirstPaint, call
        NavigationState::didFirstPaint.

        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::didFirstPaint): Added. Calls -_webView:renderingProgressDidChange:
        with _WKRenderingProgressEventFirstPaint.

2015-07-08  Jinwoo Song  <jinwoo7.song@samsung.com>

        [EFL] When closing inspector window, EwkView is not released properly.
        https://bugs.webkit.org/show_bug.cgi?id=146716

        Reviewed by Gyuyoung Kim.

        It's because inspector window could not be deleted by remaining reference
        from inspector view(evas object). This patch deletes the inspector window
        after finishing the evas object smart call.

        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::destroyInspectorWindow):
        (WebKit::WebInspectorProxy::platformDidClose):

2015-07-08  Hyungwook Lee  <hyungwook.lee@navercorp.com>

        Fix ASSERTION FAILED: !m_pendingNavigationID in WebPage::reload().
        https://bugs.webkit.org/show_bug.cgi?id=146546

        Reviewed by Darin Adler.

        We did't reset pendingNavigationID value when request url is empty.
        Hence we need to ignore ASSERT check in this case.

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

2015-07-08  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Use Ref/RefPtr instead of PassRefPtr in WebKit2 - 2
        https://bugs.webkit.org/show_bug.cgi?id=146591

        Reviewed by Darin Adler.

        Following patch in order to reduce use of PassRefPtr.

        * Shared/BlobDataFileReferenceWithSandboxExtension.h:
        * Shared/Cocoa/CompletionHandlerCallChecker.h:
        * Shared/Cocoa/CompletionHandlerCallChecker.mm:
        (WebKit::CompletionHandlerCallChecker::create):
        * Shared/Downloads/DownloadAuthenticationClient.h:
        (WebKit::DownloadAuthenticationClient::create):
        * Shared/SandboxExtension.h:
        * Shared/ShareableResource.cpp:
        (WebKit::ShareableResource::create):
        * Shared/ShareableResource.h:
        * Shared/mac/ObjCObjectGraph.h:
        (WebKit::ObjCObjectGraph::create):
        * Shared/mac/SandboxExtensionMac.mm:
        (WebKit::SandboxExtension::create):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (getInjectedBundleInitializationUserData):
        * UIProcess/WebPreferences.cpp:
        (WebKit::WebPreferences::create):
        * UIProcess/WebPreferences.h:
        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
        (WKBundlePageOverlayCreate):
        * WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:
        (WKBundlePageBannerCreateBannerWithCALayer):
        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
        (WebKit::InjectedBundleDOMWindowExtension::create):
        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
        (WebKit::InjectedBundleHitTestResult::create):
        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
        (WebKit::InjectedBundleNavigationAction::create):
        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
        (WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):
        (WebKit::InjectedBundlePageContextMenuClient::prepareForImmediateAction):
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.cpp:
        (WebKit::InjectedBundleScriptWorld::create):
        * WebProcess/InjectedBundle/InjectedBundleScriptWorld.h:
        * WebProcess/Network/NetworkProcessConnection.h:
        (WebKit::NetworkProcessConnection::create):
        * WebProcess/Network/WebResourceLoader.cpp:
        (WebKit::WebResourceLoader::create):
        * WebProcess/Network/WebResourceLoader.h:
        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
        (WebKit::NotificationPermissionRequestManager::create):
        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
        (WebKit::NetscapePlugin::create):
        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
        (WebKit::NetscapePluginStream::create):
        * WebProcess/Plugins/PDF/PDFPlugin.h:
        * WebProcess/Plugins/PDF/PDFPlugin.mm:
        (WebKit::PDFPlugin::create):
        * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
        (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::create):
        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.h:
        * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
        (WebKit::PDFPluginChoiceAnnotation::create):
        * WebProcess/Plugins/PDF/PDFPluginPasswordField.h:
        * WebProcess/Plugins/PDF/PDFPluginPasswordField.mm:
        (WebKit::PDFPluginPasswordField::create):
        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
        * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
        (WebKit::PDFPluginTextAnnotation::create):
        * WebProcess/Plugins/PluginProcessConnection.h:
        (WebKit::PluginProcessConnection::create):
        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
        (WebKit::PluginProcessConnectionManager::create):
        * WebProcess/Plugins/PluginProcessConnectionManager.h:
        * WebProcess/Plugins/PluginProxy.cpp:
        (WebKit::PluginProxy::create):
        * WebProcess/Plugins/PluginProxy.h:
        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::URLRequest::create):
        (WebKit::PluginView::Stream::create):
        (WebKit::PluginView::create):
        * WebProcess/Plugins/PluginView.h:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
        (WebKit::RemoteScrollingCoordinator::create):
        * WebProcess/Storage/StorageAreaImpl.cpp:
        (WebKit::StorageAreaImpl::create):
        * WebProcess/Storage/StorageAreaImpl.h:
        * WebProcess/Storage/StorageAreaMap.cpp:
        (WebKit::StorageAreaMap::create):
        * WebProcess/Storage/StorageAreaMap.h:
        * WebProcess/WebConnectionToUIProcess.cpp:
        (WebKit::WebConnectionToUIProcess::create):
        * WebProcess/WebConnectionToUIProcess.h:
        * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
        (WebKit::WebPopupMenu::create):
        * WebProcess/WebCoreSupport/WebPopupMenu.h:
        * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
        (WebKit::WebSearchPopupMenu::create):
        * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
        * WebProcess/WebCoreSupport/ios/WebQuickLookHandleClient.h:
        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
        (WebKit::WebFrameNetworkingContext::create):
        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
        (WebKit::WebFrameNetworkingContext::create):
        * WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h:
        (WebKit::RemoteLayerTreeDisplayRefreshMonitor::create):
        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::create):
        * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
        (WebKit::ThreadedCoordinatedLayerTreeHost::create):
        * WebProcess/WebPage/EventDispatcher.cpp:
        (WebKit::EventDispatcher::create):
        * WebProcess/WebPage/EventDispatcher.h:
        * WebProcess/WebPage/PageBanner.h:
        * WebProcess/WebPage/WebBackForwardListProxy.h:
        (WebKit::WebBackForwardListProxy::create):
        * WebProcess/WebPage/WebContextMenu.h:
        (WebKit::WebContextMenu::create):
        * WebProcess/WebPage/WebDocumentLoader.h:
        (WebKit::WebDocumentLoader::create):
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::create):
        * WebProcess/WebPage/WebInspector.h:
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::create):
        * WebProcess/WebPage/WebInspectorUI.h:
        * WebProcess/WebPage/WebOpenPanelResultListener.cpp:
        (WebKit::WebOpenPanelResultListener::create):
        * WebProcess/WebPage/WebOpenPanelResultListener.h:
        * WebProcess/WebPage/WebPageOverlay.cpp:
        (WebKit::WebPageOverlay::create):
        * WebProcess/WebPage/WebPageOverlay.h:
        * WebProcess/WebPage/WebUndoStep.cpp:
        (WebKit::WebUndoStep::create):
        * WebProcess/WebPage/WebUndoStep.h:
        * WebProcess/WebPage/mac/PageBannerMac.mm:
        (WebKit::PageBanner::create):
        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
        (WebKit::PlatformCAAnimationRemote::create):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
        * WebProcess/ios/WebVideoFullscreenManager.h:
        * WebProcess/ios/WebVideoFullscreenManager.mm:
        (WebKit::WebVideoFullscreenManager::create):

2015-07-08  Anders Carlsson  <andersca@apple.com>

        WKSecurityOrigin.h has wrong availability info
        https://bugs.webkit.org/show_bug.cgi?id=146761
        rdar://problem/21735802

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKSecurityOrigin.h:

2015-07-08  Andreas Kling  <akling@apple.com>

        [iOS] Scrolling is laggy when the keyboard is up and a form element is focused.
        <https://webkit.org/b/146735>
        <rdar://problem/21151033>

        Reviewed by Enrica Casucci.

        Every touch on the page causes us to call elementDidFocus(), since we may need to bring
        up a keyboard if the node had previously been programmatically focused. This was causing
        little lag spikes during scrolling every time you'd put your finger to the screen.

        Have WebPage::elementDidFocus() return early if the node already has focus, and we've
        started an input session in response to non-programmatic focus already.

        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::elementDidFocus):
        (WebKit::WebPage::elementDidBlur):

2015-07-08  Matt Rajca  <mrajca@apple.com>

        Media Session: indicate to clients whether a media session has active media elements
        https://bugs.webkit.org/show_bug.cgi?id=146742

        Reviewed by Tim Horton.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageHasMediaSessionWithActiveMediaElements):
        * UIProcess/API/C/WKPagePrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::hasMediaSessionWithActiveMediaElementsDidChange):
        * UIProcess/WebPageProxy.messages.in:
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::hasMediaSessionWithActiveMediaElementsDidChange):
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2015-07-07  Matt Rajca  <mrajca@apple.com>

        Media Session: propagate artwork URL with metadata to UI clients
        https://bugs.webkit.org/show_bug.cgi?id=146698

        Reviewed by Tim Horton.

        * Shared/WebMediaSessionMetadata.h:
        (WebKit::WebMediaSessionMetadata::artworkURL):
        * UIProcess/API/C/WKMediaSessionMetadata.cpp:
        (WKMediaSessionMetadataCopyArtworkURL):
        * UIProcess/API/C/WKMediaSessionMetadata.h:

2015-07-08  Yongjun Zhang  <yongjun_zhang@apple.com>

        Don't allow page scroll when previewing a link or image.
        https://bugs.webkit.org/show_bug.cgi?id=146741
        rdar://problem/21733053

        Reviewed by Beth Dakin.

        Don't let preview gesture and scroll panning gesture or zooming gesture recognize at the same time.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView gestureRecognizer:canPreventGestureRecognizer:]):

2015-07-08  Tim Horton  <timothy_horton@apple.com>

        Snapshots can be misplaced when custom swipe views are offset from the window origin
        https://bugs.webkit.org/show_bug.cgi?id=146744
        <rdar://problem/20942120>

        Reviewed by Dean Jackson.

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        Keep swipeArea in window coordinates; it was already in window coordinates
        when using custom swipe views, but not in the non-custom case.

        Convert from window coordinates to parent-of-m_swipeLayer coordinates when
        determining m_swipeLayer's frame.

2015-07-07  Andy Estes  <aestes@apple.com>

        [iOS][WK2] Ignore synthetic clicks in subframes initiated on a previous page
        https://bugs.webkit.org/show_bug.cgi?id=146712

        Reviewed by Benjamin Poulain.

        r178980 fixed an issue where, if a main frame navigation occurs in response to a touch event, a synthetic click
        event could fire on the navigated-to page. This change extends this fix to apply to subframes.

        * WebProcess/WebPage/WebFrame.cpp:
        (WebKit::WebFrame::WebFrame):
        * WebProcess/WebPage/WebFrame.h:
        (WebKit::WebFrame::firstLayerTreeTransactionIDAfterDidCommitLoad):
        (WebKit::WebFrame::setFirstLayerTreeTransactionIDAfterDidCommitLoad):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::didCommitLoad): Stored the next layer tree transaction ID, and called cancelPotentialTapInFrame(), for the committed frame.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::handleTap): Determined the first post-commit layer tree transaction ID from the tap target node's frame.
        (WebKit::WebPage::commitPotentialTap): Ditto.
        (WebKit::WebPage::cancelPotentialTap): Called cancelPotentialTapInFrame(), passing m_mainFrame.
        (WebKit::WebPage::cancelPotentialTapInFrame): Taught to only cancel a potential tap whose target node is a descendant of the given frame.
        (WebKit::WebPage::updateVisibleContentRects): Updated to use the main frame's first post-commit layer tree transaction ID.

2015-07-08  Brady Eidson  <beidson@apple.com>

        Move PingLoaders to the NetworkingProcess.
        <rdar://problem/18860263> and https://bugs.webkit.org/show_bug.cgi?id=146710

        Reviewed by Tim Horton.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::loadPing): Create a PingHandle and then return.
        * NetworkProcess/NetworkConnectionToWebProcess.h:
        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
        
        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::createPingHandle): If the Network process is enabled,
          compile the appropriate load parameters and then message to it.
          Otherwise, use the default in-process PingHandle.
        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:

2015-07-08  Beth Dakin  <bdakin@apple.com>

        Only support image previews for clients that implement commitPreviewedImageWithURL 
        delegate
        https://bugs.webkit.org/show_bug.cgi?id=146739
        -and corresponding-
        rdar://problem/21692929

        Reviewed by Tim Horton.

        We should only support image previews for clients that implement 
        commitPreviewedImageWithURL delegate since there is no default commit action.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):

2015-07-08  Anders Carlsson  <andersca@apple.com>

        Make ApplicationStateTracker be per view instead of being a singleton
        https://bugs.webkit.org/show_bug.cgi?id=146737

        Reviewed by Andreas Kling.

        * UIProcess/ApplicationStateTracker.h:
        Update to be per view instead of a singleton.

        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::ApplicationStateTracker::ApplicationStateTracker):
        Change to take a view + selectors.

        (WebKit::ApplicationStateTracker::~ApplicationStateTracker):
        Invalidate the state monitor and remove the listeners.

        (WebKit::ApplicationStateTracker::applicationDidEnterBackground):
        Just call the single background method.

        (WebKit::ApplicationStateTracker::applicationWillEnterForeground):
        Just call the single foreground method.

        (WebKit::ApplicationStateTracker::singleton): Deleted.
        (WebKit::ApplicationStateTracker::addListener): Deleted.
        (WebKit::ApplicationStateTracker::invokeListeners): Deleted.
        (WebKit::ApplicationStateTracker::pruneListeners): Deleted.

        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithProcessPool:configuration:]):
        Create the ApplicationStateTracker here.

        (-[WKContentView isBackground]):
        Get the ivar instead of the singleton.

2015-07-08  Beth Dakin  <bdakin@apple.com>

        InteractionInformationAtPosition bounds seem wrong on many sites, affects 
        apple.com
        https://bugs.webkit.org/show_bug.cgi?id=146736
        -and corresponding-
        rdar://problem/21655549

        Reviewed by Tim Horton.

        http://trac.webkit.org/changeset/186132/ changed the bounds for 
        InteractionInformationAtPosition. The image-related changes are good, but the 
        link-related changes feel wrong on many sites. We should revert the change for now 
        and just use the absoluteBoundingBoxRect() for non-images.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-07-08  Beth Dakin  <bdakin@apple.com>

        Add actions to image previews
        https://bugs.webkit.org/show_bug.cgi?id=146702
        -and corresponding-
        <rdar://problem/21642654>

        Reviewed by Sam Weinig.

        Add an array of actions and _WKActivatedElementInfo in order to properly invoke 
        the actions.
        * UIProcess/WKImagePreviewViewController.h:
        * UIProcess/WKImagePreviewViewController.mm:
        (-[WKImagePreviewViewController loadView]):
        (-[WKImagePreviewViewController initWithCGImage:defaultActions:elementInfo:]):
        (_scaleSizeWithinSize):
        (-[WKImagePreviewViewController initWithCGImage:]): Deleted.

        Re-factor defaultActionsForImageSheet into a stand-alone function so that it can 
        be invoked for previews as well as for the action sheet.
        * UIProcess/ios/WKActionSheetAssistant.h:
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant showImageSheet]):
        (-[WKActionSheetAssistant defaultActionsForLinkSheet]):
        (-[WKActionSheetAssistant defaultActionsForImageSheet]):
        (-[WKActionSheetAssistant showLinkSheet]):

        WKImagePreviewViewController initializer now takes the default actions and 
        _WKActivatedElementInfo.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):

2015-07-08  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21669397> [iOS] Keyboard shortcuts that take focus away from the web view end up typing a letter into the newly focused field
        https://bugs.webkit.org/show_bug.cgi?id=146732

        Reviewed by Sam Weinig.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView _interpretKeyEvent:isCharEvent:]): Bail out if we are no longer the first
        responder.

2015-07-07  Anders Carlsson  <andersca@apple.com>

        Always begin a background task when needed, not just when we go into the background
        https://bugs.webkit.org/show_bug.cgi?id=146704

        Reviewed by Gavin Barraclough.

        The system let background code run for the same amount of time regardless of whether the assertion was grabbed
        when the app is in the foreground or being backgrounded, so remove the background/foreground tracking code.

        * UIProcess/ios/ProcessAssertionIOS.mm:
        (-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
        (-[WKProcessAssertionBackgroundTaskManager init]): Deleted.
        (-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground]): Deleted.
        (-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground]): Deleted.

2015-07-08  Antti Koivisto  <antti@apple.com>

        Network Cache: Don't open files in main thread
        https://bugs.webkit.org/show_bug.cgi?id=146722

        Follow-up.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::dispatchReadOperation):

            Accessing m_bodyFilter is technically not thread safe so keep it in main thread.

2015-07-08  Antti Koivisto  <antti@apple.com>

        Network Cache: Don't open files in main thread
        https://bugs.webkit.org/show_bug.cgi?id=146722

        Reviewed by Chris Dumez.

        While we use open() with O_NONBLOCK profiling indicates that we still may block up to 5ms under the syscall in some case.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::dispatchReadOperation):

            Dispatch read operation to a concurrent queue.
            With this we can also eliminate the separate dispatch() for body blob read.

2015-07-08  Sungmann Cho  <sungmann.cho@navercorp.com>

        [Unix] Remove unused local variable from Connection::sendOutgoingMessage().
        https://bugs.webkit.org/show_bug.cgi?id=146713

        Reviewed by Csaba Osztrogonác.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::Connection::sendOutgoingMessage):

2015-07-07  Tim Horton  <timothy_horton@apple.com>

        Occasional null deref in the CA callback in flushLayers()
        https://bugs.webkit.org/show_bug.cgi?id=146700
        <rdar://problem/21668754>

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
        Make sure we keep the WebPage alive, and null-check the potentially null
        WebCore objects (Page and Frame).

2015-07-06  Matt Rajca  <mrajca@apple.com>

        Media Session: propagate metadata changes to UI clients
        https://bugs.webkit.org/show_bug.cgi?id=146660

        Reviewed by Tim Horton.

        * CMakeLists.txt: Added WebMediaSessionMetadata and WKMediaSessionMetadata.
        * Shared/API/APIObject.h: Added a media session metadata type.
        * Shared/API/c/WKBase.h:
        * Shared/WebMediaSessionMetadata.cpp: Added API adapter for WebCore::MediaSessionMetadata.
        (WebKit::WebMediaSessionMetadata::create):
        (WebKit::WebMediaSessionMetadata::WebMediaSessionMetadata):
        (WebKit::WebMediaSessionMetadata::~WebMediaSessionMetadata):
        * Shared/WebMediaSessionMetadata.h: Added API adapter for WebCore::MediaSessionMetadata.
        (WebKit::WebMediaSessionMetadata::title):
        (WebKit::WebMediaSessionMetadata::artist):
        (WebKit::WebMediaSessionMetadata::album):
        * UIProcess/API/APIUIClient.h: Added 'mediaSessionMetadataDidChange' interface.
        (API::UIClient::mediaSessionMetadataDidChange):
        * UIProcess/API/C/WKAPICast.h:
        * UIProcess/API/C/WKMediaSessionMetadata.cpp: Added C wrapper for WebMediaSessionMetadata.
        (WKMediaSessionMetadataGetTypeID):
        (WKMediaSessionMetadataCopyTitle):
        (WKMediaSessionMetadataCopyArtist):
        (WKMediaSessionMetadataCopyAlbum):
        * UIProcess/API/C/WKMediaSessionMetadata.h: Added C wrapper for WebMediaSessionMetadata.
        * UIProcess/API/C/WKPage.cpp: Forward 'mediaSessionMetadataDidChange' to client.
        (WKPageSetPageUIClient):
        * UIProcess/API/C/WKPageUIClient.h: Added 'mediaSessionMetadataDidChange' callback.
        * UIProcess/WebPageProxy.cpp: Forward 'mediaSessionMetadataDidChange' to UI client.
        (WebKit::WebPageProxy::mediaSessionMetadataDidChange):
        * WebKit2.xcodeproj/project.pbxproj: Added WebMediaSessionMetadata and WKMediaSessionMetadata.

2015-07-07  Brady Eidson  <beidson@apple.com>

        HTTP Auth cached after disabling private browsing/reset.
        <rdar://problem/8293055> and https://bugs.webkit.org/show_bug.cgi?id=146654

        Reviewed by Tim Horton.

        * WebProcess/Plugins/PluginView.cpp:
        (WebKit::PluginView::getAuthenticationInfo):

2015-07-07  Anders Carlsson  <andersca@apple.com>

        Make sure to remove the download message receiver before freeing it
        https://bugs.webkit.org/show_bug.cgi?id=146687

        Reviewed by Simon Fraser.

        * UIProcess/Downloads/DownloadProxyMap.cpp:
        (WebKit::DownloadProxyMap::downloadFinished):

2015-07-07  Chris Dumez  <cdumez@apple.com>

        Unreviewed, Fix non-Mac build after r186464.

        * UIProcess/Network/CustomProtocols/soup/CustomProtocolManagerProxySoup.cpp:
        (WebKit::CustomProtocolManagerProxy::~CustomProtocolManagerProxy):

2015-07-06  Anders Carlsson  <andersca@apple.com>

        Make sure to remove message receivers before they are deallocated
        https://bugs.webkit.org/show_bug.cgi?id=146666
        rdar://problem/21331118

        Reviewed by Tim Horton.

        Add code so we can assert that there are no message receiver maps pointing to a message receiver
        when it's being destroyed. Fix all the assertions by calling removeMessageReceiver in the right places.

        * Platform/IPC/MessageReceiver.h:
        (IPC::MessageReceiver::~MessageReceiver):
        (IPC::MessageReceiver::willBeAddedToMessageReceiverMap):
        (IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap):
        * Platform/IPC/MessageReceiverMap.cpp:
        (IPC::MessageReceiverMap::addMessageReceiver):
        (IPC::MessageReceiverMap::removeMessageReceiver):
        (IPC::MessageReceiverMap::invalidate):
        * Shared/ChildProcess.cpp:
        (WebKit::ChildProcess::removeMessageReceiver):
        * Shared/ChildProcess.h:
        * Shared/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::removeMessageReceiver):
        * Shared/ChildProcessProxy.h:
        * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
        (-[WKBrowsingContextController dealloc]):
        * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
        * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
        (WebKit::CustomProtocolManagerProxy::~CustomProtocolManagerProxy):
        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        (WebKit::WebUserContentControllerProxy::~WebUserContentControllerProxy):
        * UIProcess/WebConnectionToWebProcess.cpp:
        (WebKit::WebConnectionToWebProcess::invalidate):
        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
        (-[WKWebProcessPlugInBrowserContextController dealloc]):
        * WebProcess/WebConnectionToUIProcess.cpp:
        (WebKit::WebConnectionToUIProcess::invalidate):

2015-07-06  Brent Fulgham  <bfulgham@apple.com>

        Ensure media playback is stopped during page close
        https://bugs.webkit.org/show_bug.cgi?id=146554
        <rdar://problem/18033944>

        Reviewed by Brady Eidson.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::didClose): Make sure to clean up any running media sessions when
        the process is being shut down.

2015-07-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r186385.
        https://bugs.webkit.org/show_bug.cgi?id=146668

        crashes 3 webaudio tests in debug builds (Requested by
        alexchristensen on #webkit).

        Reverted changeset:

        "Ensure media playback is stopped during page close"
        https://bugs.webkit.org/show_bug.cgi?id=146554
        http://trac.webkit.org/changeset/186385

2015-07-06  Brent Fulgham  <bfulgham@apple.com>

        Ensure media playback is stopped during page close
        https://bugs.webkit.org/show_bug.cgi?id=146554
        <rdar://problem/18033944>

        Reviewed by Brady Eidson.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::didClose): Make sure to clean up any running media sessions when
        the process is being shut down.

2015-07-06  Yongjun Zhang  <yongjun_zhang@apple.com>

        Allow UIDelegate to customize link actions in preview.
        https://bugs.webkit.org/show_bug.cgi?id=146567

        Add a new UIDelegate method to pass the defaultActions and elementInfo to client to allow
        the client customize the actions based on the element. Also add a new SPI runActionWithElementInfo:
        to _WKElementAction and make it aware of the WKActionSheetAssistant that creates it, so that
        the client can run the action without knowing WKActionSheetAssistant.

        Reviewed by Beth Dakin.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add delegate method _webView:previewViewControllerForURL:defaultActions:elementInfo:.
        * UIProcess/API/Cocoa/_WKElementAction.h: Add a SPI runActionWithElementInfo:.
        * UIProcess/API/Cocoa/_WKElementAction.mm:
        (-[_WKElementAction _initWithTitle:actionHandler:type:assistant:]): Modified initializer, also initialize _defaultActionSheetAssistant
            iVar if the caller provides that.
        (+[_WKElementAction elementActionWithTitle:actionHandler:]): Use the new initializer.
        (+[_WKElementAction _elementActionWithType:customTitle:assistant:]): A new helper method to create _WKElementAction with assistant.
        (+[_WKElementAction _elementActionWithType:assistant:]):
        (+[_WKElementAction elementActionWithType:customTitle:]):
        (-[_WKElementAction runActionWithElementInfo:]):
        * UIProcess/API/Cocoa/_WKElementActionInternal.h:
        * UIProcess/ios/WKActionSheetAssistant.h: Add a method defaultActionsForLinkSheet.
        * UIProcess/ios/WKActionSheetAssistant.mm:
        (-[WKActionSheetAssistant defaultActionsForLinkSheet]): Get default actions for current link that is activated.
        (-[WKActionSheetAssistant showLinkSheet]): Use defaultActionsForLinkSheet.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView previewViewControllerForPosition:inSourceView:]): Pass defaultActions and elementInfo to UIDelegate when querying
            for preview view controller.
        (-[WKContentView didDismissPreviewViewController:committing:]):

2015-07-06  Brady Eidson  <beidson@apple.com>

        ShouldOpenExternalURLsPolicy should default to "Allow" for WK2 API loads.
        <rdar://problem/21640050> and https://bugs.webkit.org/show_bug.cgi?id=146563

        Reviewed by Geoff Garen.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView loadRequest:]): Move _loadRequest:withOptions: logic back here, just without options.
        (-[WKWebView _loadRequest:withOptions:]): This SPI is now unneeded, but must remain inactive.
        * UIProcess/WebPageProxy.h:

2015-07-06  Csaba Osztrogonác  <ossy@webkit.org>

        URTBF after r186357 to fix non Cocoa platforms.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteData):

2015-07-06  Antti Koivisto  <antti@apple.com>

        With multipart/replaced (e.g. motion JPEG), m_bufferedDataForCache grows unbounded in Networking process
        https://bugs.webkit.org/show_bug.cgi?id=146630
        <rdar://problem/21677340>

        Follow-up.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didReceiveBuffer):

            Typo 1014 -> 1024

2015-07-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r185896.
        https://bugs.webkit.org/show_bug.cgi?id=146647

        Caused by a refcounting error in GTK+; it's actually legal for
        the event to be null, just the gi annotations were wrong.
        (Requested by mcatanzaro on #webkit).

        Reverted changeset:

        "[GTK] Crash performing drag-and-drop"
        https://bugs.webkit.org/show_bug.cgi?id=146267
        http://trac.webkit.org/changeset/185896

2015-07-06  Anders Carlsson  <andersca@apple.com>

        Provide API to clear the HSTS cache
        https://bugs.webkit.org/show_bug.cgi?id=146565
        rdar://problem/20023805

        Reviewed by Tim Horton.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteData):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::clearHSTSCache):
        * Shared/WebsiteData/WebsiteDataTypes.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
        (dataTypesToString):
        * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
        (WebKit::toWebsiteDataTypes):
        (WebKit::toWKWebsiteDataTypes):
        * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::computeNetworkProcessAccessTypeForDataRemoval):

2015-07-06  Antti Koivisto  <antti@apple.com>

        With multipart/replaced (e.g. motion JPEG), m_bufferedDataForCache grows unbounded in Networking process
        https://bugs.webkit.org/show_bug.cgi?id=146630
        <rdar://problem/21677340>

        Reviewed by Chris Dumez.

        * NetworkProcess/NetworkResourceLoader.cpp:
        (WebKit::NetworkResourceLoader::didReceiveResponseAsync):

            Don't buffer multipart/x-mixed-replace. We never want to cache these.

        (WebKit::NetworkResourceLoader::didReceiveBuffer):

            Limit the maximum size of the cache buffer to 10MB. This prevents unbounded memory growth if the resource
            keeps streaming. It also prevents giant entries from pushing other data out of the cache.

        (WebKit::NetworkResourceLoader::didFinishLoading):

2015-07-06  Zan Dobersek  <zdobersek@igalia.com>

        [GTK] Guard X11-specific code in webkitWebViewBaseDidRelaunchWebProcess()
        https://bugs.webkit.org/show_bug.cgi?id=146627

        Reviewed by Carlos Garcia Campos.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseDidRelaunchWebProcess):
        Guard calls to DrawingAreaImpl::setNativeSurfaceHandleForCompositing()
        that pass in an X11 Window ID with the PLATFORM(X11) build guards.

2015-07-05  Chris Dumez  <cdumez@apple.com>

        [WK2] Current page's scroll position is lost when transferring sessionState from one view to another
        https://bugs.webkit.org/show_bug.cgi?id=146625
        <rdar://problem/21585268>

        Reviewed by Gavin Barraclough.

        The current page's scroll position was lost when transferring the
        sessionState from one view to another. This is because we only update
        the current WebBackForwardListItem after navigating away.
        However, when the client swaps WebViews for navigating, we don't detect
        this as navigating away and the current WebBackForwardListItem is not
        updated with the current page's state (including the scroll position).
        This means that the information is not transferred via the sessionState
        and the scroll position (among other things) ends up being lost when
        navigating back in the new WebView.

        Retrieving the session state is a synchronous API and we want to avoid
        doing a synchronous IPC between the UIProcess and the WebProcess to
        retrieve the current page's state. Therefore, the approach chosen in
        this patch is to detect when the user is done scrolling the main frame
        (using a HystererisActivity) and then update the scroll position on the
        current HistoryItem. This way, the current WebBackForwardListItem
        normally has an up-to-date scroll position for the main frame when the
        sessionState is queried by the client.

        The solution is not perfect as we don't keep the whole page state
        up-to-date for the current WebBackForwardListItem, only the main frame
        state. However, the proposed solution is cheap, avoid synchronous IPC
        and provides a much better user experience in most cases.

        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::pageDidScroll):
        (WebKit::WebPage::pageStoppedScrolling):
        * WebProcess/WebPage/WebPage.h:

2015-07-05  Timothy Hatcher  <timothy@apple.com>

        Crash when closing the web inspector
        https://bugs.webkit.org/show_bug.cgi?id=146620

        Reviewed by Darin Adler.

        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::closeWindow): Null check the connection, like it is
        in other places where it is used.

2015-07-04  Chris Dumez  <cdumez@apple.com>

        Drop RefPtr::clear() method
        https://bugs.webkit.org/show_bug.cgi?id=146556

        Reviewed by Brady Eidson.

        Drop RefPtr::clear() method in favor of "= nullptr;" pattern.        

2015-07-03  Dan Bernstein  <mitz@apple.com>

        [Xcode] Update some build settings as recommended by Xcode 7
        https://bugs.webkit.org/show_bug.cgi?id=146597

        Reviewed by Sam Weinig.

        * Configurations/Base.xcconfig: Enabled CLANG_WARN_UNREACHABLE_CODE and
        GCC_NO_COMMON_BLOCKS. Removed GCC_MODEL_TUNING.

        * WebKit2.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

2015-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r186025): [SOUP] NetworkCache gets blocked in traverse since r186025
        https://bugs.webkit.org/show_bug.cgi?id=146545

        Reviewed by Sergio Villar Senin.

        In r186025 the readSync method used when traversing the cache
        files was removed in favor of using parallel async reads to speed
        up the traverse. The approach used doesn't work for soup, because
        the IO operations are async, but run their callbacks in the
        current thread. The network cache now runs up to 5 async reads in
        the io work queue thread, and waits for them to finish, and those
        asycn reads never finish for the soup backend because the thread
        is blocked waiting for them. We need to use a different thread to
        run those reads.

        * NetworkProcess/cache/NetworkCacheIOChannel.h: Add
        readSyncInThread private method.
        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
        (WebKit::NetworkCache::IOChannel::read): When not called in the
        main thread, call readSyncInThread() instead.
        (WebKit::NetworkCache::IOChannel::readSyncInThread): Run the read
        operation synchronously in a different thread, since the current
        thread might be blocked waiting for us.

2015-07-02  Przemek Piorkowski  <piorkowskiprzemyslaw@gmail.com>

        [EFL] test_ewk2_application_cache_manager has been failed since r185527
        https://bugs.webkit.org/show_bug.cgi?id=146016

        Reviewed by Gyuyoung Kim.

        In order to handle properly WebApplicationCacheManagerProxy implementation which use
        WebsiteDataRecord it is necessary to enable PUBLIC_SUFFIX_LIST for EFL.
        Implementation of PUBLIC_SUFFIX_LIST already exists for soup so EFL can use it as well.

        * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
        (TEST_F): enable ewk_application_cache_manager as it is passing now.

2015-07-02  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r186247 and r186250.
        https://bugs.webkit.org/show_bug.cgi?id=146572

        Broke the build on Mavericks bots (Requested by cdumez on
        #webkit).

        Reverted changesets:

        "Provide API to clear the HSTS cache"
        https://bugs.webkit.org/show_bug.cgi?id=146565
        http://trac.webkit.org/changeset/186247

        "Unreviewed build fix for non-COCOA ports after r186247."
        http://trac.webkit.org/changeset/186250

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

        Unreviewed build fix for non-COCOA ports after r186247.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteData): Add PLATFORM(COCOA) guard.

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

        Provide API to clear the HSTS cache
        https://bugs.webkit.org/show_bug.cgi?id=146565
        rdar://problem/20023805

        Reviewed by Tim Horton.

        * NetworkProcess/NetworkProcess.cpp:
        (WebKit::NetworkProcess::deleteWebsiteData):
        * NetworkProcess/NetworkProcess.h:
        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
        (WebKit::NetworkProcess::clearHSTSCache):
        * Shared/WebsiteData/WebsiteDataTypes.h:
        * UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
        (dataTypesToString):
        * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
        (WebKit::toWebsiteDataTypes):
        (WebKit::toWKWebsiteDataTypes):
        * UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
        (WebKit::computeNetworkProcessAccessTypeForDataRemoval):

2015-07-02  Mark Lam  <mark.lam@apple.com>

        Gardening: fix broken 32-bit build..
        https://bugs.webkit.org/show_bug.cgi?id=146416

        Not reviewed.

        * UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
        (API::SerializedScriptValue::deserialize):

2015-07-02  Brent Fulgham  <bfulgham@apple.com>

        Correct *another* typo in r186238.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Fix parameter name scrolView -> scrollView.

2015-07-02  Brent Fulgham  <bfulgham@apple.com>

        Correct typo in r186238.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):

2015-07-02  Brent Fulgham  <bfulgham@apple.com>

        Provide delegate SPI for clients to notify WebKit about content inset changes
        https://bugs.webkit.org/show_bug.cgi?id=146482
        <rdar://problem/21602741>

        Reviewed by Darin Adler.

        Provide a new SPI for WebKit client applications to use to inform WebKit of planned
        adjustments to the edge insets of the view.

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add new optional delegate method.
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): If the new delegate
        method exists, use the specified content insets, rather than the current state of the view.

2015-07-02  Beth Dakin  <bdakin@apple.com>

        Allow the UIDelegate to customize an image preview
        https://bugs.webkit.org/show_bug.cgi?id=146557
        -and corresponding-
        rdar://problem/21657424

        Reviewed by Tim Horton.

        Add imageURL to InteractionInformationAtPosition.
        * Shared/InteractionInformationAtPosition.cpp:
        (WebKit::InteractionInformationAtPosition::encode):
        (WebKit::InteractionInformationAtPosition::decode):
        * Shared/InteractionInformationAtPosition.h:

        Two new delegate methods.
        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

        Call the delegate methods at the appropriate time.
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):
        (-[WKContentView commitPreviewViewController:]):

        Include the imageURL in InteractionInformationAtPosition.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

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

        Instead of requiring ToT UIKIt, check that UI_WEB_TOUCH_EVENT_HAS_IS_POTENTIAL_TAP is defined to 1
        https://bugs.webkit.org/show_bug.cgi?id=146558

        Reviewed by Beth Dakin.

        * Shared/ios/NativeWebTouchEventIOS.mm:
        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):

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

        Remove change I accidentally committed in r186232

        * UIProcess/WebsiteData/WebsiteDataStore.h:

2015-07-02  Alex Christensen  <achristensen@webkit.org>

        Fix EWS build after r186182.

        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::userMediaPermissionRequestManager):
        Don't export a function defined in a header, or it will generate a weak external symbol.

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

        Add preference to disable all http-equiv.
        <rdar://problem/9091261> and https://bugs.webkit.org/show_bug.cgi?id=146553

        Reviewed by Sam Weinig.

        * Shared/WebPreferencesDefinitions.h:
        
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetMetaRefreshEnabled): Still expose this SPI, but have it affect
          the "httpEquivEnabled" setting.
        (WKPreferencesGetMetaRefreshEnabled): Ditto
        (WKPreferencesSetHTTPEquivEnabled):
        (WKPreferencesGetHTTPEquivEnabled):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
        
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-07-02  Mark Lam  <mark.lam@apple.com>

        WKWebView evaluateJavaScript:completionHandler: should reuse its JSContext instance.
        https://bugs.webkit.org/show_bug.cgi?id=146416

        Reviewed by Anders Carlsson.

        The core issue here is that we need to be able to deserialized an
        API::SerializedScriptValue instance into an ObjC object graph.  We'll solve this
        by introducing a API::SerializedScriptValue::deserialize() functions that does
        the job.  The deserialize() function will will use a SharedJSContext to provide
        the needed JSContext for doing this work.

        Also updated ScriptMessageHandlerDelegate::didPostMessage() to use this new
        deserialize() function.

        * Shared/API/APISerializedScriptValue.h:
        (API::SerializedScriptValue::deserialize):
        (API::SerializedScriptValue::internalRepresentation):
        - Changed to return a WebCore::SerializedScriptValue*.  This makes it friendlier
          to use in the 2 places that need it.

        * UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm: Added.
        (API::SharedJSContext::SharedJSContext):
        (API::SharedJSContext::ensureContext):
        (API::SharedJSContext::releaseContext):
        (API::SerializedScriptValue::deserialize):
        * UIProcess/API/Cocoa/WKUserContentController.mm:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView evaluateJavaScript:completionHandler:]):
        * UIProcess/API/gtk/WebKitWebView.cpp:
        (webkitWebViewRunJavaScriptCallback):
        - Removed a now unnecessary cast.
        * WebKit2.xcodeproj/project.pbxproj:

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

        <rdar://problem/21429613> [iOS] Stop making symlinks from PrivateFrameworks to Frameworks
        https://bugs.webkit.org/show_bug.cgi?id=146542

        Reviewed by Sam Weinig.

        * WebKit2.xcodeproj/project.pbxproj: Removed the build phase that makes the directory of
        symlinks.

2015-07-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] WebSQL doesn't work because openDatabase always fails with DOM Exception 18
        https://bugs.webkit.org/show_bug.cgi?id=146234

        Reviewed by Sergio Villar Senin.

        This is because we don't provide any quota, and 0 is used by
        default, so there's never enough quota and openDatabase fails. We
        should expose this in the API, but for now, we could use a default
        quota of 5MB like WTR does.

        * UIProcess/API/gtk/WebKitUIClient.cpp: Override
        exceededDatabaseQuota and return always the default quota.
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::exceededDatabaseQuota): Return the quota based on the
        expected usage and current database usabe like mac does.
        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Add
        custom UI client to implement exceededDatabaseQuota.

2015-07-02  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r185704.
        https://bugs.webkit.org/show_bug.cgi?id=146544

        Didn't fix the problem (Requested by anttik on #webkit).

        Reverted changeset:

        "~4% Membuster regression after WebKit r185452"
        https://bugs.webkit.org/show_bug.cgi?id=146112
        http://trac.webkit.org/changeset/185704

2015-07-02  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Accelerated Compositing stops working after a web process crash
        https://bugs.webkit.org/show_bug.cgi?id=146508

        Reviewed by Martin Robinson.

        The problem is that we don't send the window ID again to the new
        web process.

        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::didRelaunchProcess): Call
        webkitWebViewBaseDidRelaunchWebProcess().
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseDidRelaunchWebProcess): Set the window ID to
        the new drawing area.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:

2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: [Mac] InspectorFrontendHost.beep() doesn't play a sound, sandbox warnings
        https://bugs.webkit.org/show_bug.cgi?id=146525

        Reviewed by Timothy Hatcher.

        * WebProcess/com.apple.WebProcess.sb.in:
        Get NSBeep working without any sandbox warnings.

2015-07-01  Anders Carlsson  <andersca@apple.com>

        Remove code to recompute rounded window corners
        https://bugs.webkit.org/show_bug.cgi?id=146534

        Reviewed by Simon Fraser.

        This code is no longer needed since we're always layer-backed now.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView displayIfNeeded]): Deleted.
        (-[WKView _cacheWindowBottomCornerRect]): Deleted.
        * UIProcess/API/mac/WKViewInternal.h:

2015-07-01  Yongjun Zhang  <yongjun_zhang@apple.com>

        Web page doesn't update its loading state when web process becomes suspended if there are pending network requests (XHR).
        https://bugs.webkit.org/show_bug.cgi?id=146439

        When web page is loading, we hold a background activity token in NavigationState and we release the token when the page done
        loading. A web page can start loading subresources (like XHR) after the page is loaded, and WebPageProxy will update its
        _networkRequestsInProgress state which will notify the client there is network actvity on-going. Since we don't hold
        the background activity token after page is loaded, the WebContent process could become suspended without notifying the client
        and the client will lose track of the loading state.

        The first thought was to hold another background activity when _networkRequestsInProgress flag is set in NavigationState.
        However, this could result in side-effect that a WebContent process can stay active for too long if there is a long lasting
        XHR resquest.
        
        This patch fix this by notifying the client that network activity is stopped when WebContent process is going to be suspended.
        We also cache the networkRequestsInProgress state for suspended process, so that when it becomes foreground, we can tell
        the client the correct state of network activity.

        Reviewed by Dan Bernstein.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::WebPageProxy): Initialize m_hasNetworkRequestsOnSuspended.
        (WebKit::WebPageProxy::processWillBecomeSuspended): If there is pending requests on suspend, cache the network activity state
            and notify the client.
        (WebKit::WebPageProxy::processWillBecomeForground): Restore the network activity state when the process becomes foreground. 
        (WebKit::WebPageProxy::resetState):
        * UIProcess/WebPageProxy.h: Add a data member m_hasNetworkRequestsOnSuspended to cache the network activity state on process
            suspend.
        * UIProcess/WebProcessProxy.cpp:
        (WebKit::WebProcessProxy::didSetAssertionState):

2015-07-01  Dean Jackson  <dino@apple.com>

        Disable the experimental WebGL2 implementation
        https://bugs.webkit.org/show_bug.cgi?id=146526
        <rdar://problem/21641235>

        Reviewed by Myles Maxfield.

        Add (and disable) an ENABLE_WEBGL2 flag.

        * Configurations/FeatureDefines.xcconfig:

2015-07-01  Brady Eidson  <beidson@apple.com>

        Never try to pass URLs to LaunchServices when they're the same domain as the current URL.
        <rdar://problem/20731429> and https://bugs.webkit.org/show_bug.cgi?id=146521

        Reviewed by Alex Christensen.

        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::tryAppLink): Compare the proposed URL to the current URL to see if they’re in the same domain.
        (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

2015-07-01  Tim Horton  <timothy_horton@apple.com>

        WKWebView snapshots have the wrong scale after rotation
        https://bugs.webkit.org/show_bug.cgi?id=146476
        <rdar://problem/18345247>

        Reviewed by Anders Carlsson.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didCommitLayerTree:]):
        "Coordinate" -> "Coordinates".

        (-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
        Defer any snapshotting that happens during a resize until after
        the resize completes. This will ensure that (in the case of an IOSurface
        snapshot) the tiles are up to date, and (in the case of a software snapshot)
        that our understanding of the scale and scroll offset of the WKContentView
        are up to date, so that we can correctly convert from view to content coordinates
        in the UI process.

        (-[WKWebView _endAnimatedResize]):
        Perform the deferred snapshotting after the resize completes.

2015-07-01  Beth Dakin  <bdakin@apple.com>

        This is a quick follow-on to http://trac.webkit.org/changeset/186132

        Rubber-stamped by Darin Adler.

        Make this a one-liner.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-07-01  Matthew Daiter  <mdaiter@apple.com>

        Enable MEDIA_STREAM flag
        https://bugs.webkit.org/show_bug.cgi?id=145947
        <rdar://problem/21365829>

        Reviewed by Eric Carlson.

        * Configurations/FeatureDefines.xcconfig: Add MEDIA_STREAM flag
        * WebKit2.xcodeproj/project.pbxproj: Changed some project to private
        declarations of headers
        * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
        * WebProcess/WebPage/WebPage.h:
        (WebKit::WebPage::userMediaPermissionRequestManager):

2015-07-01  Brady Eidson  <beidson@apple.com>

        Check shouldOpenExternalURLs instead of isProcessingUserGesture before passing URL to LaunchServices.
        <rdar://problem/20577859> and https://bugs.webkit.org/show_bug.cgi?id=146513

        Reviewed by Darin Adler.

        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::tryAppLink): The expected value of isProcessingUserGesture is lost over redirects.
          shouldOpenExternalURLs actually fits this role perfectly.

2015-07-01  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] [Wayland] Build broken with ENABLE_WAYLAND_TARGET=ON
        https://bugs.webkit.org/show_bug.cgi?id=146512

        Unreviewed, fix build with ENABLE_WAYLAND_TARGET=ON after r185949.

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

2015-06-30  Martin Robinson  <mrobinson@igalia.com>

        [GTK] REGRESSION(r183936): Test /webkit2/WebKitWebContext/spell-checker fails since r183936
        https://bugs.webkit.org/show_bug.cgi?id=144828

        Reviewed by Carlos Garcia Campos.

        Instead of setting spell checking languages unconditionally when building int
        developer mode, add some C API that allows setting them in WebKitTestRunner.

        * PlatformGTK.cmake: Add the new C API file to the source list.
        * UIProcess/API/C/gtk/WKTextCheckerGtk.cpp:
        (WKTextCheckerSetSpellCheckingLanguages): Added this function which allows settings
        the spell checking languages from the C API.
        * UIProcess/API/C/gtk/WKTextCheckerGtk.h: Added.
        * UIProcess/gtk/TextCheckerGtk.cpp:
        (WebKit::enchantTextChecker): Remove the hack which sets the spell checking languages automatically
        for development builds.

2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>

        [Mac] Numerous CGColor leaks in swipe gestures
        https://bugs.webkit.org/show_bug.cgi?id=146501

        Reviewed by Tim Horton.

        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):

2015-07-01  Joseph Pecoraro  <pecoraro@apple.com>

        [Mac] Confusing RetainPtr use in TiledCoreAnimationDrawingArea
        https://bugs.webkit.org/show_bug.cgi?id=146503

        Reviewed by Tim Horton.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
        Simplify adoption into a new RetainPtr.

2015-06-30  Simon Fraser  <simon.fraser@apple.com>

        Fix CoordinatedGraphics.

        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):

2015-06-30  Simon Fraser  <simon.fraser@apple.com>

        More Gtk/EFL fixing.

        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
        (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
        * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
        (WebKit::LayerTreeHostGtk::flushPendingLayerChanges):

2015-06-30  Andy VanWagoner  <thetalecrafter@gmail.com>

        Implement ECMAScript Internationalization API
        https://bugs.webkit.org/show_bug.cgi?id=90906

        Reviewed by Benjamin Poulain.

        * Configurations/FeatureDefines.xcconfig: add ENABLE_INTL flag

2015-06-30  Simon Fraser  <simon.fraser@apple.com>

        Fix Mac and Windows builds.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):

2015-06-30  Simon Fraser  <simon.fraser@apple.com>

        [iOS] Missing tiles inside position:fixed on scrolling
        https://bugs.webkit.org/show_bug.cgi?id=146485
        rdar://problem/21226861

        Reviewed by Tim Horton.

        Layer flushing adjusts the coverage rect for tiled layers, but does so at times
        when position:fixed layers are moved around by the scrolling tree. The computed
        coverage rect then doesn't reflect the layer's on-screen position, causing missing
        tiles.

        Fix by pushing the notion of being in a "stable state" onto FrameView, and passing
        that state into the layer flush. When not in a stable state, flushing doesn't change
        the visible and coverage rects for layers that are viewport-constrained.

        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::updateVisibleContentRects):
        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):

2015-06-30  Hyungwook Lee  <hyungwook.lee@navercorp.com>

        [EFL] Implement ewk_favicon_database_clear() API.
        https://bugs.webkit.org/show_bug.cgi?id=146337

        Reviewed by Gyuyoung Kim.

        We need to provide way to clear favicon data.

        * UIProcess/API/efl/ewk_favicon_database.cpp:
        (EwkFaviconDatabase::getIconSurfaceSynchronously):
        (EwkFaviconDatabase::clearFaviconDatabase):
        (EwkFaviconDatabase::iconDataReadyForPageURL):
        (ewk_favicon_database_icon_change_callback_del):
        (ewk_favicon_database_clear):
        * UIProcess/API/efl/ewk_favicon_database.h:
        * UIProcess/API/efl/ewk_favicon_database_private.h:
        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
        (TEST_F):

2015-06-30  Andreas Kling  <akling@apple.com>

        [iOS] Ignore viewport rect changes during zoom bouncing.
        <https://webkit.org/b/146480>

        Reviewed by Benjamin Poulain.

        When the user has pinch-zoomed past the maximum zoom scale and lets go of the screen,
        we animate a bounce back to the maximum scale.

        Suppress viewport rect updates during this bounce animation since we don't need them
        anyway. This fixes an issue where we'd sometimes get a weird rect during the animation
        and if could send that to the web process, causing it to generate tiles for a part of
        the page that's not actually exposed.

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

2015-06-30  Enrica Casucci  <enrica@apple.com>

        <rdar://problem/20655729> WebKit should heuristically exclude scrolling touch events from the user gesture category

        Reviewed by Benjamin Poulain.

        * Platform/spi/ios/UIKitSPI.h:
        * Shared/WebEvent.h:
        (WebKit::WebTouchEvent::WebTouchEvent):
        (WebKit::WebTouchEvent::position):
        (WebKit::WebTouchEvent::isPotentialTap):
        (WebKit::WebTouchEvent::isGesture):
        (WebKit::WebTouchEvent::gestureScale):
        (WebKit::WebTouchEvent::gestureRotation):
        * Shared/WebEventConversion.cpp:
        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
        * Shared/ios/NativeWebTouchEventIOS.mm:
        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
        * Shared/ios/WebTouchEventIOS.cpp:
        (WebKit::WebTouchEvent::encode):
        (WebKit::WebTouchEvent::decode):
        Pipe isPotentialTap through.

2015-06-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>

        [GTK] [EFL] Unreviewed build fix after r186118.

        Add if PLATFORM(COCOA) back.

        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
        * WebProcess/WebProcess.h:

2015-06-30  Simon Fraser  <simon.fraser@apple.com>

        Crash under _layoutForNodeHighlight: when inspecting espn.com
        https://bugs.webkit.org/show_bug.cgi?id=146422

        Reviewed by Joseph Pecoraro.
        
        When inspecting espn.com, MobileSafari sometimes crashes, because
        highlight.quads is empty. I was not able to quickly determine why.

        Fix by bailing in this case.

        * UIProcess/WKInspectorHighlightView.mm:
        (-[WKInspectorHighlightView _layoutForNodeHighlight:]):

2015-06-30  Matt Baker  <mattbaker@apple.com>

        Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
        https://bugs.webkit.org/show_bug.cgi?id=146168

        Reviewed by Brian Burg.

        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
        Added CA transaction post-commit handlers to instrument end of composite.

2015-06-30  Beth Dakin  <bdakin@apple.com>

        The bounds on InteractionInformationAtPosition should be more precise
        https://bugs.webkit.org/show_bug.cgi?id=146468
        -and corresponding-
        rdar://problem/20739834

        Reviewed by Enrica Casucci and Simon Fraser.

        For links, get the TextQuads from the Range, and for images, look at the 
        absoluteContentQuad(). All other items can continue to use absoluteBoundingBox.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-06-30  Anders Carlsson  <andersca@apple.com>

        Disable Spintracer when getting the list of plug-ins
        https://bugs.webkit.org/show_bug.cgi?id=146467
        rdar://problem/21616640

        Reviewed by Tim Horton.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::populatePluginCache):

2015-06-30  Anders Carlsson  <andersca@apple.com>

        Java Plugin cannot launch JavaUpdater.app after renaming
        https://bugs.webkit.org/show_bug.cgi?id=146464
        rdar://problem/19747153

        Reviewed by Tim Horton.

        Check for both "JavaUpdater.app" and "Java Updater.app".

        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
        (WebKit::isJavaUpdaterURL):

2015-06-30  Chris Dumez  <cdumez@apple.com>

        [WK2] Avoid taking a useless / blank navigation snapshot when navigating after restoring sessionState
        https://bugs.webkit.org/show_bug.cgi?id=146446
        <rdar://problem/21584231>

        Reviewed by Darin Adler.

        We currently take a useless / blank navigation snapshot when navigating
        after restoring the back / forward list from a sessionState object.
        This is because we get a current HistoryItem from the sessionState
        which we have never really navigated to. We then take a navigation
        snapshot for the current HistoryItem when navigating away as we usually
        do. However, in this case, the HistoryItem was imported and there is
        nothing to snapshot.

        Taking this snapshot is not only wasteful, it can also potentially
        overwrite the snapshot that was set by the client using
        WKWebView._saveBackForwardSnapshotForItem() SPI.

        To address the problem, this patch suppresses navigation snapshotting
        after restoring the back / forward list from a session state and until
        the next load is committed.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::recordNavigationSnapshot):
        (WebKit::WebPageProxy::restoreFromSessionState):
        (WebKit::WebPageProxy::didCommitLoadForFrame):
        * UIProcess/WebPageProxy.h:

2015-06-29  Anders Carlsson  <andersca@apple.com>

        Get rid of unused WKSI functions
        https://bugs.webkit.org/show_bug.cgi?id=146443

        Reviewed by Tim Horton.

        * UIProcess/API/Cocoa/WKWebView.mm:
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.
        * WebProcess/WebProcess.cpp:
        (WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
        * WebProcess/WebProcess.h:
        * WebProcess/cocoa/WebProcessCocoa.mm:
        (WebKit::WebProcess::destroyRenderingResources):

2015-06-29  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [GTK] Unreviewed GTK build fix since r186088 and r186095.
        https://bugs.webkit.org/show_bug.cgi?id=146449

        * PlatformGTK.cmake:
        * UIProcess/API/gtk/PageClientImpl.h:

2015-06-29  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Unreviewed EFL build fix since r186088 and r186095.

        * CMakeLists.txt: Remove ConnectionStack.cpp.
        * UIProcess/CoordinatedGraphics/WebView.h: Override virtual didFailLoadForMainFrame().

2015-06-29  Brady Eidson  <beidson@apple.com>

        Flag sync XHRs from the network process so they can be handled appropriately.
        <rdar://problem/21579162> and https://bugs.webkit.org/show_bug.cgi?id=146441

        Reviewed by Darin Adler.

        * NetworkProcess/NetworkResourceLoader.h:
        (WebKit::NetworkResourceLoader::loadingSynchronousXHR): Return isSynchronous().

2015-06-29  Anders Carlsson  <andersca@apple.com>

        Remove an empty group from the Xcode project.

        * WebKit2.xcodeproj/project.pbxproj:

2015-06-29  Anders Carlsson  <andersca@apple.com>

        Get rid of ConnectionStack
        https://bugs.webkit.org/show_bug.cgi?id=146437

        Reviewed by Andreas Kling.

        Just use a TemporaryChange and a static variable instead.

        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        * PluginProcess/WebProcessConnection.cpp:
        (WebKit::WebProcessConnection::setGlobalException):
        (WebKit::WebProcessConnection::didReceiveMessage):
        (WebKit::WebProcessConnection::didReceiveSyncMessage):
        * Shared/ConnectionStack.cpp: Removed.
        (WebKit::ConnectionStack::singleton): Deleted.
        * Shared/ConnectionStack.h: Removed.
        (WebKit::ConnectionStack::current): Deleted.
        (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher): Deleted.
        (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2015-06-29  Tim Horton  <timothy_horton@apple.com>

        Fix the build.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didFailLoadForMainFrame]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::didFailLoadForMainFrame):

2015-06-29  Dean Jackson  <dino@apple.com>

        Temporarily disable PICTURE_SIZES
        https://bugs.webkit.org/show_bug.cgi?id=146435
        <rdar://problem/21087013>

        Temporarily disable PICTURE_SIZES because it causes problems with out
        of date <picture> polyfills.

        Temporarily disable PICTURE_SIZES until Safari branches.

        * Configurations/FeatureDefines.xcconfig:

2015-06-29  Anders Carlsson  <andersca@apple.com>

        Don't try to access a possibly deallocated WebFrameProxy object
        https://bugs.webkit.org/show_bug.cgi?id=146428
        rdar://problem/21446364

        Reviewed by Tim Horton.

        Make sure to call isMainFrame before calling out to the client inside
        WebPageProxy::didFailLoadForFrame, matching what we do for WebPageProxy::didFinishLoadForFrame.

        Also, add a ViewGestureController::didFailLoadForMainFrame function and call that instead of
        calling didFinishLoadForMainFrame in the failure case.

        * UIProcess/API/mac/WKView.mm:
        (-[WKView _didFailLoadForMainFrame]):
        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFailLoadForFrame):
        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (WebKit::ViewGestureController::mainFrameLoadDidReachTerminalState):
        (WebKit::ViewGestureController::didFinishLoadForMainFrame): Deleted.
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::didFailLoadForMainFrame):
        * UIProcess/mac/ViewGestureController.h:
        (WebKit::ViewGestureController::didFinishLoadForMainFrame):
        (WebKit::ViewGestureController::didFailLoadForMainFrame):
        * UIProcess/mac/ViewGestureControllerMac.mm:
        (WebKit::ViewGestureController::mainFrameLoadDidReachTerminalState):
        (WebKit::ViewGestureController::didFinishLoadForMainFrame): Deleted.

2015-06-29  Yongjun Zhang  <yongjun_zhang@apple.com>

        Disable default gesture recognizers on preview.
        https://bugs.webkit.org/show_bug.cgi?id=146424
        rdar://problem/21572828

        We should disable default gesture recognizers on preview, to avoid activating links or
        triggering touch events accidentally. We can enable them after preview finishes.

        Reviewed by Beth Dakin.

        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):
        (-[WKContentView didDismissPreviewViewController:committing:]):

2015-06-27  Ryosuke Niwa  <rniwa@webkit.org>

        Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
        https://bugs.webkit.org/show_bug.cgi?id=146379

        Reviewed by Darin Adler.

        Since font panel doesn't open in WebKit2 at the moment, just add an empty implementation of didApplyStyle

        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
        (WebKit::WebEditorClient::didApplyStyle):
        * WebProcess/WebCoreSupport/WebEditorClient.h:
        * WebProcess/WebPage/WebPage.h:

2015-06-29  Dean Jackson  <dino@apple.com>

        Setting to enable/disable media controls sizing on page zoom
        https://bugs.webkit.org/show_bug.cgi?id=146423
        <rdar://problem/18379634>

        Reviewed by Eric Carlson.

        Add a new setting "MediaControlsScaleWithPageZoom" that can disable
        the behaviour we currently implement on iOS, where the media controls
        attempt to remain at a fixed size independent of page zoom.

        * Shared/WebPreferencesDefinitions.h: Initialize to false on iOS, true otherwise.
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetMediaControlsScaleWithPageZoom):
        (WKPreferencesGetMediaControlsScaleWithPageZoom):
        * UIProcess/API/C/WKPreferencesRefPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

2015-06-29  Chris Dumez  <cdumez@apple.com>

        [WK2][iOS] Swipe gesture snapshot stays up for 3 seconds when swiping back after top-hit navigation
        https://bugs.webkit.org/show_bug.cgi?id=146415
        <rdar://problem/21595801>

        Reviewed by Tim Horton.

        Swipe gesture snapshot previously stayed up for 3 seconds when swiping
        back after a top-hit navigation. This is because we do not restore the
        scroll position in this case and the ViewGestureController was waiting
        for the scroll position to be restored before taking down the snapshot.

        This patch adds a fail-safe mechanism so that the WebProcess can let
        the UIProcess know (via a CouldNotRestorePageState IPC) that the page
        state (including scroll position) could not be restored so that it can
        let the ViewGestureController it should not wait for the scroll
        position to be restored.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _couldNotRestorePageState]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::couldNotRestorePageState):
        * UIProcess/ios/WebPageProxyIOS.mm:
        (WebKit::WebPageProxy::couldNotRestorePageState):
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::restorePageState):

2015-06-29  Chris Dumez  <cdumez@apple.com>

        [WK2][iOS] Add WKWebView private API to save a back/forward snapshot
        https://bugs.webkit.org/show_bug.cgi?id=146398
        <rdar://problem/21584231>

        Reviewed by Dan Bernstein.

        Add WKWebView private API to save a back/forward snapshot so that the
        client can make sure a back/forward snapshot is available even when
        swapping WKWebView upon navigation.

        This matches the WKView.saveBackForwardSnapshotForItem API we have on
        Mac.

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

2015-06-29  Anders Carlsson  <andersca@apple.com>

        Use DISPATCH_SOURCE_TYPE_MEMORYPRESSURE instead of DISPATCH_SOURCE_TYPE_MEMORYSTATUS
        https://bugs.webkit.org/show_bug.cgi?id=146413

        Reviewed by Andreas Kling.

        Replace SPI with API.

        * UIProcess/ios/WebMemoryPressureHandlerIOS.mm:
        (WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):
        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
        (InitWebCoreSystemInterface): Deleted.

2015-06-29  Enrica Casucci  <enrica@apple.com>

        [iOS] Hardware Keyboard: All combinations of arrow keys and space key do not scroll the view.
        https://bugs.webkit.org/show_bug.cgi?id=146290
        rdar://problem/18466015

        We don't normally get called by the keyboard to handle the event if we are not
        interacting with editable content. In order to receive all the hardware keyboard events
        we need to implement _handleKeyUIEvent which is called for every key event
        when the view is first responder. This gives us the opportunity to send each keystroke
        to the WebProcess to let any Javascript handler intercept it and then perform the default
        action for the key combination.
        Unfortunately this mechanism does not provide key repeat, which is implemented in the
        keyboard layer. In order to have it at least for the arrow keys, we use the keyCommands
        mechanism only for those.

        Reviewed by Darin Adler.

        * Platform/spi/ios/UIKitSPI.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _scrollByOffset:]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/ios/WKContentViewInteraction.mm:
        (-[WKContentView canPerformAction:withSender:]):
        (-[WKContentView keyCommands]):
        (-[WKContentView _arrowKey:]):
        (-[WKContentView _handleKeyUIEvent:]):
        (-[WKContentView handleKeyEvent:]):
        (-[WKContentView handleKeyWebEvent:]):
        (-[WKContentView _interpretKeyEvent:isCharEvent:]):

2015-06-28  Dan Bernstein  <mitz@apple.com>

        Fixed the iOS 8.x build after r186066.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::create):

2015-06-28  Dan Bernstein  <mitz@apple.com>

        Fixed the iOS build after r186059.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.h:

2015-06-28  Chris Fleizach  <cfleizach@apple.com>

        AX: iOS: Crash at accessibilityObjectForMainFramePlugin()
        https://bugs.webkit.org/show_bug.cgi?id=146399

        Reviewed by Darin Adler.

        Could not reproduce issue, but the invalid address seems to indicate this is a nullptr access is happening when we try to get the plugin of the m_page variable when
        it has not been initialized.

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

2015-06-28  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        Use Ref/RefPtr instead of PassRefPtr in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=146190

        Reviewed by Darin Adler.

        As a step to remove PassRefPtr, this patch reduces use of PassRefPtr in WebKit2.

        * Shared/API/c/WKContextMenuItem.cpp:
        (WKContextMenuItemCreateAsAction):
        (WKContextMenuItemCreateAsCheckableAction):
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
        (WebKit::WebCoordinatedSurface::create):
        * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:
        (WebKit::ThreadSafeCoordinatedSurface::create):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h:
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
        (WebKit::ThreadedCompositor::create):
        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
        * Shared/Plugins/NPRemoteObjectMap.cpp:
        (WebKit::NPRemoteObjectMap::create):
        * Shared/Plugins/NPRemoteObjectMap.h:
        * Shared/WebBatteryStatus.h:
        (WebKit::WebBatteryStatus::create):
        * Shared/WebCertificateInfo.h:
        (WebKit::WebCertificateInfo::create):
        * Shared/WebContextMenuItem.h:
        (WebKit::WebContextMenuItem::create):
        * Shared/WebRenderObject.cpp:
        (WebKit::WebRenderObject::create):
        * Shared/WebRenderObject.h:
        (WebKit::WebRenderObject::create):
        * UIProcess/API/APINavigationData.h:
        (API::NavigationData::create):
        * UIProcess/API/APISession.cpp:
        (API::Session::createEphemeral):
        * UIProcess/API/APISession.h:
        * UIProcess/API/APISessionState.cpp:
        (API::SessionState::create):
        * UIProcess/API/APISessionState.h:
        * UIProcess/API/APIUserScript.h:
        * UIProcess/API/APIWebsiteDataStore.cpp:
        (API::WebsiteDataStore::createNonPersistentDataStore):
        (API::WebsiteDataStore::create):
        * UIProcess/API/APIWebsiteDataStore.h:
        * UIProcess/API/C/WKCredential.cpp:
        (WKCredentialCreate):
        (WKCredentialCreateWithCertificateInfo):
        * UIProcess/API/C/WKPage.cpp:
        (WKPageCopySessionState):
        (WKPageSetPageContextMenuClient):
        * UIProcess/API/C/WKSessionStateRef.cpp:
        (WKSessionStateCreateFromData):
        * UIProcess/API/C/WKUserScriptRef.cpp:
        (WKUserScriptCreateWithSource):
        * UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:
        (-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]):
        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]):
        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]):
        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
        (+[WKWebsiteDataStore nonPersistentDataStore]):
        * UIProcess/API/efl/ewk_auth_request_private.h:
        (EwkAuthRequest::create):
        * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
        (EwkBackForwardListItem::create):
        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::create):
        * UIProcess/API/efl/ewk_context_menu_private.h:
        (EwkContextMenu::create):
        * UIProcess/API/efl/ewk_download_job_private.h:
        (EwkDownloadJob::create):
        * UIProcess/API/efl/ewk_file_chooser_request_private.h:
        (EwkFileChooserRequest::create):
        * UIProcess/API/efl/ewk_form_submission_request_private.h:
        (EwkFormSubmissionRequest::create):
        * UIProcess/API/efl/ewk_navigation_data_private.h:
        (EwkNavigationData::create):
        * UIProcess/API/efl/ewk_security_origin_private.h:
        (EwkSecurityOrigin::create):
        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
        (WebKit::AuthenticationChallengeProxy::create):
        * UIProcess/Authentication/AuthenticationDecisionListener.h:
        (WebKit::AuthenticationDecisionListener::create):
        * UIProcess/Authentication/WebCredential.h:
        (WebKit::WebCredential::create):
        * UIProcess/Authentication/WebProtectionSpace.h:
        (WebKit::WebProtectionSpace::create):
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::HistoryClient::didNavigateWithNavigationData):
        * UIProcess/Databases/DatabaseProcessProxy.cpp:
        (WebKit::DatabaseProcessProxy::create):
        * UIProcess/Databases/DatabaseProcessProxy.h:
        * UIProcess/Launcher/ProcessLauncher.h:
        (WebKit::ProcessLauncher::create):
        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
        (WebKit::WebNotificationManagerProxy::create):
        * UIProcess/Notifications/WebNotificationManagerProxy.h:
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::create):
        * UIProcess/Plugins/PluginProcessProxy.h:
        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        (WebKit::RemoteScrollingTree::create):
        * UIProcess/Scrolling/RemoteScrollingTree.h:
        * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
        (WebKit::ScrollingTreeOverflowScrollingNodeIOS::create):
        * UIProcess/WebProcessPool.cpp:
        (WebKit::WebProcessPool::WebProcessPool):
        * UIProcess/efl/WebPopupMenuListenerEfl.h:
        (WebKit::WebPopupMenuListenerEfl::create):
        * UIProcess/efl/WebViewEfl.cpp:
        (WebKit::WebView::create):
        * UIProcess/ios/WebVideoFullscreenManagerProxy.h:
        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::create):

2015-06-28  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Remove _WKSecurityOrigin.{h,mm}
        https://bugs.webkit.org/show_bug.cgi?id=146402

        Reviewed by Sam Weinig.

        * UIProcess/API/Cocoa/WKSecurityOrigin.mm: Declare and define _WKSecurityOrigin here.
        (-[WKSecurityOrigin methodSignatureForSelector:]): Moved into a WKBinaryCompatibility
        category.
        (-[WKSecurityOrigin forwardInvocation:]): Ditto.
        * UIProcess/API/Cocoa/_WKSecurityOrigin.h: Removed.
        * UIProcess/API/Cocoa/_WKSecurityOrigin.mm: Removed.
        * WebKit2.xcodeproj/project.pbxproj: Removed references to _WKSecurityOrigin.{h,mm}.

2015-06-28  Dan Bernstein  <mitz@apple.com>

        Tried to fix the EFL buid after r186046.

        * UIProcess/efl/PageUIClientEfl.cpp:
        (WebKit::PageUIClientEfl::PageUIClientEfl):

2015-06-28  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21581792> REGRESSION (r185915): Source-incompatible change in WKPageUIClient
        https://bugs.webkit.org/show_bug.cgi?id=146396

        Reviewed by Anders Carlsson.

        * UIProcess/API/C/WKPageUIClient.h: Renamed
        runJavaScript{Alert,Confirm,Prompt}_deprecatedForUseWithV0 back to runJavaScript{Alert,Confirm,Prompt}
        in client versions prior to V5.

2015-06-28  Tim Horton  <timothy_horton@apple.com>

        REGRESSION: Page footers are displayed above the bottom of the WebView due to tiled scaling
        https://bugs.webkit.org/show_bug.cgi?id=146393
        <rdar://problem/21113217>

        Reviewed by Sam Weinig.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
        Don't include the top content inset in the layout size.

2015-06-26  Antti Koivisto  <antti@apple.com>

        Make NetworkCache::traverse faster
        https://bugs.webkit.org/show_bug.cgi?id=146354

        Reviewed by Anders Carlsson.

        * NetworkProcess/cache/NetworkCacheIOChannel.h:
        (WebKit::NetworkCache::IOChannel::path):
        (WebKit::NetworkCache::IOChannel::type):
        * NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
        (WebKit::NetworkCache::IOChannel::open):
        (WebKit::NetworkCache::IOChannel::read):
        (WebKit::NetworkCache::IOChannel::write):
        (WebKit::NetworkCache::IOChannel::readSync): Deleted.

            Not needed anymore.

        * NetworkProcess/cache/NetworkCacheStorage.cpp:
        (WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
        (WebKit::NetworkCache::Storage::TraverseOperation::TraverseOperation):

            Add TraverseOperation, similar to Read/Write.

        (WebKit::NetworkCache::Storage::open):
        (WebKit::NetworkCache::Storage::traverse):

            Use async I/O.
            Use condition variable to allow maximum 5 parallel file reads.

        * NetworkProcess/cache/NetworkCacheStorage.h:

2015-06-27  Carlos Garcia Campos  <cgarcia@igalia.com>

        [SOUP] NetworkCache: Make NetworkProcess::clearDiskCache actually clear the the resources depending on the date
        https://bugs.webkit.org/show_bug.cgi?id=146316

        Reviewed by Sergio Villar Senin.

        And make sure the completion handler is called, as well. This
        functionality is already implemented in Storage::clear(), so we
        just need to pass the time point and completion handler to Cache::clear().

        * NetworkProcess/soup/NetworkProcessSoup.cpp:
        (WebKit::NetworkProcess::clearDiskCache):

2015-06-26  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Tim Horton.

        As Dan pointed out in https://bugs.webkit.org/show_bug.cgi?id=146350 , this way of  
        getting the screen size was problematic on multiple counts. Fixed here by using 
        UIScreen. 
        * UIProcess/WKImagePreviewViewController.mm:
        (-[WKImagePreviewViewController initWithCGImage:]):

2015-06-26  Beth Dakin  <bdakin@apple.com>

        WebPage::getPositionInformation() should not copy an image that is larger than the  
        screen
        https://bugs.webkit.org/show_bug.cgi?id=146367

        Reviewed by Tim Horton.

        Maintain aspectRatio, but scale down the buffer size if the image is larger than 
        the screen.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-06-26  Mark Lam  <mark.lam@apple.com>

        Re-instating the #import and assertion removed in r186014.
        https://bugs.webkit.org/show_bug.cgi?id=146358

        Not reviewed.

        * UIProcess/API/Cocoa/WKUserContentController.mm:
        - Speculative fix: should have used <wtf/MainThread.h> instead of <WTF/MainThread.h>.

2015-06-26  Mark Lam  <mark.lam@apple.com>

        Gardening: remove an assertion and a #import to green the bot.
        https://bugs.webkit.org/show_bug.cgi?id=146358

        Not reviewed.

        * UIProcess/API/Cocoa/WKUserContentController.mm:
        - Not sure why the <WTF/MainThread.h> cannot be found on some bots, but I'm
          removing it (and the assertion that needed it) for now while I investigate
          further.

2015-06-26  Mark Lam  <mark.lam@apple.com>

        ScriptMessageHandlerDelegate::didPostMessage() should reuse its JSContext instance.
        https://bugs.webkit.org/show_bug.cgi?id=146358

        Reviewed by Anders Carlsson.

        Currently, ScriptMessageHandlerDelegate::didPostMessage() creates a new JSContext each
        time it is called.  This JSContext is used only once to deserialized a JSON object
        and then destroyed.  We will change ScriptMessageHandlerDelegate to cache the JSContext
        and reuse it in all subsequent calls to didPostMessage().

        Also added a @autoreleasepool scope in didPostMessage() so that transient ObjC objects
        will be release sooner.

        * UIProcess/API/Cocoa/WKUserContentController.mm:

2015-06-26  Beth Dakin  <bdakin@apple.com>

        Add support for image previews
        https://bugs.webkit.org/show_bug.cgi?id=146350
        -and corresponding-
        rdar://problem/20640234

        Reviewed by Tim Horton.

        For images, use the actual image instead of a snapshot.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

        ViewController for image preview.
        * UIProcess/WKImagePreviewViewController.h: Added.
        * UIProcess/WKImagePreviewViewController.mm: Added.
        (-[WKImagePreviewViewController loadView]):
        (-[WKImagePreviewViewController initWithCGImage:]):
        (-[WKImagePreviewViewController viewDidLayoutSubviews]):
        (_scaleSizeWithinSize):

        New enum and member variable to keep track of preview type.
        * UIProcess/ios/WKContentViewInteraction.h:
        * UIProcess/ios/WKContentViewInteraction.mm:

        Only apply the http restriction to non-image links since we can still preview the 
        image of a non-http image link.
        (-[WKContentView gestureRecognizerShouldBegin:]):

        Handle links and images.
        (-[WKContentView previewViewControllerForPosition:inSourceView:]):

        Return early for non-link previews.
        (-[WKContentView commitPreviewViewController:]):

        New files.
        * WebKit2.xcodeproj/project.pbxproj:

        Just use the actual image in the PositionInformation for image elements rather 
        than taking a screen shot.
        * WebProcess/WebPage/ios/WebPageIOS.mm:
        (WebKit::WebPage::getPositionInformation):

2015-06-26  Matt Rajca  <mrajca@apple.com>

        Wireless Playback Target-related #import should be a #include
        https://bugs.webkit.org/show_bug.cgi?id=146283

        Reviewed by Eric Carlson.

        * Shared/WebCoreArgumentCoders.cpp:

2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>

        Web Inspector: Add Support for OS X Full Screen Mode
        https://bugs.webkit.org/show_bug.cgi?id=123510

        Reviewed by Timothy Hatcher.

        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::createInspectorWindow):
        Allow full screen.

2015-06-25  Hyungwook Lee  <hyungwook.lee@navercorp.com>

        [EFL] Make send / receive messages to communicate the Web and UI Processes using Injected Bundle.
        https://bugs.webkit.org/show_bug.cgi?id=145685

        Reviewed by Gyuyoung Kim.

        To have extensible port specific API facility using Injected Bundle,
        we need to load libewebkit_extension_manager.so in default that is same as what gtk port does.

        * UIProcess/API/efl/ewk_context.cpp:
        (EwkContext::EwkContext):
        (EwkContext::findOrCreateWrapper):
        (bundlePathForExtension):
        (EwkContext::create):
        (EwkContext::allowSpecificHTTPSCertificateForHost):
        (EwkContext::isDefaultBundle):
        (ewk_context_default_get):
        * UIProcess/API/efl/ewk_context_private.h:
        * WebProcess/efl/ExtensionManagerEfl.cpp:
        (WebKit::ExtensionManagerEfl::initialize):

2015-06-25  Simon Fraser  <simon.fraser@apple.com>

        [iOS WK2] Swiping back just after scrolling can cause some tiles to disappear
        https://bugs.webkit.org/show_bug.cgi?id=146329
        rdar://problem/21233010

        Reviewed by Tim Horton.
        
        When doing a back swipe, views interposed between the WKWebView and the WKContentView
        get positions and animations for the swipe. This -_updateVisibleContentRects to
        compute bad visible and unobscured rects, so we lose tiles.
        
        Fix by "freezing" the visible and unobscured content rects in the view being
        swiped for the duration of the navigation gesture. When swiping the main view,
        we just plumb through navigationGestureDidEnd(). When Reader is showing and the
        swiped view is different from the navigating view, use the new navigationGestureDidEnd()
        override which takes no arguments.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _updateVisibleContentRects]):
        (-[WKWebView _navigationGestureDidBegin]):
        (-[WKWebView _navigationGestureDidEnd]):
        * UIProcess/API/Cocoa/WKWebViewInternal.h:
        * UIProcess/API/gtk/PageClientImpl.cpp:
        (WebKit::PageClientImpl::navigationGestureDidEnd):
        * UIProcess/API/gtk/PageClientImpl.h:
        * UIProcess/CoordinatedGraphics/WebView.h:
        * UIProcess/PageClient.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::navigationGestureDidEnd):
        * UIProcess/WebPageProxy.h:
        * UIProcess/ios/PageClientImplIOS.h:
        * UIProcess/ios/PageClientImplIOS.mm:
        (WebKit::PageClientImpl::navigationGestureDidBegin):
        (WebKit::PageClientImpl::navigationGestureDidEnd):
        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (WebKit::ViewGestureController::beginSwipeGesture):
        (WebKit::ViewGestureController::endSwipeGesture):
        * UIProcess/mac/PageClientImpl.h:
        * UIProcess/mac/PageClientImpl.mm:
        (WebKit::PageClientImpl::navigationGestureDidEnd):

2015-06-25  Joseph Pecoraro  <pecoraro@apple.com>

        [Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
        https://bugs.webkit.org/show_bug.cgi?id=146324

        Reviewed by Timothy Hatcher.

        * UIProcess/API/mac/WKViewInternal.h:
        * UIProcess/API/mac/WKView.mm:
        (-[WKView _startWindowDrag]):
        Add a way to start a window drag from a WKView using the most
        recent mouse down event.

        * WebProcess/WebPage/WebInspectorUI.h:
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::startWindowDrag):
        Send a message that we should start a window drag.

        * UIProcess/WebInspectorProxy.messages.in:
        * UIProcess/WebInspectorProxy.h:
        * UIProcess/WebInspectorProxy.cpp:
        (WebKit::WebInspectorProxy::startWindowDrag):
        (WebKit::WebInspectorProxy::platformStartWindowDrag):
        * UIProcess/efl/WebInspectorProxyEfl.cpp:
        (WebKit::WebInspectorProxy::platformStartWindowDrag):
        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
        (WebKit::WebInspectorProxy::platformStartWindowDrag):
        * UIProcess/mac/WebInspectorProxyMac.mm:
        (WebKit::WebInspectorProxy::platformStartWindowDrag):
        Let the platform start a window drag. Only implemented by Mac.

2015-06-25  Tim Horton  <timothy_horton@apple.com>

        [iOS] When using the back swipe gesture in Safari, the previous webpage will flash for a second
        https://bugs.webkit.org/show_bug.cgi?id=146326
        <rdar://problem/17811304>

        Reviewed by Dean Jackson.

        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::hideContentUntilPendingUpdate):
        (WebKit::DrawingAreaProxy::hideContentUntilAnyUpdate):
        (WebKit::DrawingAreaProxy::hideContentUntilNextUpdate): Deleted.
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilPendingUpdate):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilAnyUpdate):
        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Deleted.
        (WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilNextUpdate): Deleted.
        Make it possible to distinguish between hiding the content until *any* commit
        comes in (for example, when we're coming back from being suspended and don't want
        to show anything until we are sure all the layers are valid) and hiding the content
        until the currently pending commit corresponding to the current state in the UI process
        has arrived (which is what we want when e.g. hiding content after a gesture navigation
        and not showing it until the commit including the navigation lands).

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _hideContentUntilNextUpdate]):
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _applicationWillEnterForeground]):
        Make use of "hideContentUntilAnyUpdate".

        * UIProcess/ios/ViewGestureControllerIOS.mm:
        (WebKit::ViewGestureController::endSwipeGesture):
        Make use of "hideContentUntilPendingUpdate".

2015-06-25  Tim Horton  <timothy_horton@apple.com>

        Viewport units are wrong when scaled in 2-up mode, cause content to hop around on apple.com/music
        https://bugs.webkit.org/show_bug.cgi?id=146322
        <rdar://problem/21413884>

        Reviewed by Simon Fraser.

        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
        Inflate the fixed layout height (by the viewScale) so that it's the size of the view.

2015-06-25  Chris Dumez  <cdumez@apple.com>

        [WK2][iOS] Drop WebKitNetworkCacheTemporarilyDisabledForTesting NSUserDefaults
        https://bugs.webkit.org/show_bug.cgi?id=146323
        <rdar://problem/21552370>

        Reviewed by Antti Koivisto.

        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
        (WebKit::WebProcessPool::isNetworkCacheEnabled):

2015-06-25  Tim Horton  <timothy_horton@apple.com>

        Crash in ViewGestureController::didRestoreScrollPosition() running WKWebView.LoadAlternateHTMLStringFromProvisionalLoadError test
        https://bugs.webkit.org/show_bug.cgi?id=146309
        <rdar://problem/21476651>

        Reviewed by Dan Bernstein.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _didCommitLayerTree:]):
        Null-check. _gestureController can be null if allowsBackForwardNavigationGestures is NO.

2015-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Add initial WebKitWebsiteDataManager API for process configuration options
        https://bugs.webkit.org/show_bug.cgi?id=146149

        Reviewed by Sergio Villar Senin.

        Add WebKitWebsiteDataManager to replace the different ways we have
        to configure data store
        directories. WebKitWebContext:indexed-db-directory property has
        been removed, since it was added only in trunk, and
        WebKitWebContext:local-storage-directory has been deprecated. The
        method webkit_web_context_set_disk_cache_directory() has been
        deprecated too in favor of WebKitWebsiteDataManager.

        * PlatformGTK.cmake: Add new files to compilation.
        * UIProcess/API/gtk/WebKitPrivate.h: Move networkCacheSubdirectory
        definition here.
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkitWebContextGetProperty): Replace indexed-db-directory getter
        with website-data-manager one.
        (webkitWebContextSetProperty): Replace indexed-db-directory setter
        with website-data-manager one.
        (webkitWebContextConstructed): Use the user provided
        WebKitWebsiteDataManager to configure the context or create a
        default WebKitWebsiteDataManager if not provided.
        (webkit_web_context_class_init): Replace indexed-db-directory
        property with website-data-manager.
        (webkit_web_context_new_with_website_data_manager):
        (webkit_web_context_get_website_data_manager):
        (webkitWebContextCreatePageForWebView): Get the WebsiteDataStore
        from the WebKitWebsiteDataManager.
        * UIProcess/API/gtk/WebKitWebContext.h:
        * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp: Added.
        (webkitWebsiteDataManagerGetProperty):
        (webkitWebsiteDataManagerSetProperty):
        (webkit_website_data_manager_class_init):
        (webkitWebsiteDataManagerCreate):
        (webkitWebsiteDataManagerGetDataStore):
        (webkit_website_data_manager_new):
        (webkit_website_data_manager_get_local_storage_directory):
        (webkit_website_data_manager_get_disk_cache_directory):
        (webkit_website_data_manager_get_offline_application_cache_directory):
        (webkit_website_data_manager_get_indexeddb_directory):
        (webkit_website_data_manager_get_websql_directory):
        * UIProcess/API/gtk/WebKitWebsiteDataManager.h: Added.
        * UIProcess/API/gtk/WebKitWebsiteDataManagerPrivate.h: Added.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
        * UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_website_data_manager_get_type.
        * UIProcess/API/gtk/webkit2.h: Include WebKitWebsiteDataManager.h.

2015-06-25  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK] Do not use legacy data store options in WebKit2 GTK+ API
        https://bugs.webkit.org/show_bug.cgi?id=146145

        Reviewed by Gustavo Noronha Silva.

        Use a custom WebsiteDataStore in WebKitWebContext, configured with
        the context options, and passed to every page created. This is in
        preparation for exposing WebsiteDataStore in the public API.

        * PlatformGTK.cmake: Add APIWebsiteDataStore.cpp to compilation.
        * UIProcess/API/APIWebsiteDataStore.cpp:
        * UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:
        (API::WebsiteDataStore::defaultApplicationCacheDirectory):
        (API::WebsiteDataStore::defaultNetworkCacheDirectory):
        (API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
        (API::WebsiteDataStore::defaultLocalStorageDirectory):
        (API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
        (API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
        (API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
        (API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
        (API::WebsiteDataStore::defaultDataStoreConfiguration):
        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (websiteDataStoreConfigurationForWebProcessPoolConfiguration):
        Helper function to create the WebsiteDataStore configuration with
        the WebProcessPool configuration options.
        (webkitWebContextConstructed): Do not create a
        WebProcessPoolConfiguration with legacy options and create a WebsiteDataStore.
        (webkitWebContextCreatePageForWebView): Set the WebsiteDataStore
        and session ID in web page configuration.
        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseCreate): Create a WebPageConfiguration for the
        given options and pass it to webkitWebViewBaseCreateWebPage.
        (webkitWebViewBaseCreateWebPage): It receives now a
        WebPageConfiguration, instead of creating it based on the given parameters.
        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
        * UIProcess/gtk/WebProcessPoolGtk.cpp: Use WebsiteDataStore default configuration.
        (WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
        (WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):

2015-06-24  Anders Carlsson  <andersca@apple.com>

        Detect view services by using the "com.apple.UIKit.vends-view-services" entitlement
        https://bugs.webkit.org/show_bug.cgi?id=146301

        Reviewed by Tim Horton.

        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::hasEntitlement):
        (WebKit::isViewService):

2015-06-24  Anders Carlsson  <andersca@apple.com>

        WebContent process is unreponsive/idle when WKWebView is inside a view service.
        https://bugs.webkit.org/show_bug.cgi?id=146296

        Reviewed by Tim Horton.

        * Platform/spi/ios/AssertionServicesSPI.h: Renamed from Source/WebKit2/Platform/spi/ios/BKSProcessAssertionSPI.h.
        Rename this and add SPI for BKSApplicationStateMonitor.

        * Platform/spi/ios/UIKitSPI.h:
        Add _UIApplicationIsExtension SPI.

        * UIProcess/ApplicationStateTracker.mm:
        (WebKit::isViewService):
        Return whether we're an extension or the safari view controller service.

        (WebKit::isBackgroundState):
        Helper function that returns whether a given BKSApplicationState is a background state.

        (WebKit::ApplicationStateTracker::ApplicationStateTracker):
        If we're a view service, create a BKSApplicationStateMonitor and listen for state changes for our pid.

        * UIProcess/ios/ProcessAssertionIOS.mm:
        Update #import.

        * WebKit2.xcodeproj/project.pbxproj:
        Update for rename.

2015-06-24  Matt Rajca  <mrajca@apple.com>

        MediaSession: propagate MediaSessionMetadata to WebPageProxy
        https://bugs.webkit.org/show_bug.cgi?id=146282

        Reviewed by Darin Adler and Tim Horton.

        * Shared/WebCoreArgumentCoders.cpp: Added ArgumentEncoder support for MediaSessionMetadata so we can send it
          through the web page proxy.
        (IPC::ArgumentCoder<MediaSessionMetadata>::encode):
        (IPC::ArgumentCoder<MediaSessionMetadata>::decode):
        * Shared/WebCoreArgumentCoders.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::mediaSessionMetadataDidChange):
        * UIProcess/WebPageProxy.h: Receive mediaSessionMetadataDidChange in the web page proxy.
        * UIProcess/WebPageProxy.messages.in: Added a new MediaSessionMetadataDidChange message.
        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::mediaSessionMetadataDidChange): Push a mediaSessionMetadataDidChange message through the web page proxy.
        * WebProcess/WebCoreSupport/WebChromeClient.h:

2015-06-24  Said Abou-Hallawa  <sabouhallawa@apple.com>

        [Mac] A checkmark is briefly visible next to the webpage context menu items when they're clicked
        https://bugs.webkit.org/show_bug.cgi?id=146284
        <rdar://problem/20297182>

        Reviewed by Darin Adler.
        
        The default value of [NSPopUpButtonCell altersStateOfSelectedItem] is YES.
        This makes the popup menu items checkable by default. We need to change the
        value of this attribute to NO when creating the popup menu, so the items
        are uncheckable. The value of this property needs to change back to YES
        if context menu is about selecting an option and not executing a command.
        
        * UIProcess/mac/WebContextMenuProxyMac.mm:
        (WebKit::WebContextMenuProxyMac::populate):

2015-06-24  Brady Eidson  <beidson@apple.com>

        Update JavaScript dialog delegates to include a WKSecurityOriginRef argument.
        <rdar://problem/21269187> and https://bugs.webkit.org/show_bug.cgi?id=146249

        Reviewed by Alex Christensen.

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient): Call the new signature if the client has it set.
          Otherwise fall back to the old signature.
        * UIProcess/API/C/WKPageUIClient.h: Deprecate the old method signature, and add the new
          one to the newest V5 client structure.

2015-06-24  Ryuan Choi  <ryuan.choi@navercorp.com>

        Remove some dead code from Download
        https://bugs.webkit.org/show_bug.cgi?id=146268

        Reviewed by Darin Adler.

        retrieveDestinationWithSuggestedFilename() was introduced for DownloadCFNetWin.cpp since r77585.
        didDecideDestination and others are also introduced for WebKit2 Windows port since r77055.
        Since WebKit2 Windows port is dropped, no one uses them now.

        * Shared/Downloads/Download.cpp:
        (WebKit::Download::decideDestinationWithSuggestedFilename):
        (WebKit::Download::retrieveDestinationWithSuggestedFilename): Deleted.
        * Shared/Downloads/Download.h:
        (WebKit::Download::destination): Deleted.
        * Shared/Downloads/ios/DownloadIOS.mm:
        (WebKit::Download::didDecideDestination): Deleted.
        * Shared/Downloads/mac/DownloadMac.mm:
        (WebKit::Download::didDecideDestination): Deleted.
        * Shared/Downloads/soup/DownloadSoup.cpp:
        (WebKit::Download::didDecideDestination): Deleted.

2015-06-23  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * UIProcess/ios/ProcessAssertionIOS.mm:
        (-[WKProcessAssertionBackgroundTaskManager init]):

2015-06-23  Michael Catanzaro  <mcatanzaro@igalia.com>

        [GTK] Crash performing drag-and-drop
        https://bugs.webkit.org/show_bug.cgi?id=146267

        Reviewed by Darin Adler.

        Return early if gtk_get_current_event() returns null to avoid a crash. Note that this does
        not fix drag-and-drop. Note also this prevents the web process from forcing the UI process
        to crash by sending fake startDrag messages.

        * UIProcess/gtk/DragAndDropHandler.cpp:
        (WebKit::DragAndDropHandler::startDrag):

2015-06-23  Anders Carlsson  <andersca@apple.com>

        Add a class that tracks whether we're a background or foreground application
        https://bugs.webkit.org/show_bug.cgi?id=146259
        rdar://problem/19833808

        Reviewed by Darin Adler.

        First step towards being able to send out these notifications for view services.

        * UIProcess/ApplicationStateTracker.h: Added.
        (WebKit::ApplicationStateTracker::isInBackground):
        * UIProcess/ApplicationStateTracker.mm: Added.
        (WebKit::ApplicationStateTracker::singleton):
        (WebKit::ApplicationStateTracker::ApplicationStateTracker):
        (WebKit::ApplicationStateTracker::addListener):
        (WebKit::ApplicationStateTracker::applicationDidEnterBackground):
        (WebKit::ApplicationStateTracker::applicationWillEnterForeground):
        (WebKit::ApplicationStateTracker::invokeListeners):
        (WebKit::ApplicationStateTracker::pruneListeners):
        * UIProcess/ios/ProcessAssertionIOS.mm:
        (-[WKProcessAssertionBackgroundTaskManager init]):
        (-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
        (-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground]):
        (-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground]):
        (-[WKProcessAssertionBackgroundTaskManager dealloc]): Deleted.
        (-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground:]): Deleted.
        (-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground:]): Deleted.
        * UIProcess/ios/WKContentView.h:
        * UIProcess/ios/WKContentView.mm:
        (-[WKContentView _commonInitializationWithProcessPool:configuration:]):
        (-[WKContentView isBackground]):
        (-[WKContentView _applicationDidEnterBackground]):
        (-[WKContentView _applicationWillEnterForeground]):
        (-[WKContentView _applicationDidEnterBackground:]): Deleted.
        (-[WKContentView _applicationWillEnterForeground:]): Deleted.
        * WebKit2.xcodeproj/project.pbxproj:

2015-06-23  Anders Carlsson  <andersca@apple.com>

        Remove windowResizerRect code, nobody is using it anymore
        https://bugs.webkit.org/show_bug.cgi?id=146265

        Reviewed by Beth Dakin.

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::windowResizerRect): Deleted.
        * WebProcess/WebCoreSupport/WebChromeClient.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::windowResizerRect): Deleted.
        * WebProcess/WebPage/WebPage.h:

2015-06-23  Dan Bernstein  <mitz@apple.com>

        Restore binary compatibility with iOS 8 Safari after r185877
        https://bugs.webkit.org/show_bug.cgi?id=146263

        Reviewed by Anders Carlsson.

        * Platform/spi/Cocoa: Added.
        * Platform/spi/Cocoa/NSInvocationSPI.h: Added.

        * UIProcess/API/Cocoa/WKSecurityOrigin.mm:
        (-[WKSecurityOrigin methodSignatureForSelector:]): Override to check _WKSecurityOrigin for
        possible category methods with the specified selector.
        (-[WKSecurityOrigin forwardInvocation:]): Invoke using the implementation of the
        _WKSecurityOrigin category method.

        * WebKit2.xcodeproj/project.pbxproj:

2015-06-23  Anders Carlsson  <andersca@apple.com>

        Add operator! and copy/move constructors to WeakObjCPtr
        https://bugs.webkit.org/show_bug.cgi?id=146255

        Reviewed by Andreas Kling.

        * Shared/mac/WeakObjCPtr.h:
        (WebKit::WeakObjCPtr::WeakObjCPtr):
        (WebKit::WeakObjCPtr::operator!):

2015-06-23  Antti Koivisto  <antti@apple.com>

        CrashTracer: com.apple.WebKit.Networking at JavaScriptCore: WTF::String::isolatedCopy const &
        https://bugs.webkit.org/show_bug.cgi?id=146236
        rdar://problem/21380700

        Reviewed by Andreas Kling.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::clear):

            Don't crash if this is called with network cache disabled.

2015-06-23  Simon Fraser  <simon.fraser@apple.com>

        Expose some more rendering progress events, and have MiniBrowser log for each of them
        https://bugs.webkit.org/show_bug.cgi?id=146227

        Reviewed by Darin Adler.

        Add _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering and 
        _WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering to the private
        header, and convert them to/from WebCore milestones.

        * Shared/API/Cocoa/_WKRenderingProgressEvents.h:
        * Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h:
        (renderingProgressEvents):
        * UIProcess/API/Cocoa/WKWebView.mm:
        (layoutMilestones):

2015-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Fix GTK+ build after r185876 and r185877.

        * UIProcess/API/gtk/WebKitUIClient.cpp:
        * UIProcess/API/gtk/WebKitUserContentManager.cpp:
        * UIProcess/API/gtk/WebKitWebView.cpp:

2015-06-23  Anders Carlsson  <andersca@apple.com>

        Get rid of the window resizer size
        https://bugs.webkit.org/show_bug.cgi?id=146240

        Reviewed by Darin Adler.

        This code was only used by older versions of GTK+, so get rid of it.

        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
        (webkitWebViewBaseNotifyResizerSize): Deleted.
        (toplevelWindowResizeGripVisibilityChanged): Deleted.
        (webkitWebViewBaseSetToplevelOnScreenWindow): Deleted.
        (resizeWebKitWebViewBaseFromAllocation): Deleted.
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::setWindowResizerSize): Deleted.
        * UIProcess/WebPageProxy.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::windowResizerRect):
        (WebKit::WebPage::setWindowResizerSize): Deleted.
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:

2015-06-23  Brady Eidson  <beidson@apple.com>

        WKFrameInfo should have an accessor for the Frame's current security origin.
        https://bugs.webkit.org/show_bug.cgi?id=146162

        Reviewed by Dan Bernstein.

        This patch:
        - Promotes _WKSecurityOrigin to API.
        - Makes the WKSecurityOrigin Cocoa API object work with API::SecurityOrigin.
        - Adds a WKSecurityOrigin accessor to WKFrameInfo.
        - Changes IPC messaging so every handler that calls out with a WKFrameInfo object
          gets a relevant SecurityOrigin to wrap.

        * Shared/API/APISecurityOrigin.h:
        (API::SecurityOrigin::create):
        (API::SecurityOrigin::SecurityOrigin):

        * Shared/API/Cocoa/WebKit.h:

        * Shared/API/c/WKSharedAPICast.h:
        (WebKit::toCopiedAPI):

        * Shared/Cocoa/APIObject.mm:
        (API::Object::newObject):

        * Shared/SecurityOriginData.cpp:
        (WebKit::SecurityOriginData::fromFrame):
        * Shared/SecurityOriginData.h:

        * UIProcess/API/APIFrameInfo.cpp:
        (API::FrameInfo::FrameInfo):
        * UIProcess/API/APIFrameInfo.h:

        * UIProcess/API/APINavigationClient.h:
        (API::NavigationClient::didFailProvisionalLoadInSubframeWithError):

        * UIProcess/API/APIUIClient.h:
        (API::UIClient::createNewPage):
        (API::UIClient::runJavaScriptAlert):
        (API::UIClient::runJavaScriptConfirm):
        (API::UIClient::runJavaScriptPrompt):

        * UIProcess/API/C/WKApplicationCacheManager.cpp:
        (WKApplicationCacheManagerGetApplicationCacheOrigins):

        * UIProcess/API/C/WKKeyValueStorageManager.cpp:
        (WKKeyValueStorageManagerGetKeyValueStorageOrigins):

        * UIProcess/API/C/WKOriginDataManager.cpp:
        (WKOriginDataManagerGetOrigins):

        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetPageUIClient):
        (WKPageSetPageNavigationClient):

        * UIProcess/API/C/WKResourceCacheManager.cpp:
        (WKResourceCacheManagerGetCacheOrigins):

        * UIProcess/API/Cocoa/WKFrameInfo.h:
        * UIProcess/API/Cocoa/WKFrameInfo.mm:
        (-[WKFrameInfo securityOrigin]):

        * UIProcess/API/Cocoa/WKSecurityOrigin.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.h.
        * UIProcess/API/Cocoa/WKSecurityOrigin.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.mm.
        (-[WKSecurityOrigin dealloc]):
        (-[WKSecurityOrigin description]):
        (-[WKSecurityOrigin protocol]):
        (-[WKSecurityOrigin host]):
        (-[WKSecurityOrigin port]):
        (-[WKSecurityOrigin _apiObject]):
        * UIProcess/API/Cocoa/WKSecurityOriginInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOriginInternal.h.
        (API::wrapper):

        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:

        * UIProcess/API/Cocoa/WKUserContentController.mm:

        * UIProcess/API/Cocoa/_WKSecurityOrigin.h:
        * UIProcess/API/Cocoa/_WKSecurityOrigin.mm:
        (-[_WKSecurityOrigin _initWithSecurityOrigin:]): Deleted.
        (-[_WKSecurityOrigin protocol]): Deleted.
        (-[_WKSecurityOrigin host]): Deleted.
        (-[_WKSecurityOrigin port]): Deleted.

        * UIProcess/Cocoa/NavigationState.h:
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError):

        * UIProcess/Cocoa/UIDelegate.h:
        * UIProcess/Cocoa/UIDelegate.mm:
        (WebKit::UIDelegate::UIClient::createNewPage):
        (WebKit::UIDelegate::UIClient::runJavaScriptAlert):
        (WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
        (WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
        (WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
        (WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):

        * UIProcess/UserContent/WebScriptMessageHandler.h:

        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
        (WebKit::WebUserContentControllerProxy::didPostMessage):
        * UIProcess/UserContent/WebUserContentControllerProxy.h:
        * UIProcess/UserContent/WebUserContentControllerProxy.messages.in:

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
        (WebKit::WebPageProxy::decidePolicyForResponse):
        (WebKit::WebPageProxy::decidePolicyForResponseSync):
        (WebKit::WebPageProxy::createNewPage):
        (WebKit::WebPageProxy::runJavaScriptAlert):
        (WebKit::WebPageProxy::runJavaScriptConfirm):
        (WebKit::WebPageProxy::runJavaScriptPrompt):
        * UIProcess/WebPageProxy.h:
        * UIProcess/WebPageProxy.messages.in:

        * WebKit2.xcodeproj/project.pbxproj:

        * WebProcess/UserContent/WebUserContentController.cpp:
        (WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):

        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
        (WebKit::WebChromeClient::createWindow):
        (WebKit::WebChromeClient::runJavaScriptAlert):
        (WebKit::WebChromeClient::runJavaScriptConfirm):
        (WebKit::WebChromeClient::runJavaScriptPrompt):

        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
        (WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

2015-06-23  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21342465> Make -[WKWebView _certificateChain] public.
        https://bugs.webkit.org/show_bug.cgi?id=145886

        Reviewed by Sam Weinig.

        * Shared/WebCertificateInfo.h:
        (WebKit::WebCertificateInfo::create): Changed to return a Ref rather than a PassRefPtr.

        * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new
        PageLoadState::Observer functions to PageLoadStateObserver.

        * UIProcess/API/Cocoa/WKProcessGroup.mm:
        (-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Updated for change to
        WebCertificateInfo::create.

        * UIProcess/API/Cocoa/WKProcessPool.mm:
        (-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.

        * UIProcess/API/Cocoa/WKWebView.h: Declared new certificateChain property on WKWebView.

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView certificateChain]): Added. Returns the certificate chain from the page load
        state, or an empty array if there is no certificate chain.

        * UIProcess/API/Cocoa/WKWebViewPrivate.h: Deprecated _certificateChain.

        * UIProcess/Cocoa/NavigationState.h: Declared overrides of new PageLoadState::Observer
        functions.
        * UIProcess/Cocoa/NavigationState.mm:
        (WebKit::NavigationState::willChangeCertificateInfo): Override to call
        -willChangeValueForKey:.
        (WebKit::NavigationState::didChangeCertificateInfo): Override to call
        -didChangeValueForKey:.

        * UIProcess/PageLoadState.cpp:
        (WebKit::PageLoadState::commitChanges): Call the new observer functions
        willChangeCertificateInfo and didChangeCertificateInfo.
        (WebKit::PageLoadState::didCommitLoad): Added new certificateInfo parameter, which is stored
        in the uncommitted state.
        * UIProcess/PageLoadState.h:
        (WebKit::PageLoadState::certificateInfo): Added this getter.

        * UIProcess/WebFrameProxy.cpp:
        (WebKit::WebFrameProxy::didCommitLoad): Changed the parameter type from
        WebCore::CertificateInfo to WebCertificateInfo.
        * UIProcess/WebFrameProxy.h:

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame): Pass the certificate info to
        PageLoadState::didCommitLoad.

2015-06-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL][CustomProtocol] Do not add duplicated custom scheme
        https://bugs.webkit.org/show_bug.cgi?id=146199

        Reviewed by Carlos Garcia Campos.

        WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol generates
        a crash when duplicated scheme is registered on debug mode, or just registers it on release mode.
        However application can register duplicate scheme by mistake or on purpose. Thus it would be good
        if we don't register it instead of registering it or generating a crash when trying to regiseter
        duplicated scheme.

        EFL port want to allow user to change registered callback, thus EWK2ContextTest::ewk_context_url_scheme_register()
        is modified to test it.

        Test: ewk_context_url_scheme_register() in test_ewk2_context.cpp.

        * UIProcess/API/efl/ewk_context.h: Added a comment to replace registered callback.
        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
        (EWK2ContextTest::schemeRequestCallback1):
        (EWK2ContextTest::schemeRequestCallback2):
        (TEST_F):
        (EWK2ContextTest::schemeRequestCallback): Deleted.
        * UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:
        (WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):

2015-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.9.3 release.

        * gtk/NEWS: Add release notes for 2.9.3.

2015-06-22  Dan Bernstein  <mitz@apple.com>

        Part 2 of [Xcode] Fold the WebKit2SandboxProfiles-IOSOverride target into the Sandbox Profiles target
        https://bugs.webkit.org/show_bug.cgi?id=146197

        Rubber-stamped by Anders Carlsson.

        * WebKit2.xcodeproj/project.pbxproj: Deleted the WebKit2SandboxProfiles-IOSOverride target.

2015-06-22  Dean Jackson  <dino@apple.com>

        Rename PlatformCA*Mac to PlatformCA*Cocoa
        https://bugs.webkit.org/show_bug.cgi?id=146224
        <rdar://problem/21497182>

        Reviewed by Simon Fraser.

        Rename PlatformCALayerMac and related files in platform/graphics/ca/mac
        to the more accurate Cocoa suffix.

        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
        (WebKit::PlatformCALayerRemote::filtersCanBeComposited):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
        (WebKit::PlatformCALayerRemoteCustom::create):
        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
        (WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

2015-06-22  Anders Carlsson  <andersca@apple.com>

        Simplify Connection::SyncMessageState
        https://bugs.webkit.org/show_bug.cgi?id=146213

        Reviewed by Andreas Kling.

        Since we no longer support Connections dispatching to multiple threads, we can make SyncMessageState
        into a singleton and get rid of the RunLoop -> SyncMessageState hash map.

        * Platform/IPC/Connection.cpp:
        (IPC::Connection::SyncMessageState::singleton):
        (IPC::Connection::SyncMessageState::SyncMessageState):
        (IPC::Connection::SyncMessageState::processIncomingMessage):
        (IPC::Connection::SyncMessageState::dispatchMessages):
        (IPC::Connection::waitForSyncReply):
        (IPC::Connection::processIncomingSyncReply):
        (IPC::Connection::processIncomingMessage):
        (IPC::Connection::connectionDidClose):
        (IPC::Connection::SyncMessageState::syncMessageStateMap): Deleted.
        (IPC::Connection::SyncMessageState::syncMessageStateMapMutex): Deleted.
        (IPC::Connection::SyncMessageState::getOrCreate): Deleted.
        (IPC::Connection::SyncMessageState::~SyncMessageState): Deleted.
        (IPC::Connection::Connection): Deleted.
        * Platform/IPC/Connection.h:

2015-06-20  Alex Christensen  <achristensen@webkit.org>

        [Content Extensions] Add SPI to reload without content blocking.
        https://bugs.webkit.org/show_bug.cgi?id=146128
        rdar://problem/20351903

        Reviewed by Sam Weinig.

        * Shared/WebPageCreationParameters.cpp:
        (WebKit::WebPageCreationParameters::encode):
        (WebKit::WebPageCreationParameters::decode):
        * Shared/WebPageCreationParameters.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPageSetCustomUserAgent):
        (WKPageSetUserContentExtensionsEnabled):
        (WKPageSupportsTextEncoding):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _customUserAgent]):
        (-[WKWebView _setUserContentExtensionsEnabled:]):
        (-[WKWebView _userContentExtensionsEnabled]):
        (-[WKWebView _setCustomUserAgent:]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::creationParameters):
        (WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
        (WebKit::WebPageProxy::setUserContentExtensionsEnabled):
        * UIProcess/WebPageProxy.h:
        (WebKit::WebPageProxy::userContentExtensionsEnabled):
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::WebPage):
        (WebKit::WebPage::reinitializeWebPage):
        (WebKit::WebPage::setShouldScaleViewToFitDocument):
        (WebKit::WebPage::setUserContentExtensionsEnabled):
        * WebProcess/WebPage/WebPage.h:
        * WebProcess/WebPage/WebPage.messages.in:
        Pass a boolean from the API to WebCore.

2015-06-22  Anders Carlsson  <andersca@apple.com>

        Remove m_clientRunLoop from IPC::Connection
        https://bugs.webkit.org/show_bug.cgi?id=146212

        Reviewed by Sam Weinig.

        We only ever create connections whose messages are dispatched to the main run loop, so we can 
        vastly simplify the code by only allowing messages to be dispatched there.

        * DatabaseProcess/DatabaseToWebProcessConnection.cpp:
        (WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
        (WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
        * Platform/IPC/Connection.cpp:
        (IPC::Connection::createServerConnection):
        (IPC::Connection::createClientConnection):
        (IPC::Connection::Connection):
        (IPC::Connection::addWorkQueueMessageReceiver):
        (IPC::Connection::removeWorkQueueMessageReceiver):
        (IPC::Connection::waitForMessage):
        (IPC::Connection::sendSyncMessage):
        (IPC::Connection::sendSyncMessageFromSecondaryThread):
        (IPC::Connection::processIncomingMessage):
        (IPC::Connection::connectionDidClose):
        (IPC::Connection::dispatchDidReceiveInvalidMessage):
        (IPC::Connection::enqueueIncomingMessage):
        (IPC::Connection::wakeUpRunLoop):
        * Platform/IPC/Connection.h:
        * Platform/IPC/mac/ConnectionMac.mm:
        (IPC::Connection::receiveSourceEventHandler):
        * PluginProcess/WebProcessConnection.cpp:
        (WebKit::WebProcessConnection::WebProcessConnection):
        * Shared/ChildProcess.cpp:
        (WebKit::ChildProcess::initialize):
        * Shared/ChildProcessProxy.cpp:
        (WebKit::ChildProcessProxy::didFinishLaunching):
        * UIProcess/Plugins/PluginProcessProxy.cpp:
        (WebKit::PluginProcessProxy::didFinishLaunching):
        * WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
        (WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
        * WebProcess/Network/NetworkProcessConnection.cpp:
        (WebKit::NetworkProcessConnection::NetworkProcessConnection):
        * WebProcess/Plugins/PluginProcessConnection.cpp:
        (WebKit::PluginProcessConnection::PluginProcessConnection):
        * WebProcess/WebPage/WebInspector.cpp:
        (WebKit::WebInspector::createInspectorPage):
        * WebProcess/WebPage/WebInspectorUI.cpp:
        (WebKit::WebInspectorUI::establishConnection):

2015-06-22  Anders Carlsson  <andersca@apple.com>

        Crashes in hit testing under WebPage::acceptsFirstMouse() while handling sync message in plug-in teardown
        https://bugs.webkit.org/show_bug.cgi?id=146211
        rdar://problem/17180615

        Reviewed by Sam Weinig.

        If we're inside a sendSync message when we're being called, just bail.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::acceptsFirstMouse):

2015-06-22  Dan Bernstein  <mitz@apple.com>

        Part 1 of [Xcode] Fold the WebKit2SandboxProfiles-IOSOverride target into the Sandbox Profiles target
        https://bugs.webkit.org/show_bug.cgi?id=146197

        Reviewed by Anders Carlsson.

        * Configurations/SandboxProfiles.xcconfig: Added. Defines INSTALL_PATH based on the value
        of WK_INSTALL_OVERRIDE_SANDBOX_PROFILES.
        * WebKit2.xcodeproj/project.pbxproj: Use SandboxProfiles.xcconfig for the Sandbox Profiles
        target, and change the destination path in its Copy Files build phase to INSTALL_PATH.

2015-06-22  Antti Koivisto  <antti@apple.com>

        Crash replacing TabDocument in MobileSafari at WebKit: -[WKWebView(WKPrivate) _beginAnimatedResizeWithUpdates:]
        https://bugs.webkit.org/show_bug.cgi?id=146201

        Reviewed by Dan Bernstein.

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

        No repro but if for some reason [_contentView bounds] width is zero we'll compute +Inf targetScale
        and then NaN contentOffset.x. Verified in lldb that this gives the exact crash signature seen.

        Fix by checking that [_contentView bounds] is not empty like is done with other inputs.

2015-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>

        REGRESSION(r182303): [GTK] Context menu API is broken since r182303
        https://bugs.webkit.org/show_bug.cgi?id=146202

        Reviewed by Žan Doberšek.

        The problem is that ContextMenuclient API changed in r182303, but
        we didn't notice it either, and the default handler for
        getContextMenuFromProposedMenu was executed. An override keyword
        would have caught this.

        * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Build a Vector of
        WebContextMenuItemData as expected by our API, and add add
        override keyword to ensure this doesn't happen again.

2015-06-22  Zan Dobersek  <zdobersek@igalia.com>

        [WK2] ConnectionUnix should use FastMalloc to allocate on-heap resources
        https://bugs.webkit.org/show_bug.cgi?id=146143

        Reviewed by Carlos Garcia Campos.

        IPC handling in Unix-specific IPC::Connection implementation should use
        FastMalloc to allocate on-heap resources, instead of allocating via the
        system allocator.

        The AttachmentInfo class is marked as allocatable through FastMalloc.
        That way it can be allocated through FastMalloc while still handled
        through std::unique_ptr<>.

        The char[] arrays in readBytesFromSocket() and Connection::sendOutgoingMessage()
        are now handled through a MallocPtr<> object.

        In Connection::sendOutgoingMessage(), both the AttachmentInfo[] and char[]
        arrays are now only allocated if there are actual attachments contained
        in the message. The code that's conditioned with a non-empty attachments
        Vector is now also grouped together, in a single branch.

        * Platform/IPC/unix/ConnectionUnix.cpp:
        (IPC::readBytesFromSocket):
        (IPC::Connection::sendOutgoingMessage):

2015-06-22  Gyuyoung Kim  <gyuyoung.kim@webkit.org>

        [EFL] test_ewk2_application_cache_manager has been failed since r185527
        https://bugs.webkit.org/show_bug.cgi?id=146016

        Reviewed by Csaba Osztrogonác.

        * UIProcess/API/efl/tests/test_ewk2_application_cache_manager.cpp:
        (TEST_F): Disable this test for now. This test will be enabled again.

2015-06-16  Gavin Barraclough  <barraclough@apple.com>

        Page load performance regression due to bugs.webkit.org/show_bug.cgi?id=145542
        https://bugs.webkit.org/show_bug.cgi?id=146198

        Unreviewed rollout.

        * UIProcess/API/gtk/WebKitWebContext.cpp:
        (webkit_web_context_prefetch_dns):

2015-06-21  Hyungwook Lee  <hyungwook.lee@navercorp.com>

        WKApplicationCacheManagerDeleteEntriesForOrigin() has wrong WebsiteDataTypes.
        https://bugs.webkit.org/show_bug.cgi?id=146180

        Reviewed by Sam Weinig.

        Modify to use correct WebsiteDataTypes in WKApplicationCacheManagerDeleteEntriesForOrigin()

        * UIProcess/API/C/WKApplicationCacheManager.cpp:
        (WKApplicationCacheManagerDeleteEntriesForOrigin):

2015-06-21  Dan Bernstein  <mitz@apple.com>

        <rdar://problem/21444762> REGRESSION (r184215): Plug-in services crash on launch on Yosemite
        https://bugs.webkit.org/show_bug.cgi?id=146195

        Reviewed by Sam Weinig.

        * Configurations/PluginService.32.xcconfig: Changed the Yosemite definition of
        INFOPLIST_FILE such that it would also apply to the macosx10.10.internal SDK.
        * Configurations/PluginService.64.xcconfig: Ditto.

2015-06-21  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * Shared/API/Cocoa/WKFoundation.h: Don’t use generics if the SDK doesn’t support them.

2015-06-21  Michael Catanzaro  <mcatanzaro@igalia.com>

        [SOUP] Use GTask in WebKitSoupRequestInputStream
        https://bugs.webkit.org/show_bug.cgi?id=146184

        Reviewed by Carlos Garcia Campos.

        Replace deprecated use of GSimpleAsyncResult with GTask.

        * WebProcess/soup/WebKitSoupRequestInputStream.cpp:
        (AsyncReadData::AsyncReadData):
        (webkitSoupRequestInputStreamReadAsyncResultComplete):
        (webkitSoupRequestInputStreamPendingReadAsyncComplete):
        (webkitSoupRequestInputStreamReadAsync):
        (webkitSoupRequestInputStreamReadFinish):

2015-06-21  Michael Catanzaro  <mcatanzaro@igalia.com>

        Fix format strings in NetworkCache.cpp and NetworkCacheStatistics.cpp and WebIDBServerConnection.cpp
        https://bugs.webkit.org/show_bug.cgi?id=146172

        Reviewed by Darin Adler.

        Use the correct %"PRIu64" and %"PRIi64" for uint64_t and int64_t, instead of %llu and %lli.

        * NetworkProcess/cache/NetworkCache.cpp:
        (WebKit::NetworkCache::Cache::retrieve):
        * NetworkProcess/cache/NetworkCacheStatistics.cpp:
        (WebKit::NetworkCache::Statistics::initialize):
        (WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest):
        (WebKit::NetworkCache::Statistics::recordRetrievalFailure):
        (WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry):
        (WebKit::NetworkCache::Statistics::recordRevalidationSuccess):
        * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
        (WebKit::WebIDBServerConnection::deleteDatabase):
        (WebKit::WebIDBServerConnection::didDeleteDatabase):
        (WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::didGetOrEstablishIDBDatabaseMetadata):
        (WebKit::WebIDBServerConnection::openTransaction):
        (WebKit::WebIDBServerConnection::didOpenTransaction):
        (WebKit::WebIDBServerConnection::beginTransaction):
        (WebKit::WebIDBServerConnection::didBeginTransaction):
        (WebKit::WebIDBServerConnection::commitTransaction):
        (WebKit::WebIDBServerConnection::didCommitTransaction):
        (WebKit::WebIDBServerConnection::resetTransaction):
        (WebKit::WebIDBServerConnection::didResetTransaction):
        (WebKit::WebIDBServerConnection::rollbackTransaction):
        (WebKit::WebIDBServerConnection::didRollbackTransaction):
        (WebKit::WebIDBServerConnection::createObjectStore):
        (WebKit::WebIDBServerConnection::didCreateObjectStore):
        (WebKit::WebIDBServerConnection::createIndex):
        (WebKit::WebIDBServerConnection::didCreateIndex):
        (WebKit::WebIDBServerConnection::deleteIndex):
        (WebKit::WebIDBServerConnection::didDeleteIndex):
        (WebKit::WebIDBServerConnection::get):
        (WebKit::WebIDBServerConnection::put):
        (WebKit::WebIDBServerConnection::didPutRecord):
        (WebKit::WebIDBServerConnection::didGetRecord):
        (WebKit::WebIDBServerConnection::didOpenCursor):
        (WebKit::WebIDBServerConnection::didAdvanceCursor):
        (WebKit::WebIDBServerConnection::didIterateCursor):
        (WebKit::WebIDBServerConnection::count):
        (WebKit::WebIDBServerConnection::didCount):
        (WebKit::WebIDBServerConnection::deleteRange):
        (WebKit::WebIDBServerConnection::didDeleteRange):
        (WebKit::WebIDBServerConnection::clearObjectStore):
        (WebKit::WebIDBServerConnection::didClearObjectStore):
        (WebKit::WebIDBServerConnection::deleteObjectStore):
        (WebKit::WebIDBServerConnection::didDeleteObjectStore):
        (WebKit::WebIDBServerConnection::changeDatabaseVersion):
        (WebKit::WebIDBServerConnection::didChangeDatabaseVersion):
        (WebKit::WebIDBServerConnection::openCursor):
        (WebKit::WebIDBServerConnection::cursorAdvance):
        (WebKit::WebIDBServerConnection::cursorIterate):

2015-06-20  Tim Horton  <timothy_horton@apple.com>

        Deselection of text causes a noticeable jump on force touch machines
        https://bugs.webkit.org/show_bug.cgi?id=146173
        <rdar://problem/20992842>

        Reviewed by Sam Weinig.

        * Shared/WebCoreArgumentCoders.cpp:
        (IPC::ArgumentCoder<TextIndicatorData>::encode):
        (IPC::ArgumentCoder<TextIndicatorData>::decode):
        Encode/decode wantsMargin.

        * WebProcess/WebPage/mac/WebPageMac.mm:
        (WebKit::WebPage::performImmediateActionHitTestAtLocation):
        (WebKit::textIndicatorTransitionForImmediateAction): Deleted.
        Get rid of TextIndicatorPresentationTransition::Crossfade.

2015-06-20  Dan Bernstein  <mitz@apple.com>

        [Cocoa] Actually use Objective-C lightweight generics when the compiler supports them
        https://bugs.webkit.org/show_bug.cgi?id=146183

        Reviewed by Sam Weinig.

        * Shared/API/Cocoa/WKFoundation.h: When the compiler supports Objective-C generics, define
        WK_ARRAY and WK_SET to use them. Also added a definition of WK_DICTIONARY.

        * UIProcess/API/Cocoa/WKWebViewPrivate.h: Use WK_DICTIONARY for the options dictionary of
        -_loadRequest:withOptions:.

        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
        (-[WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]): Made the completion
        halder type match the declaration, now that NSArray and WK_ARRAY(WKWebsiteDataRecord *) are
        not the same.

        * mac/postprocess-framework-headers.sh: Also rewrite WK_DICTIONARY.

2015-06-20  Chris Dumez  <cdumez@apple.com>

        [WK2][iOS] Avoid synchronous IPC on view state change when the content is not visible
        https://bugs.webkit.org/show_bug.cgi?id=146179
        <rdar://problem/20923432>

        Reviewed by Tim Horton.

        After r170787, viewStateChange() would cause a synchronous IPC between
        the UIProcess and the WebProcess when the view becomes visible. This
        was to avoid painting empty / black tiles when unsuspending the
        WebProcess on tab switch, in the event volatile IOSurfaces were purged.

        However, this sync IPC can have performance implications and is not
        needed when the content is not actually visible yet (e.g.
        hideContentUntilNextUpdate() was called, or the tab was killed).

        This patch avoids the synchronous IPC when the content is hidden and
        exposes a private API on WKWebView so that clients can ask for the
        content to be hidden until the next update. This would allow for
        clients to avoid the synchronous IPC if they don't need the content
        to be displayed synchronously (e.g. the view is obscured).

        * UIProcess/API/Cocoa/WKWebView.mm:
        (-[WKWebView _hideContentUntilNextUpdate]):
        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
        * UIProcess/DrawingAreaProxy.h:
        (WebKit::DrawingAreaProxy::hasVisibleContent):
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::dispatchViewStateChange):
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
        (WebKit::RemoteLayerTreeDrawingAreaProxy::isContentHidden):

2015-06-20  Michael Catanzaro  <mcatanzaro@igalia.com>

        Check for SHA1 certificates ignores subresources
        https://bugs.webkit.org/show_bug.cgi?id=146159

        Reviewed by Dan Bernstein.

        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::didCommitLoadForFrame): Call
        PageLoadState::didDisplayOrRunInsecureContent if a certificate chain contains a non-root
        SHA1 certificate when the frame is not the main frame.

2015-06-20  Dan Bernstein  <mitz@apple.com>

        Added availability information to a recently-added delegate method.

        Suggested by Alexey Proskuryakov and Anders Carlsson.

        * UIProcess/API/Cocoa/WKUIDelegate.h: Annotated -webViewDidClose:.

2015-06-20  Ryuan Choi  <ryuan.choi@navercorp.com>

        [EFL] Do not consider test directories when DEVELOPER_MODE is OFF
        https://bugs.webkit.org/show_bug.cgi?id=146171

        Reviewed by Gyuyoung Kim.

        * PlatformEfl.cmake:
        Do not define SOURCE_DIR when DEVELOPER_MODE is OFF for seccomp filter
        not to allow jhbuild directory.
        * Shared/efl/ProcessExecutablePathEfl.cpp:
        (WebKit::findProcessPath): Guard test code to ENABLE(DEVELOPER_MODE).

2015-06-18  Myles C. Maxfield  <mmaxfield@apple.com>

        REGRESSION(r185475): [Mac] ASSERT() when clicking on text using web fonts with force touch trackpad
        https://bugs.webkit.org/show_bug.cgi?id=145890
        <rdar://problem/21390877>

        Reviewed by Darin Adler and Tim Horton.

        The best place to stop the serialization of unserializable fonts is inside WebKit2's IPC code. We want
        this logic to occur when encoding an NSAttributedString, rather than when encoding an NSDictionary,
        because changing the shape of an NSAttributedString is less likely to result in problems rather than
        changing the shape of an NSDictionary.

        * Shared/mac/ArgumentCodersMac.mm:
        (IPC::fontIsSerializable):
        (IPC::filterUnserializableValues):
        (IPC::encode):

2015-06-19  Michael Catanzaro  <mcatanzaro@igalia.com>

        [SOUP] Fix return-type-c-linkage warning after r185553
        https://bugs.webkit.org/show_bug.cgi?id=146014

        Reviewed by Martin Robinson.

        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
        (WebKit::CustomProtocolManagerImpl::start): webkitSoupRequestGenericGetRequest now returns
        a pointer rather than a reference.

2015-06-19  Brady Eidson  <beidson@apple.com>

        Rename WKSecurityOrigin.h/cpp to WKSecurityOriginRef.h/cpp.
        https://bugs.webkit.org/show_bug.cgi?id=146152

        Reviewed by Dan Bernstein.

        * CMakeLists.txt:

        * Shared/API/c/WKSecurityOriginRef.cpp: Renamed from Source/WebKit2/Shared/API/c/WKSecurityOrigin.cpp.
        * Shared/API/c/WKSecurityOriginRef.h: Renamed from Source/WebKit2/Shared/API/c/WKSecurityOrigin.h.

        * UIProcess/API/efl/ewk_security_origin.cpp:
        * UIProcess/API/efl/ewk_storage_manager.cpp:

        * WebKit2.xcodeproj/project.pbxproj:

2015-06-18  Brent Fulgham  <bfulgham@apple.com>

        [iOS] scrollIntoViewIfNeeded is not working with scroll-snap points
        https://bugs.webkit.org/show_bug.cgi?id=145318
        <rdar://problem/21081501>

        Reviewed by Simon Fraser.

        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
        (ArgumentCoder<ScrollingStateScrollingNode>::encode): Handle scroll snap point offset indices.
        (ArgumentCoder<ScrollingStateScrollingNode>::decode): Ditto.
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
        (WebKit::RemoteScrollingCoordinatorProxy::currentSnapPointIndicesDidChange): Added. Send message
        to WebProcess when scroll snap indices have changed.
        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h:
        * UIProcess/Scrolling/RemoteScrollingTree.cpp:
        (WebKit::RemoteScrollingTree::currentSnapPointIndicesDidChange): Added. Notify the
        RemoteScrollingCoordinatorProxy when scroll snap indices have changed.
        * UIProcess/Scrolling/RemoteScrollingTree.h:
        * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
        * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
        (-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Revised.
        Identify changes in the current scroll snap point offset index (in either the horizontal or vertical
        directions), and send a notification when this happens.
        (WebKit::ScrollingTreeOverflowScrollingNodeIOS::currentSnapPointIndicesDidChange): Added. Notify the
        Scrolling Tree when indices changed.
        * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
        (WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Revised. Always compute
        the new scroll snap offset index (even when we will rubber band).
        * WebProcess/Scrolling/RemoteScrollingCoordinator.h:
        * WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: Add a new message to relay changes in scroll
        snap index.
        * WebProcess/Scrolling/RemoteScrollingCoordinator.mm:
        (WebKit::RemoteScrollingCoordinator::currentSnapPointIndicesChangedForNode): Added.

2015-06-19  Jeremy Jones  <jeremyj@apple.com>

        Revert switch to _synchronizedDrawingFence.
        https://bugs.webkit.org/show_bug.cgi?id=146136
        <rdar://problem/21227992>

        Reviewed by Simon Fraser.

        Revert _synchronizedDrawingFence code path that leaks a port.

        * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
        (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):

2015-06-19  Anders Carlsson  <andersca@apple.com>

        Address review feedback from Darin.

        * Shared/mac/HangDetectionDisablerMac.mm:
        (WebKit::clientsMayIgnoreEvents):

2015-06-19  Anders Carlsson  <andersca@apple.com>

        Disable SpinTracer detection while loading sync XHR
        https://bugs.webkit.org/show_bug.cgi?id=146150
        rdar://problem/21462023

        Reviewed by Dan Bernstein.

        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
        (WebKit::WebPlatformStrategies::loadResourceSynchronously):

2015-06-19  Anders Carlsson  <andersca@apple.com>

        Spintracer treats the web process as hung when it's showing JavaScript dialogs in the UI process
        https://bugs.webkit.org/show_bug.cgi?id=146124