[chromium] Remove failures for acceletared-drawing tests.

Unreviewed.

Update chromium TestExpectations to remove failures for accelerated-painting.
They were fixed in r127294.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
https://bugs.webkit.org/show_bug.cgi?id=95094

Patch by Jeff Timanus <twiz@chromium.org> on 2012-09-06
Reviewed by Adrienne Walker.

Source/Platform:

In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
contentsScale behaviour.

* chromium/public/WebContentLayer.h:
(WebContentLayer):
    Export setBoundsContainPageScale() family of routines.

Source/WebCore:

In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
contentsScale behaviour.

Testing covered by existing compositor layout and unit tests.

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setAppliesPageScale):
(WebCore::GraphicsLayer::appliesPageScale):
    These routines are now virtual, so that they can push the notification to setDisregardsContentsScale in
    LayerChromium.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::setTransform):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore):
(WebCore::GraphicsLayerChromium::setAppliesPageScale):
(WebCore::GraphicsLayerChromium::appliesPageScale):
    Now forwards the appliesPageScaleStatus to the owned layer.
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setContentsScale):
(WebCore):
(WebCore::LayerChromium::setBoundsContainPageScale):
    setAppliesPageScale is renamed to setBoundsContainPageScale in LayerChromium.
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
(WebCore::LayerChromium::boundsContainPageScale):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore):
(WebCore::setScale):
(WebCore::updateLayerScale):
(WebCore::CCLayerTreeHost::updateLayers):
    The contents scale of a layer is now applied in this routine.

Source/WebKit/chromium:

In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
contentsScale behaviour.
This change exports the disregardsPageScale() set of functions from WebContentLayer to LayerChromium.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
    Inform the layer associated with the NCCH that it is to disregard the page scale factor.
    Also remove now unused m_deviceScaleFactor and associated routines.
(WebKit::NonCompositedContentHost::setViewport):
* src/NonCompositedContentHost.h:
(NonCompositedContentHost):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::setBoundsContainPageScale):
(WebKit):
(WebKit::WebContentLayerImpl::boundsContainPageScale):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):
* tests/CCLayerTreeHostTest.cpp:
(NoScaleContentLayerChromium):
(WebKitTests::NoScaleContentLayerChromium::create):
(WebKitTests::NoScaleContentLayerChromium::NoScaleContentLayerChromium):
(WebKitTests):
(WebKitTests::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
    Rebaselined to correspond to the new behaviour.  Because the layers are now assigned a contentsScale, the
    scale on the draw transforms remain identity.
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit): Remove now obsolete unit-test.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Remove GraphicsContext references from ContentLayerChromiumTest
https://bugs.webkit.org/show_bug.cgi?id=96002

Reviewed by James Robinson.

This is a compositor unit test, so it shouldn't reference things
outside of the compositor like GraphicsContext. The
OpaqueRectTrackingContentLayerDelegateTest already tests opaque
tracking right at the time of paint. This test is about verifying that
transformed canvases work properly, so can just fake the opaque rect
coming back from the paint.

* tests/ContentLayerChromiumTest.cpp:
(WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
(WebKit::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: make IDBKeyPath's string and array constructors explicit
https://bugs.webkit.org/show_bug.cgi?id=96004

Patch by Alec Flett <alecflett@chromium.org> on 2012-09-06
Reviewed by Tony Chang.

Source/WebCore:

Making these explicit to avoid accidental implicit conversions.

No new tests, existing tests cover correctness.

* Modules/indexeddb/IDBKeyPath.h:
(IDBKeyPath):

Source/WebKit/chromium:

Fix test to use explicit constructor for IDBKeyPath.

* tests/IDBDatabaseBackendTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled DEPS.

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

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Provide implementation for PlatformWebView::windowFrame()
https://bugs.webkit.org/show_bug.cgi?id=95995

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-06
Reviewed by Kenneth Rohde Christiansen.

Provide proper implementation for PlatformWebView::windowFrame()
in EFL's WebKitTestRunner.

* WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::windowFrame):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Use WebCompositorSupport functions instead of WebCompositor statics
https://bugs.webkit.org/show_bug.cgi?id=96007

Reviewed by Adrienne Walker.

Source/Platform:

Updates comment to reference WebCompositorSupport instead of WebCompositor.

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

Source/WebCore:

Calls WebCompositorSupport functions instead of WebCompositor statics.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::DrawingBuffer):

Source/WebKit/chromium:

Updates many tests to initialize / shutdown compositing with WebCompositorSupport. Adds a
WebCompositorInitializer RAII class to simplify this somewhat tedious process.

* WebKit.gypi:
* public/WebCompositorInputHandlerClient.h:
(WebCompositorInputHandlerClient):
* src/WebCompositorInputHandlerImpl.h:
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::composite):
(WebKit::WebViewImpl::scheduleAnimation):
(WebKit::WebViewImpl::scheduleComposite):
* tests/CCPrioritizedTextureTest.cpp:
(WTF::CCPrioritizedTextureTest::CCPrioritizedTextureTest):
(WTF::CCPrioritizedTextureTest::~CCPrioritizedTextureTest):
(CCPrioritizedTextureTest):
* tests/CCRendererGLTest.cpp:
(CCRendererGLTest::CCRendererGLTest):
(CCRendererGLTest::SetUp):
(CCRendererGLTest):
* tests/CCTextureUpdateControllerTest.cpp:
* tests/CCThreadedTest.cpp:
(WebKitTests::CCThreadedTest::runTest):
* tests/Canvas2DLayerBridgeTest.cpp:
(Canvas2DLayerBridgeTest::fullLifecycleTest):
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
(WebKit::GraphicsLayerChromiumTest::~GraphicsLayerChromiumTest):
* tests/LayerChromiumTest.cpp:
* tests/LinkHighlightTest.cpp:
(WebCore::TEST):
* tests/TextureLayerChromiumTest.cpp:
* tests/TiledLayerChromiumTest.cpp:
* tests/WebCompositorInitializer.h: Added.
(WebKit):
(WebKitTests):
(WebCompositorInitializer):
(WebKitTests::WebCompositorInitializer::WebCompositorInitializer):
(WebKitTests::WebCompositorInitializer::~WebCompositorInitializer):
* tests/WebCompositorInputHandlerImplTest.cpp:
(WebKit::TEST):
(WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
(WebCompositorInputHandlerImplTest):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:

Tools:

Fixes initialization / settings code to use WebCompositorSupport.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(main):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::initialize):
(TestShell::setPerTilePaintingEnabled):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Parcel up logic related to sticky positioning into a Constraints class that will later be used for threaded scrolling
https://bugs.webkit.org/show_bug.cgi?id=96026

Reviewed by James Robinson.

Lay some groundwork for threaded scrolling with fixed position and sticky
position objects, by packaging up logic related to how to reposition
fixed and sticky things on viewport changes into "constraints" classes.

ScrollingConstraints contains a 'ViewportConstraints' base class
that is subclassed for sticky position. These classes store
data about the constraints that govern the position of an object outside
of the render tree, and know how to compute a new position when the
viewport changes using only data in the class.

This patch changes RenderBoxModelObject to use the StickyPositionViewportConstraints
class for computing stick offsets at layout time. In the future, we'll have
the scrolling tree store copies of the constraint data for threaded scrolling.

* CMakeLists.txt: Add ScrollingConstraints.* to the build.
* GNUmakefile.list.am: Ditto
* Target.pri: Ditto
* WebCore.gypi: Ditto
* WebCore.vcproj/WebCore.vcproj: Ditto
* WebCore.xcodeproj/project.pbxproj: Ditto
* page/scrolling/ScrollingConstraints.cpp: Added.
(WebCore::StickyPositionViewportConstraints::computeStickyOffset):
(WebCore::StickyPositionViewportConstraints::layerPositionForViewportRect):
* page/scrolling/ScrollingConstraints.h: Added.
(WebCore::ViewportConstraints::ViewportConstraints):
(WebCore::ViewportConstraints::~ViewportConstraints):
(WebCore::ViewportConstraints::anchorEdges):
(WebCore::ViewportConstraints::hasAnchorEdge):
(WebCore::ViewportConstraints::addAnchorEdge):
(WebCore::ViewportConstraints::alignmentOffset):
(WebCore::ViewportConstraints::setAlignmentOffset):
(StickyPositionViewportConstraints):
(WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
(WebCore::StickyPositionViewportConstraints::stickyOffsetAtLastLayout):
(WebCore::StickyPositionViewportConstraints::setStickyOffsetAtLastLayout):
(WebCore::StickyPositionViewportConstraints::layerPositionAtLastLayout):
(WebCore::StickyPositionViewportConstraints::setLayerPositionAtLastLayout):
(WebCore::StickyPositionViewportConstraints::leftOffset):
(WebCore::StickyPositionViewportConstraints::rightOffset):
(WebCore::StickyPositionViewportConstraints::topOffset):
(WebCore::StickyPositionViewportConstraints::bottomOffset):
(WebCore::StickyPositionViewportConstraints::setLeftOffset):
(WebCore::StickyPositionViewportConstraints::setRightOffset):
(WebCore::StickyPositionViewportConstraints::setTopOffset):
(WebCore::StickyPositionViewportConstraints::setBottomOffset):
(WebCore::StickyPositionViewportConstraints::setAbsoluteContainingBlockRect):
(WebCore::StickyPositionViewportConstraints::setAbsoluteStickyBoxRect):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Fill out
data in the supplied StickyPositionViewportConstraints instance.
(WebCore::RenderBoxModelObject::stickyPositionOffset): Create a
StickyPositionViewportConstraints object on the stack and use it to
compute the sticky offset.
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Export public functions on WebTransformationMatrix so they can be used outside of WebKit.dll
https://bugs.webkit.org/show_bug.cgi?id=96025

Reviewed by Adrienne Walker.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JS test suite puts incorrect limitations on Function.toString()
https://bugs.webkit.org/show_bug.cgi?id=3975

Reviewed by Geoff Garen.

The result of function toString is implementation defined;
these test cases were looking for specific whitespace formatting
that matches mozilla's, and for redundant braces to be inserted
around if/else blocks. Stop that.

* tests/mozilla/expected.html:
* tests/mozilla/js1_2/function/tostring-1.js:
(simplify):
    - reduce whitespace differences
* tests/mozilla/js1_2/function/tostring-2.js:
(simplify):
    - reduce whitespace differences
(TestOr):
(TestAnd):
    - added braces to match expected output



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
New tests introduced in r127704 fail
https://bugs.webkit.org/show_bug.cgi?id=95952

Reviewed by Dan Bernstein.

Use the testRunner rather than layoutTestController because
layoutTestControler doesn't exist anymore.

* fast/viewport/viewport-limits-adjusted-for-no-user-scale-control.html:
* fast/viewport/viewport-limits-adjusted-for-no-user-scale.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ENH: Add Logging to StringImpl to track String Types
https://bugs.webkit.org/show_bug.cgi?id=95807

Reviewed by Benjamin Poulain.

Added StringsStats class that keeps track of the number of strings, number of 8 and 16 bit
strings as well as the number of 8 bit strings up converted to 16 bits. The number of characrters
for each type is also accumulated. These statistics are output via DataLog every 5000
calls to StringImpl destructor. The 5000 can be adjusted via s_printStringStatsFrequency.
This StringStats code is disabled by default and enabled by defining STRING_STATS in
wtf/text/StringImpl.h.

* wtf/text/StringImpl.cpp:
(WTF::StringStats::removeString):
(WTF::StringStats::printStats):
(WTF::StringImpl::~StringImpl):
(WTF::StringImpl::getData16SlowCase):
* wtf/text/StringImpl.h:
(WTF::StringStats::add8BitString):
(StringStats):
(WTF::StringStats::add16BitString):
(WTF::StringStats::addUpconvertedString):
(WTF::StringImpl::StringImpl):
(StringImpl):
(WTF::StringImpl::isSubString):
(WTF::StringImpl::stringStats):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Don't link cc in to WebKit.dll when use_libcc_for_compositor=1
https://bugs.webkit.org/show_bug.cgi?id=96024

Reviewed by Adam Barth.

When use_libcc_for_compositor=1, the implementation of the compositor guts are provided through PlatformSupport.
We don't need to link anything in to WebKit.dll.

Source/WebCore:

* WebCore.gyp/WebCore.gyp:

Source/WebKit/chromium:

* WebKit.gyp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add 8 bit string data path to TextRun
https://bugs.webkit.org/show_bug.cgi?id=95812

Reviewed by Dan Bernstein.

Added 8 bit string path to TextRun.  Refactored TextRun::data() and ::characters into
8 and 16 bit versions.  Made corresponding changes to users of TextRun.
For efl, gtk, qt and win platform specific code using TextRun, only the methods have
been renamed and the creation of 8 bit TextRuns has been disabled via compilation
flags.  Someone knowledgeable in those platforms will need to make corresponding changes
to enable 8 bit processing of TextRuns.

No changes to functionality - behavior covered by existing tests.

* platform/graphics/Font.cpp:
(WebCore::normalizeSpacesInternal):
(WebCore::Font::normalizeSpaces):
(WebCore::Font:normalizeSpaces):
(WebCore::Font::codePath):
(WebCore::Font::expansionOpportunityCount):
* platform/graphics/Font.h:
(WebCore::Font::characterRangeCodePath):
(WebCore::Font::normalizeSpaces):
* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawBidiText):
* platform/graphics/TextRun.cpp:
(ExpectedTextRunSize):
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::subRun):
(WebCore::TextRun::operator[]):
(WebCore::TextRun::data8):
(WebCore::TextRun::data16):
(WebCore::TextRun::characters8):
(WebCore::TextRun::characters16):
(WebCore::TextRun::is8Bit):
(WebCore::TextRun::setText):
(WebCore::TextRun::setCharactersLength):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::WidthIterator):
(WebCore::WidthIterator::advance):
* platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
(WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzShaper):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::collectComplexTextRuns):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* platform/graphics/pango/FontPango.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/qt/FontQt.cpp:
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::advance):
(WebCore::UniscribeController::shapeAndPlaceItem):
* rendering/RenderText.cpp:
(WebCore::RenderText::computeCanUseSimpleFontCodePath):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics):
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
(WebCore::SVGTextMetricsBuilder::measureTextRenderer):
* svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127801 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Deprecate String += operator
https://bugs.webkit.org/show_bug.cgi?id=95895

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-09-06
Reviewed by Benjamin Poulain.

Source/WebCore:

Replaced String +=() with append.

* platform/qt/RenderThemeQt.cpp:
(WebCore::RenderThemeQt::extraMediaControlsStyleSheet):

Source/WTF:

Remove Qt from WTF_DEPRECATED_STRING_OPERATORS guard.

* wtf/Platform.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Chromium Linux EWS bots and CQ bots are flaky
https://bugs.webkit.org/show_bug.cgi?id=96041

Reviewed by Adam Barth.

Skip platform/chromium-linux/compositing/gestures tests on the
Chromium Linux EWS and CQ bots. By marking them as flaky, they won't
be run (the bots use --skip-failing-tests which causes them to skip
these tests).  These will still run on the waterfall bots.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] 2 mathml tests need rebaseline after r127769
https://bugs.webkit.org/show_bug.cgi?id=96009

Unreviewed EFL gardening.

Update baselines for 2 mathml test cases needed after
r127769.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-06

* platform/efl/mathml/presentation/roots-expected.png:
* platform/efl/mathml/presentation/roots-expected.txt:
* platform/efl/mathml/presentation/sup-expected.png:
* platform/efl/mathml/presentation/sup-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127804 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed fix to r127799.
https://bugs.webkit.org/show_bug.cgi?id=95807

Unreviewed fix.

Removed extraneous "static".  This code is hidden behind STRING_STATS define and 
therefore is not enabled by default.

* wtf/text/StringImpl.cpp:


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