Provide a viewport parameter to disable clipping to the safe area
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index 3612bfb..5ca7fe0 100644 (file)
@@ -1,3 +1,956 @@
+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