Provide a viewport parameter to disable clipping to the safe area
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index 20e20e8..5ca7fe0 100644 (file)
+2017-04-17  Tim Horton  <timothy_horton@apple.com>
+
+        Provide a viewport parameter to disable clipping to the safe area
+        https://bugs.webkit.org/show_bug.cgi?id=170766
+        <rdar://problem/31564634>
+
+        Reviewed by Beth Dakin.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::resetState):
+        (WebKit::WebPageProxy::setClipToSafeArea):
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::clipToSafeArea):
+        * UIProcess/WebPageProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::didChangeClipToSafeArea):
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * UIProcess/API/gtk/PageClientImpl.h:
+        * UIProcess/PageClient.h:
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::didChangeClipToSafeArea):
+        * UIProcess/mac/PageClientImpl.h:
+        Forward clip-to-safe-area changes from ChromeClient to WKWebView.
+        Update visible content rects when it changes, which will
+        result in a call to updateFixedClippingView, as below.
+        Keep track of the current state in the UI process.
+
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _contentMayDrawInObscuredInsets]):
+        Expose the current state of the clip-to-safe-area bit as SPI.
+
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView updateFixedClippingView:]):
+        Disable fixed clipping when clip-to-safe-area is disabled.
+        
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::viewportConfigurationChanged):
+        Push the viewport's clip-to-safe-area bit onto the main frame's FrameView.
+
+2017-04-17  Dan Bernstein  <mitz@apple.com>
+
+        [Cocoa] Move isNullFunctionPointer down into WTF
+        https://bugs.webkit.org/show_bug.cgi?id=170892
+
+        Reviewed by Sam Weinig.
+
+        * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp:
+        (WebKit::ResourceLoadStatisticsClassifierCocoa::canUseCorePrediction): Changed to use
+          WTF::isNullFunctionPointer.
+        (WebKit::isNullFunctionPointer): Deleted.
+
+2017-04-17  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [WK2] Respect a new internal setting for defaulting to character selection granularity
+        https://bugs.webkit.org/show_bug.cgi?id=170904
+        <rdar://problem/31364280>
+
+        Reviewed by Dan Bernstein.
+
+        Respect a new WebKitDebugDefaultSelectionGranularityCharacter user default by initializing
+        WKWebViewConfiguration with WKSelectionGranularityCharacter, but only when linked on or after the first iOS to
+        use WKSelectionGranularityCharacter by default.
+
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration init]):
+        * UIProcess/Cocoa/VersionChecks.h:
+
+2017-04-17  Eric Carlson  <eric.carlson@apple.com>
+
+        Provide a way for clients to unmute a media stream.
+        https://bugs.webkit.org/show_bug.cgi?id=170855
+        <rdar://problem/31656855>
+
+        Reviewed by Jon Lee.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _setPageMuted:]): New.
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+
+2017-04-17  Jeremy Jones  <jeremyj@apple.com>
+
+        Refactor enumerateDevices to allow separate CaptureDeviceManagers for audio and video.
+        https://bugs.webkit.org/show_bug.cgi?id=170778
+
+        Reviewed by Tim Horton.
+
+        setUseAVFoundationAudioCapture is moved from AVCaptureDeviceManager to RealtimeMediaSourceCenterMac.
+
+        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
+        (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs):
+
+2017-04-15  Keith Rollin  <krollin@apple.com>
+
+        Include resource size in some existing logging
+        https://bugs.webkit.org/show_bug.cgi?id=170866
+
+        Reviewed by Alex Christensen.
+
+        In order to correlate resource load times with resource size, we log
+        when the resource is starting to be loaded and when the resource is
+        finished loading. In NetworkResourceLoader::didReceiveResponse, we
+        also log the expected resource length. However, we can only log the
+        length if it is provided in Content-Length, which is not always the
+        case. If it's not provided, we end up logging "length = -1". To make
+        up for this, change NetworkResourceLoader::didFinishLoading and
+        WebResourceLoader:: didFinishLoading to log the length once we know
+        it.
+
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::didReceiveBuffer):
+        (WebKit::NetworkResourceLoader::didFinishLoading):
+        * NetworkProcess/NetworkResourceLoader.h:
+        * WebProcess/Network/WebResourceLoader.cpp:
+        (WebKit::WebResourceLoader::didReceiveData):
+        (WebKit::WebResourceLoader::didFinishResourceLoad):
+        * WebProcess/Network/WebResourceLoader.h:
+
+2017-04-15  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [WK2] Support data interaction of files into file inputs
+        https://bugs.webkit.org/show_bug.cgi?id=170803
+        <rdar://problem/31286130>
+
+        Reviewed by Tim Horton.
+
+        Implements remaining support for performing data interaction onto file inputs. There are two main changes at
+        this layer: plumbing the number of files in the pasteboard to the web process, and pulling the implementation of
+        createSandboxExtensionsIfNeeded out of Mac-specific WebViewImpl::createSandboxExtensionsIfNeeded and into
+        WebPageProxy::createSandboxExtensionsIfNeeded.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::ArgumentCoder<DragData>::encode):
+        (IPC::ArgumentCoder<DragData>::decode):
+
+        Relax special-casing of encoding and decoding filenames to be PLATFORM(COCOA) rather than PLATFORM(MAC).
+
+        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
+        (WebKit::WebPageProxy::createSandboxExtensionsIfNeeded):
+        * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
+        (WebKit::WebPasteboardProxy::getNumberOfFiles):
+
+        More boilerplate plumbing to deliver the number of files in the pasteboard to the web process.
+
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::performDragOperation):
+        (WebKit::WebViewImpl::createSandboxExtensionsIfNeeded): Deleted.
+
+        Move the logic in WebViewImpl::createSandboxExtensionsIfNeeded over to WebPageProxy::createSandboxExtensionsIfNeeded.
+
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPasteboardProxy.h:
+        * UIProcess/WebPasteboardProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::getNumberOfFiles):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2017-04-14  Mark Lam  <mark.lam@apple.com>
+
+        Update architectures in xcconfig files.
+        https://bugs.webkit.org/show_bug.cgi?id=170867
+        <rdar://problem/31628104>
+
+        Reviewed by Joseph Pecoraro.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2017-04-14  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [WK2] Support Icon creation from file URLs on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=170809
+        <rdar://problem/31286130>
+
+        Reviewed by Tim Horton.
+
+        Refactors file icon generation logic to support showing an Icon representing the content at a list of file paths
+        on iOS. Pulls out logic in WKFileUploadPanel responsible for generating the thumbnail image for a file input into
+        separate helpers in WebIconUtilities, and then uses these utilities in both WKFileUploadPanel and
+        WebChromeClientIOS.
+
+        * Shared/ios/WebIconUtilities.h: Added.
+        * Shared/ios/WebIconUtilities.mm: Added.
+        (WebKit::squareCropRectForSize):
+        (WebKit::squareImage):
+        (WebKit::thumbnailSizedImageForImage):
+        (WebKit::fallbackIconForFile):
+        (WebKit::iconForImageFile):
+        (WebKit::iconForVideoFile):
+        (WebKit::iconForFile):
+
+        Add logic for generating thumbnail icons, moved from WKFileUploadPanel.mm.
+
+        * UIProcess/ios/forms/WKFileUploadPanel.mm:
+        (squareCropRectForSize): Deleted.
+        (squareImage): Deleted.
+        (thumbnailSizedImageForImage): Deleted.
+        (fallbackIconForFile): Deleted.
+        (iconForImageFile): Deleted.
+        (iconForVideoFile): Deleted.
+        (iconForFile): Deleted.
+
+        Remove logic for generating thumbnail icons.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::loadIconForFiles):
+        (WebKit::WebChromeClient::createIconForFiles):
+
+        Rather than call Icon::createIconForFiles directly, loadIconForFiles now consults ChromeClient::createIconForFiles
+        instead. On other platforms, this just turns around and calls Icon::createIconForFiles, but on iOS, we use the
+        utilities introduced in WebIconUtilities to generate a file icon.
+
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
+        (WebKit::WebChromeClient::createIconForFiles):
+
+2017-04-14  Brady Eidson  <beidson@apple.com>
+
+        Fix basic WKURLSchemeHandler bugs.
+        <rdar://problem/30647559> and https://bugs.webkit.org/show_bug.cgi?id=170862
+
+        Reviewed by Andy Estes.
+
+        * UIProcess/Cocoa/NavigationState.mm:
+        (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
+
+        * UIProcess/WebURLSchemeHandlerTask.cpp:
+        (WebKit::WebURLSchemeHandlerTask::didReceiveResponse):
+
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::addURLSchemeHandlerTaskProxy):
+        (WebKit::WebLoaderStrategy::removeURLSchemeHandlerTaskProxy):
+        (WebKit::WebLoaderStrategy::remove):
+        * WebProcess/Network/WebLoaderStrategy.h:
+
+        * WebProcess/WebPage/WebURLSchemeHandlerProxy.cpp:
+        (WebKit::WebURLSchemeHandlerProxy::startNewTask):
+        (WebKit::WebURLSchemeHandlerProxy::taskDidComplete):
+        (WebKit::WebURLSchemeHandlerProxy::taskDidStopLoading):
+        * WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
+
+        * WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.cpp:
+        (WebKit::WebURLSchemeHandlerTaskProxy::WebURLSchemeHandlerTaskProxy):
+        (WebKit::WebURLSchemeHandlerTaskProxy::stopLoading):
+        (WebKit::WebURLSchemeHandlerTaskProxy::didReceiveResponse):
+        (WebKit::WebURLSchemeHandlerTaskProxy::didReceiveData):
+        (WebKit::WebURLSchemeHandlerTaskProxy::didComplete):
+        (WebKit::WebURLSchemeHandlerTaskProxy::hasLoader):
+        * WebProcess/WebPage/WebURLSchemeHandlerTaskProxy.h:
+        (WebKit::WebURLSchemeHandlerTaskProxy::identifier):
+
+2017-04-14  Jer Noble  <jer.noble@apple.com>
+
+        [MediaSource] Push capabilities across process boundary during UIProcess capture.
+        https://bugs.webkit.org/show_bug.cgi?id=170814
+
+        Reviewed by Eric Carlson.
+
+        Make a new synchronous getter for capabilities(), moderated by only requesting the capabilities() cross-process
+        the first time called.
+
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+        (WebKit::UserMediaCaptureManagerProxy::capabilities):
+        (WebKit::UserMediaCaptureManagerProxy::supportedConstraints):
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
+        * WebProcess/cocoa/UserMediaCaptureManager.cpp:
+        (WebKit::UserMediaCaptureManager::Source::setCapabilities):
+        (WebKit::UserMediaCaptureManager::capabilities):
+        * WebProcess/cocoa/UserMediaCaptureManager.h:
+
+2017-04-13  Dan Bernstein  <mitz@apple.com>
+
+        [Cocoa] Allow clients to specify in _WKProcessPoolConfiguration additional directory sandbox extensions
+        https://bugs.webkit.org/show_bug.cgi?id=170387
+
+        Reviewed by Sam Weinig.
+
+        Test: TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm
+
+        Added an additionalReadAccessAllowedURLs property to _WKProcessPoolConfiguration.
+
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode): Encode the new
+          additionalSandboxExtensionHandles member.
+        (WebKit::WebProcessCreationParameters::decode): Decode it.
+        * Shared/WebProcessCreationParameters.h: Added additionalSandboxExtensionHandles member.
+
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::copy): Copy new m_additionalReadAccessAllowedPaths member.
+        * UIProcess/API/APIProcessPoolConfiguration.h: Added m_additionalReadAccessAllowedPaths
+          member and accessor functions.
+
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h: Declared new
+          additionalReadAccessAllowedURLs property whose value is an array of URLs to which the Web
+          Content process will be given read access.
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration additionalReadAccessAllowedURLs]): New getter that returns
+          an array of file URLs from the ProcessPoolConfiguration’s additionalReadAccessAllowedPaths().
+        (-[_WKProcessPoolConfiguration setAdditionalReadAccessAllowedURLs:]): New setter that checks
+          that the given URLs are file URLs and populates the ProcessPoolConfiguration’s
+          additionalReadAccessAllowedPaths with their paths.
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::resolvePathsForSandboxExtensions): Populate the new
+          m_resolvedPaths.additionalWebProcessSandboxExtensionPaths with resolved paths from the
+          ProcessPoolConfiguration’s additionalReadAccessAllowedPaths.
+        (WebKit::WebProcessPool::createNewWebProcess): Populate the WebProcessCreationParameters’s
+          additionalSandboxExtensionHandles member with read-only sandbox extensions created from
+          the resolved paths.
+        * UIProcess/WebProcessPool.h: Added additionalWebProcessSandboxExtensionPaths member to
+          the Paths struct.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess): Consume the additional sandbox extensions.
+
+2017-04-13  Alex Christensen  <achristensen@webkit.org>
+
+        Fix CMake build
+        https://bugs.webkit.org/show_bug.cgi?id=170815
+
+        Reviewed by Beth Dakin.
+
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]):
+
+2017-04-12  Dan Bernstein  <mitz@apple.com>
+
+        [Mac] Future-proof .xcconfig files
+        https://bugs.webkit.org/show_bug.cgi?id=170802
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/DebugRelease.xcconfig:
+        * Configurations/FeatureDefines.xcconfig:
+        * Configurations/Version.xcconfig:
+
+2017-04-12  Brady Eidson  <beidson@apple.com>
+
+        QuotaExceededError when saving to localStorage in private mode.
+        https://bugs.webkit.org/show_bug.cgi?id=157010
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/Storage/StorageAreaMap.cpp:
+        (WebKit::StorageAreaMap::StorageAreaMap):
+        (WebKit::StorageAreaMap::~StorageAreaMap):
+
+        * WebProcess/Storage/StorageNamespaceImpl.cpp:
+        (WebKit::StorageNamespaceImpl::createEphemeralLocalStorageNamespace):
+        (WebKit::StorageNamespaceImpl::storageArea):
+        (WebKit::StorageNamespaceImpl::ephemeralLocalStorageArea):
+        (WebKit::StorageNamespaceImpl::copy):
+        * WebProcess/Storage/StorageNamespaceImpl.h:
+
+        * WebProcess/Storage/WebStorageNamespaceProvider.cpp:
+        (WebKit::WebStorageNamespaceProvider::createEphemeralLocalStorageNamespace):
+        * WebProcess/Storage/WebStorageNamespaceProvider.h:
+
+2017-04-12  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Unreviewed, fix build failure on Ubuntu LTS GTK bot
+        https://bugs.webkit.org/show_bug.cgi?id=170781
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::createNewWebProcess):
+
+2017-04-12  Eric Carlson  <eric.carlson@apple.com>
+
+        [MediaStream] rename -[WKWebView _stopMediaCapture]
+        https://bugs.webkit.org/show_bug.cgi?id=170791
+        <rdar://problem/31589204>
+
+        Reviewed by Youenn Fablet.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _muteMediaCapture]):
+        (-[WKWebView _stopMediaCapture]): Deleted.
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+
+2017-04-12  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed build fix.
+
+        * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
+        (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]):
+        (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]):
+        (-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]):
+        (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection):
+        (WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection):
+        (WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection):
+
+2017-04-12  Jer Noble  <jer.noble@apple.com>
+
+        [WK2] Add a C-API for creating a WKContextConfigurationRef with legacy options.
+        https://bugs.webkit.org/show_bug.cgi?id=170790
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/API/C/WKContextConfigurationRef.cpp:
+        (WKContextConfigurationCreate):
+        (WKContextConfigurationCreateWithLegacyOptions):
+        * UIProcess/API/C/WKContextConfigurationRef.h:
+
+2017-04-12  Jer Noble  <jer.noble@apple.com>
+
+        [WK2] Do not pass microphone sandbox extension to WebProcess if capturing is happening in UIProcess.
+        https://bugs.webkit.org/show_bug.cgi?id=170781
+
+        Reviewed by Alex Christensen.
+
+        Simultaneously, allow clients to configure whether capturing will occur in the UIProcess through
+        _WKProcessPoolConfiguration.
+
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::copy):
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/C/WKContextConfigurationRef.cpp:
+        (WKContextConfigurationShouldCaptureAudioInUIProcess):
+        (WKContextConfigurationSetShouldCaptureAudioInUIProcess):
+        * UIProcess/API/C/WKContextConfigurationRef.h:
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration copyWithZone:]):
+        (-[WKWebViewConfiguration _shouldCaptureAudioInUIProcess]):
+        (-[WKWebViewConfiguration _setShouldCaptureAudioInUIProcess:]):
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration shouldCaptureAudioInUIProcess]):
+        (-[_WKProcessPoolConfiguration setShouldCaptureAudioInUIProcess:]):
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::createNewWebProcess):
+
+2017-04-12  Keith Rollin  <krollin@apple.com>
+
+        Add some missing NetworkResourceLoader logging
+        https://bugs.webkit.org/show_bug.cgi?id=170139
+
+        Reviewed by Alex Christensen.
+
+        Once execution enters the lambda in
+        NetworkResourceLoader::retrieveCacheEntry, there is little indication
+        of which exit point was taken. If flow enters into startNetworkLoad,
+        we'll get some logging from that function, but not from the others.
+        Add some logging so that we know what the result was from looking up
+        the resource in the cache.
+
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::retrieveCacheEntry):
+
+2017-04-12  Anders Carlsson  <andersca@apple.com>
+
+        Tweak WebCore::setMetadataURL function
+        https://bugs.webkit.org/show_bug.cgi?id=170786
+
+        Reviewed by Beth Dakin.
+
+        Update for WebCore changes.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::namesOfPromisedFilesDroppedAtDestination):
+
+2017-04-12  Brent Fulgham  <bfulgham@apple.com>
+
+        [WK2][Mac] Stop allowing access to disk arbitration process
+        https://bugs.webkit.org/show_bug.cgi?id=170517
+        <rdar://problem/31071151>
+
+        Reviewed by Alex Christensen.
+
+        * WebProcess/com.apple.WebProcess.sb.in:
+
+2017-04-12  Beth Dakin  <bdakin@apple.com>
+
+        32-bit build fix.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView _mediaPlaybackControlsView]):
+
+2017-04-12  Beth Dakin  <bdakin@apple.com>
+
+        More 32-bit build fix.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _mediaPlaybackControlsView]):
+        (-[WKWebView _addMediaPlaybackControlsView:]):
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView _mediaPlaybackControlsView]):
+        (-[WKView _addMediaPlaybackControlsView:]):
+
+2017-04-12  Beth Dakin  <bdakin@apple.com>
+
+        Another 32 bit build fix.
+
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::mediaPlaybackControlsView):
+
+2017-04-12  Alex Christensen  <achristensen@webkit.org>
+
+        Stop using didReceiveDataArray callback on El Capitan
+        https://bugs.webkit.org/show_bug.cgi?id=170780
+
+        Reviewed by Brady Eidson.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::supportsDataArray): Deleted.
+        (WebKit::NetworkLoad::didReceiveDataArray): Deleted.
+        * NetworkProcess/NetworkLoad.h:
+
+2017-04-12  Beth Dakin  <bdakin@apple.com>
+
+        Speculative build fix.
+
+        * UIProcess/API/Cocoa/WKViewPrivate.h:
+
+2017-04-12  Beth Dakin  <bdakin@apple.com>
+
+        Attempted build fix.
+
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+
+2017-04-12  Beth Dakin  <bdakin@apple.com>
+
+        Adopt AVKit name change from AVFunctionBar* to AVTouchBar*
+        https://bugs.webkit.org/show_bug.cgi?id=170693
+        -and corresponding-
+        rdar://problem/31230018
+
+        Reviewed by Sam Weinig.
+
+        Since the new names only apply to some versions of macOS, this patch uses typedefs 
+        for the older OS’s. SO:
+
+        AVFunctionBarScrubber is now AVTouchBarScrubber
+
+        AVFunctionBarPlaybackControlsProvider is now AVTouchBarPlaybackControlsProvider
+
+        AVFunctionBarMediaSelectionOption is now AVTouchBarMediaSelectionOption
+
+        And the protocol AVFunctionBarPlaybackControlsControlling is now 
+        AVTouchBarPlaybackControlsControlling
+
+        Use the new name.
+        * UIProcess/API/Cocoa/WKViewPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _mediaPlaybackControlsView]):
+        (-[WKWebView _addMediaPlaybackControlsView:]):
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView _mediaPlaybackControlsView]):
+        (-[WKView _addMediaPlaybackControlsView:]):
+        * UIProcess/Cocoa/WebViewImpl.h:
+
+        Soft links and allocations cannot use the typedefs.
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::mediaPlaybackControlsView):
+        (WebKit::WebViewImpl::updateMediaTouchBar):
+
+2017-04-12  Eric Carlson  <eric.carlson@apple.com>
+
+        [MediaStream] Audio source in UI process not identified as capture source
+        https://bugs.webkit.org/show_bug.cgi?id=170776
+
+        Reviewed by Youenn Fablet.
+
+        * WebProcess/cocoa/UserMediaCaptureManager.cpp: Override isCaptureSource.
+
+2017-04-12  Andrew Gold  <agold@apple.com>
+
+        Allow iOS to toggle webRTCAPI legacy flag.
+        https://bugs.webkit.org/show_bug.cgi?id=170735
+
+        Reviewed by Eric Carlson.
+
+        * UIProcess/API/Cocoa/WKPreferences.mm:
+        (-[WKPreferences _webRTCLegacyAPIEnabled]):
+        (-[WKPreferences _setWebRTCLegacyAPIEnabled:]):
+        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+
+2017-04-12  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Unreviewed, build fix for GTK port after r215262
+        https://bugs.webkit.org/show_bug.cgi?id=170758
+
+        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+        (WebKit::NetworkDataTaskSoup::didRead):
+
+2017-04-12  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [WTF] Introduce Thread class and use RefPtr<Thread> and align Windows Threading implementation semantics to Pthread one
+        https://bugs.webkit.org/show_bug.cgi?id=170502
+
+        Reviewed by Mark Lam.
+
+        Mechanical change. Use Thread:: APIs.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::initializeNetworkProcess):
+        * NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
+        (WebKit::NetworkCache::IOChannel::readSyncInThread):
+        * Platform/IPC/Connection.cpp:
+        (IPC::Connection::processIncomingMessage):
+        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
+        (WebKit::XPCServiceInitializer):
+        * UIProcess/linux/MemoryPressureMonitor.cpp:
+        (WebKit::MemoryPressureMonitor::MemoryPressureMonitor):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess):
+
+2017-04-10  Antti Koivisto  <antti@apple.com>
+
+        Cache small media resources in disk cache
+        https://bugs.webkit.org/show_bug.cgi?id=170676
+        <rdar://problem/31532649>
+
+        Reviewed by Andreas Kling.
+
+        * NetworkProcess/cache/NetworkCache.cpp:
+        (WebKit::NetworkCache::makeRetrieveDecision):
+
+            Allow retrieving media resources.
+
+        (WebKit::NetworkCache::expectedTotalResourceSizeFromContentRange):
+        (WebKit::NetworkCache::expectedTotalResourceSize):
+        (WebKit::NetworkCache::makeStoreDecision):
+
+            Store media resource if we can figure out its total size and it is less than 5MB
+            (and it is cacheable by the usual rules).
+
+2017-04-12  Alex Christensen  <achristensen@webkit.org>
+
+        Modernize vector adoption
+        https://bugs.webkit.org/show_bug.cgi?id=170758
+
+        Reviewed by Geoffrey Garen.
+
+        * NetworkProcess/capture/NetworkCaptureEvent.cpp:
+        (WebKit::NetworkCapture::JSONCoder<WebCore::SharedBuffer>::decode):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::bufferForType):
+
+2017-04-12  Zan Dobersek  <zdobersek@igalia.com>
+
+        Unreviewed GTK+ debug build fix. Drop an unused debug-only member
+        variable in the CompositingRunLoop class.
+
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
+
+2017-04-11  Zan Dobersek  <zdobersek@igalia.com>
+
+        [GTK] Use the DisplayRefreshMonitor facilities
+        https://bugs.webkit.org/show_bug.cgi?id=170599
+
+        Reviewed by Carlos Garcia Campos.
+
+        ThreadedCompositor gains a DisplayRefreshMonitor member that it can use
+        to better coordinate display refresh callbacks on the main thread. Still,
+        because currently the GTK+ port doesn't have a reliable way of notifying
+        the ThreadedCompositor of a vsync event, a timer targeting 60FPS is used
+        in order to keep the updates at a reasonable rate. When the timer is fired,
+        the ThreadedCompositor decides how to proceed based on state changes that
+        might have occurred during composition or whether there's any display
+        refresh callbacks that require handling on the main thread.
+
+        CompositingRunLoop now stores its state in an atomic variable that's then
+        inspected whenever a new update is scheduled or completed. When scheduled,
+        if there's no update in progress, a new update is requested through the
+        timer. If there's already an update in progress, a new update is marked
+        as pending after the current one completes. In that case, when the update
+        is completed, a new update is requested through the timer.
+
+        ThreadedDisplayRefreshMonitor is used to coordinate updates between the
+        main and the composition thread whenever the CoordinatedGraphics state
+        demands it, or whenever there are clients registered to that monitor that
+        require an update (e.g. a requestAnimationFrame() callback). After the
+        update on the composition thread is finished, and the DisplayRefreshMonitor
+        object requires an update, a callback at the same priority as the layer
+        flush timer is scheduled on the main thread. In that callback we handle
+        any clients registered for this DisplayRefreshMonitor before proceeding
+        to handle any changes to the CoordinatedGraphics scene. In case the
+        DisplayRefreshMonitor clients or the layer flushes already queued up
+        any changes to the state, we immediately ask the ThreadedCompositor for
+        an update.
+
+        * PlatformGTK.cmake:
+        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
+        (WebKit::CoordinatedGraphicsScene::updateViewport):
+        (WebKit::CoordinatedGraphicsScene::commitSceneState):
+        * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
+        (WebKit::CompositingRunLoop::CompositingRunLoop):
+        (WebKit::CompositingRunLoop::isActive):
+        (WebKit::CompositingRunLoop::scheduleUpdate):
+        (WebKit::CompositingRunLoop::stopUpdates):
+        (WebKit::CompositingRunLoop::updateCompleted):
+        (WebKit::CompositingRunLoop::updateTimerFired):
+        (WebKit::CompositingRunLoop::isCurrent):
+        (WebKit::CompositingRunLoop::startUpdateTimer): Deleted.
+        (WebKit::CompositingRunLoop::stopUpdateTimer): Deleted.
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
+        (): Deleted.
+        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+        (WebKit::m_displayRefreshMonitor):
+        (WebKit::ThreadedCompositor::invalidate):
+        (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing):
+        (WebKit::ThreadedCompositor::updateViewport):
+        (WebKit::ThreadedCompositor::scheduleDisplayImmediately):
+        (WebKit::ThreadedCompositor::renderLayerTree):
+        (WebKit::ThreadedCompositor::sceneUpdateFinished):
+        (WebKit::ThreadedCompositor::updateSceneState):
+        (WebKit::ThreadedCompositor::displayRefreshMonitor):
+        (WebKit::ThreadedCompositor::renderNextFrameIfNeeded):
+        (WebKit::ThreadedCompositor::completeCoordinatedUpdateIfNeeded):
+        (WebKit::ThreadedCompositor::coordinateUpdateCompletionWithClient):
+        (WebKit::ThreadedCompositor::performFrameCompletion):
+        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
+        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp: Added.
+        (WebKit::ThreadedDisplayRefreshMonitor::ThreadedDisplayRefreshMonitor):
+        (WebKit::ThreadedDisplayRefreshMonitor::requestRefreshCallback):
+        (WebKit::ThreadedDisplayRefreshMonitor::requiresDisplayRefreshCallback):
+        (WebKit::ThreadedDisplayRefreshMonitor::dispatchDisplayRefreshCallback):
+        (WebKit::ThreadedDisplayRefreshMonitor::invalidate):
+        (WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):
+        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h: Copied from Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h.
+        * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
+        (WebKit::AcceleratedDrawingArea::createDisplayRefreshMonitor):
+        * WebProcess/WebPage/AcceleratedDrawingArea.h:
+        * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
+        (WebKit::ThreadedCoordinatedLayerTreeHost::createDisplayRefreshMonitor):
+        * WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
+        * WebProcess/WebPage/LayerTreeHost.h:
+        (WebKit::LayerTreeHost::createDisplayRefreshMonitor):
+
+2017-04-11  Alex Christensen  <achristensen@webkit.org>
+
+        Modernize and clean up code
+        https://bugs.webkit.org/show_bug.cgi?id=170752
+
+        Reviewed by Sam Weinig.
+
+        * NetworkProcess/NetworkResourceLoader.h:
+        * Shared/WebPreferencesStore.h:
+        * UIProcess/API/APIHitTestResult.cpp:
+        (API::HitTestResult::create):
+        * UIProcess/API/APIHitTestResult.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesCreate):
+        (WKPreferencesCreateWithIdentifier):
+        (WKPreferencesCreateCopy):
+        * UIProcess/Authentication/AuthenticationChallengeProxy.h:
+        * UIProcess/WebPreferences.cpp:
+        (WebKit::WebPreferences::createWithLegacyDefaults):
+        (WebKit::WebPreferences::copy):
+        * UIProcess/WebPreferences.h:
+        * WebProcess/Network/WebLoaderStrategy.h:
+        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+        (WebKit::WebEditorClient::requestCheckingOfString):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::addTextCheckingRequest):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::rangeForWebSelectionAtPosition):
+        (WebKit::WebPage::rangeForBlockAtPoint):
+        (WebKit::WebPage::expandedRangeFromHandle):
+        (WebKit::WebPage::contractedRangeFromHandle):
+        (WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
+        (WebKit::WebPage::changeBlockSelection):
+        (WebKit::WebPage::rangeForGranularityAtPoint):
+        (WebKit::WebPage::computePagesForPrintingAndDrawToPDF):
+
+2017-04-11  Dean Jackson  <dino@apple.com>
+
+        Disable outdated WritableStream API
+        https://bugs.webkit.org/show_bug.cgi?id=170749
+        <rdar://problem/31446233>
+
+        Reviewed by Tim Horton.
+
+        The API we implement is no longer accurate. Disable it until we
+        are compatible with the new specification
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2017-04-11  Dan Bernstein  <mitz@apple.com>
+
+        [Cocoa] WebKit unnecessarily soft-links CorePrediction
+        https://bugs.webkit.org/show_bug.cgi?id=170644
+
+        Reviewed by Sam Weinig.
+
+        * Configurations/BaseTarget.xcconfig: Defined HAVE_CORE_PREDICTION and added
+          HAVE_CORE_PREDICTION to the preprocessor defintions when the former is YES.
+
+        * Configurations/WebKit.xcconfig: Have the linker link against CorePrediction where
+          available. On macOS, use weak linking, because CorePrediction is not available in the
+          Base System.
+
+        * Platform/classifier/cocoa/CorePredictionSoftLink.h: Removed.
+
+        * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.cpp: Guarded with
+          #if HAVE(CORE_PREDICTION).
+        (WebKit::isNullFunctionPointer): Added this helper.
+        (WebKit::ResourceLoadStatisticsClassifierCocoa::canUseCorePrediction): Replaced
+          dlopen()-based runtime check with a null check.
+
+        * Platform/classifier/cocoa/ResourceLoadStatisticsClassifierCocoa.h: Guarded with #if
+          HAVE(CORE_PREDICTION).
+
+        * Platform/spi/Cocoa/CorePredictionSPI.h: Added.
+
+        * UIProcess/WebResourceLoadStatisticsStore.h: Updated guards to include HAVE(CORE_PREDICTION).
+
+        * WebKit2.xcodeproj/project.pbxproj: pdated file references for removal and addition.
+
+2017-04-11  David Quesada  <david_quesada@apple.com>
+
+        Add SPI for handling geolocation authorization requests
+        https://bugs.webkit.org/show_bug.cgi?id=170362
+        rdar://problem/17508627
+
+        Reviewed by Alex Christensen.
+
+        Add a new WKUIDelegate method for the WKGeolocationProviderIOS to call when a web page
+        requests geolocation access. To support testing this change, make it possible to override
+        the CoreLocation abstraction WKGeolocationProviderIOS uses. There is now a configurable
+        object on the process pool that implements a protocol for providing location updates for
+        web views in the process pool. If the client doesn't provide this object,
+        WKGeolocationProviderIOS falls back to an object that wraps the existing WebKit1
+        WebGeolocationCoreLocationProvider and conforms to the new protocol.
+
+        * Shared/Cocoa/APIObject.mm:
+        (API::Object::newObject):
+        * Shared/WebGeolocationPosition.h:
+        (WebKit::WebGeolocationPosition::create):
+        * UIProcess/API/C/WKGeolocationPosition.cpp:
+        (WKGeolocationPositionCreate_b):
+        * UIProcess/API/Cocoa/WKProcessPool.mm:
+        (-[WKProcessPool _coreLocationProvider]):
+        (-[WKProcessPool _setCoreLocationProvider:]):
+        * UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
+        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+        * UIProcess/API/Cocoa/_WKGeolocationCoreLocationProvider.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp.
+        * UIProcess/API/Cocoa/_WKGeolocationPosition.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp.
+        * UIProcess/API/Cocoa/_WKGeolocationPosition.mm: Added.
+        (WebKit::if):
+        (-[_WKGeolocationPosition dealloc]):
+        (-[_WKGeolocationPosition _apiObject]):
+        * UIProcess/API/Cocoa/_WKGeolocationPositionInternal.h: Copied from Source/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp.
+        (WebKit::wrapper):
+        * UIProcess/ios/WKGeolocationProviderIOS.mm:
+        (kit):
+        (-[WKGeolocationProviderIOS initWithProcessPool:]):
+        (-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
+        (-[WKGeolocationProviderIOS positionChanged:]):
+        (-[WKLegacyCoreLocationProvider setListener:]):
+        (-[WKLegacyCoreLocationProvider requestGeolocationAuthorization]):
+        (-[WKLegacyCoreLocationProvider start]):
+        (-[WKLegacyCoreLocationProvider stop]):
+        (-[WKLegacyCoreLocationProvider setEnableHighAccuracy:]):
+        (-[WKLegacyCoreLocationProvider geolocationAuthorizationGranted]):
+        (-[WKLegacyCoreLocationProvider geolocationAuthorizationDenied]):
+        (-[WKLegacyCoreLocationProvider positionChanged:]):
+        (-[WKLegacyCoreLocationProvider errorOccurred:]):
+        (-[WKLegacyCoreLocationProvider resetGeolocation]):
+        Implement a new class that bridges the currently used WebGeolocationCoreLocationProvider
+        to conform to the _WKGeolocationCoreLocationProvider protocol that WKGeolocationProviderIOS
+        expects.
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2017-04-11  Eric Carlson  <eric.carlson@apple.com>
+
+        [MediaStream] Set correct audio session category when capturing audio
+        https://bugs.webkit.org/show_bug.cgi?id=170736
+        <rdar://problem/31559405>
+
+        Reviewed by Jer Noble.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::isPlayingMediaDidChange):
+
+2017-04-11  Youenn Fablet  <youenn@apple.com>
+
+        Activate WebRTC data channel tests for WK1
+        https://bugs.webkit.org/show_bug.cgi?id=170710
+
+        Reviewed by Eric Carlson.
+
+        * WebProcess/Network/webrtc/LibWebRTCProvider.h: Making sure networking is not done in the Web process.
+
+2017-04-11  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: PDF plugin needs to support PDF-DOM Mode
+        https://bugs.webkit.org/show_bug.cgi?id=170589
+
+        Reviewed by Tim Horton.
+
+        Provide access to DOM objects with PDF document. This mean:
+           1) Support a different set of attributes for WKPDFPluginAccessibilityObject.
+                WKPDFPluginAccessibilityObject is now a group instead of forwarding attribute calls to the pdf layer.
+           2) Connect the focused UI element to the active annotation if possible.
+           3) Mark the PDF associated nodes with an attribute so they can be identified later so their correct parent can be found.
+
+        * WebProcess/Plugins/PDF/PDFLayerControllerSPI.h:
+        * WebProcess/Plugins/PDF/PDFPlugin.h:
+        * WebProcess/Plugins/PDF/PDFPlugin.mm:
+        (-[WKPDFPluginAccessibilityObject pdfLayerController]):
+        (-[WKPDFPluginAccessibilityObject setPdfLayerController:]):
+        (-[WKPDFPluginAccessibilityObject convertRectToScreenSpace:]):
+        (-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
+        (-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
+        (-[WKPDFPluginAccessibilityObject accessibilityActionNames]):
+        (-[WKPDFPluginAccessibilityObject accessibilityParameterizedAttributeNames]):
+        (-[WKPDFPluginAccessibilityObject accessibilityFocusedUIElement]):
+        (-[WKPDFPluginAccessibilityObject accessibilityAssociatedControlForAnnotation:]):
+        (-[WKPDFPluginAccessibilityObject accessibilityHitTest:]):
+        (WebKit::PDFPlugin::convertFromRootViewToPDFView):
+        (WebKit::PDFPlugin::convertFromPDFViewToScreen):
+        (WebKit::PDFPlugin::pluginHandlesContentOffsetForAccessibilityHitTest):
+        (WebKit::PDFPlugin::axObjectCache):
+        (WebKit::PDFPlugin::accessibilityShadowPluginParentForElement):
+        * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
+        (WebKit::PDFPluginAnnotation::attach):
+        * WebProcess/Plugins/Plugin.h:
+        (WebKit::Plugin::accessibilityShadowPluginParentForElement):
+        (WebKit::Plugin::pluginHandlesContentOffsetForAccessibilityHitTest):
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::accessibilityShadowPluginParentForElement):
+        * WebProcess/Plugins/PluginView.h:
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
+        (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
+
+2017-04-11  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [GTK] Attach popup menu to web view widget
+        https://bugs.webkit.org/show_bug.cgi?id=145866
+
+        Use gtk_menu_attach_to_widget() to let GTK+ know that popup menus belong to a certain web view.
+        This improves the positioning choices that the toolkit can do, and solves a long-standing issue
+        that caused long popup menus to hang outside of the available display area under Wayland.
+
+        Based on a patch by Jonas Ådahl <jadahl@gmail.com>.
+
+        Reviewed by Carlos Garcia Campos.
+
+        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
+        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
+
+2017-04-10  Alex Christensen  <achristensen@webkit.org>
+
+        Revert r215217
+        https://bugs.webkit.org/show_bug.cgi?id=170703
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2017-04-10  Alex Christensen  <achristensen@webkit.org>
+
+        Continue enabling WebRTC
+        https://bugs.webkit.org/show_bug.cgi?id=170703
+
+        Reviewed by Youenn Fablet.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2017-04-10  Alex Christensen  <achristensen@webkit.org>
+
+        REGRESSION(r195479) First main resource load in new WebProcess bypasses content extensions
+        https://bugs.webkit.org/show_bug.cgi?id=170707
+        <rdar://problem/27788755>
+
+        Reviewed by Tim Horton.
+
+        We fix this by sending the UserContentController with the WebPageCreationParameters
+        instead of in a IPC message immediately following creation.  By the time the WebPage
+        receives its second message, it has already started loading the first main resource.
+        
+        I also changed all instances of calling ChildProcessProxy::connection() to send a message
+        in favor of calling ChildProcessProxy::send, which does the same thing except if a child
+        process has not started, it will put the message in a queue and send it when the process
+        is finished launching.  This was necessary because the UserContentController is now connected
+        to the process sooner, so there were some API tests that would try to send messages between
+        initiating a process launch and finishing a process launch, and this change preserves the
+        existing behavior in those cases.
+
+        * Shared/WebPageCreationParameters.cpp:
+        (WebKit::WebPageCreationParameters::encode):
+        (WebKit::WebPageCreationParameters::decode):
+        * Shared/WebPageCreationParameters.h:
+        * UIProcess/Databases/DatabaseProcessProxy.cpp:
+        (WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
+        (WebKit::DatabaseProcessProxy::didFinishLaunching):
+        * UIProcess/Downloads/DownloadProxy.cpp:
+        (WebKit::DownloadProxy::cancel):
+        (WebKit::DownloadProxy::canAuthenticateAgainstProtectionSpace):
+        (WebKit::DownloadProxy::willSendRequest):
+        (WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
+        * UIProcess/UserContent/WebUserContentControllerProxy.cpp:
+        (WebKit::WebUserContentControllerProxy::addProcess):
+        (WebKit::WebUserContentControllerProxy::addUserContentWorldUse):
+        (WebKit::WebUserContentControllerProxy::removeUserContentWorldUses):
+        (WebKit::WebUserContentControllerProxy::addUserScript):
+        (WebKit::WebUserContentControllerProxy::removeUserScript):
+        (WebKit::WebUserContentControllerProxy::removeAllUserScripts):
+        (WebKit::WebUserContentControllerProxy::addUserStyleSheet):
+        (WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
+        (WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
+        (WebKit::WebUserContentControllerProxy::addUserScriptMessageHandler):
+        (WebKit::WebUserContentControllerProxy::removeUserMessageHandlerForName):
+        (WebKit::WebUserContentControllerProxy::removeAllUserMessageHandlers):
+        (WebKit::WebUserContentControllerProxy::addContentExtension):
+        (WebKit::WebUserContentControllerProxy::removeContentExtension):
+        (WebKit::WebUserContentControllerProxy::removeAllContentExtensions):
+        * UIProcess/UserContent/WebUserContentControllerProxy.h:
+        * UIProcess/VisitedLinkStore.cpp:
+        (WebKit::VisitedLinkStore::removeAll):
+        (WebKit::VisitedLinkStore::pendingVisitedLinksTimerFired):
+        (WebKit::VisitedLinkStore::sendTable):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::finishInitializingWebPageAfterProcessLaunch):
+        (WebKit::WebPageProxy::creationParameters):
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::addWebUserContentControllerProxy):
+        * UIProcess/WebProcessProxy.h:
+        * WebProcess/UserContent/WebUserContentController.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::m_backgroundCPULimit):
+
+2017-04-10  Alex Christensen  <achristensen@webkit.org>
+
+        Add API to get available content extension identifiers in a WKContentExtensionStore
+        https://bugs.webkit.org/show_bug.cgi?id=170093
+
+        Reviewed by Geoffrey Garen.
+
+        * UIProcess/API/APIContentExtensionStore.cpp:
+        (API::constructedPathPrefix):
+        (API::constructedPathFilter):
+        (API::constructedPath):
+        (API::ContentExtensionStore::getAvailableContentExtensionIdentifiers):
+        * UIProcess/API/APIContentExtensionStore.h:
+        * UIProcess/API/Cocoa/WKContentExtensionStore.h:
+        * UIProcess/API/Cocoa/WKContentExtensionStore.mm:
+        (-[WKContentExtensionStore _compileContentExtensionForIdentifier:encodedContentExtension:completionHandler:releasesArgument:]):
+        (-[WKContentExtensionStore lookUpContentExtensionForIdentifier:completionHandler:]):
+        (-[WKContentExtensionStore getAvailableContentExtensionIdentifiers:]):
+        (-[WKContentExtensionStore removeContentExtensionForIdentifier:completionHandler:]):
+
+2017-04-10  Jeremy Jones  <jeremyj@apple.com>
+
+        Add CoreAudioCaptureSource.
+        https://bugs.webkit.org/show_bug.cgi?id=170112
+        rdar://problem/30293338
+
+        Reviewed by Tim Horton.
+
+        Add UseAVFoundationAudioCapture preference to switch back from the new default of CoreAudio.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetUseAVFoundationAudioCapture):
+        (WKPreferencesGetUseAVFoundationAudioCapture):
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+        (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
+        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
+        (WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2017-04-10  Brent Fulgham  <bfulgham@apple.com>
+
+        [WK2][macOS] Block access to Apple Events before launch.
+        https://bugs.webkit.org/show_bug.cgi?id=170626
+        <rdar://problem/16079334>
+
+        Reviewed by Alexey Proskuryakov.
+
+        Clear the environment of the AppleEvent server name before initializing
+        AppKit so we never bother connecting.
+
+        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
+        (main):
+
+2017-04-10  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [GTK] Misplaced right click menu on web page due to deprecated gtk_menu_popup()
+        https://bugs.webkit.org/show_bug.cgi?id=170553
+
+        Reviewed by Michael Catanzaro.
+
+        Use gtk_menu_popup_at_pointer() and gtk_menu_popup_at_rect() when building with GTK+ 3.22 or
+        newer. This allows the Wayland GTK+ backend to properly position popup menus, and also avoids
+        using functions which were deprecated starting at that GTK+ release.
+
+        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
+        (WebKit::WebContextMenuProxyGtk::show): Use gtk_menu_popup_at_pointer() as there is always a
+        pointer event that can be passed to it.
+        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
+        (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_popup_at_rect(), using the coordinates
+        of the control passed as reference rectangle. Some conditional code is needed because with newer
+        GTK+ versions a relative offset instead of an absolute position is needed.
+
+2017-04-10  Adrian Perez de Castro  <aperez@igalia.com>
+
+        [GTK] Opening a popup menu does not pre-select the active item
+        https://bugs.webkit.org/show_bug.cgi?id=170680
+
+        Reviewed by Michael Catanzaro.
+
+        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
+        (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use gtk_menu_shell_select_item() to
+        ensure that the active item appears selected right after popping up the menu.
+
+2017-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Enable DOM timer throttling and CSS animations suspension
+        https://bugs.webkit.org/show_bug.cgi?id=170669
+
+        Reviewed by Žan Doberšek.
+
+        * Shared/WebPreferencesDefinitions.h:
+
+2017-04-10  Chris Dumez  <cdumez@apple.com>
+
+        Drop Timer::startOneShot() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170659
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startOneShot() overload taking a double as people should use Seconds type now.
+
+        * NetworkProcess/PingLoad.h:
+        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+        (WebKit::NetworkDataTaskSoup::startTimeout):
+        * Platform/IPC/Connection.h:
+        * Platform/IPC/mac/ConnectionMac.mm:
+        (IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
+        (IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
+        (IPC::Connection::terminateSoon):
+        * PluginProcess/PluginProcess.cpp:
+        (WebKit::PluginProcess::setMinimumLifetime):
+        * PluginProcess/PluginProcess.h:
+        * Shared/ChildProcess.cpp:
+        (WebKit::ChildProcess::ChildProcess):
+        * Shared/ChildProcess.h:
+        (WebKit::ChildProcess::setTerminationTimeout):
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
+        (WebKit::CompositingRunLoop::startUpdateTimer):
+        * Shared/Plugins/PluginProcessCreationParameters.h:
+        * Shared/WebMemorySampler.cpp:
+        (WebKit::WebMemorySampler::initializeTimers):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
+        (API::SharedJSContext::ensureContext):
+        * UIProcess/ChildProcessProxy.cpp:
+        (WebKit::ChildProcessProxy::shutDownProcess):
+        * UIProcess/Cocoa/NavigationState.mm:
+        (WebKit::NavigationState::didChangeIsLoading):
+        * UIProcess/Cocoa/ViewGestureController.cpp:
+        (WebKit::ViewGestureController::SnapshotRemovalTracker::startWatchdog):
+        * UIProcess/Cocoa/ViewGestureController.h:
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
+        (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
+        (WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
+        * UIProcess/Gamepad/UIGamepadProvider.cpp:
+        * UIProcess/Plugins/PluginProcessProxy.cpp:
+        * UIProcess/ProcessThrottler.cpp:
+        * UIProcess/ResponsivenessTimer.cpp:
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::createNewWebProcess):
+        * UIProcess/gtk/GestureController.cpp:
+        (WebKit::GestureController::DragGesture::begin):
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
+        (WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeNow):
+        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
+        (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
+        * WebProcess/WebProcess.cpp:
+
+2017-04-09  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [WK2] Add infrastructure to perform actions after an asynchronous position information request finishes
+        https://bugs.webkit.org/show_bug.cgi?id=170658
+        <rdar://problem/31431450>
+
+        Reviewed by Tim Horton.
+
+        Introduces doAfterPositionInformationUpdate:forRequest:, which WKContentView can use internally to perform
+        an action requiring InteractionInformationAtPosition asynchronously. See below for additional details.
+
+        New API unit test: DataInteractionTests.UnresponsivePageDoesNotHangUI.
+
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _actionForLongPressFromPositionInformation:]):
+        (-[WKContentView _actionForLongPress]):
+        (-[WKContentView doAfterPositionInformationUpdate:forRequest:]):
+
+        If current position information satisfies the request, then perform the given block immediately; otherwise, we
+        save the block and request as a pair in a list of pending position information handlers, and then make a new
+        request to the web process for position information if the currently outgoing request does not already satisfy
+        the given request.
+
+        (-[WKContentView ensurePositionInformationIsUpToDate:]):
+
+        Fire all asynchronous position information handlers that are satisfied by the incoming position information.
+
+        (-[WKContentView requestAsynchronousPositionInformationUpdate:]):
+        (-[WKContentView _currentPositionInformationIsValidForRequest:]):
+        (-[WKContentView _hasValidOutstandingPositionInformationRequest:]):
+
+        Pulled out common logic for managing InteractionInformationRequests into separate helper methods.
+
+        (-[WKContentView _invokeAndRemovePendingHandlersValidForCurrentPositionInformation]):
+        (-[WKContentView gestureRecognizerShouldBegin:]):
+
+        Refactored to use ensurePositionInformationIsUpToDate:. There is no behavior change here, but it makes sure that
+        this particular request will also any valid pending position information handlers.
+
+        (-[WKContentView _positionInformationDidChange:]):
+
+        Fire all asynchronous position information handlers that are satisfied by the incoming position information.
+
+        (-[WKContentView pointIsInDataInteractionContent:]): Deleted.
+
+        We should no longer use this method, since it makes a synchronous request to the web process -- see
+        positionInformationMayStartDataInteraction.
+
+2017-04-09  Chris Dumez  <cdumez@apple.com>
+
+        Drop Timer::startRepeating() overload taking a double
+        https://bugs.webkit.org/show_bug.cgi?id=170656
+
+        Reviewed by Yusuke Suzuki.
+
+        Drop Timer::startRepeating() overload taking a double as people should use Seconds type now.
+
+        * Shared/WebMemorySampler.cpp:
+        (WebKit::WebMemorySampler::initializeTimers):
+        * UIProcess/Cocoa/ViewGestureController.cpp:
+        * UIProcess/HighPerformanceGraphicsUsageSampler.cpp:
+        * UIProcess/PerActivityStateCPUUsageSampler.cpp:
+        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+        (WebKit::NetscapePlugin::Timer::start):
+        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+        * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
+        (WebKit::CompositingCoordinator::scheduleReleaseInactiveAtlases):
+
+2017-04-09  Jon Lee  <jonlee@apple.com>
+
+        [WK2][iOS] Add CoreMedia entitlement for WebProcess
+        https://bugs.webkit.org/show_bug.cgi?id=170623
+        rdar://problem/30020073
+
+        Reviewed by Youenn Fablet.
+
+        * Configurations/WebContent-iOS.entitlements: Update entitlement to an array of strings instead of bool.
+
+2017-04-09  Chris Dumez  <cdumez@apple.com>
+
+        Start dropping Timer API dealing with double
+        https://bugs.webkit.org/show_bug.cgi?id=170649
+
+        Reviewed by Yusuke Suzuki.
+
+        Start dropping Timer API dealing with double as people should use Seconds now.
+
+        * NetworkProcess/NetworkDataTask.cpp:
+        (WebKit::NetworkDataTask::scheduleFailure):
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTaskCocoa::resume):
+        * PluginProcess/PluginControllerProxy.cpp:
+        (WebKit::PluginControllerProxy::destroy):
+        (WebKit::PluginControllerProxy::startPaintTimer):
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseScheduleUpdateActivityState):
+        * UIProcess/DrawingAreaProxy.cpp:
+        (WebKit::DrawingAreaProxy::setViewExposedRect):
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
+        * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
+        (WebKit::PluginInfoCache::updatePluginInfo):
+        * UIProcess/VisitedLinkStore.cpp:
+        (WebKit::VisitedLinkStore::addVisitedLinkHash):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::m_hiddenPageThrottlingAutoIncreasesCounter):
+        * UIProcess/gtk/GestureController.cpp:
+        (WebKit::GestureController::ZoomGesture::scaleChanged):
+        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
+        (WebKit::WebPopupMenuProxyGtk::menuUnmappedCallback):
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
+        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+        (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
+        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+        (WebKit::NetscapePluginStream::deliverDataToPlugin):
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::pendingURLRequestsTimerFired):
+        (WebKit::PluginView::loadURL):
+        * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
+        (WebKit::AcceleratedDrawingArea::exitAcceleratedCompositingModeSoon):
+        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
+        (WebKit::CoordinatedLayerTreeHost::scheduleLayerFlush):
+        * WebProcess/WebPage/DrawingAreaImpl.cpp:
+        (WebKit::DrawingAreaImpl::scheduleDisplay):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updateIsInWindow):
+        (WebKit::WebPage::addPluginView):
+        (WebKit::WebPage::setMayStartMediaWhenInWindow):
+        (WebKit::WebPage::didFinishLoad):
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+        (WebKit::TiledCoreAnimationDrawingArea::activityStateDidChange):
+
+2017-04-08  Chris Dumez  <cdumez@apple.com>
+
+        Drop std::chrono support from Timer class
+        https://bugs.webkit.org/show_bug.cgi?id=170645
+
+        Reviewed by Sam Weinig.
+
+        Drop std::chrono support from Timer class now that we prefer using Seconds type.
+
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::Throttle::Throttle):
+        (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
+        * NetworkProcess/NetworkProcess.h:
+        (WebKit::NetworkProcess::loadThrottleLatency):
+        * NetworkProcess/NetworkProcessCreationParameters.cpp:
+        * NetworkProcess/NetworkProcessCreationParameters.h:
+        * NetworkProcess/NetworkResourceLoadParameters.h:
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::startNetworkLoad):
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
+        * NetworkProcess/cache/NetworkCacheStatistics.cpp:
+        * NetworkProcess/cache/NetworkCacheStorage.cpp:
+        (WebKit::NetworkCache::Storage::dispatchReadOperation):
+        (WebKit::NetworkCache::Storage::store):
+        * Shared/CacheModel.cpp:
+        (WebKit::calculateMemoryCacheSizes):
+        * Shared/CacheModel.h:
+        * Shared/mac/RemoteLayerBackingStoreCollection.mm:
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::platformInitializeNetworkProcess):
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::maximumBufferingTime):
+        * WebProcess/Plugins/PluginView.cpp:
+        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
+        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlushImmediately):
+        (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::m_resourceLoadStatisticsStore):
+        (WebKit::WebProcess::setCacheModel):
+
+2017-04-08  Chris Dumez  <cdumez@apple.com>
+
+        Unreviewed attempt to fix GTK build after r215138.
+
+        * UIProcess/API/gtk/WebKitUIClient.cpp:
+
+2017-04-08  Youenn Fablet  <youenn@apple.com>
+
+        WebRTC tests gardening
+        https://bugs.webkit.org/show_bug.cgi?id=170508
+
+        Reviewed by Eric Carlson.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2017-04-08  Chris Dumez  <cdumez@apple.com>
+
+        Timer's nextFireInterval() / repeatInterval() should return Seconds
+        https://bugs.webkit.org/show_bug.cgi?id=170639
+
+        Reviewed by Simon Fraser.
+
+        Timer's nextFireInterval() / repeatInterval() should return Seconds, not double.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::layerVolatilityTimerFired):
+        (WebKit::WebPage::markLayersVolatile):
+
+2017-04-07  Alex Christensen  <achristensen@webkit.org>
+
+        Modernize WebPage.h
+        https://bugs.webkit.org/show_bug.cgi?id=170633
+
+        Reviewed by Joseph Pecoraro.
+
+        * UIProcess/API/APIUIClient.h:
+        (API::UIClient::createNewPage):
+        * UIProcess/API/C/WKPage.cpp:
+        (WebKit::RunBeforeUnloadConfirmPanelResultListener::create):
+        (WebKit::RunJavaScriptAlertResultListener::create):
+        (WebKit::RunJavaScriptConfirmResultListener::create):
+        (WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
+        (WebKit::RunJavaScriptPromptResultListener::create):
+        (WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
+        (WKPageSetPageUIClient):
+        * UIProcess/Cocoa/UIDelegate.h:
+        * UIProcess/Cocoa/UIDelegate.mm:
+        (WebKit::UIDelegate::UIClient::createNewPage):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::loadDataImpl):
+        (WebKit::WebPage::loadStringImpl):
+        (WebKit::WebPage::loadData):
+        (WebKit::WebPage::scaledSnapshotWithOptions):
+        (WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction):
+        (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
+        * WebProcess/WebPage/WebPage.h:
+
+2017-04-07  Alex Christensen  <achristensen@webkit.org>
+
+        Use audit_token_t instead of pid_t for checking sandbox of other processes
+        https://bugs.webkit.org/show_bug.cgi?id=170616
+        <rdar://problem/31158189>
+
+        Reviewed by Daniel Bates.
+
+        pid's can be reused, so it's theoretically unsafe to use the pid of another process to check whether it's sandboxed.
+        Use an audit_token_t instead to be more sure that we are not mistakenly checking a new process that has reused the
+        old process's pid. For the current process, though, we have no xpc_connection_t to the process because we are the process.
+
+        * PluginProcess/mac/PluginProcessMac.mm:
+        (WebKit::PluginProcess::initializeSandbox):
+        * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:
+        (WebKit::XPCServiceInitializerDelegate::isClientSandboxed):
+        * Shared/mac/SandboxUtilities.h:
+        * Shared/mac/SandboxUtilities.mm:
+        (WebKit::currentProcessIsSandboxed):
+        (WebKit::connectedProcessIsSandboxed):
+        (WebKit::processIsSandboxed): Deleted.
+        * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
+        (WebKit::WebProcessProxy::platformIsBeingDebugged):
+        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
+        (WebKit::PluginInfoStore::shouldUsePlugin):
+        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+        (WebKit::PluginProcessProxy::platformGetLaunchOptions):
+
+2017-04-07  Brent Fulgham  <bfulgham@apple.com>
+
+        [WK2][iOS] Add CoreMedia entitlement for WebProcess
+        https://bugs.webkit.org/show_bug.cgi?id=170623
+        <rdar://problem/30020073>
+
+        Reviewed by Youenn Fablet.
+
+        Add new "com.apple.tcc.delegated-services" entitlement to allow CoreMedia
+        to work properly in WebRTC.
+
+        * Configurations/WebContent-iOS.entitlements:
+
+2017-04-07  Alex Christensen  <achristensen@webkit.org>
+
+        Private browsing sessions should not look in keychain for client certificates
+        https://bugs.webkit.org/show_bug.cgi?id=170618
+        <rdar://problem/18457427>
+
+        Reviewed by Dan Bernstein.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (WebKit::configurationForSessionID):
+
+2017-04-07  Chris Dumez  <cdumez@apple.com>
+
+        We should log how much CPU a background process was using when killing it due to CPU limiting
+        https://bugs.webkit.org/show_bug.cgi?id=170619
+
+        Reviewed by Andreas Kling.
+
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::updateBackgroundCPUMonitorState):
+
+2017-04-07  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Missing conversion from window to content coordinates when adjusting unobscured content rects for input view
+        https://bugs.webkit.org/show_bug.cgi?id=170603
+
+        Reviewed by Simon Fraser.
+
+        Refactors -[WKContentView _computeUnobscuredContentRectRespectingInputViewBounds:unobscuredContentRect:inputViewBounds:scale:]
+        to convert the input view bounds into content coordinates instead of using the zoom scale to adjust the height of inputViewBounds.
+        Covered by the existing LayoutTest, fixed-element-on-bottom-with-keyboard.html.
+
+        * UIProcess/ios/WKContentView.mm:
+        (-[WKContentView _computeUnobscuredContentRectRespectingInputViewBounds:unobscuredContentRect:inputViewBounds:scale:]):
+
+2017-04-07  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        [GTK] Various build errors when plugin support is disabled
+        https://bugs.webkit.org/show_bug.cgi?id=170015
+
+        Reviewed by Carlos Garcia Campos.
+
+        * PluginProcess/unix/PluginControllerProxyUnix.cpp:
+        * UIProcess/API/gtk/WebKitWebsiteData.cpp:
+        (recordContainsSupportedDataTypes):
+        (toWebKitWebsiteDataTypes):
+        * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
+        (toWebsiteDataTypes):
+
+2017-04-07  John Wilander  <wilander@apple.com>
+
+        WebSocket streams should have network usage attributed to correct process
+        https://bugs.webkit.org/show_bug.cgi?id=170322
+        <rdar://problem/26413551>
+
+        Reviewed by Alex Christensen.
+
+        Changes here are due to the added WebCore::SourceApplicationAuditToken parameter
+        in WebCore::SocketStreamHandleImpl::create().
+        WebKit::NetworkSocketStream takes it and passes it on.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::createSocketStream):
+        * NetworkProcess/NetworkSocketStream.cpp:
+        (WebKit::NetworkSocketStream::create):
+        (WebKit::NetworkSocketStream::NetworkSocketStream):
+        * NetworkProcess/NetworkSocketStream.h:
+
+2017-04-07  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, fix missing return value warning
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::diagnosticLoggingKeyForSimulatedCrashReason):
+
+2017-04-07  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Update the priorities used in glib main loop sources
+        https://bugs.webkit.org/show_bug.cgi?id=170457
+
+        Reviewed by Žan Doberšek.
+
+        * Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
+        (WebKit::CompositingRunLoop::CompositingRunLoop):
+        * UIProcess/DrawingAreaProxyImpl.cpp:
+        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+        (WebKit::DrawingAreaProxyImpl::DrawingMonitor::DrawingMonitor):
+        * UIProcess/gtk/WaylandCompositor.cpp:
+        (WebKit::createWaylandLoopSource):
+        * WebProcess/WebPage/AcceleratedDrawingArea.cpp:
+        (WebKit::AcceleratedDrawingArea::AcceleratedDrawingArea):
+        * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
+        (WebKit::CompositingCoordinator::CompositingCoordinator):
+        * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
+        * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
+        (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
+        * WebProcess/WebPage/DrawingAreaImpl.cpp:
+        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
+
+2017-04-06  Alex Christensen  <achristensen@webkit.org>
+
+        Add WKContentExtensionStore.h and WKContentExtension.h to public WebKit.h
+        https://bugs.webkit.org/show_bug.cgi?id=170533
+
+        Reviewed by Daniel Bates.
+
+        * Shared/API/Cocoa/WebKit.h:
+        In r213696 I added two public headers.  All public headers in WebKit are included with
+        #import <WebKit/WebKit.h>
+
+2017-04-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Hangs when loading under SpeculativeLoad::shouldCaptureExtraNetworkLoadMetrics
+        https://bugs.webkit.org/show_bug.cgi?id=170575
+
+        Rubber-stamped by Brian Burg.
+
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
+        (WebKit::NetworkCache::SpeculativeLoad::shouldCaptureExtraNetworkLoadMetrics): Deleted.
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
+        m_networkLoad is a wrapper around `this` as the client, so we would infinite loop here.
+
+2017-04-06  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r214973.
+        https://bugs.webkit.org/show_bug.cgi?id=170578
+
+        Causes issues in Safari (Requested by bradee-oh on #webkit).
+
+        Reverted changeset:
+
+        "Refactor so WebsiteDataStores always have a StorageManager."
+        https://bugs.webkit.org/show_bug.cgi?id=170521
+        http://trac.webkit.org/changeset/214973
+
+2017-04-06  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r215046.
+
+        This change broke internal builds.
+
+        Reverted changeset:
+
+        "WebRTC tests gardening"
+        https://bugs.webkit.org/show_bug.cgi?id=170508
+        http://trac.webkit.org/changeset/215046
+
+2017-04-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Only Capture Extra Network Load Metrics when there is a Web Inspector Frontend
+        https://bugs.webkit.org/show_bug.cgi?id=170525
+
+        Reviewed by Youenn Fablet.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
+        Only collect extra metrics if the WebProcess this load is for has enabled
+        collecting extra metrics.
+
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::setCaptureExtraNetworkLoadMetricsEnabled):
+        * WebProcess/Network/WebLoaderStrategy.h:
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::setCaptureExtraNetworkLoadMetricsEnabled):
+        * NetworkProcess/NetworkConnectionToWebProcess.h:
+        (WebKit::NetworkConnectionToWebProcess::captureExtraNetworkLoadMetricsEnabled):
+        * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
+        New bool state toggled through the loader policy.
+
+        * NetworkProcess/NetworkDataTask.cpp:
+        (WebKit::NetworkDataTask::shouldCaptureExtraNetworkLoadMetrics):
+        * NetworkProcess/NetworkDataTask.h:
+        (WebKit::NetworkDataTaskClient::shouldCaptureExtraNetworkLoadMetrics):
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::shouldCaptureExtraNetworkLoadMetrics):
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/NetworkLoadClient.h:
+        (WebKit::NetworkLoadClient::shouldCaptureExtraNetworkLoadMetrics):
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::shouldCaptureExtraNetworkLoadMetrics):
+        * NetworkProcess/NetworkResourceLoader.h:
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
+        (WebKit::NetworkCache::SpeculativeLoad::shouldCaptureExtraNetworkLoadMetrics):
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
+        Default handling for network loads is to not include extra data. Thread
+        client messages back from the NetworkLoads / SpeculativeLoads to check
+        the NetworkConnectionToWebProcess state on whether or not we should collect
+        extra metrics.
+
+2017-04-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Show all headers in the Request Headers section of the Resource details sidebar
+        https://bugs.webkit.org/show_bug.cgi?id=16531
+        <rdar://problem/5712895>
+
+        Reviewed by Timothy Hatcher.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
+        Include a complete list of the request headers sent for this load.
+        There may be headers that WebCore did not know about and developer
+        tools should be informed of.
+
+2017-04-06  Anders Carlsson  <andersca@apple.com>
+
+        OptionSet options need to be powers of two
+        https://bugs.webkit.org/show_bug.cgi?id=170565
+
+        Reviewed by Chris Dumez.
+
+        Change Cache::Option to be powers of two.
+
+        * NetworkProcess/cache/NetworkCache.h:
+
 2017-04-06  Youenn Fablet  <youenn@apple.com>
 
         WebRTC tests gardening