Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
[WebKit-https.git] / Source / WebKit2 / ChangeLog
index c0ab96d..791ae95 100644 (file)
+2014-08-22  Jon Lee  <jonlee@apple.com>
+
+        Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
+        https://bugs.webkit.org/show_bug.cgi?id=136157
+
+        Reviewed by Simon Fraser.
+
+        * Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
+
+2014-08-21  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Possible RetainPtr misuse in WKScriptMessage.mm - could leak
+        https://bugs.webkit.org/show_bug.cgi?id=136140
+
+        Reviewed by Darin Adler.
+
+        Adopt a copy into a RetainPtr to avoid leaking.
+
+        * UIProcess/API/Cocoa/WKScriptMessage.mm:
+        (-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):
+
+2014-08-21  Simon Fraser  <simon.fraser@apple.com>
+
+        Add animationDidEnd callbacks on GraphicsLayer
+        https://bugs.webkit.org/show_bug.cgi?id=136084
+
+        Reviewed by Tim Horton.
+
+        Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
+        can add animations, and know when they finish.
+
+        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
+        * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
+        (WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):
+        * UIProcess/mac/RemoteLayerTreeHost.h:
+        * UIProcess/mac/RemoteLayerTreeHost.mm:
+        (WebKit::RemoteLayerTreeHost::animationDidEnd):
+        * WebProcess/WebPage/DrawingArea.h:
+        (WebKit::DrawingArea::acceleratedAnimationDidEnd):
+        * WebProcess/WebPage/DrawingArea.messages.in:
+        * WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
+        (-[WKAnimationDelegate animationDidStop:finished:]):
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
+        (WebKit::PlatformCALayerRemote::animationStarted):
+        (WebKit::PlatformCALayerRemote::animationEnded):
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
+        * WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
+        * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
+        (WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
+        (WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
+        (WebKit::RemoteLayerTreeContext::animationDidStart):
+        (WebKit::RemoteLayerTreeContext::animationDidEnd):
+        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
+        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
+        (WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidEnd):
+
+2014-08-21  Zalan Bujtas  <zalan@apple.com>
+
+        Enable SATURATED_LAYOUT_ARITHMETIC.
+        https://bugs.webkit.org/show_bug.cgi?id=136106
+
+        Reviewed by Simon Fraser.
+
+        SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
+        (No measurable performance regression on Mac.)
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2014-08-21  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
+
+        [GTK] WebkitWebProcess crashing navigating away from ogg video element
+        https://bugs.webkit.org/show_bug.cgi?id=135348
+
+        Reviewed by Philippe Normand.
+
+        When a page is cached, by default doesn't recreate the backing store
+        (an optimization added in r89316).
+
+        Not all the ports uses that optimization. For example IOS port doesn't
+        use it (r161185).
+
+        In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
+        processes video buffers, also display them, because it is a
+        TextureMapperPlatformLayer too.
+
+        Nevertheless, in r153937, when a page is cached, the player is
+        destroyed. But our player has a backing store and the render tree
+        doesn't know that the player has gone. Hence, when the page is redraw,
+        the TextureMapper tree visits the video element, which doesn't exist
+        anymore, a segmentation fault occurs.
+
+        So, as our media player renders, and as we cannot trust that the
+        player exists when a page is painted, we cannot rely in the r89316
+        optimization.
+
+        Disabling the backing stores optimization fixes the problem.
+
+        Covered by existing tests.
+
+        * WebProcess/soup/WebProcessSoup.cpp:
+        (WebKit::WebProcess::platformSetCacheModel): Enable the backing store
+        clearing when page caching for GTK.
+
+2014-08-20  Alex Christensen  <achristensen@webkit.org>
+
+        Introducing WEBCORE_EXPORT macro.
+        https://bugs.webkit.org/show_bug.cgi?id=136108
+
+        Reviewed by Antti Koivisto.
+
+        * config.h:
+        Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.
+
+2014-08-20  Pratik Solanki  <psolanki@apple.com>
+
+        Move DiskCacheMonitor to WebCore so that WebKit1 clients can use it as well
+        https://bugs.webkit.org/show_bug.cgi?id=135896
+
+        Reviewed by Andreas Kling.
+
+        * NetworkProcess/mac/NetworkDiskCacheMonitor.h:
+            Inherit from WebCore::DiskCacheMonitor which has the bulk of the functionality now.
+        (WebKit::NetworkDiskCacheMonitor::~NetworkDiskCacheMonitor):
+        * NetworkProcess/mac/NetworkDiskCacheMonitor.mm:
+        (WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
+        (WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
+        (WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked):
+            Override virtual method and send the data to the WebContent process as before.
+
+2014-08-19  Pratik Solanki  <psolanki@apple.com>
+
+        Remove PurgeableBuffer since it is not very useful any more
+        https://bugs.webkit.org/show_bug.cgi?id=135939
+
+        Reviewed by Andreas Kling.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::getWebCoreMemoryCacheStatistics):
+
+2014-08-19  Peyton Randolph  <prandolph@apple.com>
+
+        Expose injected bundle SPI to get a node's URL element, get the visible selection range of that
+        element, and snapshot that range
+        https://bugs.webkit.org/show_bug.cgi?id=136076
+
+        Reviewed by Tim Horton.
+
+        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
+        (WKBundleHitTestResultCopyURLElementHandle): Added.
+        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
+        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+        (WKBundleNodeHandleCopyVisibleRange): Added.
+        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+        * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
+        (WKBundleRangeHandleGetBoundingRectInWindowCoordinates): Added.
+        (WKBundleRangeHandleCopySnapshotWithOptions): Added.
+        * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h:
+        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+        (WebKit::InjectedBundleNodeHandle::visibleRange): Added.
+        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+        (WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates): Added.
+        (WebKit::InjectedBundleRangeHandle::renderedImage): Added.
+        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
+        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
+        (WebKit::InjectedBundleHitTestResult::urlElementHandle): Added.
+        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
+
+2014-08-19  Zalan Bujtas  <zalan@apple.com>
+
+        Remove ENABLE(SUBPIXEL_LAYOUT).
+        https://bugs.webkit.org/show_bug.cgi?id=136077
+
+        Reviewed by Simon Fraser.
+
+        Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2014-08-19  Peyton Randolph  <prandolph@apple.com>
+
+        Extend injected bundle node snapshotting to support forced white and black text
+        https://bugs.webkit.org/show_bug.cgi?id=136061
+
+        Reviewed by Beth Dakin.
+
+        * Shared/API/c/WKImage.h:
+        Add -ForceBlackText and -ForceWhiteText snapshotting options.
+        * Shared/API/c/WKSharedAPICast.h:
+        (WebKit::toSnapshotOptions):
+        Support aforementioned text snapshotting options.
+        * Shared/ImageOptions.h:
+        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+        (WebKit::imageForRect):
+        Respect text color snapshotting options by setting appropriate paint behaviors.
+
+2014-08-18  Maciej Stachowiak  <mjs@apple.com>
+
+        Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
+        https://bugs.webkit.org/show_bug.cgi?id=136035
+
+        Reviewed by Dan Bernstein.
+
+        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+        (InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
+        WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension
+        * mac/WebKit2.order: Remove exports related to above.
+
+2014-08-18  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r172736.
+        https://bugs.webkit.org/show_bug.cgi?id=136060
+
+        Caused 14% PLT regressions (Requested by rniwa on #webkit).
+
+        Reverted changeset:
+
+        "Remove PurgeableBuffer since it is not very useful any more"
+        https://bugs.webkit.org/show_bug.cgi?id=135939
+        http://trac.webkit.org/changeset/172736
+
+2014-08-18  Simon Fraser  <simon.fraser@apple.com>
+
+        Provide default implementations of all GraphicsLayerClient methods
+        https://bugs.webkit.org/show_bug.cgi?id=136054
+
+        Reviewed by Tim Horton.
+        
+        Remove overrides which are no longer required.
+
+        * WebProcess/WebPage/PageOverlayController.h:
+        * WebProcess/WebPage/ServicesOverlayController.h:
+        * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
+
+2014-08-18  Pratik Solanki  <psolanki@apple.com>
+
+        Remove PurgeableBuffer since it is not very useful any more
+        https://bugs.webkit.org/show_bug.cgi?id=135939
+
+        Reviewed by Geoffrey Garen.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::getWebCoreMemoryCacheStatistics):
+
+2014-08-18  Peyton Randolph  <prandolph@apple.com>
+
+        Expose long mouse press WebKit API. Part of 135257 - Add long mouse press gesture
+        https://bugs.webkit.org/show_bug.cgi?id=136048
+
+        Reviewed by Dan Bernstein.
+
+        This patch exposes long mouse press API callbacks in both the injected bundle and on the UI process
+        through their respective page UI clients. The callbacks are modeled off of the mouseDidMoveOverElement
+        callback. Like the mouseDidMoveOverElement callback, these callbacks allow the bundle to pass 
+        information to the UI process via a userData out parameter.
+
+        * UIProcess/API/APIUIClient.h:
+        (API::UIClient::didBeginTrackingPotentialLongMousePress): Added.
+        (API::UIClient::didRecognizeLongMousePress): Added.
+        (API::UIClient::didCancelTrackingPotentialLongMousePress): Added.
+        * UIProcess/API/C/WKPage.cpp:
+        (WKPageSetPageUIClient):
+        * UIProcess/API/C/WKPageUIClient.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Added.
+        (WebKit::WebPageProxy::didRecognizeLongMousePress): Added.
+        (WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Added.
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
+        (API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Added.
+        (API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Added.
+        (API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Added.
+        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
+        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.
+        (WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Added.
+        (WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Added.
+        (WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Added.
+        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Added.
+        (WebKit::WebChromeClient::didRecognizeLongMousePress): Added.
+        (WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Added.
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2014-08-18  Przemyslaw Kuczynski  <p.kuczynski@samsung.com>
+
+        Fix unintentional integer overflow before widen
+        https://bugs.webkit.org/show_bug.cgi?id=135463
+
+        Reviewed by Oliver Hunt.
+
+        Overflowing expression is evaluated using operands arithmetic but then is used in
+        context which expects an wider integer type. To avoid overflow at least one operand
+        has to be representative of the wider type.
+
+        * WebProcess/soup/WebProcessSoup.cpp:
+        (WebKit::getMemorySize): Added long long literal.
+
+2014-08-18  Przemyslaw Kuczynski  <p.kuczynski@samsung.com>
+
+        Fix resource leak in unclosed file descriptor handles
+        https://bugs.webkit.org/show_bug.cgi?id=135458
+
+        Reviewed by Oliver Hunt.
+
+        Leaving descriptor unclosed will cause the resources associated with the open
+        file description never be freed (they are freed on closing the last descriptor
+        refering to the underlying file).
+
+        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
+        (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): Closed newStdout descriptor.
+        (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): Closed m_savedStdout descriptor.
+
+2014-08-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
+
+        [EFL] ewk_init() is sufficient to initialize EFL components
+        https://bugs.webkit.org/show_bug.cgi?id=136036
+
+        Reviewed by Gyuyoung Kim.
+
+        Developers do not have to initialize EFL components as ewk_init()
+        already does it.
+
+        * UIProcess/API/efl/ewk_intro.h:
+
+2014-08-16  Pratik Solanki  <psolanki@apple.com>
+
+        Rename DiskCacheMonitor to NetworkDiskCacheMonitor
+        https://bugs.webkit.org/show_bug.cgi?id=135897
+
+        Reviewed by Andreas Kling.
+
+        In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
+        class to NetworkDiskCacheMonitor.
+
+        * NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.
+        (WebKit::NetworkDiskCacheMonitor::resourceRequest):
+        * NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.
+        (WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
+        (WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
+        (WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
+        (WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):
+        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
+        (WebKit::NetworkResourceLoader::willCacheResponseAsync):
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2014-08-16  Byungseon Shin  <sun.shin@lge.com>
+
+        [GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
+        https://bugs.webkit.org/show_bug.cgi?id=136017 
+
+        Reviewed by Gyuyoung Kim.
+
+        * UIProcess/API/gtk/PageClientImpl.cpp:
+        (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
+        (WebKit::PageClientImpl::didFinishLoadForMainFrame):
+        * UIProcess/API/gtk/PageClientImpl.h:
+
+2014-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
+
+        [EFL] Add ewk_intro.h to describe main page of doxygen
+        https://bugs.webkit.org/show_bug.cgi?id=136013
+
+        Reviewed by Gyuyoung Kim.
+
+        * PlatformEfl.cmake:
+        * UIProcess/API/efl/EWebKit2.h.in:
+        * UIProcess/API/efl/ewk_intro.h: Added.
+
+2014-08-15  Zalan Bujtas  <zalan@apple.com>
+
+        Do not use FloatRect::infiniteRect() to flag full repaints.
+        https://bugs.webkit.org/show_bug.cgi?id=135900
+
+        Reviewed by Simon Fraser.
+
+        Converting FloatRect::infiniteRect() to IntRect leads to value overflow
+        and we end up with invalid repaint rectangle. Use a boolean flag to indicate
+        full repaint request.
+
+        Covered by existing tests.
+
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
+        (WebKit::PlatformCALayerRemote::setNeedsDisplayInRect):
+        (WebKit::PlatformCALayerRemote::setNeedsDisplay):
+        * WebProcess/WebPage/mac/PlatformCALayerRemote.h:
+        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
+        * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:
+        (WebKit::PlatformCALayerRemoteCustom::setNeedsDisplayInRect):
+        (WebKit::PlatformCALayerRemoteCustom::setNeedsDisplay):
+        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:
+        (WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplayInRect):
+        (WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplay):
+        * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
+
+2014-08-15  Alexey Proskuryakov  <ap@apple.com>
+
+        REGRESSION (r172660): WebKit2.TerminateTwice asserts
+        https://bugs.webkit.org/show_bug.cgi?id=136012
+
+        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::terminateProcess):
+        Added bug number to a fixme.
+
+2014-08-15  Ryuan Choi  <ryuan.choi@samsung.com>
+
+        Unreviewed build fix on the EFL port since r172635
+
+        * UIProcess/WebPageProxy.cpp: Guard removeNavigationGestureSnapshot with PLATFORM(MAC) macro.
+        * UIProcess/WebPageProxy.h: Ditto.
+        * UIProcess/efl/WebViewEfl.h: Added didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame as dummy.
+
+2014-08-15  Alexey Proskuryakov  <ap@apple.com>
+
+        Improve page to process relationship tracking
+        https://bugs.webkit.org/show_bug.cgi?id=135996
+        <rdar://problem/16991213>
+
+        Reviewed by Sam Weinig.
+
+        * UIProcess/VisitedLinkProvider.cpp:
+        (WebKit::VisitedLinkProvider::removeAll):
+        (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+        (WebKit::VisitedLinkProvider::sendTable):
+        Added assertions for m_processes only having valid entries.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::reattachToWebProcess): When attaching to a new process,
+        tell the old process that the page is not longer associated with it, avoiding
+        a potential stale pointer.
+        If re-attached to an existing process, make sure that we perform all the same
+        registrations as after having launched a new process. This substantially improves
+        the behavior when the number of open tabs is over process limit.
+        (WebKit::WebPageProxy::reattachToWebProcessWithItem): Added ASSERT(!isValid())
+        to avoid confusion. All other calls to reattachToWebProcess() have this as a
+        runtime check, but reattachToWebProcessWithItem() is only called for valid pages.
+        (WebKit::WebPageProxy::terminateProcess): Added an assertion with a FIXME for
+        something that will need to be fixed another day.
+
+        * UIProcess/WebPageProxy.h: Removed an unimplemented function.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::addExistingWebPage): Added assertions for page map sanity.
+        (WebKit::WebProcessProxy::removeWebPage): Added a check for page state being Terminated
+        already. This avoids an assertion failure that happened under the new call to
+        removeWebPage() in reattachToWebProcess(), as we are now calling it for terminated
+        processes that are not in WebContext::m_processes any more.
+        (WebKit::WebProcessProxy::didFinishLaunching): Added an assertion that page agrees
+        about using this process.
+
+2014-08-15  Gavin Barraclough  <barraclough@apple.com>
+
+        Fix plugin visibility check.
+        https://bugs.webkit.org/show_bug.cgi?id=135991
+
+        D'oh, more unreviewed typo fix. :-(
+
+        * PluginProcess/PluginControllerProxy.cpp:
+        (WebKit::PluginControllerProxy::visibilityDidChange):
+        (WebKit::PluginControllerProxy::windowVisibilityChanged):
+        (WebKit::PluginControllerProxy::updateVisibilityActivity):
+        (WebKit::PluginControllerProxy::updateVisiblityActivity): Deleted.
+        * PluginProcess/PluginControllerProxy.h:
+
+2014-08-15  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Implement snapping behavior for iOS
+        https://bugs.webkit.org/show_bug.cgi?id=135769
+
+        Reviewed by Brent Fulgham.
+
+        Added support for snap points on iOS.
+
+        * Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
+        (ArgumentCoder<ScrollingStateScrollingNode>::encode): Added snap offset encoding.
+        (ArgumentCoder<ScrollingStateScrollingNode>::decode): Added snap offset decoding.
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For mainframe scrolling, retargets the scroll destination to the appropriate snap point.
+        * UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added methods to extract relevant information for WKWebView from snap offsets in mainframe scrolling.
+        * UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
+        (-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For overflow scrolling, retargets the scroll destination to the appropriate snap point.
+        (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren): Sets the deceleration factor to FAST if snap points are active.
+        * UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:
+        (WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Used by WKWebView for mainframe scrolling to retarget the scroll destination, if necessary.
+        (WebKit::RemoteScrollingCoordinatorProxy::shouldSetScrollViewDecelerationRateFast): Used by WKWebView for mainframe scrolling to determine whether to set deceleration rate to the fast value.
+        (WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Helper method.
+        (WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Helper method.
+
+2014-08-15  Gavin Barraclough  <barraclough@apple.com>
+
+        Fix plugin visibility check.
+        https://bugs.webkit.org/show_bug.cgi?id=135991
+
+        Unreviewed typo fix.
+
+        * PluginProcess/PluginControllerProxy.cpp:
+        (WebKit::PluginControllerProxy::PluginControllerProxy):
+        (WebKit::PluginControllerProxy::visibilityDidChange):
+        (WebKit::PluginControllerProxy::windowVisibilityChanged):
+        (WebKit::PluginControllerProxy::updateVisibilityActivity):
+        * PluginProcess/PluginControllerProxy.h:
+
+2014-08-15  Gavin Barraclough  <barraclough@apple.com>
+
+        Fix plugin visibility check.
+        https://bugs.webkit.org/show_bug.cgi?id=135991
+
+        Reviewed by Andreas Kling.
+
+        We should only take a UserActivity if the plugin is in a visible window,
+        and also is itself visible.
+
+        * PluginProcess/PluginControllerProxy.cpp:
+        (WebKit::PluginControllerProxy::PluginControllerProxy):
+            - initialize member state.
+        (WebKit::PluginControllerProxy::visibilityDidChange):
+        (WebKit::PluginControllerProxy::windowVisibilityChanged):
+            - update member state & call updateVisibilityActivity.
+        (WebKit::PluginControllerProxy::updateVisibilityActivity):
+            - enable the UserActivity only if both visibilities are true.
+        * PluginProcess/PluginControllerProxy.h:
+            - added m_isVisible, m_isWindowVisible, updateVisibilityActivity.
+
+2014-08-15  Enrica Casucci  <enrica@apple.com>
+
+        [Services with UI] Selections are incorrect when selecting three lines.
+        https://bugs.webkit.org/show_bug.cgi?id=135989
+        <rdar://problem/18032571>
+
+        Reviewed by Tim Horton.
+
+        The stitching algorithm did not handle correctly the case of selections
+        over three lines if the middle line is composed of only one rectangle.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::stitchRects):
+
+2014-08-15  Tim Horton  <timothy_horton@apple.com>
+
+        Service overlays stay fixed when <iframe> scrolls
+        https://bugs.webkit.org/show_bug.cgi?id=135959
+        <rdar://problem/17957716>
+
+        Reviewed by Enrica Casucci.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::highlightsAreEquivalent):
+        Tiny correctness fix; highlights can only be equivalent if their
+        types are equivalent as well.
+
+2014-08-15  Gavin Barraclough  <barraclough@apple.com>
+
+        de-PLATFORM(COCOA) a couple of methods in plugin code
+        https://bugs.webkit.org/show_bug.cgi?id=135987
+
+        Reviewed by Sam Weinig.
+
+        Pass through the visibility & focus on all platforms, to simplify & avoid
+        any weird inconsistencies between platforms.
+
+        * PluginProcess/PluginControllerProxy.cpp:
+        (WebKit::PluginControllerProxy::windowFocusChanged):
+        (WebKit::PluginControllerProxy::windowVisibilityChanged):
+        * PluginProcess/PluginControllerProxy.h:
+        * PluginProcess/PluginControllerProxy.messages.in:
+        * PluginProcess/mac/PluginControllerProxyMac.mm:
+        (WebKit::PluginControllerProxy::windowFocusChanged): Deleted.
+        (WebKit::PluginControllerProxy::windowVisibilityChanged): Deleted.
+        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+        (WebKit::NetscapePlugin::windowFocusChanged):
+        (WebKit::NetscapePlugin::windowVisibilityChanged):
+        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+        * WebProcess/Plugins/Plugin.h:
+        * WebProcess/Plugins/PluginProxy.cpp:
+        (WebKit::PluginProxy::windowAndViewFramesChanged):
+        * WebProcess/Plugins/PluginProxy.h:
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::viewStateDidChange):
+        (WebKit::PluginView::platformViewStateDidChange): Deleted.
+        * WebProcess/Plugins/PluginView.h:
+
+2014-08-15  Tim Horton  <timothy_horton@apple.com>
+
+        Service overlays stay fixed when <iframe> scrolls
+        https://bugs.webkit.org/show_bug.cgi?id=135959
+        <rdar://problem/17957716>
+
+        Reviewed by Enrica Casucci.
+
+        * WebProcess/WebPage/PageOverlay.cpp:
+        (WebKit::PageOverlay::didScrollFrame):
+        * WebProcess/WebPage/PageOverlay.h:
+        (WebKit::PageOverlay::Client::didScrollFrame):
+        * WebProcess/WebPage/PageOverlayController.cpp:
+        (WebKit::PageOverlayController::didScrollFrame):
+        Push didScrollFrame down to the overlays.
+
+        * WebProcess/WebPage/ServicesOverlayController.h:
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::Highlight::createForSelection):
+        Hold on to the selection's Range so we can use it to compare Highlights later.
+
+        (WebKit::ServicesOverlayController::Highlight::Highlight):
+        (WebKit::ServicesOverlayController::Highlight::setDDHighlight):
+        Factor the code to set up and paint the highlight out, so that we can
+        set a new DDHighlightRef on a Highlight and the layer moves/reshapes/repaints.
+
+        (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
+        (WebKit::ServicesOverlayController::buildSelectionHighlight):
+        (WebKit::ServicesOverlayController::replaceHighlightsOfTypePreservingEquivalentHighlights):
+        Factor replaceHighlightsOfTypePreservingEquivalentHighlights out
+        so that we can use it for buildSelectionHighlight as well.
+
+        Steal the DDHighlightRef from the new Highlight when re-using an old one
+        so that the newly computed rects are used instead of the old ones.
+
+        (WebKit::ServicesOverlayController::highlightsAreEquivalent):
+        We will always have a Range now, so we can always check equivalence using it.
+
+        (WebKit::ServicesOverlayController::didScrollFrame):
+        Rebuild all highlights upon subframe scroll, as they might have moved.
+        We could optimize this in the future, but for now it's cheap enough
+        and rare enough that it doesn't matter.
+
+2014-08-15  Tim Horton  <timothy_horton@apple.com>
+
+        REGRESSION (WebKit2 Gestures): White flash when swiping back to cnn.com's homepage from an article
+        https://bugs.webkit.org/show_bug.cgi?id=135951
+        <rdar://problem/18006149>
+
+        Reviewed by Simon Fraser.
+
+        Wait for (the first visually non-empty layout AND the render tree size threshold to be hit),
+        OR didFinishLoadForFrame, whichever comes first. Once we've done the first visually non-empty layout,
+        we'll start the watchdog and tear down the snapshot in three seconds no matter what.
+        Also, force a repaint so we can asynchronously wait for the Web Process to paint and return to us
+        before removing the snapshot, which improves our chances that something is actually on the screen.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]):
+        (-[WKView _didFinishLoadForMainFrame]):
+        (-[WKView _removeNavigationGestureSnapshot]):
+        * UIProcess/API/mac/WKViewInternal.h:
+        * UIProcess/PageClient.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didFinishLoadForFrame):
+        (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
+        (WebKit::WebPageProxy::removeNavigationGestureSnapshot):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
+        (WebKit::PageClientImpl::didFinishLoadForMainFrame):
+        * UIProcess/mac/PageClientImpl.h:
+        * UIProcess/mac/PageClientImpl.mm:
+        (WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
+        (WebKit::PageClientImpl::didFinishLoadForMainFrame):
+        (WebKit::PageClientImpl::removeNavigationGestureSnapshot):
+        Plumb didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame
+        through to ViewGestureController from WebPageProxy via the PageClient, etc.
+
+        Ditto for removeNavigationGestureSnapshot, though it is called from a
+        VoidCallback in ViewGestureController instead of from WebFrameLoaderClient and friends.
+
+        * UIProcess/mac/ViewGestureController.h:
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::ViewGestureController):
+        (WebKit::ViewGestureController::endSwipeGesture):
+        When finishing a swipe, we want to wait for both the first visually non-empty layout
+        and the render tree size threshold being hit.
+
+        (WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
+        (WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
+        When both of these things have happened, remove the swipe snapshot (after forcing a repaint).
+        For didFirstVisuallyNonEmptyLayoutForMainFrame, we will also start a watchdog
+        ensuring that we remove the snapshot in three seconds.
+
+        (WebKit::ViewGestureController::didFinishLoadForMainFrame):
+        When didFinishLoadForMainFrame happens, remove the swipe snapshot (after forcing a repaint).
+
+        (WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
+        If the watchdog timer fires, remove the swipe snapshot (after forcing a repaint).
+
+        (WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
+        Force a repaint and wait for the async callback before removing the snapshot.
+        It is safe to hold on to the WebPageProxy here because it will always
+        call all of its callbacks before it is destroyed.
+        Avoid enqueuing multiple force-repaints.
+
+        (WebKit::ViewGestureController::removeSwipeSnapshot):
+
+2014-08-15  Gavin Barraclough  <barraclough@apple.com>
+
+        Fix plugin visibility initialization
+        https://bugs.webkit.org/show_bug.cgi?id=135985
+
+        Reviewed by Geoffrey Garen.
+
+        * WebProcess/Plugins/PluginView.cpp:
+        (WebKit::PluginView::didInitializePlugin):
+            - We're not currently initializing the plugin visibility state,
+              and we're passing the wrong value for window visibility.
+
+2014-08-15  Gavin Barraclough  <barraclough@apple.com>
+
+        Simplify visibility activity accounting for plugins
+        https://bugs.webkit.org/show_bug.cgi?id=135981
+
+        Reviewed by Dan Bernstein.
+
+        Just take one per connection, rather than implementing a counting mechanism.
+
+        * PluginProcess/PluginControllerProxy.cpp:
+        (WebKit::PluginControllerProxy::PluginControllerProxy):
+        * PluginProcess/PluginControllerProxy.h:
+            - added m_visiblityActivity.
+        * PluginProcess/PluginProcess.cpp:
+        (WebKit::PluginProcess::PluginProcess):
+        (WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): Deleted.
+        (WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): Deleted.
+        * PluginProcess/PluginProcess.h:
+            - removed pluginsForWebProcessDidBecomeVisible/Hidden.
+        * PluginProcess/WebProcessConnection.cpp:
+        (WebKit::WebProcessConnection::removePluginControllerProxy):
+        (WebKit::WebProcessConnection::pluginDidBecomeVisible): Deleted.
+        (WebKit::WebProcessConnection::pluginDidBecomeHidden): Deleted.
+        * PluginProcess/WebProcessConnection.h:
+            - removed pluginDidBecomeVisible/Hidden.
+        * PluginProcess/mac/PluginControllerProxyMac.mm:
+        (WebKit::PluginControllerProxy::windowVisibilityChanged):
+            - windowVisibilityChanged uses m_visiblityActivity, rather than calling to PluginControllerProxy.
+
+2014-08-15  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.3 release.
+
+        * gtk/NEWS: Add release notes for 2.5.3.
+
+2014-08-14  Enrica Casucci  <enrica@apple.com>
+
+        [Services with UI] Selection services don't work inside <iframes>.
+        https://bugs.webkit.org/show_bug.cgi?id=135941
+        <rdar://problem/17957690>
+
+        Reviewed by Tim Horton.
+
+        Need to map the selection rectangles using the correct FrameView.
+        When handling the click, we must use the selection from the focused frame.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::buildSelectionHighlight):
+        (WebKit::ServicesOverlayController::handleClick):
+
+2014-08-13  Mark Rowe  <mrowe@apple.com>
+
+        <https://webkit.org/b/135909> Move helper applications out of the root of the framework.
+
+        As described in <https://developer.apple.com/library/mac/technotes/tn2206/>, for bundles containing
+        a Versions directory there may be no other content at the top level of the bundle other than symlinks.
+        Upcoming changes to code signing will prevent bundles that violate this rule from being signed.
+
+        Reviewed by Sam Weinig.
+
+        * Configurations/Base.xcconfig: Define a configuration setting that points to the content directory
+        of the framework. On OS X this is Versions/A. On iOS, where frameworks are shallow, this is the top level.
+        * Configurations/BaseLegacyProcess.xcconfig: Install the legacy processes in the content directory
+        of the framework.
+        * WebKit2.xcodeproj/project.pbxproj: Copy the legacy processes into the content directory of the
+        framework during engineering builds. Generate symlinks for the legacy processes to their locations
+        in Versions/Current. This is necessary because -[NSBundle pathForAuxiliaryExecutable:] only looks
+        at the top level of the framework wrapper.
+
+2014-08-14  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
+        https://bugs.webkit.org/show_bug.cgi?id=127576
+
+        Reviewed by Carlos Garcia Campos.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::performDragControllerAction): Assume read access
+        to any file that has been dragged into the web view when compiling for
+        GTK, since we don't support sandbox extensions.
+
+2014-08-13  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Enable CSS_SCROLL_SNAP for iOS
+        https://bugs.webkit.org/show_bug.cgi?id=135915
+
+        Turn on CSS_SCROLL_SNAP for iOS and the iOS simulator.
+
+        Reviewed by Tim Horton.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2014-08-13  Enrica Casucci  <enrica@apple.com>
+
+        [Services with UI] Use a longer delay duration for editable content.
+        https://bugs.webkit.org/show_bug.cgi?id=135918
+        <rdar://problem/17998929>
+
+        Reviewed by Tim Horton.
+
+        Use a 1 second delay for selections in editable content.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
+
+2014-08-13  Mark Rowe  <mrowe@apple.com>
+
+        <https://webkit.org/b/135911> WebKit should build on Yosemite with the public SDK.
+
+        Reviewed by Darin Adler.
+
+        * Platform/IPC/mac/ImportanceAssertion.h: Forward-declare the new assertion functions we use.
+        * UIProcess/mac/WebContextMenuProxyMac.mm: Forward-declare some details related to NSSharingServicePicker.
+
+2014-08-13  Alexey Proskuryakov  <ap@apple.com>
+
+        iOS build fix.
+
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::ensureNetworkProcess):
+        (WebKit::WebContext::createNewWebProcess):
+
+2014-08-13  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Opening Web Inspector causes a large amount of sandbox violations
+        https://bugs.webkit.org/show_bug.cgi?id=135908
+
+        Reviewed by Timothy Hatcher.
+
+        * WebProcess/com.apple.WebProcess.sb.in:
+        Permit the WebContent process to create file read extensions for the
+        system WebInspectorUI.framework which the Network process can already
+        read anyways.
+
+2014-08-13  Tim Horton  <timothy_horton@apple.com>
+
+        Avoid making new active service overlay highlights while the mouse is down
+        https://bugs.webkit.org/show_bug.cgi?id=135872
+        <rdar://problem/17982341>
+
+        Reviewed by Enrica Casucci.
+
+        * WebProcess/WebPage/ServicesOverlayController.h:
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
+        (WebKit::ServicesOverlayController::mouseEvent):
+        If the mouse is pressed or it's been less than 200ms since the mouse went up,
+        don't allow the highlight to change. We apply the mouse-is-pressed rule to telephone
+        number highlights as well, unlike the rest of the hysteresis logic.
+
+2014-08-13  Timothy Hatcher  <timothy@apple.com>
+
+        Web Inspector: Workaround a NSWindow change to the title bar.
+        https://bugs.webkit.org/show_bug.cgi?id=135880
+
+        Reviewed by Joseph Pecoraro.
+
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (WebKit::WebInspectorProxy::createInspectorWindow): Set titlebarAppearsTransparent on 10.10.
+        Only call border thickness APIs on 10.9 and earlier.
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Only call setDrawsBackground: on 10.9 and earlier.
+        (WebKit::WebInspectorProxy::platformSetToolbarHeight): Only call setContentBorderThickness: on 10.9 and earlier.
+
+2014-08-13  Ryuan Choi  <ryuan.choi@samsung.com>
+
+        [EFL] Add API to set application name for the user agent
+        https://bugs.webkit.org/show_bug.cgi?id=135640
+
+        Reviewed by Gyuyoung Kim.
+
+        Add ewk_application_name_for_user_agent_set to make default user agent string
+        with application name which application passes.
+        It's useful for application to set only application information without knowledge
+        of legacy user agent components.
+
+        * UIProcess/API/efl/EwkView.cpp:
+        (EwkView::EwkView):
+        (EwkView::setApplicationNameForUserAgent):
+        * UIProcess/API/efl/EwkView.h:
+        (EwkView::applicationNameForUserAgent):
+        * UIProcess/API/efl/ewk_view.cpp:
+        (ewk_view_application_name_for_user_agent_set):
+        (ewk_view_application_name_for_user_agent_get):
+        * UIProcess/API/efl/ewk_view.h:
+        * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+        (TEST_F):
+        * UIProcess/efl/WebPageProxyEfl.cpp:
+        (WebKit::WebPageProxy::standardUserAgent):
+
+2014-08-12  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [CMAKE] WebProcess shouldn't need to explicitly link to JavaScriptCore and WebCore
+        https://bugs.webkit.org/show_bug.cgi?id=135832
+
+        Reviewed by Gyuyoung Kim.
+
+        Linking to WebKit2 should be enough, like Network and Plugin processes.
+
+        * CMakeLists.txt:
+
+2014-08-12  Tim Horton  <timothy_horton@apple.com>
+
+        Document-relative page overlays drop some mouse events with non-zero top content inset
+        https://bugs.webkit.org/show_bug.cgi?id=135871
+        <rdar://problem/17982275>
+
+        Reviewed by Beth Dakin.
+
+        * WebProcess/WebPage/PageOverlay.cpp:
+        (WebKit::PageOverlay::mouseEvent):
+        Convert the mouse position into document-relative coordinates; the bounds()
+        already are! This way, we can actually compare them without being wrong sometimes.
+
+2014-08-12  Peyton Randolph  <prandolph@apple.com>
+
+        Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture
+        https://bugs.webkit.org/show_bug.cgi?id=135682
+
+        Reviewed by Tim Horton.
+
+        * Configurations/FeatureDefines.xcconfig: Remove LONG_MOUSE_PRESS feature flag.
+        * Shared/WebPreferencesDefinitions.h:
+        Add LongMousePressEnabled preference, initially false.
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetLongMousePressEnabled): Added.
+        (WKPreferencesGetLongMousePressEnabled): Added.
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+        Reflect the WebKit long mouse press setting in WebCore.
+
+2014-08-12  Pratik Solanki  <psolanki@apple.com>
+
+        Cached file backed resources don't make it to the Web Process when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
+        https://bugs.webkit.org/show_bug.cgi?id=135727
+        <rdar://problem/17947880>
+
+        Reviewed by Darin Adler.
+
+        tryGetShareableHandleFromSharedBuffer() assumed that we have a file backed resource only if
+        we had a CFDataRef (platformData()) in SharedBuffer. This is wrong when we use the data
+        array callbacks since the file backed buffer could be in the data array. Instead of relying
+        on hasPlatformData(), explicitly ask the SharedBuffer to give us a CFDataRef if it has one
+        so that SharedBuffer can take care of the data array case.
+
+        * NetworkProcess/mac/NetworkResourceLoaderMac.mm:
+        (WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):
+
+2014-08-12  Alexey Proskuryakov  <ap@apple.com>
+
+        REGRESSION: WebContent process has a sandbox extension for the entirety of user's temp directory
+        https://bugs.webkit.org/show_bug.cgi?id=135853
+        <rdar://problem/17986556>
+
+        Reviewed by Oliver hunt.
+
+        Move extensions recently added for iOS benefit under PLATFORM(IOS). Removed some
+        dead code while at it (child processes don't need actual paths, they only need
+        sandbox extensions in most cases).
+
+        * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
+        (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
+        * Shared/Network/NetworkProcessCreationParameters.cpp:
+        (WebKit::NetworkProcessCreationParameters::encode):
+        (WebKit::NetworkProcessCreationParameters::decode):
+        * Shared/Network/NetworkProcessCreationParameters.h:
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::ensureNetworkProcess):
+        (WebKit::WebContext::createNewWebProcess):
+        (WebKit::WebContext::openGLCacheDirectory): Deleted.
+        (WebKit::WebContext::networkingHSTSDatabasePath): Deleted.
+        * UIProcess/WebContext.h:
+        * UIProcess/efl/WebContextEfl.cpp:
+        (WebKit::WebContext::containerTemporaryDirectory): Deleted.
+        (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
+        * UIProcess/gtk/WebContextGtk.cpp:
+        (WebKit::WebContext::containerTemporaryDirectory): Deleted.
+        (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
+        * UIProcess/mac/WebContextMac.mm:
+        (WebKit::WebContext::openGLCacheDirectory):
+        (WebKit::WebContext::parentBundleDirectory):
+        (WebKit::WebContext::networkingHSTSDatabasePath):
+        (WebKit::WebContext::platformDefaultOpenGLCacheDirectory): Deleted.
+        (WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess):
+
+2014-08-12  Tim Horton  <timothy_horton@apple.com>
+
+        Small region (~1px tall) where you get the selection button instead of the phone number overlay
+        https://bugs.webkit.org/show_bug.cgi?id=135852
+        <rdar://problem/17992795>
+
+        Reviewed by Enrica Casucci.
+
+        * WebProcess/WebPage/ServicesOverlayController.h:
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::findTelephoneNumberHighlightContainingSelectionHighlight):
+        (WebKit::ServicesOverlayController::determineActiveHighlight):
+        If our new active highlight is a selection highlight that is completely contained
+        by one of the phone number highlights, we'll make the phone number highlight active
+        even if it's not hovered. This fixes the case where the selection highlight
+        (a subset of a telephone number) is slightly taller than the telephone number
+        highlight, and can be hovered without hovering the phone number highlight.
+
+2014-08-12  Tim Horton  <timothy_horton@apple.com>
+
+        REGRESSION (r172424): Extra menu header in combined telephone number menu when no phone paired
+        https://bugs.webkit.org/show_bug.cgi?id=135854
+        <rdar://problem/17996339>
+
+        Reviewed by Enrica Casucci.
+
+        * UIProcess/mac/WebContextMenuProxyMac.mm:
+        (WebKit::WebContextMenuProxyMac::setupServicesMenu):
+        Get all the menu items ahead of time, and only add the shared header
+        if there are any telephone number menu items.
+
+2014-08-12  Enrica Casucci  <enrica@apple.com>
+
+        Crash at com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::expandForGap
+        https://bugs.webkit.org/show_bug.cgi?id=135859
+        <rdar://problem/17994679>
+
+        Reviewed by Tim Horton.
+
+        expandForGap made the assumption that the selection rects were always three.
+        This was not true even before http://trac.webkit.org/changeset/172395 but
+        was more likely to happen after that change.
+        
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::expandForGap):
+
+2014-08-12  Tim Horton  <timothy_horton@apple.com>
+
+        Don't show the combined menu if there are no services available
+        https://bugs.webkit.org/show_bug.cgi?id=135846
+        <rdar://problem/17582099>
+
+        Reviewed by Enrica Casucci.
+
+        * WebProcess/WebPage/ServicesOverlayController.h:
+        Add a FIXME.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::determineActiveHighlight):
+        Don't allow a selection Highlight to become active if there is no
+        service available to handle it. Previously we showed the combined menu
+        with just phone numbers in it if any were detected.
+
+2014-08-12  Tim Horton  <timothy_horton@apple.com>
+
+        Add a fade transition to services highlights
+        https://bugs.webkit.org/show_bug.cgi?id=135829
+        <rdar://problem/17935736>
+
+        Reviewed by Enrica Casucci.
+
+        Add a smooth fade to highlight installation and uninstallation.
+        To do so, we make each highlight paint into its own small layer.
+
+        * WebProcess/WebPage/PageOverlay.cpp:
+        (WebKit::PageOverlay::layer):
+        * WebProcess/WebPage/PageOverlay.h:
+        * WebProcess/WebPage/PageOverlayController.cpp:
+        (WebKit::PageOverlayController::layerForOverlay):
+        * WebProcess/WebPage/PageOverlayController.h:
+        Expose the GraphicsLayer on PageOverlay.
+
+        * WebProcess/WebPage/ServicesOverlayController.h:
+        (WebKit::ServicesOverlayController::Highlight::layer):
+        (WebKit::ServicesOverlayController::activeHighlight):
+        (WebKit::ServicesOverlayController::webPage):
+        (WebKit::ServicesOverlayController::Highlight::Highlight): Deleted.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::ServicesOverlayController::Highlight::createForSelection):
+        (WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
+        (WebKit::ServicesOverlayController::Highlight::Highlight):
+        Highlights now own a GraphicsLayer, which are later installed
+        as sublayers of the ServicesOverlayController's PageOverlay layer.
+        These layers are sized and positioned according to the DDHighlight's bounds.
+
+        (WebKit::ServicesOverlayController::Highlight::~Highlight):
+        (WebKit::ServicesOverlayController::Highlight::invalidate):
+        ServicesOverlayController will invalidate any remaining highlights
+        when it is torn down, so they can clear their backpointers.
+
+        (WebKit::ServicesOverlayController::Highlight::notifyFlushRequired):
+        Forward flush notifications to the DrawingArea.
+
+        (WebKit::ServicesOverlayController::Highlight::paintContents):
+        Paint the DDHighlight into the layer. Translation is done by the layer position,
+        so we zero the bounds origin when painting.
+
+        (WebKit::ServicesOverlayController::Highlight::deviceScaleFactor):
+        Forward the deviceScaleFactor so that things are painted at the right scale.
+
+        (WebKit::ServicesOverlayController::Highlight::fadeIn):
+        (WebKit::ServicesOverlayController::Highlight::fadeOut):
+        Apply a fade animation to the layer.
+
+        (WebKit::ServicesOverlayController::Highlight::didFinishFadeOutAnimation):
+        When the fade completes, unparent the layer, unless it has become active again.
+
+        (WebKit::ServicesOverlayController::ServicesOverlayController):
+        (WebKit::ServicesOverlayController::~ServicesOverlayController):
+        Invalidate all highlights, so they can clear their backpointers.
+
+        (WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
+        Make remainingTimeUntilHighlightShouldBeShown act upon a particular highlight
+        instead of always the active highlight.
+
+        (WebKit::ServicesOverlayController::determineActiveHighlightTimerFired): Rename.
+
+        (WebKit::ServicesOverlayController::drawRect):
+        drawRect is no longer called and will no longer do anything; all of the
+        painting is done in sublayers.
+
+        (WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
+        Ensure that phone number Highlights stay stable even while the selection
+        changes, by comparing the underlying Ranges and keeping around old Highlights
+        that match the new ones. This enables us to e.g. fade in while changing
+        the selection within a phone number.
+
+        (WebKit::ServicesOverlayController::buildSelectionHighlight):
+        (WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
+        (WebKit::ServicesOverlayController::createOverlayIfNeeded):
+        Don't call setNeedsDisplay; the overlay doesn't have backing store.
+        Instead, call determineActiveHighlight, which will install/uninstall
+        highlights as necessary.
+
+        (WebKit::ServicesOverlayController::determineActiveHighlight):
+        Apply fade in/fade out to the overlays.
+        Keep track of which highlight we're going to activate, until the hysteresis
+        delay is up, then actually make it active/parent it/fade it in.
+        We now will have no active highlight between the fade out of the previous one
+        and the fade in of the new one (during the hysteresis delay).
+
+        (WebKit::ServicesOverlayController::mouseEvent):
+        The overlay now will not become active until the delay is up, so we don't
+        need to check it again here.
+
+        (WebKit::ServicesOverlayController::handleClick):
+        (WebKit::ServicesOverlayController::didCreateHighlight):
+        (WebKit::ServicesOverlayController::willDestroyHighlight):
+        (WebKit::ServicesOverlayController::repaintHighlightTimerFired): Deleted.
+        (WebKit::ServicesOverlayController::drawHighlight): Deleted.
+
+2014-08-11  Andy Estes  <aestes@apple.com>
+
+        [iOS] Get rid of iOS.xcconfig
+        https://bugs.webkit.org/show_bug.cgi?id=135809
+
+        Reviewed by Joseph Pecoraro.
+
+        All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/iOS.xcconfig: Removed.
+        * WebKit2.xcodeproj/project.pbxproj:
+
+2014-08-12  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
+
+        [EFL] Rename ewk_private.h to EwkDebug.h
+        https://bugs.webkit.org/show_bug.cgi?id=135797
+
+        Reviewed by Gyuyoung Kim.
+
+        ewk_private.h contains only debug macros alllowing
+        logging.
+
+        * UIProcess/API/efl/EwkView.cpp:
+        * UIProcess/API/efl/ewk_main.cpp:
+        * UIProcess/efl/EwkDebug.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h.
+        * UIProcess/efl/ViewClientEfl.cpp:
+
+2014-08-12  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
+        https://bugs.webkit.org/show_bug.cgi?id=135834
+
+        Reviewed by Philippe Normand.
+
+        Make sure the user cache directory exists. If creating the
+        directory fails for whatever reason, do not try to save the cache
+        to disk.
+
+        * UIProcess/Plugins/gtk/PluginInfoCache.cpp:
+        (WebKit::PluginInfoCache::PluginInfoCache):
+        (WebKit::PluginInfoCache::updatePluginInfo):
+
+2014-08-12  Alexey Proskuryakov  <ap@apple.com>
+
+        [Mac] Allow reading CoreGraphics debugging preferences
+        https://bugs.webkit.org/show_bug.cgi?id=135821
+        <rdar://problem/11219259>
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/com.apple.WebProcess.sb.in:
+
+2014-08-11  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
+
+        [EFL] Prevent the client from creating ewk_view when EWebkit is not initialized
+        https://bugs.webkit.org/show_bug.cgi?id=135606
+
+        Reviewed by Gyuyoung Kim.
+
+        Similarly to EFL modules (eina, evas etc.), application using EWebKit
+        has to initialize it using ewk_init().
+
+        Do not allow the client to create ewk_view if ewk_init has not been called.
+        Add an appropriate logs warning the client about wrong APIs usage.
+
+        * UIProcess/API/efl/ewk_main.cpp: Add EwkMain class to control ewk lifetime.
+        (WebKit::EwkMain::EwkMain):
+        (WebKit::EwkMain::shared):
+        (WebKit::EwkMain::~EwkMain): Add logs when the client forgot to destroy EWebkit.
+        (WebKit::EwkMain::initialize):
+        (WebKit::EwkMain::finalize):
+        (WebKit::EwkMain::shutdownInitializedEFLModules):
+        (ewk_init):
+        (ewk_shutdown):
+        * UIProcess/API/efl/ewk_main_private.h: Added.
+        (WebKit::EwkMain::isInitialized):
+        (WebKit::EwkMain::logDomainId):
+        * UIProcess/API/efl/ewk_private.h:
+        * UIProcess/API/efl/ewk_view.cpp:
+        (EWKViewCreate):
+        Prevent the client from creating ewk_view when ewk_init() has not been called.
+
+2014-08-11  Enrica Casucci  <enrica@apple.com>
+
+        Improve look and feel of combined service menu..
+        https://bugs.webkit.org/show_bug.cgi?id=135824
+        <rdar://problem/17936880>
+
+        Reviewed by Tim Horton.
+        
+        When showing the combined menu, list the phone numbers first,
+        grouped under a common header, followed by the entries relative
+        to the services.
+
+        * Platform/mac/MenuUtilities.h:
+        * Platform/mac/MenuUtilities.mm:
+        (WebKit::menuItemTitleForTelephoneNumberGroup):
+        (WebKit::menuItemForTelephoneNumber):
+        * UIProcess/mac/WebContextMenuProxyMac.mm:
+        (WebKit::WebContextMenuProxyMac::setupServicesMenu):
+
+2014-08-11  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Add Private WKPreferences API for developer extras (show inspector)
+        https://bugs.webkit.org/show_bug.cgi?id=135811
+
+        Reviewed by Timothy Hatcher.
+
+        * UIProcess/API/Cocoa/WKPreferences.mm:
+        (-[WKPreferences _developerExtrasEnabled]):
+        (-[WKPreferences _setDeveloperExtrasEnabled:]):
+        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+
+2014-08-08  Enrica Casucci  <enrica@apple.com>
+
+        [Services with UI] Action menu arrow hit testing is sometimes wrong.
+        https://bugs.webkit.org/show_bug.cgi?id=135776
+        <rdar://problem/17837670>
+
+        Reviewed by Brady Eidson.
+
+        There was a problem in the algorithm that stitches together the selection rectangles
+        to be given to Data Detectors API.
+        This change adds a new function that stiches together all the rects contributing to the
+        first line, all the rects contributing to the last line and all the ones in the middle.
+        This way we can have a maximum of 3 non overlapping rectangles.
+
+        * WebProcess/WebPage/mac/ServicesOverlayController.mm:
+        (WebKit::stitchRects):
+        (WebKit::compactRectsWithGapRects):
+
 2014-08-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
 
         Unreviewed, EFL build fix since r172385.