[Autotools] Add the AM_WEBKIT_FEATURE_CONDITIONAL macro
https://bugs.webkit.org/show_bug.cgi?id=106576

Reviewed by Martin Robinson.

Replace the AC_CHECK_WEBKIT_FEATURE_ENABLED with the new macro.
The former was executing actions based on the passed-in feature being
enabled in the (possibly overridden) GNUmakefile.features.am, the actions
usually affecting the Automake conditional value that was set up afterwards.
The new macro does this directly, setting up an Automake conditional of the
same name as the feature that was checked.

* Source/autotools/webkitfeature.m4:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

Rebaselining results after http://trac.webkit.org/changeset/138250.

* platform/chromium-linux-x86/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png: Removed.
* platform/chromium-linux-x86/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png: Removed.
* platform/chromium-mac-lion/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
* platform/chromium-mac-lion/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
* platform/chromium-mac-lion/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac-lion/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac-lion/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-mac-lion/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-mac-lion/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-mac-lion/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac-snowleopard/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac-snowleopard/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-mac-snowleopard/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-mac-snowleopard/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-mac-snowleopard/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
* platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
* platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-mac/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-mac/svg/filters/feImage-animated-transform-on-target-rect-expected.png:
* platform/chromium-mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-mac/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-mac/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-mac/svg/filters/feImage-late-indirect-update-expected.png:
* platform/chromium-mac/svg/filters/feImage-multiple-targets-id-change-expected.png:
* platform/chromium-mac/svg/filters/feImage-position-expected.png:
* platform/chromium-mac/svg/filters/feImage-preserveAspectratio-expected.png:
* platform/chromium-mac/svg/filters/feImage-reference-invalidation-expected.png:
* platform/chromium-mac/svg/filters/feImage-subregions-expected.png:
* platform/chromium-mac/svg/filters/feImage-subregions-preseveAspectRatio-none-expected.png:
* platform/chromium-mac/svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-add-to-document-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-attribute-change-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-attribute-change-with-use-indirection-2-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-attribute-change-with-use-indirection-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-changes-id-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-id-change-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-inline-style-change-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-property-change-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-reappend-to-document-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-remove-from-document-expected.png:
* platform/chromium-mac/svg/filters/feImage-target-style-change-expected.png:
* platform/chromium-win-xp/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png: Removed.
* platform/chromium-win-xp/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png: Removed.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
* platform/chromium-win/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr-expected.png:
* platform/chromium-win/svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop-expected.png:
* platform/chromium-win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-win/svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox-expected.png:
* platform/chromium-win/svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse-expected.png:
* platform/chromium-win/svg/filters/feImage-late-indirect-update-expected.png:
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
intrinsic min-widths don't override width for file upload controls
https://bugs.webkit.org/show_bug.cgi?id=106517

Reviewed by Tony Chang.

Source/WebCore:

Separate out computing intrinsic width from perferred width so that
we can use the intrinsic width correctly when applying min-width/max-width.
The preferred width is the width used in its container's computation
of its intrinsic width.

This is the first in a series of patches making this work across
the render tree.

Test: fast/forms/file/intrinsic-min-width-overrides-width.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::minIntrinsicLogicalWidth):
(WebCore):
(WebCore::RenderBox::maxIntrinsicLogicalWidth):
(WebCore::RenderBox::computeIntrinsicLogicalWidths):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths):
(WebCore):
(WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
* rendering/RenderFileUploadControl.h:
(RenderFileUploadControl):

LayoutTests:

* fast/forms/file/intrinsic-min-width-overrides-width-expected.html: Added.
* fast/forms/file/intrinsic-min-width-overrides-width.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Filters] RenderLayerCompositor::addToOverlapMap should take into account the filters outsets (ie. blur and drop-shadow)
https://bugs.webkit.org/show_bug.cgi?id=94022

Reviewed by Simon Fraser.

Source/WebCore:

When a layer has a filter that moves pixels, we need to add its entire bounds, including its
outsets and children, to the overlap map. The filter can move the children's pixels
anywhere in the layer, so we can't rely on the children's bounds.

Eventually, we should avoid adding children to the overlap map if the parent's bounds used
for overlap testing already include the children. I've added a FIXME for this optimization.

Tests: compositing/filters/sw-layer-overlaps-hw-shadow.html
       compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html
       compositing/filters/sw-shadow-overlaps-hw-layer.html
       compositing/filters/sw-shadow-overlaps-hw-shadow.html

* rendering/RenderLayer.h:
(WebCore::RenderLayer::overlapBounds):
    If necessary, return the calculated layer bounds, including the children. Otherwise,
    return the localBoundingBox.
(RenderLayer):
(WebCore::RenderLayer::overlapBoundsIncludeChildren):
    If the layer has a filter that moves pixels, return true.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMap):
    Add the overlapBounds instead of the localBoundingBox to the overlap map.
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
    Use the overlapBounds instead of the localBoundingBox for overlap testing.

LayoutTests:

Add tests to check several combinations of software layer and composited layer overlap when
filter outsets are involved.

* compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: Added.
* compositing/filters/sw-layer-overlaps-hw-shadow.html: Added.
* compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt: Added.
* compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html: Added.
* compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: Added.
* compositing/filters/sw-shadow-overlaps-hw-layer.html: Added.
* compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt: Added.
* compositing/filters/sw-shadow-overlaps-hw-shadow.html: Added.
* platform/chromium/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt: Added.
* platform/chromium/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Speed up supplemental dependency computation
https://bugs.webkit.org/show_bug.cgi?id=106503

Reviewed by Adam Barth.

.:

* Source/cmake/WebKitMacros.cmake: Add --idlAttributesFile to the binding generation step in cmake.

Source/WebCore:

On my machine, generating supplemental IDL dependencies was taking about 18s
because it has to run the C preprocessor on each IDL file. Avoid this by using
a regular expression to find the Supplemental= value in each IDL file rather than
doing a full parse. Now generating supplemental IDL dependencies is less than a
second.

preprocess-idls.pl used to also check IDL attributes against IDLAttributes.txt.
Move this code to run in generate-bindings.pl. This change revealed that
TestRunner.idl uses PassContext so add that to IDLAttributes.txt.

No new tests, this is a build refactor. EWS bots should be green.

* DerivedSources.make: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
* DerivedSources.pri: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
* GNUmakefile.am: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
* UseJSC.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
* UseV8.cmake: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
* WebCore.gyp/WebCore.gyp: Remove --idlAttributesFile from preprocess-idls.pl and add it to generate-bindings.pl.
* bindings/scripts/IDLAttributes.txt: Add PassContext needed by TestRunner.idl.
* bindings/scripts/generate-bindings.pl:
(loadIDLAttributes): Moved from preprocess-idls.pl.
(checkIDLAttributes): Moved from preprocess-idls.pl.
(checkIfIDLAttributesExists): Moved from preprocess-idls.pl.
* bindings/scripts/preprocess-idls.pl:
(getSupplementalFromIDLFile): Helper method to get Supplemental=* quickly.

Tools:

Pass the IDL attributes file for generating the bindings in WebKitTestRunner.

* WebKitTestRunner/CMakeLists.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139331 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Refactor InspectorTest to create output interface
https://bugs.webkit.org/show_bug.cgi?id=106231

Patch by John J. Barton <johnjbarton@chromium.org> on 2013-01-10
Reviewed by Pavel Feldman.

Refactor InspectorTest to extract InspectorTest.Output, the API
used between InspectorTest and the test output reciever (the
test-script page by default).

* http/tests/inspector/inspector-test.js:
(initialize_InspectorTest.InspectorTest.Output.testComplete):
(initialize_InspectorTest.InspectorTest.Output.addResult):
(initialize_InspectorTest.InspectorTest.Output.clearResults):
(initialize_InspectorTest.InspectorTest.completeTest):
(initialize_InspectorTest.InspectorTest.addResult):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Mark more inspector/geolocation* tests as flaky on Win.
https://bugs.webkit.org/show_bug.cgi?id=106426

* platform/chromium/TestExpectations: Marked.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Color picker in Styles pane shows wrong initial color
https://bugs.webkit.org/show_bug.cgi?id=106567

Reviewed by Pavel Feldman.

The RGB's G value for "crimson" was wrong.

* inspector/front-end/Color.js:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Update expectations for fast/regions/selecting-text-through-different-region-flows.html.

* platform/chromium-mac-lion/fast/regions/selecting-text-through-different-region-flows-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PDFPlugin: Header cleanup
https://bugs.webkit.org/show_bug.cgi?id=106540

Reviewed by Andreas Kling.

* WebProcess/Plugins/PDF/PDFPlugin.mm: Remove some unneeded headers.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r136967): margin-top + overflow:hidden causes incorrect layout for internal floated elements
https://bugs.webkit.org/show_bug.cgi?id=106374

Reviewed by David Hyatt.

Source/WebCore:

r136397 treated any self-collapsing block that had a clearance delta as though it was clearing a float, but
blocks that avoid floats can get a clearance delta too. So just ensure there is clearance on the block when deciding
whether we need to add the margin back in before placing the float.

Test: fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-and-float-child.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):

LayoutTests:

* fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-and-float-child-expected.txt: Added.
* fast/block/margin-collapse/self-collapsing-block-with-overflow-hidden-and-float-child.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Changing tests to be consistent and use self.scm rather then recreating the scm object.
(Missed a couple)
https://bugs.webkit.org/show_bug.cgi?id=106536

Patch by Tim 'mithro' Ansell <mithro@mithis.com> on 2013-01-10
Reviewed by Eric Seidel.

* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Manually revert http://trac.webkit.org/changeset/136012
https://bugs.webkit.org/show_bug.cgi?id=106580

Reviewed by Dimitri Glazkov.

Source/WebCore:

136012 broke touch-scrolling of an overflow div in an iframe. Revert manually
to work around conflicts.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

* fast/events/touch/gesture/touch-gesture-scroll-remove-node-expected.txt: Removed.
* fast/events/touch/gesture/touch-gesture-scroll-remove-node.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
PDFPlugin: Cmd-/+ should affect PDF page scale
https://bugs.webkit.org/show_bug.cgi?id=103285
<rdar://problem/12710469>

Reviewed by Darin Adler.

Plugins which support handling page scale themselves should also handle
page zoom, as it is a very similar concept.

This patch disables text zoom in the case of a main-frame plugin which supports
page scale factor changes, as it is not needed in the PDFPlugin case
(we can't do text-only scale for PDF), but it could be added later if needed.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::pageZoomFactorDidChange):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebPageProxy.messages.in:
Add WebPageProxy::pageZoomFactorDidChange, to notify WebPageProxy of
out-of-band page zoom factor changes (in this case, from PluginView).

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::setPageScaleFactor):
Update WebPageProxy's notion of the current page zoom whenever PluginView
is notified of a page scale factor change.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setTextZoomFactor): We don't support text zoom in plugins, but
we also don't want it to silently act on the Frame if we have a plugin that
purports to handle page scale itself. Return early if this is the case.
(WebKit::WebPage::pageZoomFactor): For plugins that support page scale factor,
we equate page scale and page zoom. Return the PluginView's page scale factor
in place of the Frame's page zoom factor.
(WebKit::WebPage::setPageZoomFactor): Make page zoom changes in the aforementioned
case affect the PluginView's page scale.
(WebKit::WebPage::setPageAndTextZoomFactors): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Ensure that WebPageProxy's notion of pageScaleFactor is reset on didCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=103290
<rdar://problem/12752467>

Reviewed by Darin Adler.

When a standard main frame load is committed, we reset the WebPage's
pageScaleFactor, if it's not the default. However, if the previous
page had a full-main-frame plugin that was handling page scaling itself,
WebPageProxy can have a cached pageScaleFactor != 1, while WebPage
now (since the plugin that was overriding (set)pageScaleFactor is gone)
has a pageScaleFactor of 1, causing us to skip the call to reset the
WebPage's pageScaleFactor.

Therefore, when WebPageProxy is notified that a standard main-frame load
is committed, reset its cached notion of the pageScaleFactor.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame): Add a parameter which corresponds to FrameLoadType, so we can
determine whether a frame load is of FrameLoadTypeStandard (which matches the check to reset page scale in
WebFrameLoaderClient::didCommitLoad), so we can reset m_pageScaleFactor.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Add frameLoadType parameter to didCommitLoadForFrame.
* UIProcess/WebPageProxy.messages.in: Add frameLoadType parameter to didCommitLoadForFrame.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad): Pass frameLoadType parameter to didCommitLoadForFrame.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139341 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[jhbuild] Use the "configure" script to build glib
https://bugs.webkit.org/show_bug.cgi?id=106569

Patch by Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> on 2013-01-10
Reviewed by Martin Robinson.

So far both EFL and GTK have been using autogen.sh to build glib.
While that does work most of the time, it's not really needed since
we are downloading and building stable releases from tarballs.
Additionally, autogen.sh fails to work with automake 1.13 due to the
usage of some macros that have been removed (this has already been
fixed in glib master).

* efl/jhbuild.modules:
* gtk/jhbuild.modules:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r138222): WebDocumentLoaderMac-related leaks seen on Leaks bot
https://bugs.webkit.org/show_bug.cgi?id=106137

Reviewed by Brady Eidson.

Tested manually by comparing before and after leaks output for WK1-mac.

* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::receivedError): Call dispatchDidFailLoading() if
    a SubstituteData load fails or is cancelled. Without this call, load counts
    are not balanced on WebDocumentLoaderMac and it is retained forever.
(WebCore::MainResourceLoader::didFinishLoading):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert fast/css/positioned-overflow-scroll.html to a check-layout.js test
https://bugs.webkit.org/show_bug.cgi?id=106585

Reviewed by Tony Chang.

This is in preparation for adding more cases to this test.

* fast/css/positioned-overflow-scroll-expected.txt: Added.
* fast/css/positioned-overflow-scroll.html:
* platform/chromium-android/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/chromium-android/fast/css/positioned-overflow-scroll-expected.txt: Removed.
* platform/chromium-linux/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/chromium-mac-lion/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/chromium-mac/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/chromium-win/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/chromium/fast/css/positioned-overflow-scroll-expected.txt: Removed.
* platform/efl/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/efl/fast/css/positioned-overflow-scroll-expected.txt: Removed.
* platform/gtk/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/gtk/fast/css/positioned-overflow-scroll-expected.txt: Removed.
* platform/mac/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/mac/fast/css/positioned-overflow-scroll-expected.txt: Removed.
* platform/qt/fast/css/positioned-overflow-scroll-expected.png: Removed.
* platform/qt/fast/css/positioned-overflow-scroll-expected.txt: Removed.
* resources/check-layout.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Regression(r137939): Heap-use-after-free in WebCore::accumulateDocumentEventTargetRects
https://bugs.webkit.org/show_bug.cgi?id=106454

Reviewed by James Robinson.

Source/WebCore:

Correctly removing child Documents from their parent's tracked touch handler maps when detaching and
when their last touch event handler is removed.

Test: fast/events/touch/nested-document-with-touch-handler-detached-crash.html

* dom/Document.cpp:
(WebCore::Document::detach):
(WebCore::Document::didRemoveEventTargetNode):

LayoutTests:

* fast/events/touch/nested-document-with-touch-handler-detached-crash.html: Added.
* fast/events/touch/nested-document-with-touch-handler-detached-crash-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ScrollingCoordinator touch event hit rects aren't converted to proper coordinates when in nested views
https://bugs.webkit.org/show_bug.cgi?id=106383

Reviewed by James Robinson.

Source/WebCore: 

ScrollingCoordinator uses clippedOverflowRectForRepaint(0) to generate the bounds for a renderer's hit
testing rect. The rect this returns is in the coordinates of its document. This change converts the
rect to the outermost view's coordinate system using convertToContainingView.

Tests: platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::accumulateRendererTouchEventTargetRects):

LayoutTests: 

* platform/chromium/fast/events/touch/resources: Added.
* platform/chromium/fast/events/touch/resources/frame-with-touch-handler.html: Added.
* platform/chromium/fast/events/touch/touch-hit-rects-in-iframe-expected.txt: Added.
* platform/chromium/fast/events/touch/touch-hit-rects-in-iframe.html: Added.


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