[iOS] We should not take a background assertion for the UIProcess when app is MobileMail
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index 7019eda..8b1ba27 100644 (file)
+2017-04-28  Chris Dumez  <cdumez@apple.com>
+
+        [iOS] We should not take a background assertion for the UIProcess when app is MobileMail
+        https://bugs.webkit.org/show_bug.cgi?id=171435
+        <rdar://problem/31132330>
+
+        Reviewed by Geoffrey Garen.
+
+        Add SPI to disable taking on background process assertions in the UIProcess.
+        This is useful for MobileMail.
+
+        * UIProcess/API/APIProcessPoolConfiguration.cpp:
+        (API::ProcessPoolConfiguration::copy):
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration shouldTakeUIBackgroundAssertion]):
+        (-[_WKProcessPoolConfiguration setShouldTakeUIBackgroundAssertion:]):
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
+        * UIProcess/ProcessAssertion.h:
+        (WebKit::ProcessAssertion::setClient):
+        * UIProcess/ProcessThrottler.cpp:
+        (WebKit::ProcessThrottler::ProcessThrottler):
+        (WebKit::m_shouldTakeUIBackgroundAssertion):
+        (WebKit::ProcessThrottler::didConnectToProcess):
+        * UIProcess/ProcessThrottler.h:
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::WebProcessPool):
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::WebProcessProxy):
+
+2017-04-28  Chris Dumez  <cdumez@apple.com>
+
+        Unreviewed attempt to fix iOS build after r215943.
+
+        * Configurations/Base.xcconfig:
+
+2017-04-28  Andy Estes  <aestes@apple.com>
+
+        [macOS] WebPlaybackControlsManager needs to know when the selected text or audio track changes
+        https://bugs.webkit.org/show_bug.cgi?id=171434
+        <rdar://problem/31887922>
+
+        Reviewed by Eric Carlson.
+
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
+        (WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionIndex): Set
+        m_audioMediaSelectedIndex and notified clients.
+        (WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionIndex): Ditto for
+        m_legibleMediaSelectedIndex.
+        (WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionIndex): Called
+        WebPlaybackSessionModelContext::setAudioMediaSelectionIndex().
+        (WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionIndex): Called
+        WebPlaybackSessionModelContext::setLegibleMediaSelectionIndex().
+        * WebProcess/cocoa/WebPlaybackSessionManager.h:
+        * WebProcess/cocoa/WebPlaybackSessionManager.mm:
+        (WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionIndexChanged): Called
+        WebPlaybackSessionManager:: audioMediaSelectionIndexChanged().
+        (WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionIndexChanged): Called
+        WebPlaybackSessionManager::legibleMediaSelectionIndexChanged().
+        (WebKit::WebPlaybackSessionManager::audioMediaSelectionIndexChanged): Sent
+        WebPlaybackSessionManagerProxy::SetAudioMediaSelectionIndex().
+        (WebKit::WebPlaybackSessionManager::legibleMediaSelectionIndexChanged): Sent
+        WebPlaybackSessionManagerProxy::SetLegibleMediaSelectionIndex().
+
+2017-04-28  Brady Eidson  <beidson@apple.com>
+
+        Start of support for multiple WebsiteDataStore/SessionIDs per process
+        https://bugs.webkit.org/show_bug.cgi?id=171422
+
+        Reviewed by Geoffrey Garen.
+
+        * CMakeLists.txt:
+        * WebKit2.xcodeproj/project.pbxproj:
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::addWebsiteDataStore):
+        (WebKit::NetworkProcess::destroySession):
+        (WebKit::NetworkProcess::destroyPrivateBrowsingSession): Deleted.
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+
+        * NetworkProcess/RemoteNetworkingContext.h:
+        * NetworkProcess/mac/RemoteNetworkingContext.mm:
+        (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
+        * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
+        (WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
+
+        * Shared/WebsiteDataStoreParameters.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h.
+        (WebKit::WebsiteDataStoreParameters::WebsiteDataStoreParameters):
+        (WebKit::WebsiteDataStoreParameters::encode):
+        (WebKit::WebsiteDataStoreParameters::decode):
+        * Shared/WebsiteDataStoreParameters.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h.
+
+        * UIProcess/API/APIWebsiteDataStore.cpp:
+        (API::WebsiteDataStore::defaultDataStore):
+        (API::WebsiteDataStore::createLegacy):
+        (API::WebsiteDataStore::WebsiteDataStore):
+        (API::WebsiteDataStore::create): Deleted.
+        * UIProcess/API/APIWebsiteDataStore.h:
+
+        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
+        (-[WKWebsiteDataStore _initWithConfiguration:]):
+
+        * UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
+        (webkitWebsiteDataManagerCreate):
+        (webkitWebsiteDataManagerGetDataStore):
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::m_weakPtrFactory):
+        * UIProcess/WebPageProxy.h:
+
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::WebProcessPool):
+        (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
+        (WebKit::WebProcessPool::pageAddedToProcess):
+        (WebKit::WebProcessPool::pageRemovedFromProcess):
+
+        * UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
+        (WebKit::WebsiteDataStore::parameters):
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::create):
+        (WebKit::WebsiteDataStore::WebsiteDataStore):
+        (WebKit::WebsiteDataStore::~WebsiteDataStore):
+        (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
+        (WebKit::WebsiteDataStore::parameters):
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
+        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
+        (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
+        (WebKit::WebFrameNetworkingContext::storageSession):
+        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
+        (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
+        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h:
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::addWebsiteDataStore):
+        (WebKit::WebProcess::destroySession):
+        (WebKit::WebProcess::destroyPrivateBrowsingSession): Deleted.
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+
+2017-04-28  Youenn Fablet  <youenn@apple.com>
+
+        Adding a runtime flag specific to MediaDevices
+        https://bugs.webkit.org/show_bug.cgi?id=171433
+
+        Reviewed by Geoffrey Garen.
+
+        Adding a preference for MediaDevices.
+        Setting media devices runtime flag to false by default.
+        Setting peer connection and media stream flags to true by default.
+        Sending microphone sandbox extension based on media devices and not media stream flag.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetMediaDevicesEnabled):
+        (WKPreferencesGetMediaDevicesEnabled):
+        * UIProcess/API/C/WKPreferencesRef.h:
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
+        (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2017-04-28  Brady Eidson  <beidson@apple.com>
+
+        Teach WebProcessPool to track a map of SessionIDs to WebPageProxys to manage their lifetime
+        https://bugs.webkit.org/show_bug.cgi?id=171408
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/API/APIPageConfiguration.cpp:
+        (API::PageConfiguration::sessionID):
+        * UIProcess/API/APIPageConfiguration.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::reattachToWebProcess):
+        (WebKit::WebPageProxy::close):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::pageAddedToProcess):
+        (WebKit::WebProcessPool::pageRemovedFromProcess):
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::createWebPage):
+        (WebKit::WebProcessProxy::addExistingWebPage):
+        (WebKit::WebProcessProxy::removeWebPage):
+        * UIProcess/WebProcessProxy.h:
+
+2017-04-27  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Move UUID from WebCore/platform to WTF
+        https://bugs.webkit.org/show_bug.cgi?id=171372
+
+        Reviewed by Michael Catanzaro.
+
+        * UIProcess/Automation/WebAutomationSession.cpp:
+        (WebKit::WebAutomationSession::handleForWebPageProxy):
+        (WebKit::WebAutomationSession::handleForWebFrameID):
+        * UIProcess/gtk/WaylandCompositor.cpp:
+        * WebProcess/Automation/WebAutomationSessionProxy.cpp:
+        (WebKit::createUUID):
+        * WebProcess/Plugins/PDF/PDFPlugin.mm:
+        (WebKit::PDFPlugin::openWithNativeApplication):
+
+2017-04-27  Chris Dumez  <cdumez@apple.com>
+
+        Align colspan/rowspan limits with the latest HTML specification
+        https://bugs.webkit.org/show_bug.cgi?id=171322
+
+        Reviewed by Darin Adler.
+
+        GTK build fix.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableCellElement.cpp:
+        (webkit_dom_html_table_cell_element_get_col_span):
+        (webkit_dom_html_table_cell_element_set_col_span):
+
+2017-04-27  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        WKUIDelegatePrivate needs a hook to vend data used to initialize item providers for data interaction
+        https://bugs.webkit.org/show_bug.cgi?id=171386
+        <rdar://problem/31557237>
+
+        Reviewed by Beth Dakin.
+
+        Add a new WKUIDelegate hook, _webView:adjustedDataInteractionItemProvidersForItemProvider:representingObjects:additionalData:.
+
+        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+
+2017-04-27  Brady Eidson  <beidson@apple.com>
+
+        Refactor SessionID to support multiple non-ephemeral (persistent) sessions.
+        https://bugs.webkit.org/show_bug.cgi?id=171367
+
+        Reviewed by Andy Estes.
+
+        * Shared/ChildProcess.cpp:
+        (WebKit::ChildProcess::initialize): Child processes should never be generating new SessionIDs,
+          so enable generation protection.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::ArgumentCoder<SessionID>::encode): Deleted.
+        (IPC::ArgumentCoder<SessionID>::decode): Deleted.
+        * Shared/WebCoreArgumentCoders.h:
+
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::createNonPersistent):
+        (WebKit::generateNonPersistentSessionID): Deleted.
+
+2017-04-27  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        REGRESSION(r213764): Async decoding of animated images is disabled for ImageDocument
+        https://bugs.webkit.org/show_bug.cgi?id=170333
+
+        Reviewed by Simon Fraser.
+
+        Disbale the async decoding for large images for now.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2017-04-27  Brent Fulgham  <bfulgham@apple.com>
+
+        [WK2][macOS] Allow multi-touch related iokit-get-properties
+        https://bugs.webkit.org/show_bug.cgi?id=171355
+        <rdar://problem/31851928>
+
+        Reviewed by Alexey Proskuryakov.
+
+        During testing I've noticed Sandbox Violations being generated during some 'Force Touch' track pad use.
+        The sandbox should allow these IOKit properties to be accessed.
+
+        * WebProcess/com.apple.WebProcess.sb.in:
+
+2017-04-27  Alex Christensen  <achristensen@webkit.org>
+
+        Add stub SPI for setting cookie storage path on _WKWebsiteDataStoreConfiguration
+        https://bugs.webkit.org/show_bug.cgi?id=171399
+
+        Reviewed by Brady Eidson.
+
+        This SPI isn't hooked up yet, but it has a test that will need to be updated once it works.
+
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
+        (-[WKWebsiteDataStore _initWithConfiguration:]):
+        * UIProcess/API/Cocoa/_WKDraggableElementInfo.h:
+        * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
+        * UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm:
+        (-[_WKWebsiteDataStoreConfiguration _cookieStorageDirectory]):
+        (-[_WKWebsiteDataStoreConfiguration _setCookieStorageDirectory:]):
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+        (WebKit::WebsiteDataStore::resolvedCookieStorageDirectory):
+
+2017-04-27  Chris Dumez  <cdumez@apple.com>
+
+        Element.getBoundingClientRect() / getClientRects() should return a DOMRect types
+        https://bugs.webkit.org/show_bug.cgi?id=171226
+
+        Reviewed by Simon Fraser.
+
+        GTK build fix.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
+        (toClientRect):
+        (webkit_dom_element_get_bounding_client_rect):
+        (webkit_dom_element_get_client_rects):
+
+2017-04-27  Brady Eidson  <beidson@apple.com>
+
+        Update NetworkStorageSession to support multiple persistent sessions and explicitly set cookie storages.
+        https://bugs.webkit.org/show_bug.cgi?id=171365
+
+        Reviewed by Andy Estes.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
+
+2017-04-27  Alex Christensen  <achristensen@webkit.org>
+
+        Modernize Frame.h
+        https://bugs.webkit.org/show_bug.cgi?id=171357
+
+        Reviewed by Andy Estes.
+
+        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+        (WebKit::WebEditorClient::isSelectTrailingWhitespaceEnabled):
+        * WebProcess/WebCoreSupport/WebEditorClient.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::contextMenuAtPointInWindow):
+        (WebKit::handleContextMenuEvent):
+        (WebKit::WebPage::isSelectTrailingWhitespaceEnabled):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::selectWithGesture):
+        (WebKit::WebPage::selectPositionAtPoint):
+        (WebKit::WebPage::selectPositionAtBoundaryWithDirection):
+        (WebKit::WebPage::rangeForGranularityAtPoint):
+        (WebKit::WebPage::selectTextWithGranularityAtPoint):
+        (WebKit::WebPage::updateSelectionWithExtentPointAndBoundary):
+        (WebKit::WebPage::updateSelectionWithExtentPoint):
+
+2017-04-27  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Remote inspector should support inspecting targets with previous version of backend commands
+        https://bugs.webkit.org/show_bug.cgi?id=171267
+
+        Reviewed by Michael Catanzaro.
+
+        There's a FIXME for this in the code. The remote inspector proxy allows to pass a backend commands URL when
+        inspecting a target. That URL, if not empty, is used as Protocol/InspectorBackendCommands.js in the inspector
+        code instead of the local copy. We are currently assuming that both ends use the same version of that file.
+
+        * UIProcess/glib/RemoteInspectorClient.cpp:
+        (WebKit::RemoteInspectorProxy::load): Pass RemoteInspectorClient::backendCommandsURL() to load().
+        (WebKit::RemoteInspectorClient::setupConnection): Get the local backend commands hash and pass it to
+        SetupInspectorClient method. Extract the server backend commands from the result and call setBackendCommands().
+        (WebKit::RemoteInspectorClient::setBackendCommands): Create a data URL for the server backend commands file
+        conents if needed.
+        * UIProcess/glib/RemoteInspectorClient.h:
+        (WebKit::RemoteInspectorClient::backendCommandsURL):
+
+2017-04-26  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        WebItemProviderPasteboard should not synchronously load provided data
+        https://bugs.webkit.org/show_bug.cgi?id=171341
+        <rdar://problem/31614010>
+
+        Reviewed by Tim Horton.
+
+        Adds plumbing for updatePreferredTypeIdentifiers through the WebPasteboardProxy. This allows the web process to
+        signal to the UI process what UTIs the current drop target should accept and load. See WebCore ChangeLog for more
+        details.
+
+        * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
+        (WebKit::WebPasteboardProxy::updatePreferredTypeIdentifiers):
+        * UIProcess/WebPasteboardProxy.h:
+        * UIProcess/WebPasteboardProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::updatePreferredTypeIdentifiers):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2017-04-26  Youenn Fablet  <youenn@apple.com>
+
+        Unauthenticated CORS preflight requests should not use client certificates
+        https://bugs.webkit.org/show_bug.cgi?id=171298
+
+        Reviewed by Alex Christensen.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Ensuring that session dedicated to requests that do not want to use credentials do not look for client credentials.
+
+2017-04-26  Eric Carlson  <eric.carlson@apple.com>
+
+        The current page is given a muted state when starting a media stream on iOS.
+        https://bugs.webkit.org/show_bug.cgi?id=171290
+        <rdar://problem/31821427>
+
+        Reviewed by Jer Noble.
+
+        * UIProcess/UserMediaProcessManager.cpp:
+        (WebKit::UserMediaProcessManager::willEnableMediaStreamInPage): Don't mute the current
+        page on iOS either, that will prevent the new media stream from playing.
+
+2017-04-26  Alex Christensen  <achristensen@webkit.org>
+
+        Make user script injection more robust
+        https://bugs.webkit.org/show_bug.cgi?id=171339
+        <rdar://problem/30643691>
+
+        Reviewed by Geoffrey Garen.
+
+        * WebProcess/UserContent/WebUserContentController.cpp:
+        (WebKit::WebUserContentController::forEachUserScript):
+        (WebKit::WebUserContentController::forEachUserStyleSheet):
+        (WebKit::WebUserContentController::forEachUserMessageHandler):
+        * WebProcess/UserContent/WebUserContentController.h:
+
+2017-04-26  Zalan Bujtas  <zalan@apple.com>
+
+        RTL: recent searches popover is displayed in incorrect location
+        https://bugs.webkit.org/show_bug.cgi?id=171338
+        <rdar://problem/31377807>
+
+        Reviewed by Dean Jackson.
+
+        Add RTL support for the pop-under branch.
+
+        * UIProcess/mac/WebPopupMenuProxyMac.mm:
+        (WebKit::WebPopupMenuProxyMac::showPopupMenu):
+
+2017-04-26  Antti Koivisto  <antti@apple.com>
+
+        Enable expired-only reload policy on Mac and iOS
+        https://bugs.webkit.org/show_bug.cgi?id=171264
+        <rdar://problem/31807637>
+
+        Reviewed by Andreas Kling.
+
+        Enable the reload policy where only expired subresources are revalidated on Mac and iOS.
+        The behavor is enabled in Safari and for other clients based on SDK version check.
+
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageReload):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView reload]):
+        * UIProcess/Cocoa/VersionChecks.h:
+
+2017-04-26  Andy Estes  <aestes@apple.com>
+
+        [macOS] Add picture-in-picture support to WebPlaybackControlsManager
+        https://bugs.webkit.org/show_bug.cgi?id=171328
+        <rdar://problem/29875010>
+
+        Reviewed by Jer Noble.
+
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
+        * UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
+        (WebKit::WebPlaybackSessionModelContext::togglePictureInPicture): Added. Calls
+        WebPlaybackSessionManagerProxy::togglePictureAndPicture().
+        (WebKit::WebPlaybackSessionManagerProxy::togglePictureInPicture): Added. Sends
+        TogglePictureInPicture to WebPlaybackSessionManager.
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::updateMediaTouchBar): Called
+        -[WebPlaybackControlsManager setAllowsPictureInPicturePlayback:YES] if
+        WebPreferences::allowsPictureInPictureMediaPlayback() is true.
+        * WebProcess/cocoa/WebPlaybackSessionManager.h:
+        * WebProcess/cocoa/WebPlaybackSessionManager.messages.in:
+        * WebProcess/cocoa/WebPlaybackSessionManager.mm:
+        (WebKit::WebPlaybackSessionManager::togglePictureInPicture): Added. Sets a
+        UserGestureIndicator and calls WebPlaybackSessionModel::togglePictureInPicture().
+
+2017-04-26  Tim Horton  <timothy_horton@apple.com>
+
+        WebKit calls AppKit NSCell API from a background queue
+        https://bugs.webkit.org/show_bug.cgi?id=171318
+        <rdar://problem/31798317>
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/mac/ServicesController.mm:
+        (WebKit::ServicesController::refreshExistingServices):
+        Synchronously bounce to the main thread to do non-thread-safe NSCell related work.
+
+2017-04-25  Alex Christensen  <achristensen@webkit.org>
+
+        Encoded filename should be decoded for WKContentExtension.identifier
+        https://bugs.webkit.org/show_bug.cgi?id=171316
+
+        Reviewed by Andy Estes.
+
+        * UIProcess/API/APIContentExtensionStore.cpp:
+        (API::createExtension):
+        (API::ContentExtensionStore::lookupContentExtension):
+        (API::ContentExtensionStore::getAvailableContentExtensionIdentifiers):
+
+2017-04-26  Andrew Gold  <agold@apple.com>
+
+        Move mediaCaptureEnabled from WKWebViewConfiguration to WKPreferences
+        https://bugs.webkit.org/show_bug.cgi?id=171294
+
+        Reviewed by Eric Carlson.
+
+        Since we now want the ability to toggle this setting dynamically, I have
+        moved it from WKWebViewConfiguration to WKPreferences.
+
+        * UIProcess/API/Cocoa/WKPreferences.mm:
+        (-[WKPreferences _mediaStreamEnabled]):
+        (-[WKPreferences _setMediaStreamEnabled:]):
+
+        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _initializeWithConfiguration:]): No longer set mediaStream enabled from
+        the configuration.
+
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration copyWithZone:]):
+        (-[WKWebViewConfiguration _mediaStreamEnabled]): Deleted.
+        (-[WKWebViewConfiguration _setMediaStreamEnabled:]): Deleted.
+        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+
+2017-04-25  Alex Christensen  <achristensen@webkit.org>
+
+        REGRESSION(206450): WebKit2PlatformMouseEvent m_modifierFlags not set
+        https://bugs.webkit.org/show_bug.cgi?id=171297
+        <rdar://problem/31530719>
+
+        Reviewed by Geoffrey Garen.
+
+        * Shared/WebEventConversion.cpp:
+        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
+
+2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Unreviewed, speculative build fix
+
+        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+
+        For the time being, remove all references to UIItemProviders from this private header.
+        This should be fixed to use unavailability macros in a followup. See <rdar://problem/31827095>.
+
+2017-04-25  Brent Fulgham  <bfulgham@apple.com>
+
+        Limit allowed size of document.title to avoid locking WebKit clients
+        https://bugs.webkit.org/show_bug.cgi?id=165113
+        <rdar://problem/28324389>
+
+        Reviewed by Darin Adler.
+
+        When a web application attempts to set an extremely long title, truncate the
+        title to a more reasonable size.
+
+        We do this at at the presentation layer, rather than in the DOM, so that we do
+        not affect script function. Instead, we merely limit display to a level that is
+        reasonable for normal GUI widgets. Anything else needs to be truncated in the UI
+        layer, so it is a waste of effort to send across IPC.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2017-04-25  John Wilander  <wilander@apple.com>
+
+        Resource Load Statistics: Introduce shorter time-to-live for cookie partition whitelisting
+        https://bugs.webkit.org/show_bug.cgi?id=171295
+        <rdar://problem/31823818>
+
+        Reviewed by Brent Fulgham.
+
+        * UIProcess/API/C/WKResourceLoadStatisticsManager.cpp:
+        (WKResourceLoadStatisticsManagerSetTimeToLiveCookiePartitionFree):
+        (WKResourceLoadStatisticsManagerFireShouldPartitionCookiesHandler):
+        (WKResourceLoadStatisticsManagerFireShouldPartitionCookiesHandlerForOneDomain):
+            Changes and additions to test infrastructure.
+        * UIProcess/API/C/WKResourceLoadStatisticsManager.h:
+        * UIProcess/WebResourceLoadStatisticsManager.cpp:
+        (WebKit::WebResourceLoadStatisticsManager::setTimeToLiveCookiePartitionFree):
+        (WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandler):
+        (WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandlerForOneDomain):
+        (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState):
+            Changes and additions to test infrastructure.
+        * UIProcess/WebResourceLoadStatisticsManager.h:
+        * UIProcess/WebResourceLoadStatisticsStore.cpp:
+        (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
+            No longer sends a boolean parameter to
+            WebCore::ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
+
+2017-04-25  Simon Fraser  <simon.fraser@apple.com>
+
+        REGRESSION (r213719): WebGL content on cubeslam.com is 1/4 expected size
+        https://bugs.webkit.org/show_bug.cgi?id=171300
+        rdar://problem/31051538
+
+        Reviewed by Dean Jackson.
+
+        Propagating the contentsScale to the UI process for canvas content layers causes
+        scaling issues, so don't do it for contents-provided layers.
+        
+        No test because WebGL can't be tested in the iOS simulator.
+
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
+        (WebKit::PlatformCALayerRemote::PlatformCALayerRemote):
+
+2017-04-25  Brady Eidson  <beidson@apple.com>
+
+        Update WebProcess(Pool) to assume there's always a WebsiteDataStore
+        https://bugs.webkit.org/show_bug.cgi?id=171299
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::reattachToWebProcess):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::createNewWebProcess):
+        (WebKit::WebProcessPool::warmInitialProcess):
+        (WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
+        (WebKit::WebProcessPool::createWebPage):
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::create):
+        (WebKit::WebProcessProxy::WebProcessProxy):
+        (WebKit::m_userMediaCaptureManagerProxy):
+        * UIProcess/WebProcessProxy.h:
+        (WebKit::WebProcessProxy::websiteDataStore):
+
+2017-04-25  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r215730.
+
+        The LayoutTest for this change is a flaky timeout on mac-wk1
+        debug.
+
+        Reverted changeset:
+
+        "Enable expired-only reload policy on Mac and iOS"
+        https://bugs.webkit.org/show_bug.cgi?id=171264
+        http://trac.webkit.org/changeset/215730
+
+2017-04-24  Matt Rajca  <mrajca@apple.com>
+
+        Indicate presence of audio when handling autoplay events.
+        https://bugs.webkit.org/show_bug.cgi?id=171227
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/API/APIUIClient.h:
+        (API::UIClient::handleAutoplayEvent):
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetPageUIClient):
+        * UIProcess/API/C/WKPageUIClient.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::handleAutoplayEvent):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::handleAutoplayEvent):
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2017-04-25  Daniel Bates  <dabates@apple.com>
+
+        [Cocoa][Win] Enable of X-Content-Type-Options: nosniff header
+        https://bugs.webkit.org/show_bug.cgi?id=136452
+        <rdar://problem/23412620>
+
+        Reviewed by Brent Fulgham.
+
+        Enable X-Content-Type-Options: nosniff on Mac, iOS and Windows platforms.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2017-04-25  John Wilander  <wilander@apple.com>
+
+        Resource Load Statistics: Clear network process cache when clearing store
+        https://bugs.webkit.org/show_bug.cgi?id=171256
+        <rdar://problem/31802347>
+
+        Reviewed by Brent Fulgham.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::shouldPartitionCookiesForTopPrivatelyOwnedDomains):
+            Now takes and passes on the boolean parameter clearFirst to
+            WebCore::NetworkStorageSession::setShouldPartitionCookiesForHosts().
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/NetworkProcess.messages.in:
+            The message ShouldPartitionCookiesForTopPrivatelyOwnedDomains now
+            takes the boolean parameter clearFirst.
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::shouldPartitionCookiesForTopPrivatelyOwnedDomains):
+            Now takes and passes on the boolean parameter clearFirst to
+            Messages::NetworkProcess::ShouldPartitionCookiesForTopPrivatelyOwnedDomains.
+        * UIProcess/Network/NetworkProcessProxy.h:
+        * UIProcess/Network/NetworkProcessProxy.messages.in:
+            The message ShouldPartitionCookiesForTopPrivatelyOwnedDomains now
+            takes the boolean parameter clearFirst.
+        * UIProcess/WebResourceLoadStatisticsManager.cpp:
+        (WebKit::WebResourceLoadStatisticsManager::fireShouldPartitionCookiesHandler):
+            Now uses the boolean parameter clearFirst when calling
+            WebCore::ResourceLoadObserver::fireShouldPartitionCookiesHandler().
+        (WebKit::WebResourceLoadStatisticsManager::clearInMemoryAndPersistentStore):
+            No longer uses the deleted store getter.
+        (WebKit::WebResourceLoadStatisticsManager::resetToConsistentState):
+            No longer uses the deleted store getter.
+        * UIProcess/WebResourceLoadStatisticsStore.cpp:
+        (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
+            No sends the boolean parameter clearFirst to
+            ResourceLoadStatisticsStore::fireShouldPartitionCookiesHandler().
+        (WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
+            Now expects a handler with the boolean parameter clearFirst.
+        (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
+        * UIProcess/WebResourceLoadStatisticsStore.h:
+            Now uses the new WebCore::ResourceLoadObserver::clearInMemoryStore().
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::shouldPartitionCookiesForTopPrivatelyOwnedDomains):
+            Now takes and passes on the boolean parameter clearFirst in its
+            message to the network process.
+        (WebKit::WebsiteDataStore::registerSharedResourceLoadObserver):
+            Now expects a handler with the boolean parameter clearFirst.
+        * UIProcess/WebsiteData/WebsiteDataStore.h:
+
+2017-04-25  Chris Dumez  <cdumez@apple.com>
+
+        Content-Disposition header filename is ignored when 'download' attribute is specified in HTML
+        https://bugs.webkit.org/show_bug.cgi?id=171239
+        <rdar://problem/31789855>
+
+        Reviewed by Alex Christensen.
+
+        Content-Disposition header filename is ignored when 'download' attribute is specified in HTML.
+        This is not as per HTML specification:
+        - https://html.spec.whatwg.org/#as-a-download (Step 2)
+
+        Content-Disposition header filename is supposed to override the value of the download attribute.
+
+        Firefox and Chrome follow the specification.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::findPendingDownloadLocation):
+        * UIProcess/Downloads/DownloadProxy.cpp:
+        (WebKit::DownloadProxy::didReceiveResponse):
+
+2017-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Add WebKitInspectorWindow to create inspector windows from local and remote inspector
+        https://bugs.webkit.org/show_bug.cgi?id=171261
+
+        Reviewed by Michael Catanzaro.
+
+        The code is currently duplicated in WebInspectorProxyGtk.cpp and RemoteWebInspectorProxyGtk.cpp. We can simplify
+        it by using a common widget in both places.
+        This patch also fixes the build when using GTK+ < 3.16.
+
+        * PlatformGTK.cmake:
+        * UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp:
+        (WebKit::RemoteWebInspectorProxy::updateWindowTitle):
+        (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
+        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
+        (WebKit::WebInspectorProxy::createInspectorWindow):
+        (WebKit::WebInspectorProxy::updateInspectorWindowTitle):
+        * UIProcess/gtk/WebKitInspectorWindow.cpp: Added.
+        (webkit_inspector_window_class_init):
+        (webkit_inspector_window_init):
+        (webkitInspectorWindowNew):
+        (webkitInspectorWindowSetSubtitle):
+        * UIProcess/gtk/WebKitInspectorWindow.h: Added.
+
+2017-04-25  Antti Koivisto  <antti@apple.com>
+
+        Enable expired-only reload policy on Mac and iOS
+        https://bugs.webkit.org/show_bug.cgi?id=171264
+        <rdar://problem/31807637>
+
+        Reviewed by Andreas Kling.
+
+        Enable the reload policy where only expired subresources are revalidated on Mac and iOS.
+        The behavor is enabled in Safari and for other clients based on SDK version check.
+
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageReload):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView reload]):
+        * UIProcess/Cocoa/VersionChecks.h:
+
+2017-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Support reading NSURL titles from the pasteboard when performing data interaction
+        https://bugs.webkit.org/show_bug.cgi?id=171156
+        <rdar://problem/31356937>
+
+        Reviewed by Tim Horton.
+
+        Adjust for interface changes in WebCore to support plumbing the title of an NSURL from the platform pasteboard
+        back to WebCore. Additionally, implement WebEditorClient::hasRichlyEditableSelection (which previously returned
+        false) to check whether the current selection is richly editable, or the drop caret is in richly editable content.
+        See WebCore ChangeLog for more details.
+
+        * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
+        (WebKit::WebPasteboardProxy::readURLFromPasteboard):
+        * UIProcess/WebPasteboardProxy.h:
+        * UIProcess/WebPasteboardProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::readURLFromPasteboard):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+        * WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
+        (WebKit::WebEditorClient::hasRichlyEditableSelection):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::hasRichlyEditableSelection):
+        * WebProcess/WebPage/WebPage.h:
+
+2017-04-24  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Respect fidelity order when reading web content from item providers
+        https://bugs.webkit.org/show_bug.cgi?id=171155
+        <rdar://problem/31356937>
+
+        Reviewed by Tim Horton.
+
+        Adjusts for changes in WebCore by adding plumbing to support Pasteboard::getTypesByFidelityForItemAtIndex. See
+        WebCore/ChangeLog for more details.
+
+        * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
+        (WebKit::WebPasteboardProxy::getPasteboardTypesByFidelityForItemAtIndex):
+        * UIProcess/WebPasteboardProxy.h:
+        * UIProcess/WebPasteboardProxy.messages.in:
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::getTypesByFidelityForItemAtIndex):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
+
+2017-04-24  Brady Eidson  <beidson@apple.com>
+
+        WebProcessPools should always have a WebsiteDataStore
+        https://bugs.webkit.org/show_bug.cgi?id=171252
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/API/APIWebsiteDataStore.cpp:
+        (API::WebsiteDataStore::registerSharedResourceLoadObserver): Deleted.
+        * UIProcess/API/APIWebsiteDataStore.h:
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextGetWebsiteDataStore):
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::platformInitialize):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::WebProcessPool):
+        (WebKit::WebProcessPool::createWebPage):
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+        (WebKit::WebsiteDataStore::isAssociatedProcessPool):
+
+2017-04-24  Youenn Fablet  <youenn@apple.com>
+
+        Set defaults video getUserMedia constraints
+        https://bugs.webkit.org/show_bug.cgi?id=171127
+
+        Reviewed by Eric Carlson.
+
+        Updated to cope with MediaStreamConstraintsImpl refactoring.
+
+        * UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
+        (WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
+        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
+        (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
+
+2017-04-24  Chris Dumez  <cdumez@apple.com>
+
+        Allow tabs with capturing audio or video to exceed background CPU limit
+        https://bugs.webkit.org/show_bug.cgi?id=171249
+        <rdar://problem/31796314>
+
+        Reviewed by Geoffrey Garen.
+
+        Allow tabs with capturing audio or video to exceed background CPU limit as this
+        is a legit case of potentially high background CPU use.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::didExceedBackgroundCPULimit):
+
+2017-04-24  Andy Estes  <aestes@apple.com>
+
+        Try to fix the 32-bit macOS build.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+
+2017-04-24  Andy Estes  <aestes@apple.com>
+
+        [macOS] Enable media selection button on AVTouchBarScrubber
+        https://bugs.webkit.org/show_bug.cgi?id=171149
+        <rdar://problem/29875010>
+
+        Reviewed by Beth Dakin.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::updateMediaTouchBar):
+
+2017-04-24  Alex Christensen  <achristensen@webkit.org>
+
+        Reduce copies and allocations in SharedBuffer::append
+        https://bugs.webkit.org/show_bug.cgi?id=170956
+
+        Reviewed by Andreas Kling.
+
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
+        * Platform/IPC/DataReference.cpp:
+        (IPC::SharedBufferDataReference::encode):
+        * Shared/ShareableResource.cpp:
+        (WebKit::ShareableResource::wrapInSharedBuffer):
+        * UIProcess/API/Cocoa/WKURLSchemeHandlerTask.mm:
+        (-[WKURLSchemeHandlerTaskImpl didReceiveData:]):
+        * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
+        (-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]):
+        * WebProcess/Plugins/PDF/PDFPlugin.mm:
+        (WebKit::PDFPlugin::addArchiveResource):
+        (WebKit::PDFPlugin::liveResourceData):
+        (WebKit::PDFPlugin::writeItemsToPasteboard):
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::redeliverManualStream):
+        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+        (WebKit::WebDragClient::declareAndWriteDragImage):
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::cachedResponseDataForURL):
+
+2017-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Switch to use ENABLE_REMOTE_INSPECTOR instead of ENABLE_INSPECTOR_SERVER for the remote inspector
+        https://bugs.webkit.org/show_bug.cgi?id=166680
+
+        Reviewed by Michael Catanzaro.
+
+        Remove INSPECTOR_SERVER code and add new classes to implement REMOTE_INSPECTOR. The WebKitWebContext registers a
+        custom protocol "inspector" that loads a page with the list of debuggable targets.
+
+        * PlatformGTK.cmake: Add new files to compilation and remove the old ones.
+        * UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml: Removed.
+        * UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.cpp: Added.
+        (WebKit::RemoteInspectorProtocolHandler::RemoteInspectorProtocolHandler):
+        (WebKit::RemoteInspectorProtocolHandler::~RemoteInspectorProtocolHandler):
+        (WebKit::RemoteInspectorProtocolHandler::webViewDestroyed):
+        (WebKit::RemoteInspectorProtocolHandler::userContentManagerDestroyed):
+        (WebKit::RemoteInspectorProtocolHandler::handleRequest):
+        (WebKit::RemoteInspectorProtocolHandler::inspect):
+        (WebKit::RemoteInspectorProtocolHandler::targetListChanged):
+        (WebKit::RemoteInspectorProtocolHandler::connectionClosed):
+        * UIProcess/API/gtk/WebKitRemoteInspectorProtocolHandler.h: Added.
+        * UIProcess/API/gtk/WebKitWebContext.cpp:
+        (webkitWebContextConstructed):
+        * UIProcess/InspectorServer/HTTPRequest.cpp: Add missing ENABLE(INSPECTOR_SERVER) ifdefs.
+        * UIProcess/InspectorServer/HTTPRequest.h:
+        * UIProcess/InspectorServer/WebInspectorServer.h:
+        * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Removed.
+        * UIProcess/RemoteWebInspectorProxy.cpp:
+        * UIProcess/RemoteWebInspectorProxy.h:
+        * UIProcess/WebProcessPool.cpp:
+        * UIProcess/glib/RemoteInspectorClient.cpp: Added.
+        (WebKit::RemoteInspectorClient::RemoteInspectorClient):
+        (WebKit::RemoteInspectorClient::~RemoteInspectorClient):
+        (WebKit::dbusConnectionCallAsyncReadyCallback):
+        (WebKit::RemoteInspectorClient::connectionClosedCallback):
+        (WebKit::RemoteInspectorClient::setupConnection):
+        (WebKit::RemoteInspectorClient::connectionClosed):
+        (WebKit::RemoteInspectorClient::inspect):
+        (WebKit::RemoteInspectorClient::sendMessageToBackend):
+        (WebKit::RemoteInspectorClient::closeFromFrontend):
+        (WebKit::RemoteInspectorClient::setTargetList):
+        (WebKit::RemoteInspectorClient::sendMessageToFrontend):
+        * UIProcess/glib/RemoteInspectorClient.h: Added.
+        (WebKit::RemoteInspectorObserver::~RemoteInspectorObserver):
+        (WebKit::RemoteInspectorClient::targets):
+        (WebKit::RemoteInspectorClient::hostAndPort):
+        * UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp: Added.
+        (WebKit::RemoteWebInspectorProxy::updateWindowTitle):
+        (WebKit::inspectorViewDestroyed):
+        (WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
+        (WebKit::RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow):
+        (WebKit::RemoteWebInspectorProxy::platformBringToFront):
+        (WebKit::RemoteWebInspectorProxy::platformSave):
+        (WebKit::RemoteWebInspectorProxy::platformAppend):
+        (WebKit::RemoteWebInspectorProxy::platformStartWindowDrag):
+        (WebKit::RemoteWebInspectorProxy::platformOpenInNewTab):
+        * UIProcess/gtk/WebProcessPoolGtk.cpp:
+        (WebKit::initializeRemoteInspectorServer):
+        (WebKit::WebProcessPool::platformInitialize):
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
+        (didReceiveMessageToPage): Updated after the GRefPtr hash traitds changes.
+        * config.h:
+
+2017-04-23  Dan Bernstein  <mitz@apple.com>
+
+        [macOS] WKWebInspectorProxyObjCAdapter has a public ivar
+        https://bugs.webkit.org/show_bug.cgi?id=171200
+
+        Reviewed by Geoffrey Garen.
+
+        * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Made ivar private.
+
+2017-04-23  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r215657 and r215676.
+        https://bugs.webkit.org/show_bug.cgi?id=171201
+
+        Broke the build (Requested by ap on #webkit).
+
+        Reverted changesets:
+
+        "[macOS] Enable media selection button on AVTouchBarScrubber"
+        https://bugs.webkit.org/show_bug.cgi?id=171149
+        http://trac.webkit.org/changeset/215657
+
+        "Build fix after r215657."
+        http://trac.webkit.org/changeset/215676
+
+2017-04-23  Alexey Proskuryakov  <ap@apple.com>
+
+        Build fix after r215657.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+
 2017-04-23  Andy Estes  <aestes@apple.com>
 
         [macOS] AVTouchBarMediaSelectionOptions should be created with the correct type