Unreviewed, rolling out r207557.
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index d642a3f..744dbbd 100644 (file)
+2016-10-19  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r207557.
+
+        This change caused animations/font-variations tests to time
+        out on pre-Sierra Macs.
+
+        Reverted changeset:
+
+        "[macOS] [iOS] Disable variation fonts on macOS El Capitan and
+        iOS 9"
+        https://bugs.webkit.org/show_bug.cgi?id=163374
+        http://trac.webkit.org/changeset/207557
+
+2016-10-19  Andy Estes  <aestes@apple.com>
+
+        Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
+        https://bugs.webkit.org/show_bug.cgi?id=163476
+        <rdar://problem/26941395>
+
+        Reviewed by Andreas Kling.
+
+        When custom content providers are registered and a response has a null MIME type, WebPage
+        will pass a null String to HashSet::contains(). This results in a null pointer dereference,
+        since the String hash functions do not support null Strings and unconditionally dereference
+        their StringImpls. Fixed by checking that Strings are non-null before calling
+        HashSet::contains() on m_mimeTypesWithCustomContentProviders.
+
+        New API test: WebKit2.LoadDataWithNilMIMEType.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::shouldUseCustomContentProviderForResponse): Checked if mimeType is null
+        before calling m_mimeTypesWithCustomContentProviders.contains().
+        (WebKit::WebPage::canShowMIMEType): Ditto.
+        * WebProcess/WebPage/WebPage.h: Made private the declaration of canPluginHandleResponse().
+
+2016-10-19  Chris Dumez  <cdumez@apple.com>
+
+        Move HTML Interactive Form Validation behind an experimental flag
+        https://bugs.webkit.org/show_bug.cgi?id=163673
+
+        Reviewed by Daniel Bates.
+
+        Move HTML Interactive Form Validation behind an experimental feature flag
+        and disable by default until by have a better UI.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+
+2016-10-19  Damian Kaleta  <dkaleta@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=163292
+
+        Reviewed by Brady Eidson.
+        
+        Added ability to display context menu asynchronously.
+
+        * Shared/API/APIObject.h: Added ContextMenuListener.
+        * Shared/API/c/WKBase.h: Added WKContextMenuListenerRef struct.
+        * UIProcess/API/APIContextMenuClient.h:
+        (API::ContextMenuClient::getContextMenuFromProposedMenuAsync): New method that allows showing context menu asynchronously.
+        * UIProcess/API/C/WKAPICast.h: Added a new mapping for WebContextMenuListenerProxy.
+        * UIProcess/API/C/WKContextMenuListener.cpp: Added. New class that allow a client to return results asynchronously.
+        (WKContextMenuListenerGetTypeID):
+        (WKContextMenuListenerUseContextMenuItems):
+        * UIProcess/API/C/WKContextMenuListener.h: Added.
+        * UIProcess/API/C/WKPage.cpp: Added WKPageContextMenuClientV4.
+        (WKPageSetPageContextMenuClient):
+        * UIProcess/API/C/WKPageContextMenuClient.h:
+        * UIProcess/WebContextMenuListenerProxy.cpp: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
+        (WebKit::WebContextMenuListenerProxy::WebContextMenuListenerProxy):
+        (WebKit::WebContextMenuListenerProxy::~WebContextMenuListenerProxy):
+        (WebKit::WebContextMenuListenerProxy::useContextMenuItems): Passes items to m_contextMenuMac.
+        (WebKit::WebContextMenuListenerProxy::invalidate):
+        * UIProcess/WebContextMenuListenerProxy.h: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
+        (WebKit::WebContextMenuListenerProxy::create):
+        * UIProcess/mac/WebContextMenuProxyMac.h:
+        * UIProcess/mac/WebContextMenuProxyMac.mm:
+        (WebKit::WebContextMenuProxyMac::showContextMenuWithItems): Shows context menu.
+        (WebKit::WebContextMenuProxyMac::showContextMenu): Extracted some logic to showContextMenuWithItems().
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2016-10-19  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
+        https://bugs.webkit.org/show_bug.cgi?id=163374
+
+        Reviewed by Darin Adler.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2016-10-19  Darin Adler  <darin@apple.com>
+
+        Move XPath from ExceptionCode to Exception
+        https://bugs.webkit.org/show_bug.cgi?id=163656
+
+        Reviewed by Chris Dumez.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
+        (webkit_dom_document_create_expression): Use ExceptionOr.
+        (webkit_dom_document_evaluate): Ditto.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
+        (webkit_dom_xpath_expression_evaluate): Ditto.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
+        (webkit_dom_xpath_result_iterate_next): Ditto.
+        (webkit_dom_xpath_result_snapshot_item): Ditto.
+        (webkit_dom_xpath_result_get_number_value): Ditto.
+        (webkit_dom_xpath_result_get_string_value): Ditto.
+        (webkit_dom_xpath_result_get_boolean_value): Ditto.
+        (webkit_dom_xpath_result_get_single_node_value): Ditto.
+        (webkit_dom_xpath_result_get_snapshot_length): Ditto.
+
+2016-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        NetworkSession: updatedRequest parameter of NetworkProcess::findPendingDownloadLocation is unused since r206988
+        https://bugs.webkit.org/show_bug.cgi?id=163588
+
+        Reviewed by Alex Christensen.
+
+        The parameter was used only for the DownloadProxy::DidStart message that is no longer sent from
+        findPendingDownloadLocation since r206988.
+
+        * NetworkProcess/NetworkDataTask.h:
+        (WebKit::NetworkDataTask::currentRequest): Removed since it's unused now.
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::convertTaskToDownload): Update the m_currentRequest and pass it to DidStart message.
+        (WebKit::NetworkLoad::didReceiveResponseNetworkSession):
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::findPendingDownloadLocation):
+        * NetworkProcess/NetworkProcess.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Remove currentRequest() implementation.
+
+2016-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix GTK+ build after r207522.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
+        (webkit_dom_dom_window_webkit_message_handlers_post_message): Use new exceptions.
+
+2016-10-19  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix GTK+ build after r207497.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
+        (webkit_dom_html_select_element_add): Update implementation since add() now takes a Variant.
+
+2016-10-18  Simon Fraser  <simon.fraser@apple.com>
+
+        Add a MiniBrowser menu item to apply page scale in WK1 and WK2
+        https://bugs.webkit.org/show_bug.cgi?id=163627
+
+        Reviewed by Dean Jackson.
+
+        New SPI to set and retrieve page scale.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _setPageScale:withOrigin:]):
+        (-[WKWebView _pageScale]):
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+
+2016-10-18  Dean Jackson  <dino@apple.com>
+
+        Remove CSS_SHAPES feature definition. This should always be on.
+        https://bugs.webkit.org/show_bug.cgi?id=163628
+        <rdar://problem/28834613>
+
+        Reviewed by Tim Horton.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2016-10-18  Ryan Haddad  <ryanhaddad@apple.com>
+
+        Unreviewed, rolling out r207413.
+
+        This change broke iOS builds.
+
+        Reverted changeset:
+
+        "[iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to
+        _UIWebTouchPoint.majorRadiusInScreenCoordinates"
+        https://bugs.webkit.org/show_bug.cgi?id=163547
+        http://trac.webkit.org/changeset/207413
+
+2016-10-18  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r207443.
+        https://bugs.webkit.org/show_bug.cgi?id=163616
+
+        "Caused 5% PLT regression" (Requested by krollin on #webkit).
+
+        Reverted changeset:
+
+        "Crash in ASCIICaseInsensitiveHash::hash() when a response has
+        a null MIME type"
+        https://bugs.webkit.org/show_bug.cgi?id=163476
+        http://trac.webkit.org/changeset/207443
+
+2016-10-18  Megan Gardner  <megan_gardner@apple.com>
+
+        Fix build for platforms where HAVE(LINK_PREVIEW) is false
+        https://bugs.webkit.org/show_bug.cgi?id=163607
+
+        Reviewed by Tim Horton.
+
+        Added needed # for link preview
+
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _contentsOfUserInterfaceItem:]):
+
+2016-10-18  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Remote Web Inspector: Timeline UI not updating while recording
+        https://bugs.webkit.org/show_bug.cgi?id=163582
+        <rdar://problem/28766837>
+
+        Reviewed by Timothy Hatcher.
+
+        * WebProcess/WebPage/RemoteWebInspectorUI.cpp:
+        (WebKit::RemoteWebInspectorUI::frontendLoaded):
+        Local inspector windows keep the web view alive and toggle the
+        WebInspector.visible state depending on whether or not an inspector is
+        open. Remote Inspector windows go away when closed, so they can always
+        be marked as open. This matches earlier remote inspector behavior.
+
+2016-10-18  Eric Carlson  <eric.carlson@apple.com>
+
+        [MediaStream] Resolve constraints and enumerate devices in the UI process
+        https://bugs.webkit.org/show_bug.cgi?id=162147
+        <rdar://problem/28803569>
+
+        Reviewed by Darin Adler.
+        
+        Restructure gUM constraint validation and MediaDevices.enumerateDevices so all media device
+        access happens in the UI process.
+
+        * Scripts/webkit/messages.py:
+        (headers_for_type): Special case MediaConstraintsData.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::encodeMediaTrackConstraintSetMap): MediaTrackConstraintSetMap encoder.
+        (IPC::ArgumentCoder<MediaConstraintsData>::encode): MediaConstraintsData encoder.
+        (IPC::decodeMediaTrackConstraintSetMap): MediaTrackConstraintSetMap decoder.
+        (IPC::ArgumentCoder<MediaConstraintsData>::decode): MediaConstraintsData decoder.
+        (IPC::ArgumentCoder<CaptureDevice>::encode): CaptureDevice enoder.
+        (IPC::ArgumentCoder<CaptureDevice>::decode): CaptureDevice decoder.
+        * Shared/WebCoreArgumentCoders.h:
+
+        * UIProcess/API/APIUIClient.h:  Remove UserMediaPermissionCheckProxy forward declaration.
+
+        * UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
+        (toWK): Translate UserMediaPermissionRequestDenialReason to UserMediaAccessDenialReason.
+        (WKUserMediaPermissionRequestDeny): Add "reason" parameter.
+        * UIProcess/API/C/WKUserMediaPermissionRequest.h:
+
+        * UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
+        (WebKit::UserMediaPermissionRequestManagerProxy::invalidateRequests): Invalidate pending device requests.
+        (WebKit::UserMediaPermissionRequestManagerProxy::createRequest): Make private.
+        (WebKit::toWebCore): Map from UserMediaAccessDenialReason to MediaAccessDenialReason, cast to
+          uint64_t to pass to web process.
+        (WebKit::UserMediaPermissionRequestManagerProxy::denyRequest): Send to web process.
+        (WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto.
+        (WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame): Validate
+          constraints and make sure gUM is enabled before prompting user.
+        (WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): New.
+        (WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Send 
+          results of device enumeration to web process.
+        (WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Deleted.
+        (WebKit::UserMediaPermissionRequestManagerProxy::createUserMediaPermissionCheck): Deleted.
+        * UIProcess/UserMediaPermissionRequestManagerProxy.h:
+
+        * UIProcess/UserMediaPermissionRequestProxy.cpp:
+        (WebKit::UserMediaPermissionRequestProxy::allow):
+        (WebKit::UserMediaPermissionRequestProxy::deny): Take "reason" parameter.
+        * UIProcess/UserMediaPermissionRequestProxy.h:
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
+        (WebKit::WebPageProxy::enumerateMediaDevicesForFrame):
+        (WebKit::WebPageProxy::checkUserMediaPermissionForFrame): Deleted.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+
+        * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
+        (WebKit::UserMediaPermissionRequestManager::startUserMediaRequest): userMediaAccessDenied -> deny.
+          Pass the audio and video constraints to the UI process.
+        (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted): 
+        (WebKit::UserMediaPermissionRequestManager::userMediaAccessWasDenied):
+        (WebKit::UserMediaPermissionRequestManager::enumerateMediaDevices): Send the enumeration request
+          to the UI process.
+        (WebKit::UserMediaPermissionRequestManager::cancelMediaDevicesEnumeration):
+        (WebKit::UserMediaPermissionRequestManager::didCompleteMediaDeviceEnumeration):
+        (WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision): Deleted.
+        (WebKit::UserMediaPermissionRequestManager::startUserMediaPermissionCheck): Deleted.
+        (WebKit::UserMediaPermissionRequestManager::cancelUserMediaPermissionCheck): Deleted.
+        (WebKit::UserMediaPermissionRequestManager::didCompleteUserMediaPermissionCheck): Deleted.
+        * WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
+
+        * WebProcess/WebCoreSupport/WebUserMediaClient.cpp:
+        (WebKit::WebUserMediaClient::enumerateMediaDevices): New.
+        (WebKit::WebUserMediaClient::cancelMediaDevicesEnumerationRequest): New.
+        (WebKit::WebUserMediaClient::checkUserMediaPermission): Deleted.
+        (WebKit::WebUserMediaClient::cancelUserMediaPermissionCheck): Deleted.
+        * WebProcess/WebCoreSupport/WebUserMediaClient.h:
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::userMediaAccessWasGranted): New.
+        (WebKit::WebPage::userMediaAccessWasDenied): Ditto.
+        (WebKit::WebPage::didCompleteMediaDeviceEnumeration):
+        (WebKit::WebPage::didReceiveUserMediaPermissionDecision): Deleted.
+        (WebKit::WebPage::didCompleteUserMediaPermissionCheck): Deleted.
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+
+2016-10-17  Antti Koivisto  <antti@apple.com>
+
+        Rename setNeedsStyleRecalc to invalidateStyle
+        https://bugs.webkit.org/show_bug.cgi?id=163542
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::didInitializePlugin):
+        (WebKit::PluginView::pluginProcessCrashed):
+
+2016-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        NetworkSession: PendingDownload is leaked if canceled before willDecidePendingDownloadDestination
+        https://bugs.webkit.org/show_bug.cgi?id=163545
+
+        Reviewed by Alex Christensen.
+
+        If a download started by DownloadManager::startDownload() is cancelled before
+        DownloadManager::willDecidePendingDownloadDestination() is called, DownloadManager::cancelDownload() does
+        nothing, because the Download hasn't been created yet and m_downloadsWaitingForDestination map doesn't contain
+        the download ID, and the PendingDownload is never removed from the m_pendingDownloads map.
+
+        * NetworkProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::cancelDownload): Always take the PendingDownload from m_pendingDownloads map. Then, if
+        the download was already in m_downloadsWaitingForDestination map, get the network data task to properly cancel
+        it and then call the completion handler to ignore the request. Otherwise cancel the pending download if exists.
+        * NetworkProcess/Downloads/PendingDownload.cpp:
+        (WebKit::PendingDownload::cancel): Cancel the network load and notify the UI process that the download was canceled.
+        * NetworkProcess/Downloads/PendingDownload.h:
+
+2016-10-17  Megan Gardner  <megan_gardner@apple.com>
+
+        Add test and infrastructure for link popover
+        https://bugs.webkit.org/show_bug.cgi?id=163406
+
+        Reviewed by Simon Fraser.
+
+        Add infrastructure to see when a link popover appears, and what URL it has loaded.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView didShowForcePressPreview]):
+        (-[WKWebView didDismissForcePressPreview]):
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _contentsOfUserInterfaceItem:]):
+        (-[WKContentView _presentedViewControllerForPreviewItemController:]):
+        (-[WKContentView _previewItemController:didDismissPreview:committing:]):
+        (-[WKContentView _previewItemControllerDidCancelPreview:]):
+
+2016-10-17  Tim Horton  <timothy_horton@apple.com>
+
+        REGRESSION (r169805): WKWebView canGoBack returning YES when nothing is in the back-forward list after restoring session state
+        https://bugs.webkit.org/show_bug.cgi?id=163573
+        <rdar://problem/28744549>
+
+        Reviewed by Dan Bernstein.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::restoreFromSessionState):
+        Update PageLoadState's canGoBack/canGoForward bits when restoring from
+        session state, because in the don't-navigate case, nothing else will make this happen,
+        and it will remain stale.
+
+2016-10-17  Andy Estes  <aestes@apple.com>
+
+        Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
+        https://bugs.webkit.org/show_bug.cgi?id=163476
+        <rdar://problem/26941395>
+
+        Reviewed by Tim Horton.
+
+        When custom content providers are registered and a response has a null MIME type, WebPage
+        will pass a null String to HashSet::contains(). This results in a null pointer dereference,
+        since the String hash functions do not support null Strings and unconditionally dereference
+        their StringImpls. Fixed by checking that Strings are non-null before calling
+        HashSet::contains() on m_mimeTypesWithCustomContentProviders.
+
+        Rearranging WebPage::shouldUseCustomContentProviderForResponse() to call
+        canPluginHandleResponse() before checking m_mimeTypesWithCustomContentProviders uncovered a
+        crash in existing layout tests where WebPage::m_mainFrame can be NULL during WebPage
+        construction (m_mainFrame isn't yet initialized). Fixed this by passing the main Frame to
+        canPluginHandleResponseInFrame() instead of relying on m_mainFrame.
+
+        New API test: WebKit2.LoadDataWithNilMIMEType.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): Passed
+        m_frame->coreFrame() to shouldUseCustomContentProviderForResponse().
+        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Ditto.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::canPluginHandleResponse): Added a mainFrame parameter and used it instead
+        of m_mainFrame->coreFrame().
+        (WebKit::WebPage::shouldUseCustomContentProviderForResponse): Passed mainFrame to
+        canPluginHandleResponse(), and checked if mimeType is null before calling
+        m_mimeTypesWithCustomContentProviders.contains().
+        (WebKit::WebPage::canShowMIMEType): Checked if MIMEType is null before calling
+        m_mimeTypesWithCustomContentProviders.contains().
+        * WebProcess/WebPage/WebPage.h: Made canPluginHandleResponse() a private declaration.
+
+2016-10-17  Chris Dumez  <cdumez@apple.com>
+
+        [WK2][NetworkCache] PendingFrameLoad objects are sometimes leaked
+        https://bugs.webkit.org/show_bug.cgi?id=163569
+        <rdar://problem/28810836>
+
+        Reviewed by Antti Koivisto.
+
+        PendingFrameLoad objects are created to track frame loads and added to
+        the m_pendingFrameLoads hash map. These objects are supposed to remove
+        themselves from the hash map once they detect that the page load has
+        finished by calling PendingFrameLoad::m_loadCompletionHandler().
+
+        PendingFrameLoad::m_loadCompletionHandler() is called from
+        markLoadAsCompleted() when we detect that the page load has finished
+        via the m_loadHysteresisActivity HysteresisActivity. We call impulse()
+        on the HysteresisActivity every time a subresource is loaded in the
+        frame. The issue is that if no subresource is ever loaded, then we
+        never call impulse() on the HysteresisActivity, which is therefore
+        never started. If it nevers starts, then it nevers stops and never
+        calls markLoadAsCompleted(). To address the problem, we now call
+        impulse() on the HysteresisActivity as soon as we construct it.
+
+        * NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
+
+2016-10-17  Jeremy Jones  <jeremyj@apple.com>
+
+        Enable keyboard in fullscreen.
+        https://bugs.webkit.org/show_bug.cgi?id=163146
+
+        Reviewed by Jer Noble.
+
+        Allow keyboard in fullscreen.
+
+        * UIProcess/WebFullScreenManagerProxy.cpp:
+        (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
+
+2016-10-17  Chris Dumez  <cdumez@apple.com>
+
+        Move form.reportValidity() behind InteractiveFormValidation setting
+        https://bugs.webkit.org/show_bug.cgi?id=163550
+
+        Reviewed by Darin Adler.
+
+        Enable InteractiveFormValidation setting by default and link it to
+        RuntimeEnabledFeatures so we can use it in the IDL.
+
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2016-10-17  Gavin Barraclough  <barraclough@apple.com>
+
+        UIProcess should determine throttle state for WebContent process
+        https://bugs.webkit.org/show_bug.cgi?id=163556
+
+        Reviewed by Anders Carlsson.
+
+        This is a step towards merging page/process throttling code for mac & iOS.
+
+        Previously WebPage determined whether to start a UserActivity based on page activity,
+        visibility and the preference to disable. Now WebPage passes the activity state across
+        to WebPageProxy, which makes the decision & explicitly instructs WebPage to start/stop
+        the UserActivity.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+            - updateActivityToken + updateProccessSuppressionState -> updateThrottleState
+        (WebKit::WebPageProxy::reattachToWebProcess):
+            - updateActivityToken -> updateThrottleState
+        (WebKit::WebPageProxy::dispatchViewStateChange):
+            - updateActivityToken -> updateThrottleState
+        (WebKit::WebPageProxy::setPageActivityState):
+            - Record activity state passed from WebPage, and update.
+        (WebKit::WebPageProxy::preferencesDidChange):
+            - updateProccessSuppressionState -> updateThrottleState
+        (WebKit::WebPageProxy::updateActivityToken): Deleted.
+        (WebKit::WebPageProxy::updateProccessSuppressionState): Deleted.
+        (WebKit::WebPageProxy::updateThrottleState):
+            - Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
+            - Compute whether page should be suppressed, and send SetPageSuppressed message accordingly.
+        * UIProcess/WebPageProxy.h:
+            - Merged existing updateActivityToken/updateProccessSuppressionState to unified updateThrottleState.
+            - Added setPageActivityState/m_activityState to report/record page activity.
+            - Added m_pageSuppressed to prevent redundant message sends.
+        * UIProcess/WebPageProxy.messages.in:
+            - Expose SetPageActivityState message (called by WebPage).
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage):
+            - removed m_processSuppressionEnabled
+            - updateUserActivity -> setPageSuppressed - explicitly set the page to not be suppressed, until WebPageProxy tells us to do so.
+        (WebKit::WebPage::setPageActivityState):
+            - post activity state on to WebPageProxy.
+        (WebKit::WebPage::setPageSuppressed):
+            - Start/stop USerActivity accordingly.
+        (WebKit::WebPage::setViewState):
+            - No longer need to monitor ViewState changes on the WebProcess side.
+        (WebKit::WebPage::updatePreferences):
+            - No longer need to monitor preference changes on the WebProcess side.
+        (WebKit::WebPage::updateUserActivity): Deleted.
+            - Only updated on reciept of setPageSuppressed message.
+        * WebProcess/WebPage/WebPage.h:
+            - Removed m_activityState, m_processSuppressionEnabled, updateUserActivity.
+            - Added setPageSuppressed message.
+        * WebProcess/WebPage/WebPage.messages.in:
+            - Added SetPageSuppressed message.
+
+2016-10-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        REGRESSION(r206189): logs error statements when API::URLRequest is canceled
+        https://bugs.webkit.org/show_bug.cgi?id=163393
+
+        Reviewed by Antti Koivisto.
+
+        Print this case at normal logging level, not as an error.
+
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::loadResource):
+
+2016-10-17  Chris Dumez  <cdumez@apple.com>
+
+        [iOS] Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
+        https://bugs.webkit.org/show_bug.cgi?id=163547
+
+        Reviewed by Darin Adler.
+
+        Hook up WebPlatformTouchPoint's radiusX / radiusY to _UIWebTouchPoint.majorRadiusInScreenCoordinates
+        now that it is available in UIKit.
+
+        * Platform/spi/ios/UIKitSPI.h:
+        * Shared/ios/NativeWebTouchEventIOS.mm:
+        (WebKit::NativeWebTouchEvent::extractWebTouchPoint):
+
+2016-10-17  Konstantin Tokarev  <annulen@yandex.ru>
+
+        Eleminate code duplication between ResourceRequest encoding/decoding implementations
+        https://bugs.webkit.org/show_bug.cgi?id=163507
+
+        Reviewed by Carlos Garcia Campos.
+
+        ResourceRequestBase::encodeWithoutPlatformData() and Soup implementation of
+        ArgumentCoder<ResourceRequest>::encodePlatformData() share most of the code,
+        ditto for decoding implementations.
+
+        * Shared/soup/WebCoreArgumentCodersSoup.cpp:
+        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
+        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
+
+2016-10-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Move user agent quirks to cross-platform location
+        https://bugs.webkit.org/show_bug.cgi?id=163508
+
+        Reviewed by Carlos Garcia Campos.
+
+        #include <WebCore/UserAgent.h> instead of <WebCore/UserAgentGtk.h>.
+
+        * UIProcess/API/gtk/WebKitSettings.cpp:
+        * UIProcess/efl/WebPageProxyEfl.cpp:
+        * UIProcess/gtk/WebPageProxyGtk.cpp:
+        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
+
+2016-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [SOUP] Downloads should always sniff contents
+        https://bugs.webkit.org/show_bug.cgi?id=163538
+
+        Reviewed by Michael Catanzaro.
+
+        It's quite common that downloads have weird filenames with no extension, so it would be better if the loader
+        sniff the contents to guess the mime type.
+
+        * NetworkProcess/Downloads/soup/DownloadSoup.cpp:
+        (WebKit::Download::startNetworkLoad): Pass true for shouldContentSniff parameter of ResourceHandle::create().
+
+2016-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Switch to use API::DownloadClient instead of the C API client
+        https://bugs.webkit.org/show_bug.cgi?id=163537
+
+        Reviewed by Michael Catanzaro.
+
+        The code is simpler and we avoid all the toImpl/toAPI.
+
+        * UIProcess/API/gtk/WebKitDownloadClient.cpp:
+        (attachDownloadClientToContext):
+        (didStart):
+        (didReceiveResponse):
+        (didReceiveData):
+        (decideDestinationWithSuggestedFilename):
+        (didCreateDestination):
+        (didFail):
+        (didCancel):
+        (didFinish):
+
+2016-10-17  Manuel Rego Casasnovas  <rego@igalia.com>
+
+        [css-grid] Disable CSS Grid Layout runtime flag by default
+        https://bugs.webkit.org/show_bug.cgi?id=163432
+
+        Reviewed by Darin Adler.
+
+        It was enabled in r201042, but now Safari Technology Preview
+        has a UI to switch runtime flags so it doesn't need to be enabled
+        by default anymore.
+
+        * Shared/WebPreferencesDefinitions.h: Disable grid layout runtime flag
+        by default.
+
+2016-10-16  Darin Adler  <darin@apple.com>
+
+        Move CSS classes from ExceptionCode to Exception
+        https://bugs.webkit.org/show_bug.cgi?id=163494
+
+        Reviewed by Sam Weinig.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
+        (webkit_dom_css_rule_set_css_text): Updated for ExceptionOr.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleDeclaration.cpp:
+        (webkit_dom_css_style_declaration_remove_property): Ditto.
+        (webkit_dom_css_style_declaration_set_property): Ditto.
+        (webkit_dom_css_style_declaration_set_css_text): Ditto.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSStyleSheet.cpp:
+        (webkit_dom_css_style_sheet_insert_rule): Ditto.
+        (webkit_dom_css_style_sheet_delete_rule): Ditto.
+        (webkit_dom_css_style_sheet_add_rule): Ditto.
+        (webkit_dom_css_style_sheet_remove_rule): Ditto.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSValue.cpp:
+        (webkit_dom_css_value_set_css_text): Ditto.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:
+        (webkit_dom_media_list_delete_medium): Ditto.
+        (webkit_dom_media_list_append_medium): Ditto.
+        (webkit_dom_media_list_set_media_text): Ditto.
+
+2016-10-16  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] Default WebKitWebsiteDataManager is always leaked in WebKitWebContext
+        https://bugs.webkit.org/show_bug.cgi?id=163443
+
+        Reviewed by Michael Catanzaro.
+
+        Adopt the reference returned by webkitWebsiteDataManagerCreate().
+
+        * UIProcess/API/gtk/WebKitWebContext.cpp:
+        (webkitWebContextConstructed):
+
+2016-10-16  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] WebKitWebPage URI not updated after URI is modified by InjectedBundlePageResourceLoadClient::willSendRequestForFrame
+        https://bugs.webkit.org/show_bug.cgi?id=163389
+
+        Reviewed by Michael Catanzaro.
+
+        Update the page URI also when the load is committed.
+
+        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
+        (getDocumentLoaderURL):
+        (didStartProvisionalLoadForFrame):
+        (didReceiveServerRedirectForProvisionalLoadForFrame):
+        (didCommitLoadForFrame):
+        (webkitWebPageCreate):
+        (getProvisionalURLForFrame): Deleted.
+
+2016-10-15  Simon Fraser  <simon.fraser@apple.com>
+
+        Sort the project file.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2016-10-14  Anders Carlsson  <andersca@apple.com>
+
+        Fix Mac build.
+
+        * UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
+        (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
+
+2016-10-14  Anders Carlsson  <andersca@apple.com>
+
+        Pass on networking settings to the PKPaymentRequest
+        https://bugs.webkit.org/show_bug.cgi?id=163462
+        rdar://problem/28567629
+
+        Reviewed by Dan Bernstein.
+
+        * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h:
+        * UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
+        (WebKit::toPKPaymentRequest):
+        * UIProcess/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
+        (WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI):
+
+2016-10-14  Anders Carlsson  <andersca@apple.com>
+
+        Clean up BackForwardClient
+        https://bugs.webkit.org/show_bug.cgi?id=163454
+
+        Reviewed by Sam Weinig.
+
+        Remove empty iOS only stubs.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+        * WebProcess/WebPage/WebBackForwardListProxy.h:
+        * WebProcess/WebPage/ios/WebBackForwardListProxyIOS.mm: Removed.
+
+2016-10-14  Brady Eidson  <beidson@apple.com>
+
+        Enable Gamepads by default in WK2.
+        https://bugs.webkit.org/show_bug.cgi?id=163447
+
+        Rubberstamped by Sam Weinig.
+
+        * Shared/WebPreferencesDefinitions.h:
+
+2016-10-14  Gavin Barraclough  <barraclough@apple.com>
+
+        Add API to restrict WebKit processes to background priority
+        https://bugs.webkit.org/show_bug.cgi?id=163363
+
+        Reviewed by Anders Carlson.
+
+        Add API on _WKProcessPoolConfiguration to flag a process pool as 'alwaysRunsAtBackgroundPriority'.
+        WebContent and Networking processes associated with that pool will only run a background priority,
+        when they otherwise would have run at foreground priority.
+
+        * UIProcess/API/APIProcessPoolConfiguration.h:
+            - Add m_alwaysRunsAtBackgroundPriority flag to pool configuration object.
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
+        * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+        (-[_WKProcessPoolConfiguration alwaysRunsAtBackgroundPriority]):
+        (-[_WKProcessPoolConfiguration setAlwaysRunsAtBackgroundPriority:]):
+            - Expose new configuration property through API.
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::alwaysRunsAtBackgroundPriority):
+        * UIProcess/Network/NetworkProcessProxy.h:
+            - Support ProcessThrottlerClient interface to check if alwaysRunsAtBackgroundPriority is set.
+        * UIProcess/ProcessThrottler.cpp:
+        (WebKit::ProcessThrottler::assertionState):
+            - When determining whether to take a foreground exception check alwaysRunsAtBackgroundPriority.
+        * UIProcess/ProcessThrottlerClient.h:
+            - Add interface to access alwaysRunsAtBackgroundPriority state of WebProcess of NetworkProcess.
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::WebProcessPool):
+        * UIProcess/WebProcessPool.h:
+            - Add m_alwaysRunsAtBackgroundPriority, set by configuration.
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::alwaysRunsAtBackgroundPriority):
+        * UIProcess/WebProcessProxy.h:
+            - Support ProcessThrottlerClient interface to check if alwaysRunsAtBackgroundPriority is set.
+
+2016-10-14  Youenn Fablet  <youenn@apple.com>
+
+        Make NetworkCache aware of fetch cache mode
+        https://bugs.webkit.org/show_bug.cgi?id=163332
+
+        Reviewed by Antti Koivisto.
+
+        Adding explicit serialization of ResourceRequest cachePolicy since it does no longer map to platform request cache policy.
+
+        Added support for:
+        - Bypassing entirely the network cache in case cache mode is NoStore.
+        - requiring revalidation in case of cache hit and cache mode is NoCache.
+        - Not using any entry if cache mode is Reload (but cache can still be updated)
+
+        Also made sure that the ResourceRequest::cachePolicy remains the same throughout redirections.
+
+        * NetworkProcess/NetworkResourceLoader.cpp:
+        (WebKit::NetworkResourceLoader::canUseCache):
+        (WebKit::NetworkResourceLoader::retrieveCacheEntry):
+        (WebKit::NetworkResourceLoader::continueWillSendRequest):
+        * NetworkProcess/cache/NetworkCache.cpp:
+        (WebKit::NetworkCache::cachePolicyAllowsExpired):
+        (WebKit::NetworkCache::makeRetrieveDecision):
+        * Shared/mac/WebCoreArgumentCodersMac.mm:
+        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
+        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
+
+2016-10-13  Tim Horton  <timothy_horton@apple.com>
+
+        Rename the SPI added in r207292 due to post-landing review comments
+        https://bugs.webkit.org/show_bug.cgi?id=163364
+        <rdar://problem/28012494>
+
+        Reviewed by Simon Fraser.
+
+        * UIProcess/API/APIPageConfiguration.h:
+        (API::PageConfiguration::waitsForPaintAfterViewDidMoveToWindow):
+        (API::PageConfiguration::setWaitsForPaintAfterViewDidMoveToWindow):
+        (API::PageConfiguration::shouldWaitForPaintAfterViewDidMoveToWindow): Deleted.
+        (API::PageConfiguration::setShouldWaitForPaintAfterViewDidMoveToWindow): Deleted.
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _initializeWithConfiguration:]):
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration init]):
+        (-[WKWebViewConfiguration copyWithZone:]):
+        (-[WKWebViewConfiguration _waitsForPaintAfterViewDidMoveToWindow]):
+        (-[WKWebViewConfiguration _setWaitsForPaintAfterViewDidMoveToWindow:]):
+        (-[WKWebViewConfiguration _shouldWaitForPaintAfterViewDidMoveToWindow]): Deleted.
+        (-[WKWebViewConfiguration _setShouldWaitForPaintAfterViewDidMoveToWindow:]): Deleted.
+        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        (WebKit::WebPageProxy::dispatchViewStateChange):
+        * UIProcess/WebPageProxy.h:
+
+2016-10-13  Jonathan Bedard  <jbedard@apple.com>
+
+        GTK and EFL on Mac fail to compile WebTextChecker due to missing definition of WKTextCheckerClientBase
+        https://bugs.webkit.org/show_bug.cgi?id=163346
+
+        Reviewed by Daniel Bates.
+
+        * UIProcess/API/C/WKTextChecker.cpp: Fixed #ifdefs for GTK and EFL builds on Darwin machines.
+        * UIProcess/API/C/WKTextChecker.h: Ditto.
+
+2016-10-13  Tim Horton  <timothy_horton@apple.com>
+
+        Expose SPI to disable synchronously blocking on painting after parenting a WKWebView
+        https://bugs.webkit.org/show_bug.cgi?id=163364
+        <rdar://problem/28012494>
+
+        Reviewed by Geoff Garen.
+
+        Some clients may not want the default WKWebView behavior where we synchronously
+        block on the Web process after the first time a WKWebView is re-added to the window,
+        because they are e.g. parenting re-used WKWebViews while scrolling.
+
+        * UIProcess/API/APIPageConfiguration.h:
+        (API::PageConfiguration::shouldSynchronizeInitialPaintAfterMovingToWindow):
+        (API::PageConfiguration::setShouldSynchronizeInitialPaintAfterMovingToWindow):
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _initializeWithConfiguration:]):
+        * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+        (-[WKWebViewConfiguration init]):
+        (-[WKWebViewConfiguration copyWithZone:]):
+        (-[WKWebViewConfiguration _shouldSynchronizeInitialPaintAfterMovingToWindow]):
+        (-[WKWebViewConfiguration _setShouldSynchronizeInitialPaintAfterMovingToWindow:]):
+        * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        Add and plumb a new WKWebView configuration parameter.
+
+        (WebKit::WebPageProxy::dispatchViewStateChange):
+        If the new configuration parameter is set, don't block the main thread when
+        a view is reparented.
+
+2016-10-12  Chris Dumez  <cdumez@apple.com>
+
+        [Web IDL] Drop support for legacy [ConstructorConditional=*]
+        https://bugs.webkit.org/show_bug.cgi?id=163368
+
+        Reviewed by Ryosuke Niwa.
+
+        Drop ENABLE_DOM4_EVENTS_CONSTRUCTOR compiler flag.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2016-10-12  Alex Christensen  <achristensen@webkit.org>
+
+        Fix assertion after switching to URLParser
+        https://bugs.webkit.org/show_bug.cgi?id=163350
+        rdar://problem/28739938
+
+        Reviewed by Brady Eidson.
+        
+        Covered by a new API test.
+
+        * UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
+        (-[_WKUserStyleSheet initWithSource:forMainFrameOnly:legacyWhitelist:legacyBlacklist:baseURL:userContentWorld:]):
+        The { } here is not understood by the compiler to mean WebCore::URL(), but rather the empty constructor for the enum ParsedURLStringTag.
+        We used to be unsafely trusting that the URL was valid and canonicalized, but with URLParser we are canonicalizing it,
+        and the assertion (url == m_string) in URL.cpp was failing.
+
+2016-10-12  Anders Carlsson  <andersca@apple.com>
+
+        Remove an unused function
+        https://bugs.webkit.org/show_bug.cgi?id=163341
+
+        Reviewed by Dan Bernstein.
+
+        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+        (WebKit::WebBackForwardListProxy::isActive): Deleted.
+        * WebProcess/WebPage/WebBackForwardListProxy.h:
+
+2016-10-11  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>
+
+        [EFL] Update API tests which are passed or failed
+        https://bugs.webkit.org/show_bug.cgi?id=163322
+
+        Unreviewed, simple on/off API test.
+
+        *ewk_favicon_database_clear* has been crashed for a long time, however
+        *ewk_cookie_manager_permanent_storage* is fine now. So the passing test
+        is enabled again, and disable the failure tests.
+
+        * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
+        (TEST_F):
+        * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
+        (TEST_F):
+
+2016-10-11  Daniel Bates  <dabates@apple.com>
+
+        Attempt to fix the Apple Internal Mac build following r207159
+        (https://bugs.webkit.org/show_bug.cgi?id=163244)
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (shouldRequireUserGestureToLoadVideo):
+
+2016-10-11  Anders Carlsson  <andersca@apple.com>
+
+        Clean up WebPageGroup somewhat
+        https://bugs.webkit.org/show_bug.cgi?id=163299
+
+        Reviewed by Tim Horton.
+
+        * Shared/API/c/WKDeprecatedFunctions.cpp:
+        (WKPageGroupCopyIdentifier):
+        Move this here from WKPageGroup.
+
+        (WKPageGroupAddUserContentFilter):
+        (WKPageGroupRemoveUserContentFilter):
+        (WKPageGroupRemoveAllUserContentFilters):
+        Just call directly into the user content controller.
+
+        * UIProcess/API/C/WKPageGroup.cpp:
+        (WKPageGroupAddUserStyleSheet):
+        (WKPageGroupRemoveAllUserStyleSheets):
+        (WKPageGroupAddUserScript):
+        (WKPageGroupRemoveAllUserScripts):
+        Just call directly into the user content controller.
+
+        * UIProcess/API/C/WKPageGroup.h:
+        * UIProcess/WebPageGroup.cpp:
+        (WebKit::WebPageGroup::addUserStyleSheet): Deleted.
+        (WebKit::WebPageGroup::addUserScript): Deleted.
+        (WebKit::WebPageGroup::removeAllUserStyleSheets): Deleted.
+        (WebKit::WebPageGroup::removeAllUserScripts): Deleted.
+        (WebKit::WebPageGroup::removeAllUserContent): Deleted.
+        (WebKit::WebPageGroup::addUserContentExtension): Deleted.
+        (WebKit::WebPageGroup::removeUserContentExtension): Deleted.
+        (WebKit::WebPageGroup::removeAllUserContentExtensions): Deleted.
+        Get rid of these, all their callers just call into the user content controller now.
+
+        * UIProcess/WebPageGroup.h:
+        (WebKit::WebPageGroup::identifier): Deleted.
+        (WebKit::WebPageGroup::sendToAllProcessesInGroup): Deleted.
+        Remove unused code.
+
+2016-10-11  Daniel Bates  <dabates@apple.com>
+
+        [iOS] REGRESSION (r197953): User gesture required to load video in iOS 9-built apps
+        https://bugs.webkit.org/show_bug.cgi?id=163244
+        <rdar://problem/27250015>
+
+        Reviewed by Jer Noble.
+
+        Enable or disable the Setting::requiresUserGestureToLoadVideo() in WebKit depending on the
+        version of iOS SDK that the app was linked against. We require a user gesture to begin
+        loading a video as of iOS 10.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (shouldRequireUserGestureToLoadVideo): Added.
+        (-[WKWebView _initializeWithConfiguration:]): Set the requiresUserGestureToLoadVideo preference.
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences): Modified to pass the WebKit requiresUserGestureToLoadVideo
+        preference to WebCore.
+
+2016-10-11  Alex Christensen  <achristensen@webkit.org>
+
+        Remove dead networking code
+        https://bugs.webkit.org/show_bug.cgi?id=163263
+
+        Reviewed by Daniel Bates.
+
+        * NetworkProcess/Downloads/Download.h:
+        * NetworkProcess/Downloads/ios/DownloadIOS.mm: Removed.
+        * NetworkProcess/Downloads/mac/DownloadMac.mm:
+        * NetworkProcess/NetworkLoad.h:
+        * NetworkProcess/mac/NetworkLoadMac.mm:
+        (WebKit::NetworkLoad::willCacheResponseAsync): Deleted.
+        * Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
+        (WebKit::AuthenticationManager::receivedCredential):
+        (WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
+        (WebKit::AuthenticationManager::receivedCancellation):
+        (WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
+        (WebKit::AuthenticationManager::receivedChallengeRejection):
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        * Shared/mac/WebCoreArgumentCodersMac.mm:
+        (IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
+        (IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2016-10-11  Anders Carlsson  <andersca@apple.com>
+
+        Move no longer used functions to WKDeprecatedFunctions.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=163290
+
+        Reviewed by Dan Bernstein.
+
+        * Shared/API/c/WKDeprecatedFunctions.cpp:
+        (WKPageGroupAddUserContentFilter):
+        (WKPageGroupRemoveUserContentFilter):
+        (WKPageGroupRemoveAllUserContentFilters):
+        (WKContextSetProcessModel): Deleted.
+        * UIProcess/API/C/WKPageGroup.cpp:
+        (WKPageGroupRemoveAllUserScripts):
+        (WKPageGroupAddUserContentFilter): Deleted.
+        (WKPageGroupRemoveUserContentFilter): Deleted.
+        (WKPageGroupRemoveAllUserContentFilters): Deleted.
+        * UIProcess/API/C/WKPageGroup.h:
+
+2016-10-11  Konstantin Tokarev  <annulen@yandex.ru>
+
+        Use modern for loops for iterating supplement maps
+        https://bugs.webkit.org/show_bug.cgi?id=163274
+
+        Reviewed by Alex Christensen.
+
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::initializeNetworkProcess):
+        (WebKit::NetworkProcess::initializeConnection):
+        * UIProcess/WebProcessPool.cpp:
+        (WebKit::WebProcessPool::~WebProcessPool):
+        (WebKit::WebProcessPool::networkProcessCrashed):
+        (WebKit::WebProcessPool::databaseProcessCrashed): Iterate by values()
+        like in other places.
+
+2016-10-11  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        The "Input Events" experimental feature runtime flag should not be on by default
+        https://bugs.webkit.org/show_bug.cgi?id=163278
+
+        Reviewed by Zalan Bujtas.
+
+        This was intended to be off by default.
+
+        * Shared/WebPreferencesDefinitions.h:
+
+2016-10-10  Zan Dobersek  <zdobersek@igalia.com>
+
+        Add ENABLE_ENCRYPTED_MEDIA configuration option
+        https://bugs.webkit.org/show_bug.cgi?id=163219
+
+        Reviewed by Darin Adler.
+
+        * Configurations/FeatureDefines.xcconfig:
+        Add the ENABLE_ENCRYPTED_MEDIA configuration option. It will be used
+        to enable or disable the new EME implementation at build-time.
+
+2016-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        NetworkSession: NetworkDataTask is leaked if download finishes in didReceiveResponse completion handler
+        https://bugs.webkit.org/show_bug.cgi?id=163204
+
+        Reviewed by Alex Christensen.
+
+        After the completion handler a reference of the NetworkDataTask is saved in m_downloadsAfterDestinationDecided.
+        If the download failed or was canceled DownloadManager::dataTaskBecameDownloadTask is never called and the data
+        task is kept in the download manager forever. This patch exposes NSURLSessionTask state property in
+        NetworkDataTask, so that the download manager can check the task state after the completion handler and return
+        early if the download finished or was cancelled.
+
+        * NetworkProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::continueDecidePendingDownloadDestination):
+        * NetworkProcess/NetworkDataTask.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTask::state):
+
+2016-10-10  Konstantin Tokarev  <annulen@yandex.ru>
+
+        Added final specifier to WebInspectorServer and to its overridden methods
+        https://bugs.webkit.org/show_bug.cgi?id=163228
+
+        Reviewed by Darin Adler.
+
+        * UIProcess/InspectorServer/WebInspectorServer.h:
+
+2016-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] 2.14.0 Compile Errors: GTK 3.22.1
+        https://bugs.webkit.org/show_bug.cgi?id=163190
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/gtk/AcceleratedBackingStoreX11.cpp: Include gtk.h since we are using gtk_widget_queue_draw().
+
+2016-10-10  Gyuyoung Kim  <gyuyoung.kim@navercorp.com>
+
+        [EFL] ewk_context_preferred_languages has been failed since r206949
+        https://bugs.webkit.org/show_bug.cgi?id=163211
+
+        Reviewed by Chris Dumez.
+
+        r206949 changed to return value of navigator.language from en-us to en-US
+        in order to match other browsers and w3c spec. So ewk_context_preferred_languages
+        needs to change the expected result as well.
+
+        * UIProcess/API/efl/tests/test_ewk2_context.cpp:
+        (TEST_F):
+
+2016-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        NetworkSession: downloads started by startDownload() can fail before starting from the API point of view
+        https://bugs.webkit.org/show_bug.cgi?id=163107
+
+        Reviewed by Alex Christensen.
+
+        In the network process we use a PendingDownload in this case, but in the UI process we always have a single
+        download proxy. If an error happens before the pending download is converted inot a real download, the DidFail
+        messages is received in the download proxy before the DidStart one. This is problematic at least for the GTK+
+        API, because it's common to connect to the started signal and connect to all other signals from there, but in
+        this case the started signal is never emitted, and then the failed one is not handled. This is not a problem for
+        downloads started by convertTaskToDownload, because in that case those loads are not considered a download by
+        the UI process when those early errors happen, and then the web page handles them.
+
+        * NetworkProcess/Downloads/PendingDownload.cpp:
+        (WebKit::PendingDownload::PendingDownload): Send DidStart message right after the network load starts like the
+        non network session code does.
+        * NetworkProcess/NetworkLoad.cpp:
+        (WebKit::NetworkLoad::convertTaskToDownload): Send DidStart message now that the normal load has been converted
+        into a download.
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::findPendingDownloadLocation): Do not send DidStart message here.
+
+2016-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Network Session: PendingDownload is always nullptr in DownloadManager::dataTaskBecameDownloadTask
+        https://bugs.webkit.org/show_bug.cgi?id=163006
+
+        Reviewed by Alex Christensen.
+
+        In DownloadManager::dataTaskBecameDownloadTask() we are supposed to have either a pending download, or a network
+        data task depending on whether the download was started by startDownload() or convertTaskToDownload. However, in
+        both cases we do have a data task and never a pending download. In the case of startDownload() the pending
+        download is removed from m_pendingDownloads in willDecidePendingDownloadDestination(). The task is always
+        added to m_downloadsWaitingForDestination in willDecidePendingDownloadDestination() and to
+        m_downloadsAfterDestinationDecided in continueDecidePendingDownloadDestination() in both cases.
+
+        * NetworkProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::dataTaskBecameDownloadTask): Add an ASSERT to ensure we don't have a pending download
+        at this point and that the download is not already in the map. Remove the download from the
+        m_downloadsAfterDestinationDecided map, but don't check its result because it might not bein that map if
+        dataTaskBecameDownloadTask is called synchronously from the didReceiveResponse completion handler.
+        (WebKit::DownloadManager::willDecidePendingDownloadDestination): Do not take the pending download here, wait
+        until didReceiveResponse completion handler is called.
+        (WebKit::DownloadManager::continueDecidePendingDownloadDestination): Take the pending download here ensuring
+        it's alive while the didReceiveResponse completion handler is called. Also remove invalid early return when
+        either networkDataTask or completionHandler are nullptr because we are using both unconditionally, we should
+        return early if both are nullptr to avoid crashes. However, we are checking that the download is in the
+        m_downloadsWaitingForDestination and in that case we should always have both, so better add asserts there. If
+        the download is already in the map after the completion handler it means that dataTaskBecameDownloadTask() has
+        alrady been called, so we can just return in that case.
+        * NetworkProcess/Downloads/DownloadManager.h:
+        * NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+        (-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]): Protect the NetworkDataTask that can
+        be deleted by dataTaskBecameDownloadTask().
+
+2016-10-10  Tim Horton  <timothy_horton@apple.com>
+
+        Share more code between iOS and macOS ViewGestureController
+        https://bugs.webkit.org/show_bug.cgi?id=163158
+
+        Reviewed by Simon Fraser.
+
+        Share canSwipeInDirection() and the (unused on Mac) alternate back-forward list mechanism.
+        Make ViewGestureController operate in terms of WebPageProxy, not WKWebView,
+        because it shouldn't know anything about WKWebView.
+        Refactor scrollEventCanBecomeSwipe a bit to be less repetitive.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView setAllowsBackForwardNavigationGestures:]):
+        * UIProcess/Cocoa/ViewGestureController.cpp:
+        (WebKit::ViewGestureController::ViewGestureController):
+        (WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
+        (WebKit::ViewGestureController::canSwipeInDirection):
+        (WebKit::ViewGestureController::gestureControllerForPage): Deleted.
+        * UIProcess/Cocoa/ViewGestureController.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::createWeakPtr):
+        * UIProcess/ios/ViewGestureControllerIOS.mm:
+        (WebKit::ViewGestureController::beginSwipeGesture):
+        (WebKit::ViewGestureController::setAlternateBackForwardListSourceView): Deleted.
+        (WebKit::ViewGestureController::canSwipeInDirection): Deleted.
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
+        (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
+        (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
+
+2016-10-10  Tomas Popela  <tpopela@redhat.com>
+
+        [GTK] UIProcess crashes when using Japanese IM
+        https://bugs.webkit.org/show_bug.cgi?id=163011
+
+        We have to reference the current GdkEventKey before we try process it
+        as later when the lambda body is reached the event could be already
+        freed.
+
+        Reviewed by Carlos Garcia Campos.
+
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseKeyPressEvent):
+        (webkitWebViewBaseKeyReleaseEvent):
+        * UIProcess/gtk/InputMethodFilter.h:
+        Use non-copyable Function so we can use WTFMove to pass the event to
+        lambda.
+
+2016-10-09  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Support InputEvent.inputType for the new InputEvent spec
+        https://bugs.webkit.org/show_bug.cgi?id=163025
+        <rdar://problem/28658092>
+
+        Reviewed by Darin Adler.
+
+        Accounts for some changes to the EditAction enum in nameForEditAction. Some former edit
+        actions, such as EditActionTyping, have been split out into its more specific subtypes,
+        so we preserve shipping behavior by treating all of the new subtypes the same way as the
+        original type.
+
+        * UIProcess/WebEditCommandProxy.cpp:
+        (WebKit::WebEditCommandProxy::nameForEditAction):
+
+2016-10-08  Emanuele Aina  <emanuele.aina@collabora.com>
+
+        [GTK] Drop redundant wl_display_flush_clients() call
+        https://bugs.webkit.org/show_bug.cgi?id=161904
+
+        Reviewed by Michael Catanzaro.
+
+        The Wayland GSource::prepare() function already calls
+        wl_display_flush_clients() at every mainloop iteration, so there's no
+        need to further call it on Surface::commit().
+
+        * UIProcess/gtk/WaylandCompositor.cpp:
+        (WebKit::WaylandCompositor::Surface::commit):
+        * UIProcess/gtk/WaylandCompositor.h:
+
+2016-10-06  Darin Adler  <darin@apple.com>
+
+        Next step on moving to modern way to return DOM exceptions
+        https://bugs.webkit.org/show_bug.cgi?id=163016
+
+        Reviewed by Ryosuke Niwa.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
+        (webkit_dom_dom_implementation_create_document_type): Updated for name change
+        from takeReturnValue to releaseReturnValue.
+        (webkit_dom_dom_implementation_create_document): Ditto.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.cpp:
+        (webkit_dom_dom_selection_collapse_to_end): Use ExceptionOr instead of ExceptionCode.
+        (webkit_dom_dom_selection_collapse_to_start): Ditto.
+        (webkit_dom_dom_selection_extend): Ditto.
+        (webkit_dom_dom_selection_get_range_at): Ditto.
+
+2016-10-08  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r206950.
+        https://bugs.webkit.org/show_bug.cgi?id=163169
+
+        broke an API test (Requested by thorton on #webkit).
+
+        Reverted changeset:
+
+        "Share more code between iOS and macOS ViewGestureController"
+        https://bugs.webkit.org/show_bug.cgi?id=163158
+        http://trac.webkit.org/changeset/206950
+
+2016-10-08  Tim Horton  <timothy_horton@apple.com>
+
+        Share more code between iOS and macOS ViewGestureController
+        https://bugs.webkit.org/show_bug.cgi?id=163158
+
+        Reviewed by Simon Fraser.
+
+        Share canSwipeInDirection() and the (unused on Mac) alternate back-forward list mechanism.
+        Make ViewGestureController operate in terms of WebPageProxy, not WKWebView,
+        because it shouldn't know anything about WKWebView.
+        Refactor scrollEventCanBecomeSwipe a bit to be less repetitive.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView setAllowsBackForwardNavigationGestures:]):
+        * UIProcess/Cocoa/ViewGestureController.cpp:
+        (WebKit::ViewGestureController::ViewGestureController):
+        (WebKit::ViewGestureController::setAlternateBackForwardListSourcePage):
+        (WebKit::ViewGestureController::canSwipeInDirection):
+        (WebKit::ViewGestureController::gestureControllerForPage): Deleted.
+        * UIProcess/Cocoa/ViewGestureController.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::WebPageProxy):
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::createWeakPtr):
+        * UIProcess/ios/ViewGestureControllerIOS.mm:
+        (WebKit::ViewGestureController::beginSwipeGesture):
+        (WebKit::ViewGestureController::setAlternateBackForwardListSourceView): Deleted.
+        (WebKit::ViewGestureController::canSwipeInDirection): Deleted.
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::PendingSwipeTracker::PendingSwipeTracker):
+        (WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
+        (WebKit::ViewGestureController::PendingSwipeTracker::tryToStartSwipe):
+
+2016-10-07  Anders Carlsson  <andersca@apple.com>
+
+        Get rid of API::Session and WKSessionRef
+        https://bugs.webkit.org/show_bug.cgi?id=163140
+
+        Reviewed by Tim Horton.
+
+        This API is no longer used.
+
+        * CMakeLists.txt:
+        * Shared/API/APIObject.h:
+        * Shared/API/c/WKSharedAPICast.h:
+        * UIProcess/API/APISession.cpp: Removed.
+        (API::generateID): Deleted.
+        (API::Session::defaultSession): Deleted.
+        (API::Session::Session): Deleted.
+        (API::Session::createEphemeral): Deleted.
+        (API::Session::isEphemeral): Deleted.
+        (API::Session::getID): Deleted.
+        (API::Session::~Session): Deleted.
+        * UIProcess/API/APISession.h: Removed.
+        * UIProcess/API/C/WKPage.h:
+        * UIProcess/API/C/WKSessionRef.cpp: Removed.
+        (WKSessionCreate): Deleted.
+        (WKSessionGetTypeID): Deleted.
+        (WKSessionIsEphemeral): Deleted.
+        * UIProcess/API/C/WKSessionRef.h: Removed.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebProcessProxy.h:
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2016-10-07  Tim Horton  <timothy_horton@apple.com>
+
+        Move ViewGestureController files to more accurate locations
+        https://bugs.webkit.org/show_bug.cgi?id=163141
+
+        Reviewed by Anders Carlsson.
+
+        * PlatformMac.cmake:
+        * UIProcess/Cocoa/ViewGestureController.cpp: Renamed from UIProcess/ViewGestureController.cpp.
+        * UIProcess/Cocoa/ViewGestureController.h: Renamed from UIProcess/mac/ViewGestureController.h.
+        * UIProcess/Cocoa/ViewGestureController.messages.in: Renamed from UIProcess/mac/ViewGestureController.messages.in.
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2016-10-07  Tim Horton  <timothy_horton@apple.com>
+
+        Adopt BlockPtr in ViewGestureController
+        https://bugs.webkit.org/show_bug.cgi?id=163132
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::setDidMoveSwipeSnapshotCallback):
+        * UIProcess/ViewGestureController.cpp:
+        (WebKit::ViewGestureController::SnapshotRemovalTracker::stopWaitingForEvent):
+        * UIProcess/mac/ViewGestureController.h:
+        (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
+        (WebKit::ViewGestureController::m_didMoveSwipeSnapshotCallback): Deleted.
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::platformTeardown):
+        (WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback): Deleted.
+
+2016-10-07  Anders Carlsson  <andersca@apple.com>
+
+        Get rid of WKPageSetSession
+        https://bugs.webkit.org/show_bug.cgi?id=163129
+
+        Reviewed by Tim Horton.
+
+        This function is no longer used.
+
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetSession): Deleted.
+        * UIProcess/API/C/WKPage.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::setSessionID): Deleted.
+        * UIProcess/WebPageProxy.h:
+        (WebKit::WebPageProxy::sessionID):
+        * WebProcess/WebPage/WebPage.messages.in:
+
+2016-10-07  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r206909.
+        https://bugs.webkit.org/show_bug.cgi?id=163116
+
+        Caused most of  GTK layout tests to crash (Requested by KaL on
+        #webkit).
+
+        Reverted changeset:
+
+        "[GTK] UIProcess crashes when using Japanese IM"
+        https://bugs.webkit.org/show_bug.cgi?id=163011
+        http://trac.webkit.org/changeset/206909
+
+2016-10-07  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Network Session: Allow NetworkDataTask decide what to do when override is allowed for a download
+        https://bugs.webkit.org/show_bug.cgi?id=163010
+
+        Reviewed by Alex Christensen.
+
+        Current code always deletes the file before starting a download when allow override is True. In soup backend we
+        use glib API that takes care of it and tries to ensure that the original file is not deleted if the new file
+        creation fails for whatever reason.
+
+        * NetworkProcess/Downloads/DownloadManager.cpp:
+        (WebKit::DownloadManager::continueDecidePendingDownloadDestination): Pass allowOverride to setPendingDownloadLocation().
+        * NetworkProcess/NetworkDataTask.h:
+        * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
+        (WebKit::NetworkDataTask::setPendingDownloadLocation): Delete the destination file if exists and allowOverride
+        is True.
+
+2016-10-07  Tomas Popela  <tpopela@redhat.com>
+
+        [GTK] UIProcess crashes when using Japanese IM
+        https://bugs.webkit.org/show_bug.cgi?id=163011
+
+        We have to reference the current GdkEventKey before we try process it
+        as later when the lambda body is reached the event could be already
+        freed.
+
+        Reviewed by Carlos Garcia Campos.
+
+        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+        (webkitWebViewBaseKeyPressEvent):
+        (webkitWebViewBaseKeyReleaseEvent):
+        * UIProcess/gtk/InputMethodFilter.h:
+        Use non-copyable Function so we can use WTFMove to pass the event to
+        lambda.
+
+2016-10-06  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        [GTK] Expose WebKitDOMHTMLInputElement APIs for form autofill
+        https://bugs.webkit.org/show_bug.cgi?id=163082
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
+        (webkit_dom_html_input_element_get_auto_filled): Added.
+        (webkit_dom_html_input_element_set_auto_filled): Added.
+        (webkit_dom_html_input_element_set_editing_value): Added.
+        * WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
+        * WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
+
+2016-10-06  John Wilander  <wilander@apple.com>
+
+        Update Resource Load Statistics
+        https://bugs.webkit.org/show_bug.cgi?id=162811
+
+        Reviewed by Alex Christensen.
+
+        * UIProcess/WebResourceLoadStatisticsStore.cpp:
+        (WebKit::WebResourceLoadStatisticsStore::hasPrevalentResourceCharacteristics):
+            Switched to vector-based classification.
+        (WebKit::WebResourceLoadStatisticsStore::classifyResource):
+            Simplified logic and moved the split between has and has
+            no user interaction into ResourceLoadStatisticsStore.
+        (WebKit::WebResourceLoadStatisticsStore::clearDataRecords):
+            Added.
+        (WebKit::WebResourceLoadStatisticsStore::resourceLoadStatisticsUpdated):
+            Updated to make use of the new functions.
+        (WebKit::WebResourceLoadStatisticsStore::persistentStoragePath):
+            Removed stray whitespace.
+        (WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):
+            Removed stray whitespace.
+        (WebKit::WebResourceLoadStatisticsStore::createDecoderFromDisk):
+            Removed stray whitespace.
+        (WebKit::hasPrevalentResourceCharacteristics): Deleted.
+        (WebKit::classifyPrevalentResources): Deleted.
+        * UIProcess/WebResourceLoadStatisticsStore.h:
+            Added member variables for clearing of data records.
+
+2016-10-06  Youenn Fablet  <youenn@apple.com>
+
+        [WK2] 304 revalidation on the network process does not update the validated response
+        https://bugs.webkit.org/show_bug.cgi?id=162973
+
+        Reviewed by Darin Adler.
+
+        * NetworkProcess/NetworkResourceLoader.cpp: Updating cache entry with the revalidated one.
+
+2016-10-05  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Introduce InputEvent bindings in preparation for the input events spec
+        https://bugs.webkit.org/show_bug.cgi?id=162954
+
+        Reviewed by Ryosuke Niwa.
+
+        Adds a new runtime switch for enabling InputEvents.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2016-10-05  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        Put variation fonts work behind a compile-time flag
+        https://bugs.webkit.org/show_bug.cgi?id=162949
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2016-10-05  Tim Horton  <timothy_horton@apple.com>
+
+        Fix the build.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+
+2016-10-05  Tim Horton  <timothy_horton@apple.com>
+
+        Avoid automatically re-taking snapshots for back-forward items that were never loaded into the view
+        https://bugs.webkit.org/show_bug.cgi?id=162955
+        <rdar://problem/27659173>
+
+        Reviewed by Simon Fraser.
+
+        Make it possible for clients to control the snapshot for back-forward
+        items that are restored from session state without navigating to them,
+        by ensuring that we won't stomp on the snapshot that they explicitly take,
+        until a load occurs.
+
+        * UIProcess/WebBackForwardList.cpp:
+        (WebKit::WebBackForwardList::addItem):
+        (WebKit::WebBackForwardList::goToItem):
+        * UIProcess/ios/ViewGestureControllerIOS.mm:
+        (WebKit::ViewGestureController::beginSwipeGesture):
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::trackSwipeGesture):
+        Disambiguate explicit API-driven snapshot recording from automatic,
+        navigation-driven snapshot recording.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::saveBackForwardSnapshotForCurrentItem):
+        Get rid of the version of recordNavigationSnapshot() that doesn't take a
+        back-forward list item, and grab the current item at the one remaining caller.
+        
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::recordAutomaticNavigationSnapshot):
+        (WebKit::WebPageProxy::recordNavigationSnapshot):
+        (WebKit::WebPageProxy::restoreFromSessionState):
+        (WebKit::WebPageProxy::didCommitLoadForFrame):
+        * UIProcess/WebPageProxy.h:
+        Rename m_suppressNavigationSnapshotting to m_suppressAutomaticNavigationSnapshotting,
+        and make it be only about automatic (navigation-driven) snapshots; it won't have
+        any impact on explicit snapshots forced by clients.
+        
+        Set m_suppressAutomaticNavigationSnapshotting unconditionally when restoring
+        from session state, so that we won't start automatically snapshotting until
+        something has loaded in the view.
+
+2016-10-05  Tim Horton  <timothy_horton@apple.com>
+
+        Make it possible to test ViewSnapshotStore behaviors
+        https://bugs.webkit.org/show_bug.cgi?id=162983
+
+        Reviewed by Simon Fraser.
+
+        Add two pieces of SPI to make it easier to test ViewSnapshotStore:
+
+        - [WKWebView _disableBackForwardSnapshotVolatilityForTesting]
+            This makes it so that we don't make snapshots volatile after we
+            take them, so that they won't get purged while the test is running
+            and cause the test to be flaky.
+
+        - [WKBackForwardListItem _copySnapshotForTesting]
+            This returns a CGImage with the content of the given back-forward
+            item's current snapshot, if there is one.
+
+        * UIProcess/API/Cocoa/WKBackForwardListItem.mm:
+        (-[WKBackForwardListItem _copySnapshotForTesting]):
+        * UIProcess/API/Cocoa/WKBackForwardListItemInternal.h:
+        * UIProcess/API/Cocoa/WKBackForwardListItemPrivate.h: Added.
+        Add WKBackForwardListItem SPI to retrieve the snapshot for a given back-forward list item.
+
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]):
+        Add WKWebView SPI to disable volatility of snapshots, for testing purposes.
+        
+        * UIProcess/Cocoa/WebViewImpl.h:
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::takeViewSnapshot):
+        Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
+
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::removeSwipeSnapshot):
+        Adopt ViewSnapshot::setVolatile instead of reaching into the surface.
+
+        * UIProcess/mac/ViewSnapshotStore.h:
+        (WebKit::ViewSnapshotStore::setDisableSnapshotVolatilityForTesting):
+        (WebKit::ViewSnapshotStore::disableSnapshotVolatilityForTesting):
+        * UIProcess/mac/ViewSnapshotStore.mm:
+        (WebKit::ViewSnapshotStore::ViewSnapshotStore):
+        (WebKit::ViewSnapshot::setVolatile):
+        (WebKit::ViewSnapshot::asLayerContents):
+        Move all touching of snapshot volatility into the new setVolatile,
+        and short-circuit if the testing-only m_disableSnapshotVolatility bit is set
+
+        (WebKit::ViewSnapshot::asImageForTesting):
+        Make a CGImageRef for the aforementioned WKBackForwardListItem SPI.
+        This is currently not implemented for the iOS Simulator, because we
+        don't have access to the bits of the image in that case.
+
+2016-10-05  Chris Dumez  <cdumez@apple.com>
+
+        KeyboardEvent.getModifierState() should support "CapsLock" modifier
+        https://bugs.webkit.org/show_bug.cgi?id=162861
+
+        Reviewed by Darin Adler.
+
+        Add support for CapsLock modifier on events.
+
+        * Shared/API/c/WKEvent.h:
+        * Shared/API/c/WKSharedAPICast.h:
+        (WebKit::toAPI):
+        * Shared/WebEventConversion.cpp:
+        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
+        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+        (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
+        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
+        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
+        * Shared/efl/WebEventFactory.cpp:
+        (WebKit::toWebEventModifiers):
+        * Shared/ios/WebIOSEventFactory.mm:
+        (modifiersForEvent):
+        * Shared/mac/WebEventFactory.mm:
+        (WebKit::modifiersForEvent):
+        * UIProcess/API/Cocoa/WKNavigationAction.mm:
+        (toNSEventModifierFlags):
+        * UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
+        (WebKit::WebAutomationSession::platformSimulateMouseInteraction):
+
+2016-10-05  Zan Dobersek  <zdobersek@igalia.com>
+
+        Rename ENABLE_ENCRYPTED_MEDIA_V2 to ENABLE_LEGACY_ENCRYPTED_MEDIA
+        https://bugs.webkit.org/show_bug.cgi?id=162903
+
+        Reviewed by Alex Christensen.
+
+        Rename build guards for the remaining implementation of the legacy EME API
+        to ENABLE_LEGACY_ENCRYPTED_MEDIA. This will allow for the future implementation
+        of the near-finished API to be guarded with the simple ENABLE_ENCRYPTED_MEDIA guards.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::m_userInterfaceLayoutDirection):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::m_resourceLoadStatisticsStorage):
+
+2016-10-05  Daniel Bates  <dabates@apple.com>
+
+        [WK2][NetworkSession] Ping requests should follow redirects if applicable
+        https://bugs.webkit.org/show_bug.cgi?id=162580
+        <rdar://problem/28631274>
+
+        Reviewed by Alex Christensen.
+
+        Implement support for following redirects, if applicable, of a ping request when using the
+        Network Session (ENABLE(NETWORK_SESSION)) code path in WebKit2. For ping requests that are
+        in response to hyperlink auditing (e.g. <a ping>) we should follow redirect responses.
+        For Content Security Policy and XSS Auditor violation reports we should not follow redirect
+        responses.
+
+        Currently we always ignore redirects for ping requests that are sent using the Network Session
+        code path in WebKit2. This behavior disagrees with the behavior described in section
+        "Hyperlink auditing" of the HTML standard, <https://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing> (27 September 2016),
+        as well as the behavior in Legacy WebKit and WebKit2 with Network Session disabled. We should
+        follow redirects for ping requests initiated as part of hyperlink auditing to more closely
+        conform to the HTML standard and match the behavior in Legacy WebKit and WebKit2 with Network
+        Session disabled.
+
+        * NetworkProcess/PingLoad.h:
+
+2016-10-05  Daniel Bates  <dabates@apple.com>
+
+        Do not follow redirects when sending violation report
+        https://bugs.webkit.org/show_bug.cgi?id=162520
+        <rdar://problem/27957639>
+
+        Reviewed by Alex Christensen.
+
+        Update the non-Network Session WebKit2 implementation to follow redirect responses for a ping
+        request, if applicable. I did not update the Network Session implementation at this time. I
+        will fix it in <https://bugs.webkit.org/show_bug.cgi?id=162580>.
+
+        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+        (WebKit::NetworkConnectionToWebProcess::loadPing): Tell PingHandle whether to follow redirects.
+        * NetworkProcess/NetworkLoadParameters.h:
+        * NetworkProcess/NetworkResourceLoadParameters.cpp:
+        (WebKit::NetworkResourceLoadParameters::encode): Encode NetworkResourceLoadParameters::shouldFollowRedirects.
+        (WebKit::NetworkResourceLoadParameters::decode): Decode NetworkResourceLoadParameters::shouldFollowRedirects.
+        * NetworkProcess/PingLoad.h: Added FIXME comment to implement support for following redirects,
+        if applicable (for hyperlink auditing). See <https://bugs.webkit.org/show_bug.cgi?id=162580>
+        for more details.
+        * WebProcess/Network/WebLoaderStrategy.cpp:
+        (WebKit::WebLoaderStrategy::createPingHandle): Modified to take a boolean whether to follow
+        redirects responses and set NetworkResourceLoadParameters::shouldFollowRedirects as appropriate.
+        * WebProcess/Network/WebLoaderStrategy.h:
+
+2016-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [SOUP] Move global TLS errors handling from ResourceHandle to SoupNetworkSession
+        https://bugs.webkit.org/show_bug.cgi?id=162910
+
+        Reviewed by Alex Christensen.
+
+        Use SoupNetworkSession instead of ResourceHandle.
+
+        * NetworkProcess/soup/NetworkProcessSoup.cpp:
+        (WebKit::NetworkProcess::setIgnoreTLSErrors):
+        (WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
+
+2016-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Fix GTK+ build with USE_REDIRECTED_XCOMPOSITE_WINDOW disabled.
+
+        * UIProcess/AcceleratedDrawingAreaProxy.cpp:
+        (WebKit::AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing):
+
+2016-10-04  Chris Dumez  <cdumez@apple.com>
+
+        Implement KeyboardEvent.code from the UI Event spec
+        https://bugs.webkit.org/show_bug.cgi?id=149584
+
+        Reviewed by Darin Adler.
+
+        Add support for Keyboard.code attribute:
+        - https://w3c.github.io/uievents/#dom-keyboardevent-code
+        - https://w3c.github.io/uievents-code/
+
+        * Shared/WebEvent.h:
+        (WebKit::WebKeyboardEvent::code):
+        * Shared/WebEventConversion.cpp:
+        (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
+        * Shared/WebKeyboardEvent.cpp:
+        (WebKit::WebKeyboardEvent::WebKeyboardEvent):
+        (WebKit::WebKeyboardEvent::encode):
+        (WebKit::WebKeyboardEvent::decode):
+        * Shared/mac/WebEventFactory.mm:
+        (WebKit::WebEventFactory::createWebKeyboardEvent):
+
+2016-10-04  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        The dragged image should be the current frame only of the animated image
+        https://bugs.webkit.org/show_bug.cgi?id=162109
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::provideDataForPasteboard): Call the Image function with its new name.
+
+2016-10-04  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Revert a change erroneously committed in r206795.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+
+2016-10-04  Anders Carlsson  <andersca@apple.com>
+
+        Properly kill web processes in the launching state
+        https://bugs.webkit.org/show_bug.cgi?id=162938
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/Launcher/ProcessLauncher.h:
+        Add m_xpcConnection member.
+
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+        (WebKit::ProcessLauncher::launchProcess):
+        Store the XPC connection in the m_xpcConnection member variable.
+        In the reply handler, handle m_xpcConnection being null.
+
+        (WebKit::ProcessLauncher::platformInvalidate):
+        Cancel and kill the connection.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::terminateProcess):
+        Get rid of an assertion.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::requestTermination):
+        Handle the launching state.
+
+2016-10-04  Tim Horton  <timothy_horton@apple.com>
+
+        Fix the build.
+
+        * Shared/WebBackForwardListItem.cpp:
+        (WebKit::WebBackForwardListItem::WebBackForwardListItem):
+        (WebKit::WebBackForwardListItem::highestUsedItemID):
+
+2016-10-04  Tim Horton  <timothy_horton@apple.com>
+
+        Fix a typo in WebBackForwardListItem (highed->highest)
+        https://bugs.webkit.org/show_bug.cgi?id=162935
+
+        Reviewed by Anders Carlsson.
+
+        * Shared/WebBackForwardListItem.cpp:
+        (WebKit::WebBackForwardListItem::highestUsedItemID):
+        (WebKit::WebBackForwardListItem::highedUsedItemID): Deleted.
+        * Shared/WebBackForwardListItem.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::creationParameters):
+
+2016-10-04  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [DOMJIT] Introduce DOMJIT::GetterSetter to tell JIT information
+        https://bugs.webkit.org/show_bug.cgi?id=162916
+
+        Reviewed by Filip Pizlo.
+
+        * CMakeLists.txt:
+
 2016-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [SOUP] Remove SSLPolicyFlags from SoupNetworkSession