[GTK] HTML API documentation should also be installed versioned
https://bugs.webkit.org/show_bug.cgi?id=135970

Reviewed by Philippe Normand.

* Source/PlatformGTK.cmake: Append -${WEBKITGTK_API_VERSION} to
the directory name.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172622 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Disable memory sampler on non-Linux system
https://bugs.webkit.org/show_bug.cgi?id=134483

Patch by Ting-Wei Lan <lantw44@gmail.com> on 2014-08-15
Reviewed by Philippe Normand.

Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp only works on
Linux because it uses many Linux-specific features, so we should disable
memory sampler on other systems by default.

* Source/cmake/OptionsGTK.cmake:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172623 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.3 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.5.3.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172624 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix typo in Path comment
https://bugs.webkit.org/show_bug.cgi?id=135960

Reviewed by Alexey Proskuryakov.

No new tests, no change on behavior.

* platform/graphics/Path.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172626 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<https://webkit.org/b/135979> WebKit1 Plug-in test failures in clean builds after r172595

Reviewed by Dan Bernstein.

* WebKit.xcodeproj/project.pbxproj: Add a WebKitPluginHost.app symlink at the top level of
WebKitLegacy.framework that points into Versions/Current. This enables -[NSBundle pathForAuxiliaryExecutable:]
to work correctly. Adding this symlink requires deleting any content that may already exist
at that path, since prior to r172595 it may have contained either a symlink or an
application bundle.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Cocoa] Add migrate-headers.sh and postprocess-headers.sh to WebKit.xcodeproj
https://bugs.webkit.org/show_bug.cgi?id=135984

Reviewed by Daniel Bates.

It's nice to be able to look at these files in Xcode.

* WebKit.xcodeproj/project.pbxproj:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-webkit-tests should skip 'support' directories
https://bugs.webkit.org/show_bug.cgi?id=135910

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-08-15
Reviewed by Bem Jones-Bey.

This patch adds the 'support' directory to the list
of dirs to skip when looking for runnable tests.
the W3C uses this name for support files, so tests
imported from the W3C will not work without this change
or without many edits.

* Scripts/webkitpy/port/base.py:
(Port._real_tests):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172638 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Legacy Mac toolbar appearance looks wrong
https://bugs.webkit.org/show_bug.cgi?id=135962

Reviewed by Joseph Pecoraro.

* UserInterface/Views/Toolbar.css:
(body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked.
Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it
applies all the time as it should have.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Turn cx/cy to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135975

Reviewed by Dean Jackson.

This follows the patch for width and height presentation attributes and
Source/WebCore:

turns x and y to presentation attributes as well:

​http://trac.webkit.org/changeset/171341

Extended existing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* css/SVGCSSPropertyNames.in:
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::setCx):
(WebCore::SVGRenderStyle::setCy):
(WebCore::SVGRenderStyle::cx):
(WebCore::SVGRenderStyle::cy):
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
(WebCore::SVGCircleElement::selfHasRelativeLengths): Deleted.
* svg/SVGCircleElement.h:
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
(WebCore::SVGEllipseElement::selfHasRelativeLengths): Deleted.
* svg/SVGEllipseElement.h:

LayoutTests:

turns cx and cy to presentation attributes as well:

​http://trac.webkit.org/changeset/171341

* svg/css/parse-length-expected.txt:
* svg/css/parse-length.html:
* transitions/svg-layout-transition-expected.txt:
* transitions/svg-layout-transition.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Turn r/rx/ry to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135978

Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.

This follows the patch for width and height presentation attributes and
Source/WebCore:

turns rx, ry and r to presentation attributes as well:

​http://trac.webkit.org/changeset/171341

Extended existing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
* css/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue):
* css/SVGCSSPropertyNames.in:
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* rendering/style/RenderStyle.h:
* rendering/style/SVGRenderStyle.h:
(WebCore::SVGRenderStyle::setR):
(WebCore::SVGRenderStyle::setRx):
(WebCore::SVGRenderStyle::setRy):
(WebCore::SVGRenderStyle::r):
(WebCore::SVGRenderStyle::rx):
(WebCore::SVGRenderStyle::ry):
* rendering/style/SVGRenderStyleDefs.cpp:
(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):
* rendering/style/SVGRenderStyleDefs.h:
* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
* rendering/svg/SVGPathData.cpp:
(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromRectElement):
(WebCore::updatePathFromLineElement): Deleted.
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
* svg/SVGElement.cpp:
(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):

LayoutTests:

turns r, rx and ry to presentation attributes as well:

​http://trac.webkit.org/changeset/171341

* svg/css/parse-length.html:
* transitions/svg-layout-transition-expected.txt:
* transitions/svg-layout-transition.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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 updateVisiblityActivity.
(WebKit::PluginControllerProxy::updateVisiblityActivity):
    - enable the UserActivity only if both visibilities are true.
* PluginProcess/PluginControllerProxy.h:
    - added m_isVisible, m_isWindowVisible, updateVisibilityActivity.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172645 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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::updateVisiblityActivity):
* PluginProcess/PluginControllerProxy.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Turn r/rx/ry to presentation attributes
https://bugs.webkit.org/show_bug.cgi?id=135978

Source/WebCore:

Unreviewed typo.

Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15

* rendering/svg/RenderSVGEllipse.cpp:
(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):

LayoutTests:

Patch by Dirk Schulze <krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.

Rebaseline test.

* svg/css/parse-length-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172647 268f45cc-cd09-0410-ab3c-d52691b4dbfc