[Chromium] Pass the --strip-binary argument to the apk test generator
https://bugs.webkit.org/show_bug.cgi?id=94224

Reviewed by Adam Barth.

The native test generator currently relies on the $STRIP environment
variable to be available, which it shouldn't do. Instead, pass it as an
argument to the script. The $STRIP variable is being deprecated.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Layout Test media/track/track-active-cues.html frequently times out on Windows.
https://bugs.webkit.org/show_bug.cgi?id=81402

Reviewed by Eric Carlson.

This patch changes the test to use captions-fast.vtt to see if several cuechange
events available at different times helps the test not timeout.

* media/track/track-active-cues.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Accumulate sub-pixel offsets through layers and transforms
https://bugs.webkit.org/show_bug.cgi?id=89238

Reviewed by Eric Seidel.

Source/WebCore: 

Pixel snapping logic makes use of sub-pixel offsets accumulated when walking down
the render tree. When we align RenderLayers to paint on pixel boundaries, we were
also losing that accumulated value. This preserves the fractional offset and passes
it to the RenderLayer's RenderObjects so they paint the proper size and offset.

This also necessitates a new mode of mapLocalToContainer whereby we pixel snap the
offset used in transforms. Otherwise, they wouldn't account for the pixel snapping
done elsewhere in the render tree.

Test: fast/sub-pixel/sub-pixel-accumulates-to-layers.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::pixelSnappedSizingBox): The LayoutUnit version of sizingBox returns a
LayoutRect with the location zeroed out. This leads to incorrect pixel snapping, so
we shouldn't put these numbers into a transform. Sadly, I couldn't figure out a
test for this without the rest of the patch.
(WebCore):
(WebCore::computedTransform): Using pixel-snapped values when generating transforms.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer): Adding a mode whereby the values inputed
into the transform are properly pixel snapped.
(WebCore::RenderBox::computeRectForRepaint): Using pixel snapped values for the transform.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToAbsolute):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform): Using pixel snapped values for the transform.
(WebCore::RenderLayer::currentTransform): Ditto.
(WebCore::RenderLayer::perspectiveTransform): Ditto.
(WebCore::RenderLayer::paint): Support passing along the accumulated sub-pixel offset instead
of rounding and use enclosingIntRect for the damageRect.
(WebCore::RenderLayer::paintOverlayScrollbars): Updating to the new paintLayer contract
(WebCore::RenderLayer::paintLayer): Adding a sub-pixel accumulation LayoutSize. We pass this
delta to the Layer's RenderObject when we paint, but align the graphics context to the proper
pixel value.
(WebCore::RenderLayer::paintLayerContentsAndReflection): Ditto.
(WebCore::RenderLayer::paintLayerContents): Ditto.
(WebCore::RenderLayer::paintList): Ditto.
(WebCore::RenderLayer::paintChildLayerIntoColumns): Ditto.
(WebCore::RenderLayer::calculateClipRects): Avoid unnecessary rounding when sub-pixel is enabled.
(WebCore::RenderLayer::calculateRects): Remove unnecessary pixel snapping.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateLayerTransform): Use pixel-snapped values for transforms.
(WebCore::RenderLayerBacking::paintIntoLayer): Update to new paintLayer contract.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToContainerQuad): Adding a mode for optionally pixel snapping.
(WebCore::RenderObject::localToContainerPoint): Ditto.
* rendering/RenderObject.h:
(WebCore::RenderObject::localToAbsoluteQuad): Ditto.
(RenderObject):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint): Updating to new paintLayer contract.
* rendering/RenderView.h:
(RenderView):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
* rendering/svg/SVGRenderSupport.h:
(SVGRenderSupport):

LayoutTests: 

* fast/sub-pixel/sub-pixel-accumulates-to-layers.html: Added.
* platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/fast/repaint/scroll-fixed-layer-with-transformed-parent-layer-expected.png:
* platform/chromium-mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
* platform/chromium-mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
* platform/chromium-mac/fast/transforms/transformed-document-element-expected.png:
* platform/chromium-mac/media/audio-repaint-expected.png:
* platform/chromium-mac/svg/transforms/svg-css-transforms-expected.png:
* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] SurfacePool::waitForBuffer() sometimes waits for deleted EGLSyncKHR object
https://bugs.webkit.org/show_bug.cgi?id=94208

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-16
Reviewed by Rob Buis.

SurfacePool::notifyBuffersComposited() adds a tile's previous
sync object to the garbage list before replacing it with a new one.
However, it failed to thoroughly clear all tiles that were referencing
the old sync object.

Thus it could happen that if a set of tiles A was composited, then
another set of tiles B was composited, only the intersection of A and B
was cleared of the soon-to-be-deleted sync object, and the subtraction
A - B would reference an invalid sync object in case the BackingStore
decided to render to one of the tiles in A - B before they were
composited again.

Fixed by storing each individual sync object in only one place so we
don't have to rummage through all tiles and remove stale references to
sync objects that are about to be destroyed.

A new reference counted Fence class is added for this purpose, to store
a sync object. Tiles refer to Fence instances instead of holding a sync
object directly. Since Fence is reference counted, several tiles can
refer to the same Fence instance, and clearing its sync object will
instantly remove it from the grasp of all tiles that depend on that
Fence.

Since there's no point in waiting for the same Fence twice, the only
operation provided on Fence is takePlatformSync() which returns the
sync object and clears the Fence of its sync object.

Reviewed internally by Filip Spacek.

PR 193610

* WebKitSupport/BackingStoreTile.cpp:
(BlackBerry::WebKit::TileBuffer::TileBuffer):
* WebKitSupport/BackingStoreTile.h:
(BlackBerry):
(Fence):
(BlackBerry::Fence::create):
(BlackBerry::Fence::takePlatformSync):
(BlackBerry::Fence::Fence):
(BlackBerry::WebKit::TileBuffer::fence):
(BlackBerry::WebKit::TileBuffer::setFence):
(TileBuffer):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::waitForBuffer):
(BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
* WebKitSupport/SurfacePool.h:
(SurfacePool):

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