Unreviewed, rolling out r199660.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index d8ed475..cde8153 100644 (file)
+2016-04-18  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r199660.
+        https://bugs.webkit.org/show_bug.cgi?id=156691
+
+        It broke the iOS build (Requested by KaL on #webkit).
+
+        Reverted changeset:
+
+        "Pending API request URL no set when loading Data, Alternate
+        HTML or plain text"
+        https://bugs.webkit.org/show_bug.cgi?id=136916
+        http://trac.webkit.org/changeset/199660
+
+2016-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Pending API request URL no set when loading Data, Alternate HTML or plain text
+        https://bugs.webkit.org/show_bug.cgi?id=136916
+
+        Reviewed by Darin Adler.
+
+        Set pending API request URL for all load methods in
+        WebPageProxy. This ensures that right after calling those methods,
+        the active URL is the requested one and that
+        PageLoadState::isLoading() returns true.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::loadAlternateHTMLString):
+        (WebKit::WebPageProxy::loadPlainTextString):
+        (WebKit::WebPageProxy::loadWebArchiveData):
+
+2016-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [UNIX] Initialize WebKit before the platform initializations
+        https://bugs.webkit.org/show_bug.cgi?id=156622
+
+        Reviewed by Michael Catanzaro.
+
+        The platform specific initialization might use something that would require WebKit2 to be initialized. For
+        example, in debug mode, the GTK+ port uses WTF::sleep that requires the threading to be initialized.
+
+        * Shared/unix/ChildProcessMain.h:
+        (WebKit::ChildProcessMain): Move InitializeWebKit2() before platformInitialize().
+
+2016-04-18  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
+
+        Fix incorrect assumption that APPLE implies Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=156679
+
+        Addresses build failure introduced in r198947
+
+        Reviewed by Alex Christensen.
+
+        * CMakeLists.txt:
+
+2016-04-17  Yoav Weiss  <yoav@yoav.ws>
+
+        Initial Link preload support
+        https://bugs.webkit.org/show_bug.cgi?id=156334
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::maximumBufferingTime): Added LinkPreload as a possible CachedResource::type.
+
+2016-04-17  Chris Dumez  <cdumez@apple.com>
+
+        [WK2][iOS] Do not dlopen() QuickLook in the NetworkProcess
+        https://bugs.webkit.org/show_bug.cgi?id=156639
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/Network/WebResourceLoader.cpp:
+        (WebKit::WebResourceLoader::didReceiveResponse):
+        Move checks for main resource load and for MIME type inside of
+        QuickLookHandle::createIfNecessary(), for consistency with the
+        other QuickLookHandle factory functions.
+
+2016-04-16  Dan Bernstein  <mitz@apple.com>
+
+        [Mac] Web Content service with a restricted entitlement may load arbitrary dylibs
+        https://bugs.webkit.org/show_bug.cgi?id=156668
+        <rdar://problem/25429784>
+
+        Reviewed by Anders Carlsson.
+
+        * Configurations/WebContentService.xcconfig: Enable library validation when the Web Content
+          service is given the XPC domain extension entitlement.
+
+2016-04-15  Dan Bernstein  <mitz@apple.com>
+
+        [Mac] WebContent, Networking and Databases services have i386 slices that are never used
+        https://bugs.webkit.org/show_bug.cgi?id=156654
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Configurations/BaseXPCService.xcconfig: Set VALID_ARCHS to ARCHS_STANDARD when not building only
+          for the active architecture.
+        * Configurations/PluginService.32.xcconfig: Removed now-redundant definitions.
+        * Configurations/PluginService.64.xcconfig: Ditto.
+
+2016-04-15  Sam Weinig  <sam@webkit.org>
+
+        Need a way to specify a script name to show in the inspector for scripts injected via WKUserScript
+        <rdar://problem/25626662>
+        https://bugs.webkit.org/show_bug.cgi?id=156653
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/API/Cocoa/WKUserScript.mm:
+        (-[WKUserScript _initWithSource:injectionTime:forMainFrameOnly:legacyWhitelist:legacyBlacklist:associatedURL:userContentWorld:]):
+        * UIProcess/API/Cocoa/WKUserScriptPrivate.h:
+        Add a new initializer that takes an associate URL that is used to represent the user script.
+
+2016-04-15  Darin Adler  <darin@apple.com>
+
+        Reduce use of Deprecated::ScriptXXX classes
+        https://bugs.webkit.org/show_bug.cgi?id=156632
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::performJavaScriptURLRequest): Use JSValue.
+        * WebProcess/WebPage/WebInspectorUI.cpp:
+        (WebKit::WebInspectorUI::windowObjectCleared): Use references.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::runJavaScriptInMainFrame): Use JSValue.
+
+2016-04-15  Jer Noble  <jer.noble@apple.com>
+
+        REGRESSION( r199603): Pandora crashes WebKit in WebPlaybackSessionManager::removeClientForContext
+        https://bugs.webkit.org/show_bug.cgi?id=156648
+        <rdar://problem/25758117>
+
+        Reviewed by Beth Dakin.
+
+        Mistakenly checked in a reversed condition check, which causes a subsequent assert and crash.
+
+        * WebProcess/cocoa/WebPlaybackSessionManager.mm:
+        (WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager):
+
+2016-04-15  Chris Dumez  <cdumez@apple.com>
+
+        Mark NetworkLoad as FastAllocated
+        https://bugs.webkit.org/show_bug.cgi?id=156628
+
+        Reviewed by Alex Christensen.
+
+        Mark NetworkLoad as FastAllocated for performance.
+
+        * NetworkProcess/NetworkLoad.h:
+
+2016-04-14  Jer Noble  <jer.noble@apple.com>
+
+        Allow WebVideoFullscreenManager and Proxy to be used by audio elements.
+        https://bugs.webkit.org/show_bug.cgi?id=156564
+
+        Reviewed by Beth Dakin.
+
+        Tease apart WebVideoFullscreenManager and …Proxy into WebPlaybackSessionManager and …Proxy
+        classes dealing exclusively with playback state and commands, leaving fullscreen state and
+        commands in the WebVideoFullscreenManager… classes.
+
+        WebVideoFullscreenManager and …Proxy will now require an associated
+        WebPlaybackSessionManager and …Proxy class. The WebPlaybackSessionManager classes can be
+        used separately and without the WebVideoFullscreenManager classes.
+
+        * DerivedSources.make:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]):
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h: Copied from Source/WebKit2/UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h.
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in: Copied from Source/WebKit2/UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in.
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm: Added.
+        (WebKit::WebPlaybackSessionModelContext::play):
+        (WebKit::WebPlaybackSessionModelContext::pause):
+        (WebKit::WebPlaybackSessionModelContext::togglePlayState):
+        (WebKit::WebPlaybackSessionModelContext::beginScrubbing):
+        (WebKit::WebPlaybackSessionModelContext::endScrubbing):
+        (WebKit::WebPlaybackSessionModelContext::seekToTime):
+        (WebKit::WebPlaybackSessionModelContext::fastSeek):
+        (WebKit::WebPlaybackSessionModelContext::beginScanningForward):
+        (WebKit::WebPlaybackSessionModelContext::beginScanningBackward):
+        (WebKit::WebPlaybackSessionModelContext::endScanning):
+        (WebKit::WebPlaybackSessionModelContext::selectAudioMediaOption):
+        (WebKit::WebPlaybackSessionModelContext::selectLegibleMediaOption):
+        (WebKit::WebPlaybackSessionManagerProxy::create):
+        (WebKit::WebPlaybackSessionManagerProxy::WebPlaybackSessionManagerProxy):
+        (WebKit::WebPlaybackSessionManagerProxy::~WebPlaybackSessionManagerProxy):
+        (WebKit::WebPlaybackSessionManagerProxy::invalidate):
+        (WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface):
+        (WebKit::WebPlaybackSessionManagerProxy::ensureModelAndInterface):
+        (WebKit::WebPlaybackSessionManagerProxy::ensureModel):
+        (WebKit::WebPlaybackSessionManagerProxy::ensureInterface):
+        (WebKit::WebPlaybackSessionManagerProxy::addClientForContext):
+        (WebKit::WebPlaybackSessionManagerProxy::removeClientForContext):
+        (WebKit::WebPlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
+        (WebKit::WebPlaybackSessionManagerProxy::clearPlaybackControlsManager):
+        (WebKit::WebPlaybackSessionManagerProxy::resetMediaState):
+        (WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
+        (WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
+        (WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
+        (WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
+        (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
+        (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
+        (WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
+        (WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
+        (WebKit::WebPlaybackSessionManagerProxy::setDuration):
+        (WebKit::WebPlaybackSessionManagerProxy::setRate):
+        (WebKit::WebPlaybackSessionManagerProxy::play):
+        (WebKit::WebPlaybackSessionManagerProxy::pause):
+        (WebKit::WebPlaybackSessionManagerProxy::togglePlayState):
+        (WebKit::WebPlaybackSessionManagerProxy::beginScrubbing):
+        (WebKit::WebPlaybackSessionManagerProxy::endScrubbing):
+        (WebKit::WebPlaybackSessionManagerProxy::seekToTime):
+        (WebKit::WebPlaybackSessionManagerProxy::fastSeek):
+        (WebKit::WebPlaybackSessionManagerProxy::beginScanningForward):
+        (WebKit::WebPlaybackSessionManagerProxy::beginScanningBackward):
+        (WebKit::WebPlaybackSessionManagerProxy::endScanning):
+        (WebKit::WebPlaybackSessionManagerProxy::selectAudioMediaOption):
+        (WebKit::WebPlaybackSessionManagerProxy::selectLegibleMediaOption):
+        (WebKit::WebPlaybackSessionManagerProxy::controlsManagerInterface):
+        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
+        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
+        * UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
+        (WebKit::WebVideoFullscreenModelContext::WebVideoFullscreenModelContext):
+        (WebKit::WebVideoFullscreenModelContext::~WebVideoFullscreenModelContext):
+        (WebKit::WebVideoFullscreenModelContext::play):
+        (WebKit::WebVideoFullscreenModelContext::pause):
+        (WebKit::WebVideoFullscreenModelContext::togglePlayState):
+        (WebKit::WebVideoFullscreenModelContext::beginScrubbing):
+        (WebKit::WebVideoFullscreenModelContext::endScrubbing):
+        (WebKit::WebVideoFullscreenModelContext::seekToTime):
+        (WebKit::WebVideoFullscreenModelContext::fastSeek):
+        (WebKit::WebVideoFullscreenModelContext::beginScanningForward):
+        (WebKit::WebVideoFullscreenModelContext::beginScanningBackward):
+        (WebKit::WebVideoFullscreenModelContext::endScanning):
+        (WebKit::WebVideoFullscreenModelContext::selectAudioMediaOption):
+        (WebKit::WebVideoFullscreenModelContext::selectLegibleMediaOption):
+        (WebKit::WebVideoFullscreenManagerProxy::create):
+        (WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
+        (WebKit::WebVideoFullscreenManagerProxy::createModelAndInterface):
+        (WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::enterFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::exitFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::exitFullscreenWithoutAnimationToMode): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::cleanupFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::requestFullscreenMode): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::didSetupFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::didCleanupFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame): Deleted.
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        (WebKit::WebPageProxy::reattachToWebProcess):
+        (WebKit::WebPageProxy::playbackSessionManager):
+        (WebKit::WebPageProxy::videoFullscreenManager):
+        (WebKit::WebPageProxy::resetState):
+        (WebKit::WebPageProxy::hasActiveVideoForControlsManager):
+        (WebKit::WebPageProxy::isPlayingMediaDidChange): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::supportsVideoFullscreen):
+        (WebKit::WebChromeClient::setUpPlaybackControlsManager):
+        (WebKit::WebChromeClient::clearPlaybackControlsManager):
+        (WebKit::WebChromeClient::enterVideoFullscreenForVideoElement):
+        (WebKit::WebChromeClient::exitVideoFullscreenForVideoElement):
+        (WebKit::WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::playbackSessionManager):
+        (WebKit::WebPage::videoFullscreenManager):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/cocoa/WebPlaybackSessionManager.h: Copied from Source/WebKit2/WebProcess/cocoa/WebVideoFullscreenManager.h.
+        (WebKit::WebPlaybackSessionInterfaceContext::create):
+        (WebKit::WebPlaybackSessionInterfaceContext::invalidate):
+        * WebProcess/cocoa/WebPlaybackSessionManager.messages.in: Added.
+        * WebProcess/cocoa/WebPlaybackSessionManager.mm: Added.
+        (WebKit::nextContextId):
+        (WebKit::WebPlaybackSessionInterfaceContext::WebPlaybackSessionInterfaceContext):
+        (WebKit::WebPlaybackSessionInterfaceContext::~WebPlaybackSessionInterfaceContext):
+        (WebKit::WebPlaybackSessionInterfaceContext::resetMediaState):
+        (WebKit::WebPlaybackSessionInterfaceContext::setDuration):
+        (WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime):
+        (WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime):
+        (WebKit::WebPlaybackSessionInterfaceContext::setRate):
+        (WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges):
+        (WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse):
+        (WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions):
+        (WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions):
+        (WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback):
+        (WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled):
+        (WebKit::WebPlaybackSessionManager::create):
+        (WebKit::WebPlaybackSessionManager::WebPlaybackSessionManager):
+        (WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager):
+        (WebKit::WebPlaybackSessionManager::createModelAndInterface):
+        (WebKit::WebPlaybackSessionManager::ensureModelAndInterface):
+        (WebKit::WebPlaybackSessionManager::ensureModel):
+        (WebKit::WebPlaybackSessionManager::ensureInterface):
+        (WebKit::WebPlaybackSessionManager::removeContext):
+        (WebKit::WebPlaybackSessionManager::addClientForContext):
+        (WebKit::WebPlaybackSessionManager::removeClientForContext):
+        (WebKit::WebPlaybackSessionManager::setUpPlaybackControlsManager):
+        (WebKit::WebPlaybackSessionManager::clearPlaybackControlsManager):
+        (WebKit::WebPlaybackSessionManager::contextIdForMediaElement):
+        (WebKit::WebPlaybackSessionManager::resetMediaState):
+        (WebKit::WebPlaybackSessionManager::setDuration):
+        (WebKit::WebPlaybackSessionManager::setCurrentTime):
+        (WebKit::WebPlaybackSessionManager::setBufferedTime):
+        (WebKit::WebPlaybackSessionManager::setRate):
+        (WebKit::WebPlaybackSessionManager::setSeekableRanges):
+        (WebKit::WebPlaybackSessionManager::setCanPlayFastReverse):
+        (WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions):
+        (WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions):
+        (WebKit::WebPlaybackSessionManager::setExternalPlayback):
+        (WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled):
+        (WebKit::WebPlaybackSessionManager::play):
+        (WebKit::WebPlaybackSessionManager::pause):
+        (WebKit::WebPlaybackSessionManager::togglePlayState):
+        (WebKit::WebPlaybackSessionManager::beginScrubbing):
+        (WebKit::WebPlaybackSessionManager::endScrubbing):
+        (WebKit::WebPlaybackSessionManager::seekToTime):
+        (WebKit::WebPlaybackSessionManager::fastSeek):
+        (WebKit::WebPlaybackSessionManager::beginScanningForward):
+        (WebKit::WebPlaybackSessionManager::beginScanningBackward):
+        (WebKit::WebPlaybackSessionManager::endScanning):
+        (WebKit::WebPlaybackSessionManager::selectAudioMediaOption):
+        (WebKit::WebPlaybackSessionManager::selectLegibleMediaOption):
+        * WebProcess/cocoa/WebVideoFullscreenManager.h:
+        (WebKit::WebVideoFullscreenInterfaceContext::create):
+        * WebProcess/cocoa/WebVideoFullscreenManager.messages.in:
+        * WebProcess/cocoa/WebVideoFullscreenManager.mm:
+        (WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext):
+        (WebKit::WebVideoFullscreenInterfaceContext::resetMediaState):
+        (WebKit::WebVideoFullscreenInterfaceContext::setDuration):
+        (WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime):
+        (WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime):
+        (WebKit::WebVideoFullscreenInterfaceContext::setRate):
+        (WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges):
+        (WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse):
+        (WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions):
+        (WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions):
+        (WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback):
+        (WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled):
+        (WebKit::WebVideoFullscreenManager::create):
+        (WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
+        (WebKit::WebVideoFullscreenManager::createModelAndInterface):
+        (WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement):
+        (WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): Deleted.
+        (WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager): Deleted.
+        (WebKit::WebVideoFullscreenManager::ensureModelAndInterface): Deleted.
+        (WebKit::WebVideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation): Deleted.
+        (WebKit::WebVideoFullscreenManager::setVideoDimensions): Deleted.
+        (WebKit::WebVideoFullscreenManager::requestFullscreenMode): Deleted.
+        (WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Deleted.
+        (WebKit::WebVideoFullscreenManager::didSetupFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManager::didEnterFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManager::didExitFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Deleted.
+        (WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum): Deleted.
+        (WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline): Deleted.
+        (WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): Deleted.
+
+2016-04-15  John Wilander  <wilander@apple.com>
+
+        Refactor WebSockets handshake to use StringView instead of String for header validation.
+        https://bugs.webkit.org/show_bug.cgi?id=155602
+
+        Reviewed by Darin Adler.
+
+        * UIProcess/InspectorServer/HTTPRequest.cpp:
+        (WebKit::HTTPRequest::parseHeaders):
+            Now declares the HTTP header name as a StringView to match the change in WebCore::parseHTTPHeader.
+
+2016-04-15  Alex Christensen  <achristensen@webkit.org>
+
+        Don't copy entire NSURLSessionConfiguration just to test for credentials
+        https://bugs.webkit.org/show_bug.cgi?id=156598
+
+        Reviewed by Brady Eidson.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate initWithNetworkSession:withCredentials:]):
+        (-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
+        (-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
+        (-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
+        (-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
+        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
+        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
+        (-[WKNetworkSessionDelegate URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
+        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
+        (WebKit::NetworkSession::NetworkSession):
+        (-[WKNetworkSessionDelegate initWithNetworkSession:]): Deleted.
+
+2016-04-14  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix GTK+ build after r199558.
+
+        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
+        (webkitFileChooserRequestCreate):
+        (webkit_file_chooser_request_select_files):
+        * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h:
+        * UIProcess/API/gtk/WebKitUIClient.cpp:
+
+2016-04-14  Brent Fulgham  <bfulgham@apple.com>
+
+        Make <a download> a runtime enabled option
+        https://bugs.webkit.org/show_bug.cgi?id=156583
+        <rdar://problem/25733449>
+
+        Reviewed by Alex Christensen.
+
+        Add a download attribute runtime flag based on preferences.
+        Disable the download attribute by default.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesGetFetchAPIEnabled):
+        (WKPreferencesSetDownloadAttributeEnabled):
+        (WKPreferencesGetDownloadAttributeEnabled):
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2016-04-14  Alex Christensen  <achristensen@webkit.org>
+
+        Build fix after r199554.
+
+        * CMakeLists.txt:
+        * PlatformMac.cmake:
+
+2016-04-14  Brian Burg  <bburg@apple.com>
+
+        Web Automation: suppress automatic text correction in pages controlled by automation
+        https://bugs.webkit.org/show_bug.cgi?id=156599
+        <rdar://problem/25712646>
+
+        Reviewed by Timothy Hatcher.
+
+        If the page is controlled by automation, then automatic text corrections will
+        cause unexpected behaviors by nondeterministically modifying text inserted by
+        a test. Just pretend these behaviors are disabled if controlled by automation.
+
+        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+        (WebKit::WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
+        (WebKit::WebEditorClient::isAutomaticDashSubstitutionEnabled):
+        (WebKit::WebEditorClient::isAutomaticTextReplacementEnabled):
+        (WebKit::WebEditorClient::isAutomaticSpellingCorrectionEnabled):
+
+2016-04-14  Anders Carlsson  <andersca@apple.com>
+
+        Try to fix the Yosemite build.
+
+        * UIProcess/Cocoa/UIDelegate.mm:
+        (WebKit::UIDelegate::UIClient::runOpenPanel):
+
+2016-04-14  Anders Carlsson  <andersca@apple.com>
+
+        [Mac] Add API for open panel handling to WKWebView
+        https://bugs.webkit.org/show_bug.cgi?id=137759
+        rdar://problem/23278623
+
+        Reviewed by Tim Horton.
+
+        Based on a patch by Brian Michel.
+
+        * Shared/API/Cocoa/WebKit.h:
+        Import WKOpenPanelParameters.h.
+
+        * Shared/Cocoa/APIObject.mm:
+        (API::Object::newObject):
+        Create a WKOpenPanelParameters for Type::OpenPanelParameters.
+
+        * UIProcess/API/APIOpenPanelParameters.cpp: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.cpp.
+        * UIProcess/API/APIOpenPanelParameters.h: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.h.
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/API/APIUIClient.h:
+        (API::UIClient::runOpenPanel):
+        Change this to take a SecurityOriginData.
+
+        * UIProcess/API/C/WKAPICast.h:
+        * UIProcess/API/C/WKOpenPanelParametersRef.cpp:
+        (WKOpenPanelParametersGetTypeID):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/API/C/WKOpenPanelResultListener.cpp:
+        (filePathsFromFileURLs):
+        (WKOpenPanelResultListenerChooseFiles):
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetPageUIClient):
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        * UIProcess/API/Cocoa/WKOpenPanelParameters.h: Added.
+        * UIProcess/API/Cocoa/WKOpenPanelParameters.mm: Added.
+        (-[WKOpenPanelParameters allowsMultipleSelection]):
+        (-[WKOpenPanelParameters _apiObject]):
+        * UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h:
+        Add a WKOpenPanelParameters class which contains information about a file upload control.
+
+        * UIProcess/API/Cocoa/WKUIDelegate.h:
+        Add new delegate method.
+
+        * UIProcess/Cocoa/UIDelegate.h:
+        * UIProcess/Cocoa/UIDelegate.mm:
+        (WebKit::UIDelegate::setDelegate):
+        Record whether the UI delegate implements the new delegate method.
+
+        (WebKit::UIDelegate::UIClient::runOpenPanel):
+        Invoke the new delegate method.
+
+        * UIProcess/PageClient.h:
+        (WebKit::PageClient::handleRunOpenPanel):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/WebOpenPanelResultListenerProxy.cpp:
+        (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
+        * UIProcess/WebOpenPanelResultListenerProxy.h:
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::runOpenPanel):
+        * UIProcess/WebPageProxy.h:
+        Change this to take a SecurityOriginData.
+
+        * UIProcess/WebPageProxy.messages.in:
+        Change RunOpenPanel to take a SecurityOriginData.
+
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::handleRunOpenPanel):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _showRunOpenPanel:resultListener:]):
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        * UIProcess/ios/forms/WKFileUploadPanel.h:
+        * UIProcess/ios/forms/WKFileUploadPanel.mm:
+        (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        (-[WKFileUploadPanel presentWithParameters:resultListener:]):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        Add new file.
+
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::runOpenPanel):
+        Pass the security origin of the frame along.
+
+2016-04-14  Jiewen Tan  <jiewen_tan@apple.com>
+
+        Unreviewed, rolling out r199554.
+
+        The change breaks Yosemite Release/Debug build
+
+        Reverted changeset:
+
+        "[Mac] Add API for open panel handling to WKWebView"
+        https://bugs.webkit.org/show_bug.cgi?id=137759
+        http://trac.webkit.org/changeset/199554
+
+2016-04-14  Anders Carlsson  <andersca@apple.com>
+
+        [Mac] Add API for open panel handling to WKWebView
+        https://bugs.webkit.org/show_bug.cgi?id=137759
+        rdar://problem/23278623
+
+        Reviewed by Tim Horton.
+
+        Based on a patch by Brian Michel.
+
+        * Shared/API/Cocoa/WebKit.h:
+        Import WKOpenPanelParameters.h.
+
+        * Shared/Cocoa/APIObject.mm:
+        (API::Object::newObject):
+        Create a WKOpenPanelParameters for Type::OpenPanelParameters.
+
+        * UIProcess/API/APIOpenPanelParameters.cpp: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.cpp.
+        * UIProcess/API/APIOpenPanelParameters.h: Renamed from Source/WebKit2/Shared/WebOpenPanelParameters.h.
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/API/APIUIClient.h:
+        (API::UIClient::runOpenPanel):
+        Change this to take a SecurityOriginData.
+
+        * UIProcess/API/C/WKAPICast.h:
+        * UIProcess/API/C/WKOpenPanelParametersRef.cpp:
+        (WKOpenPanelParametersGetTypeID):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/API/C/WKOpenPanelResultListener.cpp:
+        (filePathsFromFileURLs):
+        (WKOpenPanelResultListenerChooseFiles):
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetPageUIClient):
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        * UIProcess/API/Cocoa/WKOpenPanelParameters.h: Added.
+        * UIProcess/API/Cocoa/WKOpenPanelParameters.mm: Added.
+        (-[WKOpenPanelParameters allowsMultipleSelection]):
+        (-[WKOpenPanelParameters _apiObject]):
+        * UIProcess/API/Cocoa/WKOpenPanelParametersInternal.h:
+        Add a WKOpenPanelParameters class which contains information about a file upload control.
+
+        * UIProcess/API/Cocoa/WKUIDelegate.h:
+        Add new delegate method.
+
+        * UIProcess/Cocoa/UIDelegate.h:
+        * UIProcess/Cocoa/UIDelegate.mm:
+        (WebKit::UIDelegate::setDelegate):
+        Record whether the UI delegate implements the new delegate method.
+
+        (WebKit::UIDelegate::UIClient::runOpenPanel):
+        Invoke the new delegate method.
+
+        * UIProcess/PageClient.h:
+        (WebKit::PageClient::handleRunOpenPanel):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/WebOpenPanelResultListenerProxy.cpp:
+        (WebKit::WebOpenPanelResultListenerProxy::chooseFiles):
+        * UIProcess/WebOpenPanelResultListenerProxy.h:
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::runOpenPanel):
+        * UIProcess/WebPageProxy.h:
+        Change this to take a SecurityOriginData.
+
+        * UIProcess/WebPageProxy.messages.in:
+        Change RunOpenPanel to take a SecurityOriginData.
+
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::handleRunOpenPanel):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _showRunOpenPanel:resultListener:]):
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        * UIProcess/ios/forms/WKFileUploadPanel.h:
+        * UIProcess/ios/forms/WKFileUploadPanel.mm:
+        (-[WKFileUploadPanel _chooseFiles:displayString:iconImage:]):
+        Change chooseFiles to take a Vector<String> instead of an API::Array of URLs.
+
+        (-[WKFileUploadPanel presentWithParameters:resultListener:]):
+        Rename WebKit::WebOpenPanelParameters to API::OpenPanelParameters.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        Add new file.
+
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::runOpenPanel):
+        Pass the security origin of the frame along.
+
+2016-04-14  Alex Christensen  <achristensen@webkit.org>
+
+        Fix build without IndexedDB.
+
+        * DatabaseProcess/DatabaseProcess.cpp:
+        (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
+        (WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs):
+        (WebKit::DatabaseProcess::prepareForAccessToTemporaryFile):
+        * DatabaseProcess/DatabaseProcess.h:
+        * DatabaseProcess/DatabaseProcess.messages.in:
+
+2016-04-13  Daniel Bates  <dabates@apple.com>
+
+        REGRESSION (r199401): Internal builds of Safari hang on launch
+        https://bugs.webkit.org/show_bug.cgi?id=156545
+        <rdar://problem/25697779>
+
+        As pointed out by Darin Adler, remove RELEASE_ASSERT() that I inadvertently left in
+        WebCore::secCodeForProcess() as part of r199504. For now, we handle
+        SecCodeCopyGuestWithAttributes() returning an error. In a subsequent commit we will
+        look to re-introduce the use of a RELEASE_ASSERT() to enforce the invariant that
+        SecCodeCopyGuestWithAttributes() returns a success status.
+
+        * Shared/mac/CodeSigning.mm:
+        (WebKit::secCodeForProcess):
+
+2016-04-13  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Blob support): Support retrieving Blobs from IDB.
+        https://bugs.webkit.org/show_bug.cgi?id=156367
+
+        Reviewed by Alex Christensen.
+
+        * NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:
+        (WebKit::NetworkBlobRegistry::registerBlobURLOptionallyFileBacked):
+        * NetworkProcess/FileAPI/NetworkBlobRegistry.h:
+        
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::registerBlobURLOptionallyFileBacked):
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        
+        * WebProcess/FileAPI/BlobRegistryProxy.cpp:
+        (WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked):
+        * WebProcess/FileAPI/BlobRegistryProxy.h:
+
+2016-04-13  Chris Dumez  <cdumez@apple.com>
+
+        We should not speculatively revalidate cached redirects
+        https://bugs.webkit.org/show_bug.cgi?id=156548
+        <rdar://problem/25583886>
+
+        Reviewed by Darin Adler.
+
+        Stop speculatively revalidating cached redirects. This matches matches
+        the behavior in NetworkCache's makeUseDecision() which reuses cached
+        redirects only if they do not need revalidation.
+
+        This was breaking fonts.css loading on stripe.com because the
+        SpeculativeLoadManager would wrongly speculatively revalidate the
+        redirect and then serve a 302 response the NetworkResourceLoader
+        when the actual request came in. This would cause us to not follow
+        the redirect.
+
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
+        (WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
+        Abort the speculative load if it hits a redirect. This is the safe thing
+        to do in this case, as we are supposed to do a hand-shake with WebCore
+        in such case.
+
+        (WebKit::NetworkCache::SpeculativeLoad::didReceiveResponse):
+        Let successful validations fall through instead of calling didComplete()
+        early. This matches what is not in NetworkResourceLoader. This way,
+        didFinishLoading() ends up getting called for both successful and
+        unsuccessful (i.e. did not return a 302 status code) network validation.
+
+        (WebKit::NetworkCache::SpeculativeLoad::didFinishLoading):
+        - Stop dealing with redirects as we abort the load as soon as we hit a
+          redirect now.
+        - Stop asserting that m_cacheEntryForValidation is null now that this
+          is called for successful validations as well.
+
+        (WebKit::NetworkCache::SpeculativeLoad::abort):
+        New method that aborts the network loads, calls the completion handler
+        and clean up. It is called in the case we hit a redirect while
+        revalidating.
+
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
+        Drop m_redirectChainCacheStatus member as we no longer deal with
+        redirects.
+
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
+        (WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
+        If the resource needs revalidation AND is a cached redirect, then do not
+        use it. This matches what is done in NetworkCache's makeUseDecision().
+
+2016-04-13  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB: NetworkProcessConnection::didClose needs to have a self ref.
+        <rdar://problem/25700864> and https://bugs.webkit.org/show_bug.cgi?id=156559
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/Network/NetworkProcessConnection.cpp:
+        (WebKit::NetworkProcessConnection::didClose): Self ref to protect this.
+
+2016-04-13  Daniel Bates  <dabates@apple.com>
+
+        REGRESSION (r199401): Internal builds of Safari hang on launch
+        https://bugs.webkit.org/show_bug.cgi?id=156545
+        <rdar://problem/25697779>
+
+        Reviewed by Anders Carlsson.
+
+        For some reason SecCodeCopyGuestWithAttributes() is failing with an error in Apple Internal
+        Safari builds. For now, temporarily allow the failure while I investigate the cause in
+        <rdar://problem/25706517>.
+
+        * Shared/mac/CodeSigning.mm:
+        (WebKit::secCodeForProcess): Log the failure with OSStatus code and return nullptr;
+        (WebKit::codeSigningIdentifierForProcess): Return a null string if secCodeForProcess() returns a nullptr.
+        This will cause us to treat affected Apple Internal Safari builds the same as we would treat
+        an unsigned or third-party signed app.
+
+2016-04-13  Alex Christensen  <achristensen@webkit.org>
+
+        Fix client certificate authentication with NetworkSession
+        https://bugs.webkit.org/show_bug.cgi?id=156527
+        <rdar://problem/25489156>
+
+        Reviewed by Darin Adler.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
+        We only want to use serverTrustCredential for ServerTrustEvaluation authentication challenges, not 
+        * Shared/Authentication/AuthenticationManager.cpp:
+        (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
+        (WebKit::AuthenticationManager::useCredentialForSingleChallenge):
+        * Shared/Authentication/AuthenticationManager.h:
+        * Shared/Authentication/mac/AuthenticationManager.mac.mm:
+        (WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge):
+        Don't use challenge.sender with NSURLSession, which requires callbacks instead.
+
+2016-04-12  Daniel Bates  <dabates@apple.com>
+
+        REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane
+        https://bugs.webkit.org/show_bug.cgi?id=156447
+        <rdar://problem/25628133>
+
+        Reviewed by Darin Adler.
+
+        Reverts the workaround landed in r199301 and teaches ProcessLauncherMac to use the code
+        signing identifier of the UI process as the client-identifier if it is signed. Otherwise,
+        we fall back to using the main bundle identifier or _NSGetProgname() depending on whether
+        the UI process has an associated app bundle.
+
+        * PlatformMac.cmake: Add file Shared/mac/CodeSigning.mm.
+        * Shared/mac/ChildProcessMac.mm:
+        (WebKit::ChildProcess::initializeSandbox):
+        (WebKit::codeSigningIdentifierForProcess): Deleted; moved from here to file Shared/mac/CodeSigning.mm.
+        * Shared/mac/CodeSigning.h: Added.
+        * Shared/mac/CodeSigning.mm: Added.
+        (WebKit::secCodeForCurrentProcess): Added.
+        (WebKit::secCodeForProcess): Added.
+        (WebKit::secCodeSigningInformation): Added.
+        (WebKit::appleSignedOrMacAppStoreSignedOrAppleDeveloperSignedRequirement): Added.
+        (WebKit::secCodeSigningIdentifier): Added.
+        (WebKit::codeSigningIdentifier): Returns the code signing identifier for the current process.
+        (WebKit::codeSigningIdentifierForProcess): Moved from file Shared/mac/ChildProcessMac.mm. Extracted logic
+        into various helper functions (above) so that it can be shared with WebKit::codeSigningIdentifier() as
+        well as to improve the readability of the code. Removed the OSStatus out argument that was used by callers
+        for logging purposes and moved such logging responsibility into WebKit::secCodeSigningIdentifier() as
+        a release assertion message since we always want to log this error when code signing validation fails. We
+        use a release assertion to cause a noticeable crash because we such failures should not occur and if they
+        do then we want to see crash reports so that we can handle such failures. Using a release assertion for
+        validation failures also simplifies the possible return values of this function as such failures represented
+        the only case where this function would return an empty string. We now return either a null string or a non-
+        empty string. We return a null string when the specified process is either unsigned or signed by a third-party;
+        otherwise, we return a non-empty string that represents the code signing identifier.
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+        (WebKit::connectToService): Use the code signing identifier for the client-identifier if we have one (e.g.
+        we are signed app). If we do not have a code signing identifier then take client-identifier to be the
+        bundle identifier of our main bundle. Failing that we take client-identifier to be _NSGetProgname().
+        * WebKit2.xcodeproj/project.pbxproj: Add files Shared/mac/CodeSigning.{h, mm}.
+
+2016-04-12  Enrica Casucci  <enrica@apple.com>
+
+        Should retrieve text surrounding the selection when performing lookup.
+        https://bugs.webkit.org/show_bug.cgi?id=156525
+        rdar://problem/25043678
+
+        Reviewed by Tim Horton.
+
+        The lookup functionality requires the surrounding text to improve
+        the quality of the results. This patch changes the implementation of
+        _lookup to retrieve the text before and the text after the selection.
+        It also renames DictationContextCallback to SelectionContextCallback so
+        that it can be used for both dictation and lookup, since they both need
+        the surrounding text.
+
+        * UIProcess/AutoCorrectionCallback.h:
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _lookup:]):
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        (WebKit::WebPageProxy::autocorrectionDataCallback):
+        (WebKit::WebPageProxy::selectionContextCallback):
+        (WebKit::WebPageProxy::getAutocorrectionContext):
+        (WebKit::WebPageProxy::getSelectionContext):
+        (WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
+        (WebKit::WebPageProxy::dictationContextCallback): Deleted.
+        (WebKit::WebPageProxy::getLookupContextAtPoint): Deleted.
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+        (WebKit::WebPage::getSelectionContext):
+        (WebKit::WebPage::accessibilityObjectForMainFramePlugin):
+        (WebKit::WebPage::requestDictationContext):
+        (WebKit::WebPage::replaceSelectedText):
+        (WebKit::WebPage::getLookupContextAtPoint): Deleted.
+
+2016-04-12  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Dock controls are not available in toolbar if Web Inspector window leaves fullscreen
+        https://bugs.webkit.org/show_bug.cgi?id=156520
+        <rdar://problem/22101106>
+
+        Reviewed by Timothy Hatcher.
+
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (WebKit::WebInspectorProxy::platformCanAttach):
+        Be more explicit about the attachment view check. Its intent
+        was to prevent allowing a 2nd level inspector from attaching
+        to a 1st level inspector. We can use a stronger check. Also,
+        remove deprecated pragmas by switching to new value.
+
+2016-04-12  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Keyboard shortcut for "Inspect Element" only works when Web Inspector is open.
+        https://bugs.webkit.org/show_bug.cgi?id=111193
+        <rdar://problem/13325889>
+
+        Reviewed by Timothy Hatcher.
+
+        * UIProcess/API/C/WKInspector.cpp:
+        (WKInspectorIsElementSelectionActive):
+        (WKInspectorToggleElementSelection):
+        * UIProcess/API/C/WKInspector.h:
+        API for WebKit clients to toggle element selection.
+
+        * UIProcess/WebInspectorProxy.cpp:
+        (WebKit::WebInspectorProxy::toggleElementSelection):
+        (WebKit::WebInspectorProxy::elementSelectionChanged):
+        * UIProcess/WebInspectorProxy.h:
+        (WebKit::WebInspectorProxy::isElementSelectionActive):
+        * UIProcess/WebInspectorProxy.messages.in:
+        UIProcess update according to the state of the page
+        and action to tell the page to toggle.
+        When starting, pre-connect the inspector. When the
+        state changes, if we were stopping and nothing was
+        selected, then disconnect. Otherwise, we will bring
+        the inspector to the front.
+
+        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
+        (WebKit::WebInspectorClient::elementSelectionChanged):
+        * WebProcess/WebCoreSupport/WebInspectorClient.h:
+        Let the UIProcess update its cached state of whether or
+        not element selection is enabled or disabled.
+
+        * WebProcess/WebPage/WebInspector.cpp:
+        (WebKit::WebInspector::startElementSelection):
+        (WebKit::WebInspector::stopElementSelection):
+        (WebKit::WebInspector::elementSelectionChanged):
+        * WebProcess/WebPage/WebInspector.h:
+        * WebProcess/WebPage/WebInspector.messages.in:
+        Messages in both directions.
+        UIProcess -> InspectorProcess enable/disable.
+        WebProcess -> UIProcess updated element selection state.
+
+        * WebProcess/WebPage/WebInspectorUI.cpp:
+        (WebKit::WebInspectorUI::startElementSelection):
+        (WebKit::WebInspectorUI::stopElementSelection):
+        * WebProcess/WebPage/WebInspectorUI.h:
+        * WebProcess/WebPage/WebInspectorUI.messages.in:
+        Open the inspector and enable element selection.
+
+2016-04-11  Alex Christensen  <achristensen@webkit.org>
+
+        Build MiniBrowser with CMake on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=156471
+
+        Reviewed by Daniel Bates.
+
+        * DatabaseProcess/DatabaseProcess.messages.in:
+
+2016-04-11  Ryuan Choi  <ryuan.choi@navercorp.com>
+
+        [EFL] Do not pass context to EwkViewCreate
+        https://bugs.webkit.org/show_bug.cgi?id=156461
+
+        Reviewed by Darin Adler.
+
+        EWKViewCreate already has pageConfiguration which contains context.
+        So, this patch removes context argument from EWKViewCreate.
+
+        * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
+        (WKViewCreate):
+        * UIProcess/API/C/CoordinatedGraphics/WKView.h:
+        * UIProcess/API/efl/ewk_view.cpp:
+        (EWKViewCreate): Call WebView::Create instead of WKViewCreate not to use WK API.
+        (ewk_view_smart_add):
+        (ewk_view_add_with_configuration):
+        (ewk_view_add_with_context):
+        * UIProcess/API/efl/ewk_view_private.h:
+        * UIProcess/efl/WebInspectorProxyEfl.cpp:
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        * UIProcess/efl/WebView.cpp:
+        (WebKit::WebView::create):
+        (WebKit::WebView::WebView):
+        * UIProcess/efl/WebView.h:
+
+2016-04-11  Darin Adler  <darin@apple.com>
+
+        Remove UsePointersEvenForNonNullableObjectArguments from HTMLSelectElement
+        https://bugs.webkit.org/show_bug.cgi?id=156458
+
+        Reviewed by Chris Dumez.
+
+        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Updated includes.
+
+2016-04-11  Jeremy Jones  <jeremyj@apple.com>
+
+        When clearing cache, also clear AVFoundation cache.
+        https://bugs.webkit.org/show_bug.cgi?id=155783
+        rdar://problem/25252541
+
+        Reviewed by Darin Adler.
+
+        Include the HTMLMediaElement media cache when doing disk cache operations.
+        Add a sandbox extension for media cache directory. This allows the UI process and the web process
+        to access the same cache.
+
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode): Add media cache directory.
+        (WebKit::WebProcessCreationParameters::decode): Add media cache directory.
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::createWithLegacyOptions):
+        (API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add media cache directory.
+        (API::ProcessPoolConfiguration::copy): Add media cache directory.
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/APIWebsiteDataStore.cpp:
+        (API::WebsiteDataStore::defaultMediaCacheDirectory): Default implementation.
+        * UIProcess/API/APIWebsiteDataStore.h:
+        * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
+        (API::WebsiteDataStore::defaultMediaCacheDirectory): Media cache is in temporary directory.
+        (API::WebsiteDataStore::tempDirectoryFileSystemRepresentation): For resources in temporary directory.
+        (API::WebsiteDataStore::defaultDataStoreConfiguration): Init media cache directory.
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::legacyWebsiteDataStoreConfiguration): Add mediaCacheDirectory.
+        (WebKit::WebProcessPool::createNewWebProcess): Add mediaCacheDirectory.
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::WebsiteDataStore):
+        (WebKit::WebsiteDataStore::fetchData): Implement for mediaCacheDirectory.
+        (WebKit::WebsiteDataStore::removeData): Implement for mediaCacheDirectory.
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+        * UIProcess/efl/WebProcessPoolEfl.cpp:
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
+        * UIProcess/gtk/WebProcessPoolGtk.cpp:
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess): Initialize media cache directory.
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess): Consume sandbox extension.
+
+2016-04-11  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r199315.
+        https://bugs.webkit.org/show_bug.cgi?id=156482
+
+        This change broke the OS X Yosemite build. (Requested by jwtan
+        on #webkit).
+
+        Reverted changeset:
+
+        "When clearing cache, also clear AVFoundation cache."
+        https://bugs.webkit.org/show_bug.cgi?id=155783
+        http://trac.webkit.org/changeset/199315
+
+2016-04-11  Jeremy Jones  <jeremyj@apple.com>
+
+        When clearing cache, also clear AVFoundation cache.
+        https://bugs.webkit.org/show_bug.cgi?id=155783
+        rdar://problem/25252541
+
+        Reviewed by Darin Adler.
+
+        Include the HTMLMediaElement media cache when doing disk cache operations.
+        Add a sandbox extension for media cache directory. This allows the UI process and the web process
+        to access the same cache.
+
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode): Add media cache directory.
+        (WebKit::WebProcessCreationParameters::decode): Add media cache directory.
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::createWithLegacyOptions):
+        (API::ProcessPoolConfiguration::ProcessPoolConfiguration): Add media cache directory.
+        (API::ProcessPoolConfiguration::copy): Add media cache directory.
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/APIWebsiteDataStore.cpp:
+        (API::WebsiteDataStore::defaultMediaCacheDirectory): Default implementation.
+        * UIProcess/API/APIWebsiteDataStore.h:
+        * UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:
+        (API::WebsiteDataStore::defaultMediaCacheDirectory): Media cache is in temporary directory.
+        (API::WebsiteDataStore::tempDirectoryFileSystemRepresentation): For resources in temporary directory.
+        (API::WebsiteDataStore::defaultDataStoreConfiguration): Init media cache directory.
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::legacyWebsiteDataStoreConfiguration): Add mediaCacheDirectory.
+        (WebKit::WebProcessPool::createNewWebProcess): Add mediaCacheDirectory.
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::WebsiteDataStore):
+        (WebKit::WebsiteDataStore::fetchData): Implement for mediaCacheDirectory.
+        (WebKit::WebsiteDataStore::removeData): Implement for mediaCacheDirectory.
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+        * UIProcess/efl/WebProcessPoolEfl.cpp:
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
+        * UIProcess/gtk/WebProcessPoolGtk.cpp:
+        (WebKit::WebProcessPool::legacyPlatformDefaultMediaCacheDirectory): Added.
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess): Initialize media cache directory.
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess): Consume sandbox extension.
+
+2016-04-11  Said Abou-Hallawa  <sabouhallawa@apple,com>
+
+        Merge CG ImageSource and non CG ImageSource implementation in one file
+        https://bugs.webkit.org/show_bug.cgi?id=155456
+
+        Reviewed by Darin Adler.
+
+        * UIProcess/API/efl/EwkView.cpp:
+        (EwkView::setCursor):
+        Replace the call to Image::getHotSpot() by Image::hotSpot().
+
+2016-04-11  Anders Carlsson  <andersca@apple.com>
+
+        Rename WKOpenPanelParameters files to WKOpenPanelParametersRef
+        https://bugs.webkit.org/show_bug.cgi?id=156473
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/API/C/WKOpenPanelParameters.cpp:
+        (WKOpenPanelParametersGetTypeID): Deleted.
+        (WKOpenPanelParametersGetAllowsMultipleFiles): Deleted.
+        (WKOpenPanelParametersCopyAcceptedMIMETypes): Deleted.
+        (WKOpenPanelParametersCopyCapture): Deleted.
+        (WKOpenPanelParametersGetCaptureEnabled): Deleted.
+        (WKOpenPanelParametersCopySelectedFileNames): Deleted.
+        * UIProcess/API/C/WKOpenPanelParametersRef.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.cpp.
+        (WKOpenPanelParametersGetTypeID):
+        (WKOpenPanelParametersGetAllowsMultipleFiles):
+        (WKOpenPanelParametersCopyAcceptedMIMETypes):
+        (WKOpenPanelParametersCopyCapture):
+        (WKOpenPanelParametersGetCaptureEnabled):
+        (WKOpenPanelParametersCopySelectedFileNames):
+        * UIProcess/API/C/WKOpenPanelParametersRef.h: Renamed from Source/WebKit2/UIProcess/API/C/WKOpenPanelParameters.h.
+        * UIProcess/API/C/WebKit2_C.h:
+        * UIProcess/API/efl/ewk_file_chooser_request.cpp:
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2016-04-09  Gavin Barraclough  <barraclough@apple.com>
+
+        WebKit should adopt journal_mode=wal for all SQLite databases.
+        https://bugs.webkit.org/show_bug.cgi?id=133496
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+        (WKBundleClearAllDatabases):
+            - renamed deleteAllDatabases -> deleteAllDatabasesImmediately.
+
+2016-04-11  Daniel Bates  <dabates@apple.com>
+
+        REGRESSION (r198933): Unable to login to Google account from Internet Accounts preference pane
+        https://bugs.webkit.org/show_bug.cgi?id=156447
+        <rdar://problem/25628133>
+
+        Reviewed by Anders Carlsson.
+
+        Temporarily perform code signing verification only for Mac App Store- and Apple Developer- signed apps.
+
+        * Shared/mac/ChildProcessMac.mm:
+        (WebKit::codeSigningIdentifierForProcess):
+
+2016-04-05  Oliver Hunt  <oliver@apple.com>
+
+        Remove compile time define for SEPARATED_HEAP
+        https://bugs.webkit.org/show_bug.cgi?id=155508
+
+        Reviewed by Mark Lam.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2016-04-11  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r199290.
+        https://bugs.webkit.org/show_bug.cgi?id=156465
+
+        broke 300 tests (Requested by mcatanzaro on #webkit).
+
+        Reverted changeset:
+
+        "Merge CG ImageSource and non CG ImageSource implementation in
+        one file"
+        https://bugs.webkit.org/show_bug.cgi?id=155456
+        http://trac.webkit.org/changeset/199290
+
+2016-04-11  Said Abou-Hallawa  <sabouhallawa@apple,com>
+
+        Merge CG ImageSource and non CG ImageSource implementation in one file
+        https://bugs.webkit.org/show_bug.cgi?id=155456
+
+        Reviewed by Darin Adler.
+
+        * UIProcess/API/efl/EwkView.cpp:
+        (EwkView::setCursor):
+        Replace the call to Image::getHotSpot() by Image::hotSpot().
+
+2016-04-11  Fujii Hironori  <Hironori.Fujii@jp.sony.com>
+
+        [CMake] Make FOLDER property INHERITED
+        https://bugs.webkit.org/show_bug.cgi?id=156460
+
+        Reviewed by Brent Fulgham.
+
+        * CMakeLists.txt:
+        Set FOLDER property as a directory property not a target property
+
+2016-04-08  Sam Weinig  <sam@webkit.org>
+
+        Remove support for custom target picker actions
+        <rdar://problem/24987783>
+        https://bugs.webkit.org/show_bug.cgi?id=156434
+
+        Reviewed by Eric Carlson.
+
+        This mostly entailed rolling out r197429 and r197569.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::removePlaybackTargetPickerClient):
+        (WebKit::WebPageProxy::showPlaybackTargetPicker):
+        (WebKit::WebPageProxy::playbackTargetPickerClientStateDidChange):
+        (WebKit::WebPageProxy::setShouldPlayToPlaybackTarget):
+        (WebKit::WebPageProxy::didChangeBackgroundColor):
+        (WebKit::WebPageProxy::customPlaybackActionSelected): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::removePlaybackTargetPickerClient):
+        (WebKit::WebChromeClient::showPlaybackTargetPicker):
+        (WebKit::WebChromeClient::playbackTargetPickerClientStateDidChange):
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::setShouldPlayToPlaybackTarget):
+        (WebKit::WebPage::customPlaybackActionSelected): Deleted.
+
+2016-04-08  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS WK2] WKWebViews should consult ancestor UIScrollViews to determine tiling area
+        https://bugs.webkit.org/show_bug.cgi?id=156429
+        rdar://problem/25455111
+
+        Reviewed by Tim Horton.
+
+        When a WKWebView is expanded to full size, then embedded in UIScrollView, it would
+        create huge tiles that cover the entire view area (since it considered itself non-scrollable).
+
+        Fix to always use 512x512 tiles in this configuration, and to adjust the tile coverage
+        for the area exposed through the enclosing UIScrollView.
+
+        * Shared/VisibleContentRectUpdateInfo.cpp: Add enclosedInScrollView(), which is used to
+        trigger normal-sized tiles.
+        (WebKit::VisibleContentRectUpdateInfo::encode):
+        (WebKit::VisibleContentRectUpdateInfo::decode):
+        * Shared/VisibleContentRectUpdateInfo.h:
+        (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
+        (WebKit::VisibleContentRectUpdateInfo::enclosedInScrollView):
+        (WebKit::operator==):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _didInvokeUIScrollViewDelegateCallback]): Pass our scrollView.
+        (-[WKWebView _didFinishScrolling]):
+        (-[WKWebView scrollViewDidScroll:]):
+        (-[WKWebView scrollViewDidZoom:]):
+        (-[WKWebView scrollViewDidEndZooming:withView:atScale:]):
+        (-[WKWebView _scrollViewDidInterruptDecelerating:]):
+        (-[WKWebView _visibleRectInEnclosingScrollView:]):
+        (-[WKWebView _visibleContentRect]): Compute the exposed part of the content relative
+        to the WKWebView, then intersect with the exposed part via any ancestor UIScrollView.
+        (-[WKWebView _didScroll]): This is called by UIKit when some ancestor UIScrollView scrolls.
+        However, we don't get all the UIScrollView delegate callbacks, so have to use a timer to
+        trigger a call to -_updateVisibleContentRects when we're in a stable state.
+        (-[WKWebView _enclosingScrollerScrollingEnded:]):
+        (-[WKWebView _frameOrBoundsChanged]):
+        (-[WKWebView _updateVisibleContentRects]):
+        (-[WKWebView _updateVisibleContentRectAfterScrollInView:]): Get the stable state from the
+        scroll view that the user is interacting with.
+        (-[WKWebView _updateContentRectsWithState:]):
+        * UIProcess/API/Cocoa/WKWebViewInternal.h:
+        * UIProcess/WebPageProxy.h: Rather than pass a bazillion arguments through updateVisibleContentRects(), just
+        pass the VisibleContentRectUpdateInfo struct.
+        * UIProcess/ios/WKContentView.h:
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:enclosedInScrollView:]):
+        (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted.
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        (WebKit::WebPageProxy::updateVisibleContentRects):
+        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::updateVisibleContentRects):
+
+2016-04-08  Joseph Pecoraro  <pecoraro@apple.com>
+
+        [iOS Simulator] Build failure (property 'contentsFormat' not found on object of type 'LegacyTileLayer *')
+        https://bugs.webkit.org/show_bug.cgi?id=156415
+
+        Reviewed by Simon Fraser.
+
+        * UIProcess/API/Cocoa/_WKElementAction.mm:
+        (-[_WKElementAction runActionWithElementInfo:]):
+        Use WeakObjCPtr instead of __weak to avoid build errors when not under ARC.
+
+2016-04-08  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards running CMake WebKit2 on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=156426
+
+        Reviewed by Tim Horton.
+
+        * CMakeLists.txt:
+        * PlatformMac.cmake:
+        Put the xpc service binaries in the right place.
+
+2016-04-08  Alex Christensen  <achristensen@webkit.org>
+
+        Build fix with IndexedDB disabled but DatabaseProcess enabled after r199230
+        https://bugs.webkit.org/show_bug.cgi?id=156321
+
+        Rubber-stamped by Brady Eidson.
+
+        * DatabaseProcess/DatabaseProcess.cpp:
+        (WebKit::DatabaseProcess::deleteWebsiteDataForOrigins):
+        (WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs):
+        (WebKit::DatabaseProcess::accessToTemporaryFileComplete):
+        (WebKit::DatabaseProcess::indexedDatabaseOrigins):
+        * DatabaseProcess/DatabaseProcess.h:
+        Add some more guards.
+
+2016-04-07  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS WK2] Stop using exposedContentRect for history scroll state restoration
+        https://bugs.webkit.org/show_bug.cgi?id=156392
+
+        Reviewed by Tim Horton.
+
+        A future commit will alter the meaning of exposedContentRect on iOS to take into
+        account clipped out parts of the WKWebView. To achieve this, wean history restoration
+        off of using exposedContentRect for scroll state restoration. It did this to restore
+        the page to the same position relative to the view's top-left (to avoid jiggles caused
+        by changing obscured insets).
+
+        Do this by pushing the left/top obscured insets down with visible content rects updates,
+        storing them on ScrollView, and adding them to HistoryItem. Those insets are then used
+        for scroll state restoration in WKWebView.
+
+        * Shared/VisibleContentRectUpdateInfo.cpp: Add FloatSize for obscuredInset.
+        (WebKit::VisibleContentRectUpdateInfo::encode):
+        (WebKit::VisibleContentRectUpdateInfo::decode):
+        * Shared/VisibleContentRectUpdateInfo.h:
+        (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
+        (WebKit::VisibleContentRectUpdateInfo::obscuredInset):
+        (WebKit::operator==):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _processDidExit]): Rename _needsToRestoreExposedRect to _needsToRestoreScrollPosition
+        (-[WKWebView _didCommitLayerTree:]): Restore the scroll position using the scaled scrollOffset minus
+        the old obscuredInset.
+        (-[WKWebView _layerTreeCommitComplete]):
+        (-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]):
+        (-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
+        (-[WKWebView _scrollToContentScrollPosition:scrollOrigin:]):
+        (-[WKWebView _updateVisibleContentRects]):
+        (-[WKWebView _restorePageStateToExposedRect:scrollOrigin:scale:]): Deleted.
+        * 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::restorePageState):
+        * UIProcess/ios/WKContentView.h:
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:obscuredInset:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
+        Make the VisibleContentRectUpdateInfo here and pass it down.
+        (-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]): Deleted.
+        * UIProcess/ios/WebPageProxyIOS.mm:
+        (WebKit::WebPageProxy::updateVisibleContentRects):
+        (WebKit::WebPageProxy::restorePageState):
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::restorePageState):
+        (WebKit::WebPage::updateVisibleContentRects): setObscuredInset() moved from FrameView to Page.
+        Also call setEnclosedInScrollView() on Page.
+
+2016-04-08  Brady Eidson  <beidson@apple.com>
+
+        Modern IDB (Blob support): Write blobs to temporary files and move them to the correct location when storing them.
+        https://bugs.webkit.org/show_bug.cgi?id=156321
+
+        Reviewed by Alex Christensen, Andy Estes, and Darin Adler.
+
+        The NetworkProcess writes a blob to a temporary file, then tells the UIProcess to grant the DatabaseProcess
+        a Sandbox Extension to that path.
+        
+        It then tells the WebProcess the paths for the temporary files, which then tells the DatabaseProcess to store
+        the contents of those files as blob references in the database.
+        
+        Since the UIProcess had already granted it a Sandbox Extension, it is able to do so.
+
+        * DatabaseProcess/DatabaseProcess.cpp:
+        (WebKit::DatabaseProcess::idbServer):
+        (WebKit::DatabaseProcess::grantSandboxExtensionsForBlobs):
+        (WebKit::DatabaseProcess::prepareForAccessToTemporaryFile):
+        (WebKit::DatabaseProcess::accessToTemporaryFileComplete):
+        * DatabaseProcess/DatabaseProcess.h:
+        * DatabaseProcess/DatabaseProcess.messages.in:
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::grantSandboxExtensionsToDatabaseProcessForBlobs):
+        (WebKit::NetworkProcess::didGrantSandboxExtensionsToDatabaseProcessForBlobs):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::grantSandboxExtensionsToDatabaseProcessForBlobs):
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/Network/NetworkProcessProxy.messages.in:
+
+2016-04-07  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Remove ENABLE(ENABLE_ES6_CLASS_SYNTAX) guards
+        https://bugs.webkit.org/show_bug.cgi?id=156384
+
+        Reviewed by Ryosuke Niwa.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2016-04-07  Dean Jackson  <dino@apple.com>
+
+        [iOS] Play button on video is too dark
+        https://bugs.webkit.org/show_bug.cgi?id=156383
+        <rdar://problem/23540816>
+
+        Reviewed by Simon Fraser.
+
+        Elements that are backed by a layer with either LightBackdropAppearance
+        or DarkBackdropAppearance are actually a combination of a
+        few layers (inside a special view). If we apply a mask to one
+        of those layers, it needs to be attached to the correct
+        child layer.
+
+        * Shared/mac/RemoteLayerTreePropertyApplier.mm:
+        (WebKit::RemoteLayerTreePropertyApplier::applyProperties): If we have
+        one of the special appearance flags, apply the mask layer to
+        a particular child, rather than the layer itself.
+
+2016-04-07  Jeremy Jones  <jeremyj@apple.com>
+
+        Clearing the application cache doesn't work.
+        https://bugs.webkit.org/show_bug.cgi?id=156354
+        rdar://problem/22369239
+
+        Reviewed by Brady Eidson.
+
+        Use the correct "ApplicationCache" directory.
+        Delete the caches, not just the entries.
+
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::fetchData):
+        (WebKit::WebsiteDataStore::removeData):
+
+2016-04-07  Brian Burg  <bburg@apple.com>
+
+        Web Automation: implement Automation.addSingleCookie
+        https://bugs.webkit.org/show_bug.cgi?id=156319
+        <rdar://problem/25589605>
+
+        Reviewed by Timothy Hatcher.
+
+        Implement this command by converting the protocol cookie to
+        WebCore::Cookie, then sending the cookie to NetworkProcess to
+        be added to the storage session using CookieJar::addCookie.
+
+        * UIProcess/Automation/Automation.json:
+        Clarify the units used in the 'expires' field and how the default value
+        for the domain field should be computed.
+
+        * UIProcess/Automation/WebAutomationSession.cpp:
+        (WebKit::WebAutomationSession::addSingleCookie):
+        Parse the cookie and send it out via WebCookieManagerProxy.
+
+        * UIProcess/WebCookieManagerProxy.cpp:
+        (WebKit::WebCookieManagerProxy::addCookie): Added.
+        * UIProcess/WebCookieManagerProxy.h:
+        * WebProcess/Cookies/WebCookieManager.cpp:
+        (WebKit::WebCookieManager::addCookie):
+        * WebProcess/Cookies/WebCookieManager.h:
+        * WebProcess/Cookies/WebCookieManager.messages.in:
+        Forward the message to WebCore::addCookie.
+
+2016-04-06  Ada Chan  <adachan@apple.com>
+
+        Add WebKitAdditions extension points around preferences
+        https://bugs.webkit.org/show_bug.cgi?id=156303
+
+        Reviewed by Beth Dakin.
+
+        * Shared/WebPreferencesStore.cpp:
+        (WebKit::defaults):
+        * UIProcess/API/C/WKPreferences.cpp:
+
+2016-04-07  Brian Burg  <bburg@apple.com>
+
+        CookieJar should support adding synthetic cookies for developer tools
+        https://bugs.webkit.org/show_bug.cgi?id=156091
+        <rdar://problem/25581340>
+
+        Reviewed by Timothy Hatcher.
+
+        Plumb the new method through the strategy and out to the network process.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::addCookie):
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::addCookie):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2016-04-06  Alex Christensen  <achristensen@webkit.org>
+
+        Compile WebKitTestRunner with CMake on Mac
+        https://bugs.webkit.org/show_bug.cgi?id=156310
+
+        Reviewed by Daniel Bates.
+
+        * PlatformMac.cmake:
+
+2016-04-05  Simon Fraser  <simon.fraser@apple.com>
+
+        Rename exposedRect to viewExposedRect and propagate it as Optional<> through WK2
+        https://bugs.webkit.org/show_bug.cgi?id=156274
+
+        Reviewed by Tim Horton.
+
+        DrawingArea and FrameView have an "exposedRect" property that is used by applications
+        on Mac, like Mail, that embed web views inside scroll views. However, this name is very
+        similar to the "exposedContentRect" that is used on iOS to denote the part of the view
+        whose pixels are visible, including through blurring overlaid UI.
+        
+        To disambiguate these two, rename the Mac "exposedRect" to "viewExposedRect" to
+        emphasize that it's a rect that takes into account clipping in the native view
+        hierarchy.
+        
+        Also make this rect Optional<> through the DrawingArea, removing comparisons against
+        FloatRect::infiniteRect().
+        
+        Do some other minor renaming in VisibleContentRectUpdateInfo.
+
+        * Shared/VisibleContentRectUpdateInfo.cpp: Rename "exposedRect" and "unobscuredRect" to
+        have "Content" in the names.
+        (WebKit::VisibleContentRectUpdateInfo::encode):
+        (WebKit::VisibleContentRectUpdateInfo::decode):
+        * Shared/VisibleContentRectUpdateInfo.h:
+        (WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
+        (WebKit::VisibleContentRectUpdateInfo::exposedContentRect):
+        (WebKit::VisibleContentRectUpdateInfo::unobscuredContentRect):
+        (WebKit::operator==):
+        (WebKit::VisibleContentRectUpdateInfo::exposedRect): Deleted.
+        (WebKit::VisibleContentRectUpdateInfo::unobscuredRect): Deleted.
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::updateViewExposedRect):
+        * UIProcess/DrawingAreaProxy.cpp:
+        (WebKit::DrawingAreaProxy::DrawingAreaProxy):
+        (WebKit::DrawingAreaProxy::setViewExposedRect):
+        (WebKit::DrawingAreaProxy::viewExposedRectChangedTimerFired):
+        (WebKit::DrawingAreaProxy::setExposedRect): Deleted.
+        (WebKit::DrawingAreaProxy::exposedRectChangedTimerFired): Deleted.
+        * UIProcess/DrawingAreaProxy.h:
+        (WebKit::DrawingAreaProxy::viewExposedRect):
+        (WebKit::DrawingAreaProxy::exposedRect): Deleted.
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::exposedContentRect):
+        (WebKit::WebPageProxy::unobscuredContentRect):
+        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
+        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::setViewExposedRect):
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::scaledExposedRect): Deleted.
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::setExposedRect): Deleted. This was only used
+        to position the indicator, and confusingly used either exposedContentRect() or viewExposedRect()
+        depending on platform.
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+        * WebProcess/WebPage/DrawingArea.h:
+        * WebProcess/WebPage/DrawingArea.messages.in:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::updateVisibleContentRects):
+        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
+        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
+        (WebKit::RemoteLayerTreeDrawingArea::setViewExposedRect):
+        (WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
+        (WebKit::RemoteLayerTreeDrawingArea::flushLayers):
+        (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea): Deleted.
+        (WebKit::RemoteLayerTreeDrawingArea::setExposedRect): Deleted.
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
+        (WebKit::TiledCoreAnimationDrawingArea::setViewExposedRect):
+        (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
+        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea): Deleted.
+        (WebKit::TiledCoreAnimationDrawingArea::setExposedRect): Deleted.
+
+2016-04-05  Alex Christensen  <achristensen@webkit.org>
+
+        Make CMake-generated binaries on Mac able to run
+        https://bugs.webkit.org/show_bug.cgi?id=156268
+
+        Reviewed by Daniel Bates.
+
+        * CMakeLists.txt:
+        * PlatformMac.cmake:
+
+2016-04-05  Brian Burg  <bburg@apple.com>
+
+        Web Automation: add support for getting, deleting, and adding cookies
+        https://bugs.webkit.org/show_bug.cgi?id=156090
+        <rdar://problem/25477678>
+
+        Reviewed by Timothy Hatcher.
+
+        Add protocol commands for manipulating cookies with respect to a given page.
+        Implement all but the addSingleCookie command, which needs a new WebCore API.
+
+        * UIProcess/Automation/Automation.json:
+        Copy the Page domain Cookie object. Add new commands.
+
+        * UIProcess/Automation/WebAutomationSession.cpp:
+        (WebKit::WebAutomationSession::getAllCookies):
+        (WebKit::buildObjectForCookie): Copied from InspectorPageAgent.
+        (WebKit::buildArrayForCookies): Copied from InspectorPageAgent.
+        (WebKit::WebAutomationSession::didGetCookiesForFrame):
+        (WebKit::WebAutomationSession::deleteSingleCookie):
+        (WebKit::WebAutomationSession::didDeleteCookie):
+        (WebKit::WebAutomationSession::addSingleCookie): Added a stub for now.
+        (WebKit::WebAutomationSession::deleteAllCookies):
+        This command can use the WebCookieManager supplement directly instead of
+        proxying through AutomationSession. It doesn't block until the delete is
+        performed like the other methods do, but this shouldn't be a problem.
+
+        * UIProcess/Automation/WebAutomationSession.h:
+        * UIProcess/Automation/WebAutomationSession.messages.in:
+        * WebProcess/Automation/WebAutomationSessionProxy.cpp:
+        (WebKit::WebAutomationSessionProxy::getCookiesForFrame):
+        (WebKit::WebAutomationSessionProxy::deleteCookie):
+        * WebProcess/Automation/WebAutomationSessionProxy.h:
+        * WebProcess/Automation/WebAutomationSessionProxy.messages.in:
+
+2016-04-05  Alex Christensen  <achristensen@webkit.org>
+
+        Fix Range requests when not using the NetworkCache with NetworkSession
+        https://bugs.webkit.org/show_bug.cgi?id=156036
+        rdar://problem/25334939
+        Reviewed by Sam Weinig.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:dataTask:willCacheResponse:completionHandler:]):
+        Don't cache any responses with Content-Range headers to work around rdar://problem/20001985.
+        This is similar to the workaround in shouldCacheResponse in WebCoreNSURLSession.mm
+        (WebKit::NetworkSession::NetworkSession):
+        If we are using the NetworkCache, then don't use CFNetwork's cache.
+
+2016-04-05  Brent Fulgham  <bfulgham@apple.com>
+
+        Correct applicationWillTerminate logic for ResourceLoadStatistics
+        https://bugs.webkit.org/show_bug.cgi?id=156249
+        <rdar://problem/25179611>
+
+        Reviewed by Andy Estes.
+
+        The applicationWillTerminate handling for ResourceLoadStatistics incorrectly
+        assumes that a ResourceLoadStatistics object will always be present.
+        1. The termination handling for 'dataStoresWithStorageManagers' should be
+           calling 'applicationWillTerminate' on any ResourceLoadStatistics
+           objects attached to the dataStore.
+        2. platformInitialize should null-check before attempting to dispatch.
+        3. platformDestroy should null check before attempting to dispatch.
+
+        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
+        (WebKit::WebsiteDataStore::platformInitialize): 
+        (WebKit::WebsiteDataStore::platformDestroy): Invoke 'applicationWillTerminate' on
+        m_resourceLoadStatistics if present.
+
+2016-04-05  Youenn Fablet  <youenn.fablet@crf.canon.fr>
+
+        [Fetch API] Add a runtime flag to fetch API and related constructs
+        https://bugs.webkit.org/show_bug.cgi?id=156113
+        Reviewed by Alex Christensen.
+
+        Add a fetch API runtime flag based on preferences.
+        Disable fetch API by default.
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesGetCustomElementsEnabled):
+        (WKPreferencesSetFetchAPIEnabled):
+        (WKPreferencesGetFetchAPIEnabled):
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
 2016-04-05  Brady Eidson  <beidson@apple.com>
 
         Modern IDB: Replace use of SerializedScriptValue with IDBValue.