Unreviewed, rolling out r199660.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index 7321c23..cde8153 100644 (file)
@@ -1,3 +1,573 @@
+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