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: http://svn.webkit.org/repository/webkit/trunk@126631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed rebaseline after r126622.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@126648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@126650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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
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: http://svn.webkit.org/repository/webkit/trunk@126663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Touch Platform.h to solve a build dependency issue

Unreviewed.

* wtf/Platform.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-webkit-font-smoothing: antialiased should use CG font rendering code path, not GDI
https://bugs.webkit.org/show_bug.cgi?id=54004
<rdar://problem/8971429>

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-24
Reviewed by Dan Bernstein.

When specifying -webkit-font-smoothing: antialised; the code path ends up using GDI to draw the text.
GDI ends up drawing subpixel antialiased text, not aliased text anyways.
The CG code path also has the capability of drawing antialiased text. The reason that the GDI path was
used in the first place is no longer a concern here so we can stop using the GDI code path.

* platform/graphics/win/FontCGWin.cpp: Removing GDI font drawing code path.
(WebCore):
(WebCore::Font::drawGlyphs):

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