WebKit-https.git
7 years agoTouch Platform.h to solve a build dependency issue
benjamin@webkit.org [Sat, 25 Aug 2012 00:40:11 +0000 (00:40 +0000)]
Touch Platform.h to solve a build dependency issue

Unreviewed.

* wtf/Platform.h:

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

7 years agoAdd support for compositing the contents of overflow:scroll areas
commit-queue@webkit.org [Sat, 25 Aug 2012 00:35:34 +0000 (00:35 +0000)]
Add support for compositing the contents of overflow:scroll areas
https://bugs.webkit.org/show_bug.cgi?id=91117

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-08-24
Reviewed by Simon Fraser.

Patch by Simon Fraser with modifications by Sami Kyostila and Ian Vollick.

Allow a RenderLayer which exists for overflow scrolling
to use a composited layer for the scrolled contents, which
allows for compositing-accelerated overflow scrolling.

Tests:
    compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html
    compositing/overflow/iframe-inside-overflow-clipping.html
    compositing/overflow/nested-scrolling.html
    compositing/overflow/overflow-auto-with-touch-no-overflow.html
    compositing/overflow/overflow-auto-with-touch.html
    compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html
    compositing/overflow/overflow-hidden-with-touch.html
    compositing/overflow/overflow-overlay-with-touch-no-overflow.html
    compositing/overflow/overflow-overlay-with-touch.html
    compositing/overflow/overflow-scroll-with-touch-no-overflow.html
    compositing/overflow/overflow-visible-with-touch.html
    compositing/overflow/remove-overflow-crash.html
    compositing/overflow/remove-overflow-crash2.html
    compositing/overflow/scrolling-content-clip-to-viewport.html
    compositing/overflow/textarea-scroll-touch.html

* platform/graphics/GraphicsLayerClient.h: New paint phase flag
used for scrolled contents. Provide a typedef for the flags
so that they can be ORed together.

* rendering/RenderLayer.h:
(WebCore::ClipRectsCache::ClipRectsCache):
(ClipRectsCache): In debug builds, store a m_respectingOverflowClip
flag so we can ASSERT later that we're fetching clip rects with the
same setting the rects were generated with.
Add new PaintLayerPaintingOverflowContents painting flag.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::usesCompositedScrolling): New method returns
true if this layer is using composited overflow scrolling.
(WebCore::RenderLayer::scrollTo): Don't repaint if we're doing
a composited scroll.
(WebCore::RenderLayer::paintLayer): Pass the right flags to backgroundClipRect();
if we're painting scrolled contents, we don't want to take the overflow clip rect
into account.
(WebCore::RenderLayer::paintLayerContents): Ditto. Also don't do the intersectsDamageRect()
check if we're painting scrolled contents.
(WebCore::RenderLayer::updateClipRects): New parameter to tell whether to respect overflow clipping.
Assert if we're fetching cached rects with a different 'respect clip' flag to the one they were generated
with.
(WebCore::RenderLayer::calculateClipRects): Take the 'respectOverflowClip' flag into account
when computing clip rects.
(WebCore::RenderLayer::parentClipRects): Ditto
(WebCore::RenderLayer::backgroundClipRect): Ditto
(WebCore::RenderLayer::calculateRects): Ditto
(WebCore::RenderLayer::childrenClipRect): This function is called from widget code, so may use a different
'respect clip rects' setting than that used for painting, so it has to compute clip rects on the fly.
(WebCore::RenderLayer::shouldBeNormalFlowOnly): Composited scrolling makes a layer not normal-flow only.

* rendering/RenderLayerBacking.h:
(RenderLayerBacking): New member variables for the layers for scrolled contents, and the scrolling
layer which handles the scroll offset.
(WebCore::RenderLayerBacking::hasScrollingLayer):
(WebCore::RenderLayerBacking::scrollingLayer):
(WebCore::RenderLayerBacking::scrollingContentsLayer):

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::destroyGraphicsLayers): Tear down the scrolling layers, if any.
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): Renamed from layerOrAncestorIsTransformed,
since it has to look for composited scrolling layers too.
(WebCore::RenderLayerBacking::shouldClipCompositedBounds): We don't want the contents of scrolling layers
to get clipped to the viewport.
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Create scrolling layers if necessary.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Set scrolling layer geometry.
(WebCore::RenderLayerBacking::updateInternalHierarchy): Hook up scrolling layers.
(WebCore::RenderLayerBacking::updateDrawsContent): Scrolling layers affect whether the main graphics layer
needs to draw content.
(WebCore::RenderLayerBacking::updateScrollingLayers): Create or destroy scrolling layers.
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): If we have a scrolled contents layer,
the main layer should not paint the foreground.
(WebCore::RenderLayerBacking::parentForSublayers): Sublayers are parented in the scrolling contents
layer if one exists.
(WebCore::RenderLayerBacking::setContentsNeedDisplay): Need to dirty the scrolling contents layer.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Ditto.
(WebCore::RenderLayerBacking::paintIntoLayer): Set the right painting flags.
(WebCore::RenderLayerBacking::paintContents): Only clip to the bounds if we're not painting overflow contents.

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

7 years agoChromium: WebAccessibilityObject should expose updateBackingStore
dmazzoni@google.com [Sat, 25 Aug 2012 00:34:02 +0000 (00:34 +0000)]
Chromium: WebAccessibilityObject should expose updateBackingStore
https://bugs.webkit.org/show_bug.cgi?id=94611

Reviewed by Chris Fleizach.

This change just exposes a method, with no new tests. Next, Chromium
will be modified to call this new method, and this will be followed
by a change that gets rid of calls to updateBackingStore under the
hood. That last change may add a test or update an existing test.

* public/WebAccessibilityObject.h:
(WebAccessibilityObject):
* src/WebAccessibilityObject.cpp:
(WebKit::WebAccessibilityObject::updateBackingStoreAndCheckValidity):
(WebKit):

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

7 years agoUnify Number to StringImpl conversion
benjamin@webkit.org [Sat, 25 Aug 2012 00:13:19 +0000 (00:13 +0000)]
Unify Number to StringImpl conversion
https://bugs.webkit.org/show_bug.cgi?id=94879

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-24
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* runtime/UString.cpp:
* runtime/UString.h:
(JSC::UString::number):
Update UString to directly use the common NumberToString implementation.

Source/WebKit2:

* win/WebKit2.def: Update the exported symbols.

Source/WTF:

Previously, UString::number() and String::number() used different implementations.

WTF::String::number() was simply forwarding to String::format().
UString::number() had an optimized version of the conversion.

This patch replace both implementation by a new version, faster than the two previous versions.

The new functions numberToStringImpl improvements are:
-about 3 times faster than String::number().
-14% faster than UString::number() on signed numbers.
-9% faster than UString::number() on unsigned numbers.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/text/IntegerToStringConversion.cpp: Added.
(WTF::numberToStringImplSigned):
(WTF::numberToStringImpl):
(WTF::numberToStringImplUnsigned):
* wtf/text/IntegerToStringConversion.h: Added.
* wtf/text/WTFString.cpp:
(WTF::String::format):
* wtf/text/WTFString.h:
(WTF::String::number):

Tools:

Add testing for the new IntegerToStringConversion.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/GNUmakefile.am:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/IntegerToStringConversion.cpp: Added.

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

7 years agoASSERTION FAILED: !attached() in WebCore::Node::attach()
fmalita@chromium.org [Sat, 25 Aug 2012 00:06:39 +0000 (00:06 +0000)]
ASSERTION FAILED: !attached() in WebCore::Node::attach()
https://bugs.webkit.org/show_bug.cgi?id=94650

Reviewed by Abhishek Arya.

Source/WebCore:

Prevent SVGTests::handleAttributeChange() from attaching elements with detached parents.

Test: svg/custom/system-language-crash.html

* svg/SVGTests.cpp:
(WebCore::SVGTests::handleAttributeChange):

LayoutTests:

* svg/custom/system-language-crash-expected.txt: Added.
* svg/custom/system-language-crash.html: Added.

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

7 years agoCSSStyleDeclaration.cssText should not contain extraneous whitespace in final delimiter
commit-queue@webkit.org [Fri, 24 Aug 2012 23:58:43 +0000 (23:58 +0000)]
CSSStyleDeclaration.cssText should not contain extraneous whitespace in final delimiter
https://bugs.webkit.org/show_bug.cgi?id=94633

Patch by Glenn Adams <glenn@skynav.com> on 2012-08-24
Reviewed by Benjamin Poulain.

Ensure cssText final delimiter does not contain extraneous space character after semicolon.

Source/WebCore:

Test: cssom/cssstyledeclaration-csstext-final-delimiter.html

* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::cssText):
Conditionally add SPACE in serialized rule since asText() no longer
contains extra space.
Construct result using StringBuilder.

* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::cssText):
Conditionally add SPACE in serialized rule since asText() no longer
contains extra space.
Construct result using StringBuilder.

* css/CSSProperty.cpp:
(WebCore::CSSProperty::cssText):
Ensure serialized property does longer contains extra space in cssText.
Construct result using StringBuilder.

* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::cssText):
Conditionally add SPACE in serialized rule since asText() no longer
contains extra space.
Construct result using StringBuilder.

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::addRule):
Conditionally add SPACE in reserialized rule in case passed style no
longer contains extra space.  Note that if it does already contain an
extra space that inserting an extra space here is harmless (i.e., is
effectively normalized during parse).
Construct result using StringBuilder.

* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::asText):
Ensure serialized property set does longer contains extra space in final
delimiter.
Construct result using StringBuilder.

* css/WebKitCSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::cssText):
Conditionally add SPACE in serialized rule since asText() no longer
contains extra space.
Construct result using StringBuilder.

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::addBlockStyle):
Conditionally add SPACE in block style since cssText no longer contains
extra space.
Construct result using StringBuilder.
(WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
Conditionally add SPACE in pre-existing inline style since cssText no
longer contains extra space.
Construct result using StringBuilder.

LayoutTests:

* cssom/README.txt: Added.
* cssom/cssstyledeclaration-csstext-final-delimiter-expected.txt: Added.
* cssom/cssstyledeclaration-csstext-final-delimiter.html: Added.
* editing/deleting/delete-line-break-before-underlined-content-expected.txt: Remove extraneous space.
* editing/deleting/delete-line-break-between-paragraphs-with-same-style-expected.txt: ditto
* editing/deleting/deleting-line-break-preserves-underline-color-expected.txt: ditto
* editing/deleting/merge-paragraph-from-h6-with-style-2-expected.txt: ditto
* editing/deleting/merge-paragraph-from-h6-with-style-expected.txt: ditto
* editing/deleting/merge-paragraph-from-p-with-style-3-expected.txt: ditto
* editing/deleting/merge-paragraph-from-p-with-style-expected.txt: ditto
* editing/deleting/paste-with-transparent-background-color-expected.txt: ditto
* editing/execCommand/insert-list-with-noneditable-content-expected.txt: ditto
* editing/execCommand/script-tests/toggle-link.js: ditto
* editing/execCommand/script-tests/toggle-unlink.js: ditto
* editing/execCommand/toggle-link-expected.txt: ditto
* editing/execCommand/toggle-unlink-expected.txt: ditto
* editing/inserting/page-zoom-font-size-expected.txt: ditto
* editing/pasteboard/19644-2-expected.txt: ditto
* editing/pasteboard/5761530-1-expected.txt: ditto
* editing/pasteboard/5780697-2-expected.txt: ditto
* editing/pasteboard/copy-null-characters-expected.txt: ditto
* editing/pasteboard/copy-paste-bidi-expected.txt: ditto
* editing/pasteboard/copy-text-with-backgroundcolor-expected.txt: ditto
* editing/pasteboard/data-transfer-items-expected.txt: ditto
* editing/pasteboard/display-block-on-spans-expected.txt: ditto
* editing/pasteboard/do-not-copy-unnecessary-styles-2-expected.txt: ditto
* editing/pasteboard/do-not-copy-unnecessary-styles-expected.txt: ditto
* editing/pasteboard/drag-drop-url-with-style-expected.txt: ditto
* editing/pasteboard/onpaste-text-html-expected.txt: ditto
* editing/pasteboard/paste-4039777-fix-expected.txt: ditto
* editing/pasteboard/paste-and-sanitize-expected.txt: ditto
* editing/pasteboard/paste-and-sanitize.html: ditto
* editing/pasteboard/paste-list-003-expected.txt: ditto
* editing/pasteboard/paste-noscript-expected.txt: ditto
* editing/pasteboard/paste-noscript-xhtml-expected.txt: ditto
* editing/pasteboard/paste-table-002-expected.txt: ditto
* editing/pasteboard/paste-text-with-style-4-expected.txt: ditto
* editing/pasteboard/paste-text-with-style-5-expected.txt: ditto
* editing/pasteboard/paste-with-redundant-style-expected.txt: ditto
* editing/pasteboard/preserve-underline-color-expected.txt: ditto
* editing/pasteboard/style-from-rules-expected.txt: ditto
* editing/pasteboard/testcase-9507-expected.txt: ditto
* editing/style/non-inheritable-styles-expected.txt: ditto
* editing/style/push-down-font-styles-expected.txt: ditto
* editing/style/push-down-implicit-styles-around-list-expected.txt: ditto
* editing/style/push-down-implicit-styles-expected.txt: ditto
* editing/style/push-down-inline-styles-expected.txt: ditto
* editing/style/script-tests/push-down-font-styles.js: ditto
* editing/style/script-tests/push-down-implicit-styles-around-list.js: ditto
* editing/style/script-tests/push-down-implicit-styles.js: ditto
* editing/style/script-tests/push-down-inline-styles.js: ditto
* editing/undo/remove-css-property-and-remove-style-expected.txt: ditto
* editing/undo/replace-by-span-then-remove-expected.txt: ditto
* editing/undo/replace-by-span-then-remove.html: ditto
* fast/css/background-position-serialize.html: ditto
* fast/css/counters/counter-cssText-expected.txt: ditto
* fast/css/counters/counter-cssText.html: ditto
* fast/css/parse-border-image-repeat-null-crash-expected.txt: ditto
* fast/css/remove-shorthand.html: ditto
* fast/dom/Element/scrollWidth.html: ditto
* fast/dom/HTMLMeterElement/meter-element-markup-expected.txt: ditto
* fast/dom/HTMLProgressElement/progress-element-markup-expected.txt: ditto
* fast/dom/attr-style-too-lazy-expected.txt: ditto
* fast/dom/attr-style-too-lazy.html: ditto
* fast/dom/css-set-property-exception-expected.txt: ditto
* fast/fast/events/ondrop-text-html-expected.txt: ditto
* fast/mutation/observe-attributes-expected.txt: ditto
* fast/mutation/observe-attributes.html: ditto
* inspector/elements/insert-node-expected.txt: ditto
* inspector/styles/styles-update-from-js-expected.txt: ditto
* platform/chromium-win/editing/pasteboard/5780697-2-expected.txt: ditto
* platform/efl/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt: ditto
* platform/mac/editing/pasteboard/5761530-1-expected.txt: ditto
* platform/qt/editing/pasteboard/5761530-1-expected.txt: ditto
* platform/qt/editing/pasteboard/5780697-2-expected.txt: ditto
* svg/webarchive/svg-script-subresouces-expected.webarchive: ditto
* webarchive/test-link-rel-icon-beforeload-expected.webarchive: ditto

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

7 years agoMore unreviewed Chromium rebaselining.
jchaffraix@webkit.org [Fri, 24 Aug 2012 23:56:06 +0000 (23:56 +0000)]
More unreviewed Chromium rebaselining.

* fast/repaint/bugzilla-6473-expected.txt: Added.
* platform/chromium-linux/fast/repaint/bugzilla-6473-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/bugzilla-6473-expected.png: Added.
* platform/chromium-mac/fast/repaint/bugzilla-6473-expected.png: Added.
* platform/chromium-win/fast/repaint/bugzilla-6473-expected.png: Added.
* platform/chromium-win/fast/repaint/bugzilla-6473-expected.txt: Added.
* platform/efl/fast/repaint/bugzilla-6473-expected.txt: Removed.
* platform/gtk/fast/repaint/bugzilla-6473-expected.txt: Removed.
Rebaseline this test as it was deflaked by Simon in r79661. The new baseline
matches Mac and Mitz's expectations (see bug 21536).

* platform/chromium/TestExpectations:
Removed fast/repaint/bugzilla-6473.html now that it's rebaselined.
Removed fast/table/frame-and-rules.html as it hasn't been failing for a week.

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

7 years ago[chromium] WebViewImpl::enableTouchHighlight() should always clear any existing highl...
wjmaclean@chromium.org [Fri, 24 Aug 2012 23:50:23 +0000 (23:50 +0000)]
[chromium] WebViewImpl::enableTouchHighlight() should always clear any existing highlight when invoked.
https://bugs.webkit.org/show_bug.cgi?id=94978

Reviewed by James Robinson.

Modified WebViewImpl::enableTouchHighlight() so it always clears any existing highlight, even if no new
highlight target is found.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::enableTouchHighlight):

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-cancel.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-cancel-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-cancel-expected.txt: Added.

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

7 years ago[chromium] Convert WebLayerTreeView interface into pure virtual
jamesr@google.com [Fri, 24 Aug 2012 23:47:02 +0000 (23:47 +0000)]
[chromium] Convert WebLayerTreeView interface into pure virtual
https://bugs.webkit.org/show_bug.cgi?id=94866

Reviewed by Adrienne Walker.

Source/Platform:

This makes the WebLayerTreeView interface pure virtual to provide better insulation from the implementation.

* chromium/public/WebLayerTreeView.h:
(WebKit):
(Settings):
(WebLayerTreeView):
(WebKit::WebLayerTreeView::~WebLayerTreeView):

Source/WebCore:

Renames CCLayerTreeHostClient::updateAnimations -> CCLayerTreeHostClient::animate to avoid a naming collision
and to better match the other imperative-sounding calls (like layout).

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::updateAnimations):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHostClient):

Source/WebKit/chromium:

Updates WebLayerTreeView implementation and callers to new interface. The createGraphicsContext3D() wrapper
stuff can just go away now since downstream has updated to createOutputSurface().

* WebKit.gypi:
* src/WebLayerTreeView.cpp: Removed.
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeView::create):
(WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
(WebKit::WebLayerTreeViewImpl::initialize):
(WebKit):
(WebKit::WebLayerTreeViewImpl::setSurfaceReady):
(WebKit::WebLayerTreeViewImpl::setRootLayer):
(WebKit::WebLayerTreeViewImpl::clearRootLayer):
(WebKit::WebLayerTreeViewImpl::compositorIdentifier):
(WebKit::WebLayerTreeViewImpl::setViewportSize):
(WebKit::WebLayerTreeViewImpl::layoutViewportSize):
(WebKit::WebLayerTreeViewImpl::deviceViewportSize):
(WebKit::WebLayerTreeViewImpl::setDeviceScaleFactor):
(WebKit::WebLayerTreeViewImpl::deviceScaleFactor):
(WebKit::WebLayerTreeViewImpl::setBackgroundColor):
(WebKit::WebLayerTreeViewImpl::setHasTransparentBackground):
(WebKit::WebLayerTreeViewImpl::setVisible):
(WebKit::WebLayerTreeViewImpl::setPageScaleFactorAndLimits):
(WebKit::WebLayerTreeViewImpl::startPageScaleAnimation):
(WebKit::WebLayerTreeViewImpl::setNeedsAnimate):
(WebKit::WebLayerTreeViewImpl::setNeedsRedraw):
(WebKit::WebLayerTreeViewImpl::commitRequested):
(WebKit::WebLayerTreeViewImpl::composite):
(WebKit::WebLayerTreeViewImpl::updateAnimations):
(WebKit::WebLayerTreeViewImpl::compositeAndReadback):
(WebKit::WebLayerTreeViewImpl::finishAllRendering):
(WebKit::WebLayerTreeViewImpl::renderingStats):
(WebKit::WebLayerTreeViewImpl::setFontAtlas):
(WebKit::WebLayerTreeViewImpl::loseCompositorContext):
(WebKit::WebLayerTreeViewImpl::willBeginFrame):
(WebKit::WebLayerTreeViewImpl::didBeginFrame):
(WebKit::WebLayerTreeViewImpl::animate):
(WebKit::WebLayerTreeViewImpl::layout):
(WebKit::WebLayerTreeViewImpl::applyScrollAndScale):
(WebKit::WebLayerTreeViewImpl::createOutputSurface):
(WebKit::WebLayerTreeViewImpl::didRecreateOutputSurface):
(WebKit::WebLayerTreeViewImpl::willCommit):
(WebKit::WebLayerTreeViewImpl::didCommit):
(WebKit::WebLayerTreeViewImpl::didCommitAndDrawFrame):
(WebKit::WebLayerTreeViewImpl::didCompleteSwapBuffers):
(WebKit::WebLayerTreeViewImpl::scheduleComposite):
* src/WebLayerTreeViewImpl.h:
(WebLayerTreeViewImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::renderingStats):
(WebKit::WebViewImpl::startPageScaleAnimation):
(WebKit::WebViewImpl::setCompositorSurfaceReady):
(WebKit::WebViewImpl::animate):
(WebKit::WebViewImpl::doPixelReadbackToCanvas):
(WebKit::WebViewImpl::paint):
(WebKit::WebViewImpl::composite):
(WebKit::WebViewImpl::setNeedsRedraw):
(WebKit::WebViewImpl::isInputThrottled):
(WebKit::WebViewImpl::loseCompositorContext):
(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::computePageScaleFactorLimits):
(WebKit::WebViewImpl::setIsTransparent):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::scheduleCompositingLayerSync):
(WebKit::WebViewImpl::invalidateRootLayerRect):
(WebKit::WebViewImpl::setBackgroundColor):
(WebKit::WebViewImpl::scheduleAnimation):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
(WebKit::WebViewImpl::updateLayerTreeViewport):
(WebKit::WebViewImpl::setVisibilityState):
* src/WebViewImpl.h:
(WebKit):
* tests/CCLayerTreeHostTest.cpp:
* tests/CCThreadedTest.cpp:
* tests/CCThreadedTest.h:
(WebKitTests::TestHooks::animate):
* tests/FakeCCLayerTreeHostClient.h:
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
(WebKit::GraphicsLayerChromiumTest::~GraphicsLayerChromiumTest):
(GraphicsLayerChromiumTest):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:
* tests/WebLayerTreeViewTestCommon.h:
(MockWebLayerTreeViewClient):

Tools:

Updates DumpRenderTree's WebViewHost to vend a WebCompositorOutputSurface so DumpRenderTree can run compositing
tests.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createOutputSurface):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):
* DumpRenderTree/chromium/WebViewHostOutputSurface.cpp: Copied from Source/WebKit/chromium/src/WebLayerTreeViewImpl.h.
(WebKit):
(WebKit::WebViewHostOutputSurface::WebViewHostOutputSurface):
(WebKit::WebViewHostOutputSurface::~WebViewHostOutputSurface):
(WebKit::WebViewHostOutputSurface::bindToClient):
(WebKit::WebViewHostOutputSurface::capabilities):
(WebKit::WebViewHostOutputSurface::context3D):
(WebKit::WebViewHostOutputSurface::sendFrameToParentCompositor):
* DumpRenderTree/chromium/WebViewHostOutputSurface.h: Copied from Source/WebKit/chromium/src/WebLayerTreeViewImpl.h.
(WebKit):
(WebViewHostOutputSurface):

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Fri, 24 Aug 2012 23:36:56 +0000 (23:36 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-24

* DEPS:

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

7 years ago[chromium] Clean up WebAnimation animationId/groupId generation
jamesr@google.com [Fri, 24 Aug 2012 23:25:04 +0000 (23:25 +0000)]
[chromium] Clean up WebAnimation animationId/groupId generation
https://bugs.webkit.org/show_bug.cgi?id=94973

Reviewed by Adrienne Walker.

Source/Platform:

This removes the unused groupId from the public interface and makes the implicit animation id generation a bit
clearer.

* chromium/public/WebAnimation.h:
(WebAnimation):

Source/WebCore:

This gets rid of AnimationIdVendor and simplifies GraphicsLayerChromium's name<->id mapping. We only have to
track the IDs of animations that we have started and can let WebAnimation generate new IDs if we haven't seen
the name before.

* WebCore.gypi:
* platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
* platform/graphics/chromium/AnimationIdVendor.h: Removed.
* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::createWebAnimation):
* platform/graphics/chromium/AnimationTranslationUtil.h:
(WebCore):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
* platform/graphics/chromium/GraphicsLayerChromium.h:

Source/WebKit/chromium:

* src/WebAnimationImpl.cpp:
(WebKit::WebAnimation::create):
(WebKit::WebAnimationImpl::WebAnimationImpl):
(WebKit::WebAnimationImpl::id):
(WebKit):
* src/WebAnimationImpl.h:
(WebAnimationImpl):
* tests/AnimationTranslationUtilTest.cpp:
(WebKit::animationCanBeTranslated):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::TEST_F):

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

7 years agoPopulate DatabaseTracker's origins lazily on demand
commit-queue@webkit.org [Fri, 24 Aug 2012 23:18:55 +0000 (23:18 +0000)]
Populate DatabaseTracker's origins lazily on demand
https://bugs.webkit.org/show_bug.cgi?id=94649

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-24
Reviewed by Brady Eidson.

Previously, we would populate m_quotaMap on startup when initialializing DatabaseTracker.
This takes a significant amount of time and memory and it is not needed in many cases.

This patch change DatabaseTracker to invoke populateOrigins() only when needed.
This saves:
-7-15ms on startup.
-96Kbytes of SQLite page cache
-the size of m_quotaMap on that particular system.

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker):
(WebCore::DatabaseTracker::hasEntryForOriginNoLock):
(WebCore::DatabaseTracker::populateOriginsIfNeeded):
(WebCore::DatabaseTracker::origins):
(WebCore::DatabaseTracker::quotaForOriginNoLock):
(WebCore::DatabaseTracker::addDatabase):
(WebCore::DatabaseTracker::deleteOrigin):
* Modules/webdatabase/DatabaseTracker.h:
(DatabaseTracker):

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

7 years ago[Chromium] Remove visitedLinkHash from PlatformSupport
pilgrim@chromium.org [Fri, 24 Aug 2012 23:08:42 +0000 (23:08 +0000)]
[Chromium] Remove visitedLinkHash from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=94965

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

* platform/chromium/LinkHashChromium.cpp:
(WebCore):
(WebCore::visitedLinkHash):
* platform/chromium/PlatformSupport.h:

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

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

7 years agoUnreviewed rebaseline after r126622.
jchaffraix@webkit.org [Fri, 24 Aug 2012 23:06:13 +0000 (23:06 +0000)]
Unreviewed rebaseline after r126622.

* platform/chromium-mac-snowleopard/fast/repaint/delete-into-nested-block-expected.png: Added.

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

7 years ago[chromium] Reduce padding on popup menu entries when used on a touch screen.
commit-queue@webkit.org [Fri, 24 Aug 2012 23:02:52 +0000 (23:02 +0000)]
[chromium] Reduce padding on popup menu entries when used on a touch screen.
https://bugs.webkit.org/show_bug.cgi?id=94953

Patch by Kevin Ellis <kevers@chromium.org> on 2012-08-24
Reviewed by Adam Barth.

Prior to the patch, the height of entries in a popup menu was 44px,
which is excessive.  Reduced the padding to make the menu entries
30px tall to match the wrench menu.

No new tests required.

* platform/chromium/PopupMenuChromium.cpp:
(WebCore):

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

7 years agoWe should have tests for the DFG CFA's handling of structure clobbering and basic...
fpizlo@apple.com [Fri, 24 Aug 2012 22:38:14 +0000 (22:38 +0000)]
We should have tests for the DFG CFA's handling of structure clobbering and basic blocks
https://bugs.webkit.org/show_bug.cgi?id=94977

Reviewed by Mark Hahnenberg.

* fast/js/dfg-multi-basic-block-structure-clobber-expected.txt: Added.
* fast/js/dfg-multi-basic-block-structure-clobber.html: Added.
* fast/js/script-tests/dfg-multi-basic-block-structure-clobber.js: Added.
(bar):
(foo):
* fast/js/jsc-test-list:

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

7 years ago[BlackBerry] Web pages are zoomed out to much on initial load
commit-queue@webkit.org [Fri, 24 Aug 2012 22:37:50 +0000 (22:37 +0000)]
[BlackBerry] Web pages are zoomed out to much on initial load
https://bugs.webkit.org/show_bug.cgi?id=94830

The previous patch caused a slight regression to the calculation we do
for the default splitting factor in the render queue.  The default value
we use to represent the max area should be the tile size.  This was true
with the old calculation of default max layout width since it was the
screen size.  The fix is to be explicit and use the tile size directly.

Patch by Adam Treat <atreat@rim.com> on 2012-08-24
Reviewed by George Staikos.

* WebKitSupport/RenderQueue.cpp:
(BlackBerry::WebKit::RenderQueue::splittingFactor):

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

7 years ago[Texmap] Move TextureMapperGL to use GraphicsContext3D
commit-queue@webkit.org [Fri, 24 Aug 2012 22:30:16 +0000 (22:30 +0000)]
[Texmap] Move TextureMapperGL to use GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=78672

Patch by Helder Correia  <helder.correia@nokia.com>, Roland Takacs <rtakacs@inf.u-szeged.hu> on 2012-08-24
Reviewed by Noam Rosenthal.

This is part of a several patch-refactoring.

Introduce additional logic in GraphicsContext3DQt to support a
new RenderToCurrentGLContext RenderStyle. This is necessary to
use GC3D for other things than WebGL, like TextureMapper.

The GC3D constructor now accepts a RenderStyle instead of the
boolean renderDirectlyToHostWindow and thus mimics create()'s
signature. This has been changed for all ports in this patch.

A new GC3D::createForCurrentGLContext() builder was
introduced to better abstract the goal of using GC3D with the
current context.

The patch was originally developed by Helder Correia and finished
by Roland Takacs.

No new tests, refactoring.

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

7 years agoUnreviewed, rolling out r126620.
commit-queue@webkit.org [Fri, 24 Aug 2012 22:15:27 +0000 (22:15 +0000)]
Unreviewed, rolling out r126620.
http://trac.webkit.org/changeset/126620
https://bugs.webkit.org/show_bug.cgi?id=94976

ASSERT((intptr_t)m_bytesAllocated + deltaBytes > 0) is
triggering on the bots (Requested by jchaffraix on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-24

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
* platform/graphics/chromium/Canvas2DLayerManager.cpp: Removed.
* platform/graphics/chromium/Canvas2DLayerManager.h: Removed.

Source/WebKit/chromium:

* WebKit.gypi:
* tests/Canvas2DLayerManagerTest.cpp: Removed.

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

7 years ago[Chromium-Android] Reapply "Upstream layout test expectations (Part 1)"
wangxianzhu@chromium.org [Fri, 24 Aug 2012 22:05:45 +0000 (22:05 +0000)]
[Chromium-Android] Reapply "Upstream layout test expectations (Part 1)"
https://bugs.webkit.org/show_bug.cgi?id=94884

Reviewed by Adam Barth.

This part include:
- Removed ANDROID tag for passing tests and tests that should be covered by other Android specific rules
- Added android rules for fast/js and jquery/ tests
- crbug.com/144536
- Several other rules with public bugs

* platform/chromium/TestExpectations:

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

7 years ago[CSSRegions]Expose WebKitNamedFlowCollection interface through document.getNamedFlows()
rniwa@webkit.org [Fri, 24 Aug 2012 21:46:24 +0000 (21:46 +0000)]
[CSSRegions]Expose WebKitNamedFlowCollection interface through document.getNamedFlows()
https://bugs.webkit.org/show_bug.cgi?id=93368

Patch by Andrei Onea <onea@adobe.com> on 2012-08-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

The WebKitNamedFlowCollection already implemented was being used by Document to store all
the named flows - regardless of state - so we need to use another class to expose to JS.
WebKitNamedFlowCollection was renamed to NamedFlowCollection since it is used only internally,
and the C++ class used to expose to JS is DOMNamedFlowCollection (with the interface name
WebKitNamedFlowCollection). DOMNamedFlowCollection is exposed via Document::webKitGetFlows(),
and it itself exposes the length property, the indexed getter, and the named getter.
http://dev.w3.org/csswg/css3-regions/#document-getnamedflows

Test: fast/regions/webkit-named-flow-collection.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/gobject/GNUmakefile.am:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
We need to use same trick as with HTMLPropertiesCollection, to make NamedGetter generate required code.
* dom/DOMAllInOne.cpp:
* dom/DOMNamedFlowCollection.cpp:
(WebCore):
(WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
(WebCore::DOMNamedFlowCollection::length):
(WebCore::DOMNamedFlowCollection::item):
(WebCore::DOMNamedFlowCollection::namedItem):
(WebCore::DOMNamedFlowCollection::hasNamedItem):
* dom/DOMNamedFlowCollection.h:
(WebCore):
(DOMNamedFlowCollection):
(WebCore::DOMNamedFlowCollection::create):
* dom/DOMNamedFlowCollection.idl:
* dom/Document.cpp:
(WebCore):
(WebCore::Document::webkitGetNamedFlows):
(WebCore::Document::namedFlows):
* dom/Document.h:
(WebCore):
(Document):
* dom/Document.idl:
* dom/NamedFlowCollection.cpp:
Renamed from Source/WebCore/dom/WebKitNamedFlowCollection.cpp.
(WebCore):
(WebCore::NamedFlowCollection::NamedFlowCollection):
(WebCore::NamedFlowCollection::namedFlows):
(WebCore::NamedFlowCollection::flowByName):
(WebCore::NamedFlowCollection::ensureFlowWithName):
(WebCore::NamedFlowCollection::discardNamedFlow):
(WebCore::NamedFlowCollection::documentDestroyed):
(WebCore::NamedFlowCollection::createCSSOMSnapshot):
Used to create a snapshot of current named flows in CREATED state.
* dom/NamedFlowCollection.h:
Renamed from Source/WebCore/dom/WebKitNamedFlowCollection.h.
(WebCore):
(NamedFlowCollection):
(WebCore::NamedFlowCollection::create):
(WebCore::NamedFlowCollection::document):
(WebCore::NamedFlowCollection::~NamedFlowCollection):
(WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash):
(WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal):
(NamedFlowCollection::NamedFlowHashFunctions):
(WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash):
(WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal):
Moved NamedFlowHashFunctions and NamedFlowHashTranslator definitions to .h
and made them public, so they can be used in DOMNamedFlow as well.
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::WebKitNamedFlow):
(WebCore::WebKitNamedFlow::create):
* dom/WebKitNamedFlow.h:
(WebCore):
(WebKitNamedFlow):
* inspector/InspectorCSSAgent.cpp:
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):

LayoutTests:

Added test for WebKitNamedFlowCollection interface.

* fast/regions/webkit-named-flow-collection-expected.txt: Added.
* fast/regions/webkit-named-flow-collection.html: Added.

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

7 years agoSkipping svg/custom/getBBox-path.svg on platform mac.
commit-queue@webkit.org [Fri, 24 Aug 2012 21:39:46 +0000 (21:39 +0000)]
Skipping svg/custom/getBBox-path.svg on platform mac.
https://bugs.webkit.org/show_bug.cgi?id=94971.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-24
Reviewed by Sam Weinig.

* platform/mac/Skipped:

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

7 years ago[CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporar...
commit-queue@webkit.org [Fri, 24 Aug 2012 21:37:04 +0000 (21:37 +0000)]
[CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string
https://bugs.webkit.org/show_bug.cgi?id=94736
http://code.google.com/p/angleproject/issues/detail?id=360

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-08-24
Reviewed by George Staikos.

When RenameFunction::RenameFunction(const TString& oldFunctionName, const TString&
newFunctionName) is called from TCompiler::rewriteCSSShader(TIntermNode*), references to
the temporaries oldFunctionName and newFunctionName are stored as mOldFunctionName and
mNewFunctionName. This results in undefined behaviour in visitAggregate.

This same patch is being applied in upstream ANGLE, and is needed for CSS Shader
sanitization.

* src/compiler/RenameFunction.h:
(RenameFunction::visitAggregate):
(RenameFunction):

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

7 years agoAlways null check cells before marking
oliver@apple.com [Fri, 24 Aug 2012 21:23:51 +0000 (21:23 +0000)]
Always null check cells before marking
https://bugs.webkit.org/show_bug.cgi?id=94968

Reviewed by Geoffrey Garen.

Originally we tried to minimise null checks by only null checking values
that we knew could be null, however given that we can't ever guarantee
when a GC will happen, we're better off just always assuming that a null
check will be necessary.  This results in a much less fragile code base
as we can add GC allocations to object initialisers without having to
subsequently worry about whether the object we are initialising will need
to add a bunch of null checks in its visitChildren implementation.

* heap/MarkStack.cpp:
(JSC::MarkStack::internalAppend):
* heap/MarkStackInlineMethods.h:
(JSC::MarkStack::append):
(JSC::MarkStack::appendUnbarrieredPointer):
* runtime/Structure.h:
(JSC::MarkStack::internalAppend):

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

7 years agoUnreviewed Chromium gardening.
jchaffraix@webkit.org [Fri, 24 Aug 2012 21:05:29 +0000 (21:05 +0000)]
Unreviewed Chromium gardening.

Rebaselined a bunch of repaint tests on Mac. The failures or differences fell in
the following categories:
- small alpha difference on the repaint tests' background. This issue has been known for
some time now but is not being worked on AFAICT.
- Chromium unions the invalidation rects when Mac doesn't.
- font difference.

* platform/chromium-mac-snowleopard/fast/repaint/box-shadow-dynamic-expected.png: Added.
* platform/chromium-mac/fast/repaint/box-shadow-dynamic-expected.png: Added.
This test was using Mac's expectation which is wrong (they have some beige rectangles that
are not in the page). Those new baselines matches the other ports and the expected result.

* platform/chromium-mac-snowleopard/fast/repaint/4774354-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/4776765-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/border-fit-lines-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/border-repaint-glitch-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/bugzilla-3509-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/bugzilla-6388-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/bugzilla-7235-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/change-transform-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/containing-block-position-change-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/fixed-move-after-scroll-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/float-move-during-layout-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/inline-color-change-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/layout-state-relative-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/outline-shrinking-expected.png: Added.
* platform/chromium-mac/fast/repaint/4774354-expected.png: Added.
* platform/chromium-mac/fast/repaint/4776765-expected.png: Added.
* platform/chromium-mac/fast/repaint/block-selection-gap-in-table-cell-expected.png: Added.
* platform/chromium-mac/fast/repaint/border-fit-lines-expected.png: Added.
* platform/chromium-mac/fast/repaint/border-repaint-glitch-expected.png: Added.
* platform/chromium-mac/fast/repaint/bugzilla-3509-expected.png: Added.
* platform/chromium-mac/fast/repaint/bugzilla-6388-expected.png: Added.
* platform/chromium-mac/fast/repaint/bugzilla-7235-expected.png: Added.
* platform/chromium-mac/fast/repaint/button-spurious-layout-hint-expected.png: Added.
* platform/chromium-mac/fast/repaint/change-transform-expected.png: Added.
* platform/chromium-mac/fast/repaint/clip-with-layout-delta-expected.png: Added.
* platform/chromium-mac/fast/repaint/containing-block-position-change-expected.png: Added.
* platform/chromium-mac/fast/repaint/delete-into-nested-block-expected.png:
* platform/chromium-mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Added.
* platform/chromium-mac/fast/repaint/erase-overflow-expected.png: Added.
* platform/chromium-mac/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
* platform/chromium-mac/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
* platform/chromium-mac/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
* platform/chromium-mac/fast/repaint/fixed-move-after-scroll-expected.png: Added.
* platform/chromium-mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png: Added.
* platform/chromium-mac/fast/repaint/float-move-during-layout-expected.png: Added.
* platform/chromium-mac/fast/repaint/inline-block-resize-expected.png: Added.
* platform/chromium-mac/fast/repaint/inline-color-change-expected.png: Added.
* platform/chromium-mac/fast/repaint/inline-overflow-expected.png: Added.
* platform/chromium-mac/fast/repaint/layer-full-repaint-expected.png: Added.
* platform/chromium-mac/fast/repaint/layer-hide-when-needs-layout-expected.png: Added.
* platform/chromium-mac/fast/repaint/layer-visibility-expected.png: Added.
* platform/chromium-mac/fast/repaint/layout-state-relative-expected.png: Added.
* platform/chromium-mac/fast/repaint/outline-shrinking-expected.png: Added.
* platform/chromium/TestExpectations:

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

7 years agoSource/WebCore: Update comment regarding root node handling in XPath for detached...
cevans@google.com [Fri, 24 Aug 2012 20:51:57 +0000 (20:51 +0000)]
Source/WebCore: Update comment regarding root node handling in XPath for detached trees.
https://bugs.webkit.org/show_bug.cgi?id=36427

Reviewed by Alexey Proskuryakov.

* xml/XPathPath.cpp:
(WebCore::XPath::LocationPath::evaluate): Update XPath root node comment.

LayoutTests: Improve xpath-detached-nodes.html test.
https://bugs.webkit.org/show_bug.cgi?id=36427

Reviewed by Alexey Proskuryakov.

* fast/xpath/xpath-detached-nodes-expected.txt:
* fast/xpath/xpath-detached-nodes.html: Increase coverage and improve log messages.

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

7 years ago[Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
commit-queue@webkit.org [Fri, 24 Aug 2012 20:47:46 +0000 (20:47 +0000)]
[Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
https://bugs.webkit.org/show_bug.cgi?id=94386

Patch by Justin Novosad <junov@chromium.org> on 2012-08-24
Reviewed by Stephen White.

Source/WebCore:

Before this change, there was no global bound on memory that could be
consumed for the purpose of recording 2d canvas deferred draw commands.
There was only a per canvas limit. It is possible for canvases to get
dereferenced without flushing pending draw commands, which may lock
resources until the canvas element is garbage collected. This makes
it possible to grow memory consumption indefinitely by hitting reload
successively on some canvas-intensive web pages.

The solution implemented in this change consists in maintaining a
global registry of deferred canvas layers and tracking the sum of
memory allocated by all canvases for the purpose of storing deferred
draw commands. When memory consumption reaches the allowed limit,
caches are cleared and draw operations are flushed on one or several
canvases, starting with the least recently used, until memory
consumption is below a target level.

New tests: webkit_unit_tests DeferredLayerManagerTest*

* WebCore.gypi:
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged):
Overloaded from SkDeferredCanvas::NotificationClient. Called when
there is a change in the number of bytes allocated by the deferred
canvas.
(WebCore):
(WebCore::Canvas2DLayerBridge::flushedDrawCommands):
Overloaded from SkDeferredCanvas::NotificationClient. Called when
pending draw commands are flush by the deferred canvas.
(WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
Called by the Canvas2DLayerManager to request the release of unlocked
memory resources (caches). Request is relayed to SkDeferredCanvas.
returns number of bytes freed.
(WebCore::Canvas2DLayerBridge::flush):
Requests that pending draw commands be flushed immediately from the
deferred canvas queue. Request is relayed to SkDeferredCanvas.
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::bytesAllocated):
(WebCore::Canvas2DLayerBridge::updateBytesAllocated):
* platform/graphics/chromium/Canvas2DLayerManager.cpp: Added.
(WebCore):
(WebCore::Canvas2DLayerManager::Canvas2DLayerManager):
(WebCore::Canvas2DLayerManager::~Canvas2DLayerManager):
(WebCore::Canvas2DLayerManager::init):
Sets the global limit for the maximum total number of bytes allocated
by deferred layers.
(WebCore::Canvas2DLayerManager::get):
Singleton accessor
(WebCore::Canvas2DLayerManager::layerDidDraw):
Called by Canvas2DLayerBridge to indicate that the layer was drawn to.
(WebCore::Canvas2DLayerManager::addLayerToList):
(WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged):
Called by Canvas2DLayerBridge to indicate thet the memory consumed by
the layer has changed.
(WebCore::Canvas2DLayerManager::layerDidFlush):
Called by Canvas2DLayerBridge to indicated that the pending draw
commands of the layer were flushed.
(WebCore::Canvas2DLayerManager::layerToBeDestroyed):
Called by Canvas2DLayerBridge upon destruction.
(WebCore::Canvas2DLayerManager::freeMemoryIfNecessary):
Called internally. Check that current memory consumption is below
the tolerated limit.  If check fails, intiates resource releases.
(WebCore::Canvas2DLayerManager::removeLayerFromList):
(WebCore::Canvas2DLayerManager::isInList):
(WebCore::Canvas2DLayerManager::updateBytesAllocated):
* platform/graphics/chromium/Canvas2DLayerManager.h: Added.
(WebCore):
(Canvas2DLayerManager):

Source/WebKit/chromium:

Adding unit tests for WebCore::Canvas2DLayerManager

* WebKit.gypi:
* tests/Canvas2DLayerManagerTest.cpp: Added.
(FakeCanvas2DLayerBridge):
(FakeCanvas2DLayerBridge::FakeCanvas2DLayerBridge):
(FakeCanvas2DLayerBridge::fakeFreeableBytes):
(Canvas2DLayerManagerTest):
(Canvas2DLayerManagerTest::storageAllocationTrackingTest):
(Canvas2DLayerManagerTest::evictionTest):
(Canvas2DLayerManagerTest::flushEvictionTest):

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

7 years agoUnreviewed, rolling out r126606.
commit-queue@webkit.org [Fri, 24 Aug 2012 20:22:05 +0000 (20:22 +0000)]
Unreviewed, rolling out r126606.
http://trac.webkit.org/changeset/126606
https://bugs.webkit.org/show_bug.cgi?id=94970

The change broke TestExpectations.txt (Requested by jchaffraix
on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-24

* platform/chromium/TestExpectations:

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

7 years ago[BlackBerry] Changes resulting from moving network related methods
commit-queue@webkit.org [Fri, 24 Aug 2012 20:21:56 +0000 (20:21 +0000)]
[BlackBerry] Changes resulting from moving network related methods
from platform client to platform settings.
https://bugs.webkit.org/show_bug.cgi?id=94963

Patch by Parth Patel <parpatel@rim.com> on 2012-08-24
Reviewed by Yong Li.

Changes in response to Network methods moved from
class BlackBerryPlatformClient to class BlackBerryPlatformSettings
in platform repository.

Source/WebCore:

No new tests as there are no logical modifications.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::storeCredentials):
* platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp:
(WebCore::NetworkStateNotifier::NetworkStateNotifier):

Source/WebKit/blackberry:

* WebKitSupport/AboutData.cpp:
(BlackBerry::WebKit::cachePage):

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

7 years agoEnable accelerated Skia implementation of feBlend filter.
senorblanco@chromium.org [Fri, 24 Aug 2012 20:19:13 +0000 (20:19 +0000)]
Enable accelerated Skia implementation of feBlend filter.
https://bugs.webkit.org/show_bug.cgi?id=94954

Reviewed by James Robinson.

Will be covered by existing tests in svg/ when tests are run with
accelerated painting.

* WebCore.gypi:
* platform/graphics/filters/FEBlend.h:
(FEBlend):
* platform/graphics/filters/skia/FEBlendSkia.cpp: Added.
(WebCore):
(WebCore::toSkiaMode):
(WebCore::FEBlend::platformApplySkia):

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

7 years ago[chromium] CCLayerTreeHostImpl::scrollBy always assumes screen space deltas
rjkroege@chromium.org [Fri, 24 Aug 2012 19:55:11 +0000 (19:55 +0000)]
[chromium] CCLayerTreeHostImpl::scrollBy always assumes screen space deltas
https://bugs.webkit.org/show_bug.cgi?id=94946

Reviewed by James Robinson.

Multiply scrollBy deltas in CCLayerTreeHostImpl to correctly support
scrolling on devices that send deltas in DIP (as opposed to screen)
space. Change is a nop on platforms that have not setDeviceScaleFactor
to a non-unity value.

Tested by existing unit tests.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::scrollBy):

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

7 years agoAutogenerate Opcode definitions
oliver@apple.com [Fri, 24 Aug 2012 19:37:50 +0000 (19:37 +0000)]
Autogenerate Opcode definitions
https://bugs.webkit.org/show_bug.cgi?id=94840

Reviewed by Gavin Barraclough.

Start the process of autogenerating the code emission for the bytecode.
We'll just start with automatic generation of the list of Opcodes as that
requires the actual definition of the opcodes, and the logic for parsing
them.

Due to some rather annoying dependency cycles, this initial version has
the OpcodeDefinitions.h file checked into the tree, although with some
work I hope to be able to fix that.

* DerivedSources.make:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/Opcode.h:
  Include OpcodeDefinitions.h as our definitive source of info
  about the opcodes.
* bytecode/OpcodeDefinitions.h: Added.
  Autogenerated file
* bytecode/opcodes: Added.
  The new opcode definition file
* opcode_definition_generator.py: Added.
(generateOpcodeDefinition):
(generate):
  Module that generates the content for OpcodeDefinitions.h
* opcode_generator.py: Added.
(printUsage):
(main):
  Driver script
* opcode_parser.py: Added.
  Simple parser for the opcode definitions.

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

7 years ago[BlackBerry] Debug assertion fires in BackingStorePrivate::renderJob()
commit-queue@webkit.org [Fri, 24 Aug 2012 19:19:28 +0000 (19:19 +0000)]
[BlackBerry] Debug assertion fires in BackingStorePrivate::renderJob()
https://bugs.webkit.org/show_bug.cgi?id=94960

Patch by Liam Quinn <lquinn@rim.com> on 2012-08-24
Reviewed by Adam Treat.

Change the assertion into an early return as recommended by Adam Treat.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::renderJob):

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

7 years agowebkit-image-set() function not showing up when computing background property
commit-queue@webkit.org [Fri, 24 Aug 2012 19:17:11 +0000 (19:17 +0000)]
webkit-image-set() function not showing up when computing background property
https://bugs.webkit.org/show_bug.cgi?id=94536

Patch by Anish Bhayani <anish.bhayani@gmail.com> on 2012-08-24
Reviewed by Simon Fraser.

Source/WebCore:

Added isBaseValueList() to ensure ImageSetClass is not displaying shorthand notation.
Tests to make sure background shows '-webkit-image-set('.

Test: fast/css/image-set-setting.html

* css/CSSValue.h:
(CSSValue):
(WebCore::CSSValue::isBaseValueList):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getLayeredShorthandValue):

LayoutTests:

Used same tests from image-set-parsing to show consistency between CSS background
value and backgroundImage value when setting -webkit-image-set(...).

* fast/css/image-set-setting-expected.txt: Added.
* fast/css/image-set-setting.html: Added.
* fast/css/script-tests/image-set-setting.js: Added.
(testComputedStyle):
(testImageSetRule):

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

7 years agoRemove unnecessary CSS selector text generation
tony@chromium.org [Fri, 24 Aug 2012 19:15:31 +0000 (19:15 +0000)]
Remove unnecessary CSS selector text generation
https://bugs.webkit.org/show_bug.cgi?id=94857

Reviewed by Ojan Vafai.

When setting the selector text, there was some old code that would
check to see if it was unchanged. That got removed, but the code
to generate the previous selector text is still there.

Covered by fast/css/css-set-selector-text.html and
fast/css/css-set-selector-text-crash.html.

* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::setSelectorText): Remove unused oldSelectorText.
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText): Remove unused oldSelectorText
and rather than update the cache, just invalidate the previous entry since
we may not need the new selector text.

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

7 years agoSource/WebCore: Add support for consumable user gestures
cdn@chromium.org [Fri, 24 Aug 2012 19:01:18 +0000 (19:01 +0000)]
Source/WebCore: Add support for consumable user gestures
https://bugs.webkit.org/show_bug.cgi?id=94867

Reviewed by Adam Barth.

Adds a static counter of the number of consumable gestures. This is decremented either when
a gestures falls out of scope or is consumed via a call to consumeUserGesture().

Planned usage in Chromium is to prevent the piggybacking of multiple popup windows on a
single user gesture.

No new tests as this should not change behavior. The platform must implement consumable
gestures for this to do anything.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::consumeUserGesture):
(WebCore):
* bindings/v8/ScriptController.h:
(ScriptController):
* dom/UserGestureIndicator.cpp:
(WebCore):
(WebCore::UserGestureIndicator::UserGestureIndicator):
(WebCore::UserGestureIndicator::~UserGestureIndicator):
(WebCore::UserGestureIndicator::consumeUserGesture):
* dom/UserGestureIndicator.h:
(WebCore::UserGestureIndicator::processingUserGesture):
(UserGestureIndicator):

Source/WebKit/chromium: Plumb consumeUserGesture() to the chromium platform layer.
https://bugs.webkit.org/show_bug.cgi?id=9475294867

Reviewed by Adam Barth.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::consumeUserGesture):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):

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

7 years ago[chromium] gestureTapDown should not select a RenderView node as target.
wjmaclean@chromium.org [Fri, 24 Aug 2012 18:59:11 +0000 (18:59 +0000)]
[chromium] gestureTapDown should not select a RenderView node as target.
https://bugs.webkit.org/show_bug.cgi?id=94956

Reviewed by James Robinson.

Add check to prevent selecting a RenderView node as a highlight target.

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::bestTouchLinkNode):

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-background.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-background-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-background-expected.txt: Added.

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

7 years ago[Chromium-Android] Many 'Unexpected EOF ...' when a test crashes
wangxianzhu@chromium.org [Fri, 24 Aug 2012 18:55:51 +0000 (18:55 +0000)]
[Chromium-Android] Many 'Unexpected EOF ...' when a test crashes
https://bugs.webkit.org/show_bug.cgi?id=94865

Reviewed by Dirk Pranke.

Android detects crash of test by checking if the return value of read() is None.
Added a parameter 'treat_no_data_as_crash' to let ServerProcess know the special requirement of Android.
If set, ServerProcess will set _crashed unconditionaly when there is no data.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.__init__):
(ChromiumAndroidPort):
(ChromiumAndroidPort._android_server_process_constructor):
(ChromiumAndroidDriver._start_once):
* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess.__init__):
(ServerProcess._wait_for_data_and_update_buffers_using_select):

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

7 years ago[Chromium-Android] Upstream layout test expectations (Part 1)
wangxianzhu@chromium.org [Fri, 24 Aug 2012 18:51:08 +0000 (18:51 +0000)]
[Chromium-Android] Upstream layout test expectations (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=94884

Reviewed by Adam Barth.

This part include:
- Removed ANDROID tag for passing tests and tests that should be covered by other Android specific rules
- Added android rules for fast/js and jquery/ tests
- crbug.com/144536
- Several other rules with public bugs

* platform/chromium/TestExpectations:

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

7 years ago[CSS Exclusions] Enable shape-inside for simple rectangles
commit-queue@webkit.org [Fri, 24 Aug 2012 18:48:49 +0000 (18:48 +0000)]
[CSS Exclusions] Enable shape-inside for simple rectangles
https://bugs.webkit.org/show_bug.cgi?id=89259

Patch by Bear Travis <betravis@adobe.com> on 2012-08-24
Reviewed by Levi Weintraub.

Source/WebCore:

This patch is the first in a series enabling shape-inside. It adds
support for inline layout within a single render block with a
rectangular shape-inside.
Each RenderBlock with a valid shape-inside maintains a WrapShapeInfo,
which can calculate the areas, or LineSegments, where inline content
can flow on a line. The WrapShapeInfo class maintains a static map of
RenderBlocks to WrapShapeInfos. The basic algorithm involves three stages:
1. Determine if the RenderBlock has a valid shape-inside, and store it
in a WrapShapeInfo if necessary.
2. If the inline content is affected by a shape-inside, use the
corresponding WrapShapeInfo to break the content into line segments.
3. Lay out the line segments.

Tests: fast/exclusions/shape-inside/shape-inside-floats-simple.html
       fast/exclusions/shape-inside/shape-inside-inline-elements.html
       fast/exclusions/shape-inside/shape-inside-overflow.html
       fast/exclusions/shape-inside/shape-inside-percentage-auto.html
       fast/exclusions/shape-inside/shape-inside-text.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::willBeDestroyed): Remove WrapShapeInfo when destroyed.
(WebCore::RenderBlock::styleDidChange): Detect modifications to style()->wrapShapeInside.
(WebCore):
(WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange): Update WrapShapeInfo
when style()->wrapShapeInside changes.
(WebCore::RenderBlock::layoutBlock): Notify WrapShapeInfo of changes in logicalWidth
and logicalHeight before laying out inline content.
* rendering/RenderBlock.h:
(RenderBlock):
(WebCore::RenderBlock::wrapShapeInfo): Return the wrapShapeInfo associated with a
RenderBlock.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::LineWidth): Determine the WrapShapeInfo::LineSegment this LineWidth
corresponds to, if any.
(LineWidth):
(WebCore::LineWidth::updateAvailableWidth): The width's LineSegment boundaries affect
the available width.
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine): The current LineSegment
affects the left & right positioning of inline boxes.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): Move to the top of the inside wrap
shape before beginning inline layout, and update the line segments for each line.
* rendering/WrapShapeInfo.cpp: Added.
(WebCore):
(WebCore::WrapShapeInfo::WrapShapeInfo): Create an empty WrapShapeInfo.
(WebCore::WrapShapeInfo::~WrapShapeInfo): No additional cleanup.
(WebCore::WrapShapeInfo::create): Create a WrapShapeInfo reference.
(WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): Create a WrapShapeInfo
for a RenderBlock with an inside WrapShape and place it in the WrapShapeInfo map.
(WebCore::WrapShapeInfo::wrapShapeInfoForRenderBlock): Lookup the WrapShapeInfo for
a RenderBlock in the WrapShapeInfo map.
(WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForBlock): Determine if a RenderBlock
has an inside wrap shape that we can use for inline layout.
(WebCore::WrapShapeInfo::removeWrapShapeInfoForRenderBlock): Remove a RenderBlock's
WrapShapeInfo from the WrapShapeInfo map.
(WebCore::WrapShapeInfo::hasSegments): Returns true if there are any line segments
for the current line.
(WebCore::WrapShapeInfo::computeShapeSize): Compute the dimensions of the wrap shape
based on a block's logical width & height.
(WebCore::WrapShapeInfo::computeSegmentsForLine): Sets the current line and computes
its line segments.
* rendering/WrapShapeInfo.h: Added.
(WebCore):
(LineSegment):
(WrapShapeInfo):
(WebCore::WrapShapeInfo::shapeTop): The top of a wrap shape, where the inline content
area begins.
(WebCore::WrapShapeInfo::segments): The list of line segments for the current line.
(WebCore::WrapShapeInfo::wrapShapeSizeNeedsRecomputing): Mark a WrapShapeInfo as
needing to recompute its WrapShape dimensions.
(WebCore::WrapShapeInfo::lineState): The current line state: above, inside, or below
the wrap shape.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff): Changes to shape inside require relayout.

LayoutTests:

Test that inline content correctly wraps for a simple rectangular
shape-inside. Text and inline content should wrap inside the
rectangular shape-inside, and overflow to its containing block.
Inline content inside a shape-inside should also avoid floats.

* fast/exclusions/shape-inside/shape-inside-floats-simple-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-floats-simple.html: Added.
* fast/exclusions/shape-inside/shape-inside-inline-elements-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-inline-elements.html: Added.
* fast/exclusions/shape-inside/shape-inside-overflow-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-overflow.html: Added.
* fast/exclusions/shape-inside/shape-inside-percentage-auto-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-percentage-auto.html: Added.
* fast/exclusions/shape-inside/shape-inside-text-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-text.html: Added.

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

7 years agoUnreviewed Chromium rebaseline.
jchaffraix@webkit.org [Fri, 24 Aug 2012 18:43:07 +0000 (18:43 +0000)]
Unreviewed Chromium rebaseline.

* platform/chromium-mac/fast/table/border-collapsing/cached-69296-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-cell-append-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-cell-remove-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-cell-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-cell-border-width-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-cell-sl-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-col-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-col-border-width-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-colgroup-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-colgroup-border-width-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-row-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-row-border-width-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-table-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-table-border-width-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-tbody-border-color-expected.png: Added.
* platform/chromium-mac/fast/table/border-collapsing/cached-change-tbody-border-width-expected.png: Added.
* platform/chromium/TestExpectations:
Rebaselined the border-collapsing tests on Mac. They have required a different baseline for several months
now and the root cause (small alpha difference) doesn't seem to be worked on.

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

7 years agoFix build bustage on android.
hyatt@apple.com [Fri, 24 Aug 2012 18:00:25 +0000 (18:00 +0000)]
Fix build bustage on android.

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

7 years ago[New Multicolumn] Plumbing to prepare for contents painting and hit testing implement...
hyatt@apple.com [Fri, 24 Aug 2012 17:49:17 +0000 (17:49 +0000)]
[New Multicolumn] Plumbing to prepare for contents painting and hit testing implementation.
https://bugs.webkit.org/show_bug.cgi?id=94945

Reviewed by Dan Bernstein.

Make some improvements to how column sets interact with flow threads. Make sure the last column set
always expands to hold all of the remaining flow thread contents (including overflow). Rename the
column height, count and width variables to have "computed" in front of them to indicate that they
just represent what the multi-column algorithm computed so that there is no confusion between the
computed column count and the actual number of columns in the set.

Implement the ability to get the actual column count based off the logical height of the flow thread
portion contained within the column set.

Fix gap painting to use the actual column count rather than the computed column count.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
After a flow thread is done laying out, have it tell the last region to expand to
encompass all the remaining contents if it wants to do so. Column and page sets will always do this.

* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
Override computeLogicalHeight() to do nothing. We want the flow thread to just keep its intrinsic
height, since the last column set is always going to expand to encompass the flow thread's contents
anyway. Unlike CSS Regions, we don't ever "run out of room."

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::computeLogicalWidth):
(WebCore::RenderMultiColumnSet::computeLogicalHeight):
(WebCore::RenderMultiColumnSet::columnCount):
(WebCore::RenderMultiColumnSet::columnRectAt):
(WebCore::RenderMultiColumnSet::paintColumnRules):
(WebCore::RenderMultiColumnSet::paintColumnContents):
Rename count, width and height for columns to have "computed" in front of the members and functions.
In particular, this lets us distinguish the computed column count from the actual column count.

* rendering/RenderMultiColumnSet.h:
(WebCore::RenderMultiColumnSet::computedColumnCount):
(WebCore::RenderMultiColumnSet::computedColumnWidth):
(WebCore::RenderMultiColumnSet::computedColumnHeight):
(WebCore::RenderMultiColumnSet::setComputedColumnWidthAndCount):
(WebCore::RenderMultiColumnSet::setComputedColumnHeight):
Rename count, width and height for columns to have "computed" in front of the members and functions.
In particular, this lets us distinguish the computed column count from the actual column count.

* rendering/RenderRegion.h:
(RenderRegion):
(WebCore::RenderRegion::expandToEncompassFlowThreadContentsIfNeeded):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):
(WebCore):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
Make sure region sets expand to encompass all the remaining flow thread contents. We are always
able to generate more columns or pages, so in effect the amount of the flow thread we can
consume is unlimited.

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

7 years ago[Qt] Range input progress indicator is upside down when vertical and RTL is set
commit-queue@webkit.org [Fri, 24 Aug 2012 17:48:35 +0000 (17:48 +0000)]
[Qt] Range input progress indicator is upside down when vertical and RTL is set
https://bugs.webkit.org/show_bug.cgi?id=94948

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-24
Reviewed by Kenneth Rohde Christiansen.

RTL should not affect vertical sliders, but on Qt it was changing the
direction of the progress indicator, making it flow in the opposite
direction of the knob.

* platform/qt/RenderThemeQtMobile.cpp:
(WebCore::RenderThemeQtMobile::paintSliderTrack):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 24 Aug 2012 17:47:04 +0000 (17:47 +0000)]
Unreviewed GTK gardening.

Adding expectations for a few failing tests that popped up on the debug
builder after it was brought back into a working state.

Removing failure expectation for fast/dom/Window/window-postmessage-clone.html
after the test was fixed in r126464.

* platform/gtk/TestExpectations:

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

7 years agoUnreviewed gardening.
jchaffraix@webkit.org [Fri, 24 Aug 2012 17:38:55 +0000 (17:38 +0000)]
Unreviewed gardening.

* platform/chromium/TestExpectations:
Marked fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html as failing following r126534.

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

7 years ago[BlackBerry] Animation & UI lag when rendering
commit-queue@webkit.org [Fri, 24 Aug 2012 17:21:40 +0000 (17:21 +0000)]
[BlackBerry] Animation & UI lag when rendering
https://bugs.webkit.org/show_bug.cgi?id=94943

Patch by Andrew Lo <anlo@rim.com> on 2012-08-24
Reviewed by Rob Buis.

Schedule a backing store blit & composite when commiting root layer.
This results in compositing not having to wait until after a long render
operation, increasing responsiveness & fixing animations which skip to
the last frame due to lag.

This can cause a blit during a "one shot drawing synchronization", which is
a render & commit on the AC layers, which may result in flashing.
However, this can happen in other situations as well, and we feel that
the responsiveness, reduced lag, and smoothness of animations is
more important.

Internal PR194209
Internally reviewed by: George Staikos.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::commitRootLayer):

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

7 years agobuild-webkit --gtk fails with Can't exec ""
commit-queue@webkit.org [Fri, 24 Aug 2012 17:21:06 +0000 (17:21 +0000)]
build-webkit --gtk fails with Can't exec ""
https://bugs.webkit.org/show_bug.cgi?id=94944

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-08-24
Reviewed by Martin Robinson.

When jhbuild wrapper is not needed, do unshift a blank string to build
arguments.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary):

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

7 years ago[BlackBerry] Changes resulting from moving application directory methods from platfor...
commit-queue@webkit.org [Fri, 24 Aug 2012 17:12:59 +0000 (17:12 +0000)]
[BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
https://bugs.webkit.org/show_bug.cgi?id=94249

Patch by Parth Patel <parpatel@rim.com> on 2012-08-24
Reviewed by Rob Buis.

Source/WebCore:

PR 170160

Changes in response to Application Directory methods moved from
Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
platform respository since these methods are more appropriate in
class BlackBerryPlatformSettings.

No new tests as there are no logical modifications.

* platform/blackberry/CookieManager.cpp:
(WebCore::CookieManager::CookieManager):
* platform/blackberry/FileSystemBlackBerry.cpp:
(WebCore::homeDirectoryPath):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::load):
* platform/network/blackberry/AutofillBackingStore.cpp:
(WebCore::autofillBackingStore):
* platform/network/blackberry/CredentialBackingStore.cpp:
(WebCore::credentialBackingStore):
* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendRequestWithCredentials):
* plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::isPreferredPluginDirectory):

Source/WebKit/blackberry:

PR# 170160
Changes in response to Application Directory methods moved from
Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
platform respository since these methods are more appropriate in
class BlackBerryPlatformSettings.

* WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
(WebCore::IconDatabaseClientBlackBerry::initIconDatabase):

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

7 years agoWeb Inspector: do not count weak and shortcut edges.
loislo@chromium.org [Fri, 24 Aug 2012 17:10:19 +0000 (17:10 +0000)]
Web Inspector: do not count weak and shortcut edges.
https://bugs.webkit.org/show_bug.cgi?id=94947

Reviewed by Yury Semikhatsky.

When calculating distance from an object to Window in heap profiler we should only
take into account strong real references. This means that shortcuts and weak edges should be ignored.

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._bfs):

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

7 years ago[EFL] Add baselines for the tests which are missing expected results
commit-queue@webkit.org [Fri, 24 Aug 2012 16:47:12 +0000 (16:47 +0000)]
[EFL] Add baselines for the tests which are missing expected results
https://bugs.webkit.org/show_bug.cgi?id=94942

Unreviewed EFL gardening. Add platform specific baselines required
after r126343 and r126372.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-24

* platform/efl/fast/overflow/paged-x-div-expected.png: Added.
* platform/efl/fast/overflow/paged-x-div-expected.txt: Added.
* platform/efl/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/efl/fast/overflow/paged-x-on-root-expected.txt: Added.
* platform/efl/fast/overflow/paged-y-div-expected.png: Added.
* platform/efl/fast/overflow/paged-y-div-expected.txt: Added.
* platform/efl/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/efl/fast/overflow/paged-y-on-root-expected.txt: Added.
* platform/efl/media/track/track-cue-rendering-horizontal-expected.png: Added.
* platform/efl/media/track/track-cue-rendering-horizontal-expected.txt: Added.
* platform/efl/media/track/track-cue-rendering-vertical-expected.png: Added.
* platform/efl/media/track/track-cue-rendering-vertical-expected.txt: Added.

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

7 years ago[EFL] fast/dom/navigator-vibration.html is failing after r126562
commit-queue@webkit.org [Fri, 24 Aug 2012 16:42:22 +0000 (16:42 +0000)]
[EFL] fast/dom/navigator-vibration.html is failing after r126562
https://bugs.webkit.org/show_bug.cgi?id=94939

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-24
Reviewed by Kentaro Hara.

Update expected results for fast/dom/navigator-vibration.html now that
NotEnoughArguments is thrown instead of TypeError if the actual argument
count is less than the least mandatory argument count.

* fast/dom/navigator-vibration-expected.txt:

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

7 years agoCrash in RenderTableCell::borderTop() due to custom scrollbars after r124168
jchaffraix@webkit.org [Fri, 24 Aug 2012 16:39:43 +0000 (16:39 +0000)]
Crash in RenderTableCell::borderTop() due to custom scrollbars after r124168
https://bugs.webkit.org/show_bug.cgi?id=93903

Reviewed by Tony Chang.

Source/WebCore:

r124168 changed when we create scrollbars so that it happens (rightly) at style change time.
However the RenderScrollbar code assumes that any overflow: scroll RenderScrollbar would be
created at layout time as it directly tries to layout to scrollbar parts. The big issues with
the move is that the first style change operates on a detached renderer which means that we
could crash in some situation.

Test: scrollbars/custom-scrollbar-table-cell.html

* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::computeScrollbarWidth):
(WebCore::RenderScrollbarPart::computeScrollbarHeight):
Fixed the crash by using style information instead of calling the renderer. This is guaranteed
to be safe but it also means that custom scrollbars sizing is not right on table cells with
collapsing borders. The existing logic was querying layout information at style change so I
wouldn't bet on it working properly anyway.

LayoutTests:

* scrollbars/custom-scrollbar-table-cell-expected.png: Added.
* scrollbars/custom-scrollbar-table-cell-expected.txt: Added.
* scrollbars/custom-scrollbar-table-cell.html: Added.

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

7 years agoRemove RenderTableSection::removeChild
jchaffraix@webkit.org [Fri, 24 Aug 2012 16:37:54 +0000 (16:37 +0000)]
Remove RenderTableSection::removeChild
https://bugs.webkit.org/show_bug.cgi?id=94883

Reviewed by Abhishek Arya.

This change removed removeChild, replaced by willBeRemoved calls in the children
class. This is done to ensure that post-removal invalidations are properly done
in table rows and table cells.

Refactoring covered by existing tests.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::removeChild):
* rendering/RenderTableSection.h:
Removed this function...

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::willBeRemovedFromTree):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::willBeRemovedFromTree):
* rendering/RenderTableRow.h:
... and moved the invalidation into the willBeRemovedFromTree functions.
The willBeRemovedFromTree replaced the willBeDestroyed functions in the
2 classes as the invalidation really represented tree removal updates,
not death updates.

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

7 years agoWeb Inspector: Unreviewed, fix test flakiness due to the recently introduced lazy...
apavlov@chromium.org [Fri, 24 Aug 2012 15:40:53 +0000 (15:40 +0000)]
Web Inspector: Unreviewed, fix test flakiness due to the recently introduced lazy panel loading.

* inspector/debugger/scripts-file-selector.html:
* inspector/debugger/step-through-event-listeners.html:
* inspector/elements/edit-dom-actions.html:
* inspector/elements/edit-style-attribute.html:
* inspector/timeline/timeline-enum-stability.html:

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

7 years ago[BlackBerry] Touch cancel can cause huge and needless invalidations
tonikitoo@webkit.org [Fri, 24 Aug 2012 15:30:39 +0000 (15:30 +0000)]
[BlackBerry] Touch cancel can cause huge and needless invalidations
https://bugs.webkit.org/show_bug.cgi?id=94938
PR #198051

Reviewed by George Staikos.
Patch by Antonio Gomes <agomes@rim.com>
Internally reviewed by Gen Mak.

In order to remove the possible hover effect on touch_cancel, we always
invalidate the node under the fat finger, being the fat finger valid or not.

Point is: having a valid fat finger node does not mean the original touch
position was actually adjust for clicking or that the fat finger is actually
valid. We set the fat finger node to be the result of the point-based hit-test
regardless if it is a click target or not (in order to make our mouse-move
machinery to work).

We should can less aggressively invalidate the fat finger node, since it can
be rather an expensive call (longer than 1s in the worst scenario).

* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::touchEventCancel):

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

7 years ago[BlackBerry] Extend LayerFilterRenderer in preparation for CSS Shaders
commit-queue@webkit.org [Fri, 24 Aug 2012 15:12:53 +0000 (15:12 +0000)]
[BlackBerry] Extend LayerFilterRenderer in preparation for CSS Shaders
https://bugs.webkit.org/show_bug.cgi?id=94724

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-08-24
Reviewed by George Staikos.

LayerFilterRenderer defines a CSS Filter in terms of one or more `Action`s.
A LayerFilterRendererAction holds a vertex shader, a fragment shader, and
zero or more `Parameter`s. A Parameter is a uniform, varying, or other
information which is needed to render a filter.

This patch implements certain new Parameter types, including vertex/element
buffers and vertex attributes which are needed to implement composited
CSS Shaders on BB10. In addition, a new drawing mode is required in order
to draw CSS Shaders meshes from vertex/element buffers.

No new tests, because this patch introduces no new functionality. When
the patch which enables CSS Shaders on BB10 in upstreamed, tests for
CSS Shaders will prove this code to be correct.

* platform/graphics/blackberry/LayerFilterRenderer.cpp:
(WebCore::operationTypeToProgramID):
(WebCore::Uniform::Uniform):
(WebCore::Uniform1f::create):
(WebCore::Uniform1f::Uniform1f):
(WebCore):
(WebCore::Uniform1i::apply):
(WebCore::Uniform1i::create):
(WebCore::Uniform1i::Uniform1i):
(WebCore::Uniform2f::create):
(WebCore::Uniform2f::Uniform2f):
(WebCore::Uniform3f::create):
(WebCore::Uniform3f::Uniform3f):
(WebCore::Uniform4f::apply):
(WebCore::Uniform4f::create):
(WebCore::Uniform4f::Uniform4f):
(WebCore::Matrix4fv::apply):
(WebCore::Matrix4fv::create):
(WebCore::Matrix4fv::Matrix4fv):
(WebCore::Matrix4fv::~Matrix4fv):
(WebCore::Buffer::apply):
(WebCore::Buffer::restoreState):
(WebCore::Buffer::create):
(WebCore::Buffer::Buffer):
(WebCore::VertexAttribf::apply):
(WebCore::VertexAttribf::restoreState):
(WebCore::VertexAttribf::create):
(WebCore::VertexAttribf::VertexAttribf):
(WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
(WebCore::LayerFilterRendererAction::useActionOn):
(WebCore::LayerFilterRendererAction::restoreState):
(WebCore::LayerFilterRenderer::LayerFilterRenderer):
(WebCore::LayerFilterRenderer::actionsForOperations):
(WebCore::LayerFilterRenderer::applyActions):
* platform/graphics/blackberry/LayerFilterRenderer.h:
(Parameter):
(WebCore::Parameter::restoreState):
(WebCore::Parameter::~Parameter):
(WebCore::Parameter::Parameter):
(WebCore):
(Uniform):
(WebCore::Uniform::~Uniform):
(Uniform1f):
(Uniform1i):
(Uniform2f):
(Uniform3f):
(Uniform4f):
(Matrix4fv):
(Buffer):
(VertexAttribf):
(WebCore::LayerFilterRendererAction::appendParameter):
(LayerFilterRendererAction):
(WebCore::LayerFilterRendererAction::drawingMode):
(WebCore::LayerFilterRendererAction::setDrawingMode):
(WebCore::LayerFilterRendererAction::drawingModeParameter):
(WebCore::LayerFilterRendererAction::setDrawingModeParameter):

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

7 years agoMediaStream API: Add readyState functionality to RTCPeerConnection
tommyw@google.com [Fri, 24 Aug 2012 15:10:17 +0000 (15:10 +0000)]
MediaStream API: Add readyState functionality to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=94813

Reviewed by Adam Barth.

Source/Platform:

* chromium/public/WebRTCPeerConnectionHandler.h:
(WebRTCPeerConnectionHandler):
* chromium/public/WebRTCPeerConnectionHandlerClient.h:
(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

This patch adds readyState functionality to RTCPeerConnection together with related callbacks and methods.

Test: fast/mediastream/RTCPeerConnection-state.html

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::readyState):
(WebCore):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeReadyState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
* Modules/mediastream/RTCPeerConnection.h:
(RTCPeerConnection):
* Modules/mediastream/RTCPeerConnection.idl:
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(RTCPeerConnectionHandlerDummy):
(WebCore::RTCPeerConnectionHandlerDummy::stop):
(WebCore):
* platform/mediastream/RTCPeerConnectionHandler.h:
(RTCPeerConnectionHandler):
* platform/mediastream/RTCPeerConnectionHandlerClient.h:
(RTCPeerConnectionHandlerClient):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
(WebCore::RTCPeerConnectionHandlerChromium::stop):
(WebCore):
(WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState):
* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

* src/AssertMatchingEnums.cpp:

Tools:

* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::stop):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
(MockWebRTCPeerConnectionHandler):

LayoutTests:

* fast/mediastream/RTCPeerConnection-state-expected.txt: Added.
* fast/mediastream/RTCPeerConnection-state.html: Added.

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

7 years agoWeb Inspector: [WebGL] A follow up to simplify code with nested closures
commit-queue@webkit.org [Fri, 24 Aug 2012 14:39:02 +0000 (14:39 +0000)]
Web Inspector: [WebGL] A follow up to simplify code with nested closures
https://bugs.webkit.org/show_bug.cgi?id=94931

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-24
Reviewed by Pavel Feldman.

Simplifies the code with nested closures.

* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

7 years agoWeb Inspector: Get rid of frontendReused logic on front-end.
vsevik@chromium.org [Fri, 24 Aug 2012 14:05:40 +0000 (14:05 +0000)]
Web Inspector: Get rid of frontendReused logic on front-end.
https://bugs.webkit.org/show_bug.cgi?id=94929

Reviewed by Pavel Feldman.

Source/WebCore:

Removed frontendReused method from ResourceTreeModel.

* inspector/front-end/ResourceTreeModel.js:
(WebInspector.ResourceTreeModel.prototype._frameNavigated):
* inspector/front-end/Workspace.js:
(WebInspector.Workspace): workspace doesn't need to listen for CachedResourcesLoaded event anymore.
* inspector/front-end/inspector.js: removed unused method.

LayoutTests:

* http/tests/inspector/resource-tree/resource-tree-events.html:

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

7 years agoShare WebKit-Gtk's Enchant implementation with others WebKit ports.
g.czajkowski@samsung.com [Fri, 24 Aug 2012 14:02:00 +0000 (14:02 +0000)]
Share WebKit-Gtk's Enchant implementation with others WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=94320

Reviewed by Carlos Garcia Campos.

The main reason of this change is to share WebKit-Gtk implementation of spelling
with others ports that use the Enchant library.
This is the first step to enable spelling for WebKit-Efl (https://bugs.webkit.org/show_bug.cgi?id=91854)

Files that implement spelling were moved to platform/text/enchant directory.

This patch stops using Pango backend to find the beginning/end of the word.
Those information are delivered through ICU interface by using TextBreakIterator.

* GNUmakefile.am: Added newly created 'enchant' directory to WebKit-Gtk's sources.
* GNUmakefile.list.am: Updated location of TextCheckerEnchant.{h,cpp} files.

* editing/visible_units.cpp: Removed 'static' modifier for 'isLogicalStartOfWord' and 'islogicalEndOfWord' functions.
(WebCore::isLogicalStartOfWord):
(WebCore::islogicalEndOfWord):
* editing/visible_units.h: Added isLogicalStartOfWord' and 'islogicalEndOfWord' functions to header as they are used by TextCheckerEnchant.cpp

* platform/text/enchant/TextCheckerEnchant.cpp: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp.
(enchantDictDescribeCallback): Added comments.
(TextCheckerEnchant::TextCheckerEnchant):
(TextCheckerEnchant::~TextCheckerEnchant):
(TextCheckerEnchant::ignoreWord):
(TextCheckerEnchant::learnWord):
(TextCheckerEnchant::checkSpellingOfString): Using ICU instead of Pango to find out the beginning/end of the word.
(TextCheckerEnchant::getGuessesForWord): Replaced gchar type to char.
(TextCheckerEnchant::updateSpellCheckingLanguages): Using WebCore::defaulLanguage() instead of Pango backend.
(TextCheckerEnchant::getSpellCheckingLanguages):
(TextCheckerEnchant::freeEnchantBrokerDictionaries):
* platform/text/enchant/TextCheckerEnchant.h: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.h.
(WebCore):
(TextCheckerEnchant):
(WebCore::TextCheckerEnchant::create):

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

7 years ago[Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
abecsi@webkit.org [Fri, 24 Aug 2012 13:50:46 +0000 (13:50 +0000)]
[Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
https://bugs.webkit.org/show_bug.cgi?id=88531

Reviewed by Kenneth Rohde Christiansen.

Defer setting the custom device pixel ratio until the page item has
a valid size to make sure that the scale factor reaches the web process.

QML test based on patch by Alexander Færøy.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):
(QQuickWebViewExperimental::devicePixelRatio):
(QQuickWebViewExperimental::setDevicePixelRatio):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
  Test case for the QML device pixel ratio API.

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

7 years ago[EFL] Fix compile warning
commit-queue@webkit.org [Fri, 24 Aug 2012 13:46:37 +0000 (13:46 +0000)]
[EFL] Fix compile warning
https://bugs.webkit.org/show_bug.cgi?id=94930

Patch by Kangil Han <kangil.han@samsung.com> on 2012-08-24
Reviewed by Kenneth Rohde Christiansen.

Fixed compile warning.

* UIProcess/API/efl/ewk_back_forward_list.cpp:
(ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
(ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]

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

7 years agoWeb Inspector: do not send profile headers to the front-end until explicitly requested.
pfeldman@chromium.org [Fri, 24 Aug 2012 13:30:11 +0000 (13:30 +0000)]
Web Inspector: do not send profile headers to the front-end until explicitly requested.
https://bugs.webkit.org/show_bug.cgi?id=94928

Reviewed by Vsevolod Vlasov.

Simple flag is added.

* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::disable):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore):
(WebCore::InspectorProfilerAgent::resetFrontendProfiles):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):

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

7 years agoWeb Inspector: make ui component compile
pfeldman@chromium.org [Fri, 24 Aug 2012 13:25:40 +0000 (13:25 +0000)]
Web Inspector: make ui component compile
https://bugs.webkit.org/show_bug.cgi?id=94827

Reviewed by Vsevolod Vlasov.

Moved buildImagePreviewContents into the sdk-aware code.
Drive-by more compilation fixes.

* inspector/compile-front-end.py:
* inspector/front-end/DOMPresentationUtils.js:
(WebInspector.DOMPresentationUtils.buildImagePreviewContents.errorCallback):
(WebInspector.DOMPresentationUtils.buildImagePreviewContents.buildContent):
(WebInspector.DOMPresentationUtils.buildImagePreviewContents):
* inspector/front-end/Database.js:
* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel):
(WebInspector.TextEditorMainPanel.prototype._createLink):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
* inspector/front-end/ParsedURL.js:
(WebInspector.ParsedURL.prototype.get displayName):
* inspector/front-end/ResourceUtils.js:
* inspector/front-end/SourceFrame.js:
(WebInspector.TextEditorDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
(WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditorDelegate.prototype.populateTextAreaContextMenu):
(WebInspector.TextEditorDelegate.prototype.createLink):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
* inspector/front-end/UIUtils.js:

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

7 years ago[BlackBerry] Add WebPage API to reset block zoom
anilsson@rim.com [Fri, 24 Aug 2012 13:21:24 +0000 (13:21 +0000)]
[BlackBerry] Add WebPage API to reset block zoom
https://bugs.webkit.org/show_bug.cgi?id=94863

PR 187478
This is an alternative to WebPage::blockZoomAnimationFinished() when
it's desirable to avoid rerendering of the whole web page at the end
of block zoom. This is the case when the planned "incremental zoom
factor" is used instead of zoomAboutPoint and it's relatives.

Ideally, the block zoom algorithm would be clever enough not to need
a reset or any form of callback when the animation finishes, but that
requires the implementation of said incremental zoom factor, which is
not done yet.

Reviewed by Antonio Gomes.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::resetBlockZoom):
(WebKit):
* Api/WebPage.h:

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

7 years agoUnreviewed. Adding myself to committers list.
michaelbruening@gmail.com [Fri, 24 Aug 2012 13:18:25 +0000 (13:18 +0000)]
Unreviewed. Adding myself to committers list.

Also updated email information.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agoNot reviewed: fixing inspector/elements/iframe-load-event.html broken by r126572.
pfeldman@chromium.org [Fri, 24 Aug 2012 13:14:51 +0000 (13:14 +0000)]
Not reviewed: fixing inspector/elements/iframe-load-event.html broken by r126572.

* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.resolveURL):

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

7 years ago[Qt] Be more explicit about the ICU dependency in the error message
abecsi@webkit.org [Fri, 24 Aug 2012 13:04:06 +0000 (13:04 +0000)]
[Qt] Be more explicit about the ICU dependency in the error message

Rubber-stamped by Simon Hausmann.

When building QtWebKit with a Qt5 which was not configured with libICU support
the error message is somewhat ambiguous about the indirect dependency.

* WTF.pri:

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

7 years agoWeb Inspector: [WebGL] Implement custom wrap functions on GL context
caseq@chromium.org [Fri, 24 Aug 2012 12:23:37 +0000 (12:23 +0000)]
Web Inspector: [WebGL] Implement custom wrap functions on GL context
https://bugs.webkit.org/show_bug.cgi?id=94799

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-24
Reviewed by Pavel Feldman.

Implement custom wrap functions on WebGL rendering context for WebGL instrumentation.

* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

7 years agoWeb Inspector: three layout tests crashing with assertion failure
pfeldman@chromium.org [Fri, 24 Aug 2012 12:20:30 +0000 (12:20 +0000)]
Web Inspector: three layout tests crashing with assertion failure
https://bugs.webkit.org/show_bug.cgi?id=94829

Not reviewed: updating test expectations.

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: resolve URLs upon creation, get rid of populateHrefContextMenu
pfeldman@chromium.org [Fri, 24 Aug 2012 12:10:49 +0000 (12:10 +0000)]
Web Inspector: resolve URLs upon creation, get rid of populateHrefContextMenu
https://bugs.webkit.org/show_bug.cgi?id=94900

Reviewed by Vsevolod Vlasov.

- This change makes sure we resolve URLs upon adding the to the UI. Then we treat them as absolute links in context menu, etc.
- There is no need to override context menu for links anymore - system menu will do.

* inspector/front-end/AuditResultView.js:
(WebInspector.AuditResultView):
* inspector/front-end/ConsoleView.js:
* inspector/front-end/DOMAgent.js:
(WebInspector.DOMNode.prototype.descendantUserPropertyCount):
(WebInspector.DOMNode.prototype.resolveURL):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
(WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
* inspector/front-end/HandlerRegistry.js:
(WebInspector.HandlerRegistry.prototype.appendApplicableItems):
(WebInspector.HandlerRegistry.prototype._appendContentProviderItems):
(WebInspector.HandlerRegistry.prototype._appendHrefItems):
* inspector/front-end/ParsedURL.js:
(WebInspector.ParsedURL.completeURL):
* inspector/front-end/ResourceUtils.js:
(WebInspector.linkifyRequestAsNode):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane):
(WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
* inspector/front-end/UIUtils.js:

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

7 years ago[EFL][WK2] Back-forward list API needs extension
commit-queue@webkit.org [Fri, 24 Aug 2012 11:47:54 +0000 (11:47 +0000)]
[EFL][WK2] Back-forward list API needs extension
https://bugs.webkit.org/show_bug.cgi?id=94582

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-24
Reviewed by Kenneth Rohde Christiansen.

Added several new functions wrapping existing WK2 C back-forward list API
and returning list of items preceding or following the current one.
Corresponding API unit tests are also added.

* UIProcess/API/efl/ewk_back_forward_list.cpp:
(createEinaList):
(ewk_back_forward_list_n_back_items_copy):
(ewk_back_forward_list_n_forward_items_copy):
* UIProcess/API/efl/ewk_back_forward_list.h:
* UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
(freeEinaList):
(TEST_F):

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

7 years ago[Qt][WK2] Make viewport related experimental.test properties encapsulated.
michaelbruening@gmail.com [Fri, 24 Aug 2012 11:27:42 +0000 (11:27 +0000)]
[Qt][WK2] Make viewport related experimental.test properties encapsulated.
https://bugs.webkit.org/show_bug.cgi?id=88320

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Introducing a new viewport attribute to QWebKitTest to group the viewport related
attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
a QJsonObject.

* UIProcess/API/qt/qwebkittest.cpp:
(qSizeFToJsonObject):
(QWebKitTest::viewport):
(QWebKitTest::devicePixelRatio):
(QWebKitTest::contentsScale):
* UIProcess/API/qt/qwebkittest_p.h:
* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::viewportAttributesChanged):

Tools:

Changed the access to the viewport attributes to use the viewport object that is introduced by this change.

* MiniBrowser/qt/qml/ViewportInfoItem.qml:

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

7 years ago[GTK] Use the new 'feature_defines' variable to generate DOM bindings
commit-queue@webkit.org [Fri, 24 Aug 2012 11:24:03 +0000 (11:24 +0000)]
[GTK] Use the new 'feature_defines' variable to generate DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=94919

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-24
Reviewed by Carlos Garcia Campos.

Update to use the new 'feature_defines' variable, otherwise the
bindings will be broken.

* bindings/gobject/GNUmakefile.am: ditto.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Fri, 24 Aug 2012 10:19:19 +0000 (10:19 +0000)]
Unreviewed GTK gardening.

Updating baselines for css3/flexbox/flexitem.html after r126503.

* platform/gtk/css3/flexbox: Removed.
* platform/gtk/css3/flexbox/flexitem-expected.txt: Removed.

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

7 years agoRemove RefPtr from HTMLTextAreaElement::m_placeholder
haraken@chromium.org [Fri, 24 Aug 2012 10:08:49 +0000 (10:08 +0000)]
Remove RefPtr from HTMLTextAreaElement::m_placeholder
https://bugs.webkit.org/show_bug.cgi?id=94338

Reviewed by Kent Tamura.

To avoid reference cycles of RefPtr<Node>s, we want to remove
unnecessary RefPtr<Node>s. The rationale is described in bug 94324.

HTMLTextAreaElement::m_placeholder does not need to be a RefPtr<Node>,
because it is guaranteed to point to a shadow DOM tree of the
HTMLTextAreaElement node, which is guaranteed to exist in the subtree
of the HTMLTextAreaElement node.

No tests. No change in behavior.

* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
(WebCore::HTMLTextAreaElement::placeholderElement):
(WebCore::HTMLTextAreaElement::attach):
(WebCore::HTMLTextAreaElement::updatePlaceholderText):
* html/HTMLTextAreaElement.h:
(HTMLTextAreaElement):

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

7 years ago[V8] Refactor away IsolatedWorld
commit-queue@webkit.org [Fri, 24 Aug 2012 09:40:44 +0000 (09:40 +0000)]
[V8] Refactor away IsolatedWorld
https://bugs.webkit.org/show_bug.cgi?id=93971

Patch by Dan Carney <dcarney@google.com> on 2012-08-24
Reviewed by Kentaro Hara.

Source/WebCore:

Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
This paves the way towards a JSC-like use of DOMWrapperWorld.

No new tests. No change in functionality.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore):
(WebCore::DOMWrapperWorld::createUninitializedWorld):
(WebCore::DOMWrapperWorld::createMainWorld):
(WebCore::mainThreadNormalWorld):
(WebCore::isolatedWorldMap):
(WebCore::DOMWrapperWorld::deallocate):
(WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
* bindings/v8/DOMWrapperWorld.h:
(DOMWrapperWorld):
(WebCore::DOMWrapperWorld::isolatedWorldsExist):
(WebCore::DOMWrapperWorld::isMainWorld):
(WebCore::DOMWrapperWorld::worldId):
(WebCore::DOMWrapperWorld::extensionGroup):
(WebCore::DOMWrapperWorld::domDataStore):
(WebCore::DOMWrapperWorld::deref):
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Removed.
* bindings/v8/IsolatedWorld.h: Removed.
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/V8DOMMap.cpp:
(WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
(WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
* bindings/v8/V8DOMMap.h:
(DOMDataStoreHandle):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(V8IsolatedContext):
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
* bindings/v8/V8PerIsolateData.h:
(WebCore::V8PerIsolateData::registerDOMDataStore):
(WebCore::V8PerIsolateData::unregisterDOMDataStore):

Source/WebKit/chromium:

Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.

* src/WebViewImpl.cpp:
(WebKit::WebView::addUserScript):
(WebKit::WebView::addUserStyleSheet):

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

7 years ago[EFL] Added missing SKIP keyword to platform/efl/TestExpectations
commit-queue@webkit.org [Fri, 24 Aug 2012 09:36:36 +0000 (09:36 +0000)]
[EFL] Added missing SKIP keyword to platform/efl/TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=94781

Unreviewed. Removed unnecessary SKIP keyword.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-24

* platform/efl/TestExpectations:

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

7 years ago[V8] Improve the developer ergonomics of ScopedPersistent
abarth@webkit.org [Fri, 24 Aug 2012 09:27:16 +0000 (09:27 +0000)]
[V8] Improve the developer ergonomics of ScopedPersistent
https://bugs.webkit.org/show_bug.cgi?id=94901

Reviewed by Kentaro Hara.

As requested by haraken, this patch adds some helper functions to
ScopedPersistent so that we don't need to call get() all the time.

* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScopedPersistent.h:
(WebCore::ScopedPersistent::get):
(WebCore::ScopedPersistent::operator->):
(ScopedPersistent):
(WebCore::ScopedPersistent::isEmpty):
* bindings/v8/ScriptValue.cpp:
(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toString):
* bindings/v8/ScriptValue.h:
(WebCore::ScriptValue::isFunction):
(WebCore::ScriptValue::isNull):
(WebCore::ScriptValue::isUndefined):
(WebCore::ScriptValue::isObject):
(WebCore::ScriptValue::hasNoValue):
* bindings/v8/V8AbstractEventListener.cpp:
(WebCore::V8AbstractEventListener::~V8AbstractEventListener):
(WebCore::V8AbstractEventListener::getReceiverObject):
* bindings/v8/V8AbstractEventListener.h:
(WebCore::V8AbstractEventListener::hasExistingListenerObject):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::isContextInitialized):
(WebCore::V8DOMWindowShell::disposeContextHandles):
(WebCore::V8DOMWindowShell::clearForClose):
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::updateDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
(WebCore::V8DOMWindowShell::setSecurityToken):
(WebCore::V8DOMWindowShell::updateDocument):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
(WebCore::V8DOMWindowShell::updateSecurityOrigin):
* bindings/v8/V8PerContextData.cpp:
(WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
(WebCore::V8PerContextData::constructorForTypeSlowCase):

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

7 years agoWeb Inspector: move ResourceViews to "components" module - it is used from the Resour...
pfeldman@chromium.org [Fri, 24 Aug 2012 09:23:31 +0000 (09:23 +0000)]
Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well.
https://bugs.webkit.org/show_bug.cgi?id=94904

Reviewed by Vsevolod Vlasov.

* WebCore.gypi:
* inspector/compile-front-end.py:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/inspector.html:

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

7 years agoSource/WebCore: Check argument count in the dispatch function for overloaded functions
commit-queue@webkit.org [Fri, 24 Aug 2012 09:02:58 +0000 (09:02 +0000)]
Source/WebCore: Check argument count in the dispatch function for overloaded functions
https://bugs.webkit.org/show_bug.cgi?id=94790

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-08-24
Reviewed by Kentaro Hara.

Throw NotEnoughArguments exception for overloaded functions if actual argument
count is less than the least mandatory argument count among all overloaded.

Reset JS and V8 binding tests result for the change.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateFunctionParametersCheck):
(GenerateOverloadedFunction):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateFunctionParametersCheck):
(GenerateOverloadedFunctionCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::overloadedMethodCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):

LayoutTests: Remove platform specific expected files after the change
https://bugs.webkit.org/show_bug.cgi?id=94790

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-08-24
Reviewed by Kentaro Hara.

1. Use the cross-platform expected files for the 2 tests in question.
2. Update other tests for overloaded functions and their expected files
affected by the change.

* fast/canvas/canvas-overloads-drawImage-expected.txt:
* fast/canvas/canvas-overloads-setFillColor-expected.txt:
* fast/canvas/canvas-overloads-setShadow-expected.txt:
* fast/canvas/canvas-overloads-setStrokeColor-expected.txt:
* fast/canvas/script-tests/canvas-overloads-drawImage.js:
* fast/canvas/script-tests/canvas-overloads-setFillColor.js:
* fast/canvas/script-tests/canvas-overloads-setShadow.js:
* fast/canvas/script-tests/canvas-overloads-setStrokeColor.js:
* fast/canvas/webgl/texImageTest-expected.txt:
* platform/chromium/fast/files/create-blob-url-crash-expected.txt: Removed.
* platform/chromium/fast/files/url-required-arguments-expected.txt: Removed.
* platform/gtk/fast/files/create-blob-url-crash-expected.txt: Removed.
* platform/gtk/fast/files/url-required-arguments-expected.txt: Removed.
* storage/indexeddb/index-get-key-argument-required-expected.txt:
* storage/indexeddb/objectStore-required-arguments-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-storeNames-required-expected.txt:

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

7 years agoMake it possible to build WebKit with Python 3 (and 2)
hausmann@webkit.org [Fri, 24 Aug 2012 08:44:24 +0000 (08:44 +0000)]
Make it possible to build WebKit with Python 3 (and 2)
https://bugs.webkit.org/show_bug.cgi?id=94814

Source/WebCore:

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator.go):
(Generator.process_event):
(Generator.process_command):

Source/WebKit2:

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:

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

7 years agoGet rid of m_useLatchedWheelEventNode
allan.jensen@nokia.com [Fri, 24 Aug 2012 08:40:51 +0000 (08:40 +0000)]
Get rid of m_useLatchedWheelEventNode
https://bugs.webkit.org/show_bug.cgi?id=94684

Reviewed by Ryosuke Niwa.

Moves the setting of m_useLatchedWheelEventNode into PlatformWheelEvent.

* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::handleGestureScrollCore):
* page/EventHandler.h:
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::PlatformWheelEvent):
(WebCore::PlatformWheelEvent::setUseLatchedEventNode):
(PlatformWheelEvent):
(WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
(WebCore::PlatformWheelEvent::useLatchedEventNode):

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

7 years ago[Forms] Multiple fields time input UI should handle Delete key as Backspace key
yosin@chromium.org [Fri, 24 Aug 2012 08:39:03 +0000 (08:39 +0000)]
[Forms] Multiple fields time input UI should handle Delete key as Backspace key
https://bugs.webkit.org/show_bug.cgi?id=94902

Reviewed by Kent Tamura.

Source/WebCore:

This patch adds treating "Delete" key as same as "Backspace" key for
multiple fields time input UI. This patch affects ports which enable
both ENABLE_INPUT_TYPE_TIME and ENABLES_INPUT_TYPE_TIME_MULTIPLE_FIELDS.

No new tests. This patch adds a test case for "Delete" key to
fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html

* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed
condition expression to check both Backspace(U+0008) key and
Delete(U+007F) key.

LayoutTests:

This patch adds a new test case for "Delete" key behavior for multiple
fields time input UI.

* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events-expected.txt: Updated expectation.
* fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html: Added "Delete" key test case.

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

7 years ago[Qt] Gardening after r126442. Skip a test because of missing shadow feature.
ossy@webkit.org [Fri, 24 Aug 2012 08:29:09 +0000 (08:29 +0000)]
[Qt] Gardening after r126442. Skip a test because of missing shadow feature.

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-08-24
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped:

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

7 years agoUnreviewed, rolling out r126546.
commit-queue@webkit.org [Fri, 24 Aug 2012 07:57:05 +0000 (07:57 +0000)]
Unreviewed, rolling out r126546.
http://trac.webkit.org/changeset/126546
https://bugs.webkit.org/show_bug.cgi?id=94911

Caused inspector tests to timeout (Requested by dominicc on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-24

* WebCore.gypi:
* inspector/compile-front-end.py:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/inspector.html:

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

7 years ago[GTK] Purge unused favicons from IconDatabase after 30 days
sergio@webkit.org [Fri, 24 Aug 2012 07:45:50 +0000 (07:45 +0000)]
[GTK] Purge unused favicons from IconDatabase after 30 days
https://bugs.webkit.org/show_bug.cgi?id=82346

Reviewed by Gustavo Noronha Silva.

Favicons will be removed from the icon database after not being used
for more than 30 days. This will keep the database size under
control.

* loader/icon/IconDatabase.cpp:
(WebCore):
(WebCore::IconDatabase::performURLImport): filter icons older than
30 days.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Fri, 24 Aug 2012 07:40:44 +0000 (07:40 +0000)]
[Chromium] Unreviewed gardening.

Narrow expected failures to Linux.

* platform/chromium/TestExpectations:

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

7 years ago<http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framewor...
mrowe@apple.com [Fri, 24 Aug 2012 07:38:06 +0000 (07:38 +0000)]
<webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.

Reviewed by Dan Bernstein.

This will allow relative imports within the webkit2 module to be removed in the future without
requiring future changes to clients of the module.

* WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
directory. We also need to add a script phase to clean up any .pyc files that may be present in
the module.

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

7 years agoUnreviewed, rolling out r126542.
commit-queue@webkit.org [Fri, 24 Aug 2012 06:43:36 +0000 (06:43 +0000)]
Unreviewed, rolling out r126542.
http://trac.webkit.org/changeset/126542
https://bugs.webkit.org/show_bug.cgi?id=94907

Broke WK2 build on OS X (Requested by tronical_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-23

Source/WebCore:

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator.go):
(Generator.process_event):
(Generator.process_command):

Source/WebKit2:

* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:

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

7 years ago[V8] StringCache should not return already disposed strings
haraken@chromium.org [Fri, 24 Aug 2012 06:41:47 +0000 (06:41 +0000)]
[V8] StringCache should not return already disposed strings
https://bugs.webkit.org/show_bug.cgi?id=94899

Reviewed by Adam Barth.

See this Chromium bug (http://code.google.com/p/chromium/issues/detail?id=143937)
for details.

I investigated the crash and found that v8ExternalString() can return
already disposed strings:

  class StringCache {
    v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...)
    {
        if (m_lastStringImpl.get() == stringImpl) {
            ASSERT(!m_lastV8String.IsNearDeath());
            ASSERT(!m_lastV8String.IsEmpty());
            return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String might be already disposed.
        }
        return v8ExternalStringSlow(stringImpl, ...);
    }
  }

I couldn't find why m_lastV8String can be prematurely disposed, but the
following fix solves the crash:

  class StringCache {
    v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...)
    {
        if (m_lastStringImpl.get() == stringImpl && m_lastV8String.IsWeak())
            return v8::Local<v8::String>::New(m_lastV8String);
        return v8ExternalStringSlow(stringImpl, ...);
    }
  }

Although the ideal fix might be to fix the root cause of the premature disposal,
I think that the proposed fix is reasonable for safety. In fact, we've so far
encountered crashes caused by premature disposals (e.g. r123500). The proposed fix
will prevent future crashes caused by premature disposals.

No tests. The crash depends on GC behavior and I couldn't write a test that
reproduces the crash. Open http://lore.com/testdrive/Navigating-the-Universe
and confirm that Chromium doesn't crash.

* bindings/v8/V8ValueCache.cpp:
(WebCore::StringCache::v8ExternalStringSlow):
* bindings/v8/V8ValueCache.h:
(WebCore::StringCache::v8ExternalString):

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

7 years agoWeb Inspector: move ResourceViews to "components" module - it is used from the Resour...
pfeldman@chromium.org [Fri, 24 Aug 2012 06:26:26 +0000 (06:26 +0000)]
Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well.
https://bugs.webkit.org/show_bug.cgi?id=94904

Reviewed by Vsevolod Vlasov.

* WebCore.gypi:
* inspector/compile-front-end.py:
* inspector/front-end/NetworkPanel.js:
* inspector/front-end/inspector.html:

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

7 years ago[Chromium] REGRESSION(r126534) time-multiple-fields-appearance-pseudo-elements.html...
yosin@chromium.org [Fri, 24 Aug 2012 06:10:20 +0000 (06:10 +0000)]
[Chromium] REGRESSION(r126534) time-multiple-fields-appearance-pseudo-elements.html failing on Win7
https://bugs.webkit.org/show_bug.cgi?id=94898

This patch changes parameters to test expectation generator to make
actual result and test expectation to be matched.

Root cause of this regression is the test expectation generator for
Chromium-Win generates second field with value "56" instead of "00".

On Chromium-Linux and Chromium-Mac, the test expectation generator
doesn't generate second field.

* fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements-expected.html: Changes parameters to have hour and minute only.

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

7 years ago[V8] V8DOMWindowShell should use ScopedPersistent
abarth@webkit.org [Fri, 24 Aug 2012 05:59:40 +0000 (05:59 +0000)]
[V8] V8DOMWindowShell should use ScopedPersistent
https://bugs.webkit.org/show_bug.cgi?id=94882

Reviewed by Kentaro Hara.

This patch updates V8DOMWindowShell to use ScopedPersistent rather than
manually managing v8::Persistent handles. I've also fixed some style
issues in code I needed to edit for this patch. This class could use
more touchup, but I'm going to hold off until the next patch.

* bindings/v8/ScopedPersistent.h:
(WebCore::ScopedPersistent::adopt):
(ScopedPersistent):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::initializeV8IfNeeded):
(WebCore):
(WebCore::V8DOMWindowShell::isContextInitialized):
(WebCore::V8DOMWindowShell::disposeContextHandles):
(WebCore::V8DOMWindowShell::destroyGlobal):
(WebCore::V8DOMWindowShell::clearForClose):
(WebCore::V8DOMWindowShell::clearForNavigation):
(WebCore::V8DOMWindowShell::initContextIfNeeded):
(WebCore::V8DOMWindowShell::setContext):
(WebCore::V8DOMWindowShell::updateDocumentWrapper):
(WebCore::V8DOMWindowShell::clearDocumentWrapper):
(WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
(WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
(WebCore::V8DOMWindowShell::setSecurityToken):
(WebCore::V8DOMWindowShell::updateDocument):
(WebCore::getter):
(WebCore::V8DOMWindowShell::namedItemAdded):
(WebCore::V8DOMWindowShell::namedItemRemoved):
(WebCore::V8DOMWindowShell::updateSecurityOrigin):
* bindings/v8/V8DOMWindowShell.h:
(WebCore::V8DOMWindowShell::context):
(V8DOMWindowShell):

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

7 years agoUnreviewed, rolling out r126496.
commit-queue@webkit.org [Fri, 24 Aug 2012 05:49:19 +0000 (05:49 +0000)]
Unreviewed, rolling out r126496.
http://trac.webkit.org/changeset/126496
https://bugs.webkit.org/show_bug.cgi?id=94895

Broke TestNotificationActiveDescendantChanged (Requested by
dominicc on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-23

Source/WebCore:

* accessibility/AccessibilityNodeObject.cpp:
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
* accessibility/AccessibilityObject.cpp:
* accessibility/AccessibilityObject.h:
(AccessibilityObject):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::title):
(WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::isDescendantOfElementType):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):

LayoutTests:

* accessibility/editable-webarea-context-menu-point.html:
* accessibility/focusable-div-expected.txt: Removed.
* accessibility/focusable-div.html: Removed.
* accessibility/table-detection.html:
* platform/mac/accessibility/listbox-hit-test.html:

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

7 years agoMake it possible to build WebKit with Python 3 (and 2)
hausmann@webkit.org [Fri, 24 Aug 2012 05:28:54 +0000 (05:28 +0000)]
Make it possible to build WebKit with Python 3 (and 2)
https://bugs.webkit.org/show_bug.cgi?id=94814

Source/WebCore:

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

* inspector/CodeGeneratorInspector.py:
(EnumConstants.get_enum_constant_code):
(TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
(Generator.go):
(Generator.process_event):
(Generator.process_command):

Source/WebKit2:

Patch by Frederik Gladhorn <gladhorn@kde.org> on 2012-08-23
Reviewed by Ryosuke Niwa.

Exceptions need a hack to work with both.
string.join was already deprecated in Python 2.
Relative imports are no longer supported, use package name instead.

* Scripts/webkit2/messages.py:
* Scripts/webkit2/parser.py:

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

7 years ago[EFL] Skip the tests which have wrong pixel expectations in fast/forms/
commit-queue@webkit.org [Fri, 24 Aug 2012 05:28:27 +0000 (05:28 +0000)]
[EFL] Skip the tests which have wrong pixel expectations in fast/forms/
https://bugs.webkit.org/show_bug.cgi?id=94798

Unreviewed. Some tests in fast/forms seem to fail. Removed wrong expectations
and marked the tests MISSING.

fast/forms/listbox-hit-test-zoomed.html
Test 2 in this test seems to fail.

fast/forms/menulist-restrict-line-height.html
The text in the popup button is clipped.

fast/forms/search-cancel-button-style-sharing.html
fast/forms/search-rtl.html
Cancel mark in search field is not displayed.

fast/forms/menulist-narrow-width.html
fast/forms/select-baseline.html
fast/forms/menulist-style-color.html
fast/forms/select-style.html
These tests seem to have style error.

fast/forms/textarea-scroll-height.html
fast/forms/textarea-scrolled-type.html
Scroll bar isn't being fully rendered.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-23

* platform/efl/TestExpectations:
* platform/efl/fast/forms/listbox-hit-test-zoomed-expected.png: Removed.
* platform/efl/fast/forms/listbox-hit-test-zoomed-expected.txt: Removed.
* platform/efl/fast/forms/menulist-narrow-width-expected.png: Removed.
* platform/efl/fast/forms/menulist-narrow-width-expected.txt: Removed.
* platform/efl/fast/forms/menulist-restrict-line-height-expected.png: Removed.
* platform/efl/fast/forms/menulist-restrict-line-height-expected.txt: Removed.
* platform/efl/fast/forms/menulist-style-color-expected.png: Removed.
* platform/efl/fast/forms/menulist-style-color-expected.txt: Removed.
* platform/efl/fast/forms/search-cancel-button-style-sharing-expected.png: Removed.
* platform/efl/fast/forms/search-cancel-button-style-sharing-expected.txt: Removed.
* platform/efl/fast/forms/search-rtl-expected.png: Removed.
* platform/efl/fast/forms/search-rtl-expected.txt: Removed.
* platform/efl/fast/forms/select-baseline-expected.png: Removed.
* platform/efl/fast/forms/select-baseline-expected.txt: Removed.
* platform/efl/fast/forms/select-style-expected.png: Removed.
* platform/efl/fast/forms/select-style-expected.txt: Removed.
* platform/efl/fast/forms/textarea-scroll-height-expected.png: Removed.
* platform/efl/fast/forms/textarea-scroll-height-expected.txt: Removed.
* platform/efl/fast/forms/textarea-scrolled-type-expected.png: Removed.
* platform/efl/fast/forms/textarea-scrolled-type-expected.txt: Removed.

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

7 years ago[chromium] Fix lost context when textures are evicted
piman@chromium.org [Fri, 24 Aug 2012 05:00:01 +0000 (05:00 +0000)]
[chromium] Fix lost context when textures are evicted
https://bugs.webkit.org/show_bug.cgi?id=94892

Reviewed by James Robinson.

After eviction, the CCPrioritizedTextureManager is in a limbo state
where all its resources are invalid. If we try to release them we will
double-destroy them.

New test: CCLayerTreeHostTestLostContextAfterEvictTextures.

Source/WebCore:

* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

* tests/CCLayerTreeHostTest.cpp:
(CCLayerTreeHostTestLostContextAfterEvictTextures):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::CCLayerTreeHostTestLostContextAfterEvictTextures):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::beginTest):
(EvictTexturesAndLoseContextTask):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::EvictTexturesAndLoseContextTask::EvictTexturesAndLoseContextTask):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::EvictTexturesAndLoseContextTask::~EvictTexturesAndLoseContextTask):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::EvictTexturesAndLoseContextTask::run):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::postEvictTexturesAndLoseContext):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::didRecreateOutputSurface):
(WTF::CCLayerTreeHostTestLostContextAfterEvictTextures::afterTest):
(WTF):
(WTF::TEST_F):

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

7 years agoREGRESSION(r126132): thumb doesn't match click position for rtl input type=range
keishi@webkit.org [Fri, 24 Aug 2012 04:55:37 +0000 (04:55 +0000)]
REGRESSION(r126132): thumb doesn't match click position for rtl input type=range
https://bugs.webkit.org/show_bug.cgi?id=94890

Reviewed by Kent Tamura.

Source/WebCore:

r126132 broke rtl input type=range so the thumb doesn't match click position.

Added new tests to range-hit-test-with-padding.html.

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):

LayoutTests:

* fast/forms/range/range-hit-test-with-padding-expected.txt:
* fast/forms/range/range-hit-test-with-padding.html:

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