Unreviewed.  Rolled DEPS.

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126655 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126658 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126662 268f45cc-cd09-0410-ab3c-d52691b4dbfc