haikuwebkit/LayoutTests/animations/animation-offscreen-to-onsc...

3 lines
99 B
Plaintext
Raw Permalink Normal View History

Coordinated Graphics: Remove tiles of a layer when they are off the viewport. https://bugs.webkit.org/show_bug.cgi?id=102313 Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-19 Reviewed by Noam Rosenthal. Source/WebKit2: Currently, we don't remove tiles of the layer with the special properties: a transform animation and non affine transform. If a page has a lot of layers with a transform animation, we will encounter OOM. So this patch removes the privilege of the layer. There are two changes. 1. computeTransformedVisibleRect() calculates a layer transform using the current local transform which a transform animation applied. 2. tiledBackingStoreVisibleRect() calculates a visible rect of all layers, even if the layer includes the property: a transform animation or non affine transform. Test: animations/animation-offscreen-to-onscreen.html * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale): (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect): (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges): (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect): (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation): (WebCore): * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h: (CoordinatedGraphicsLayer): LayoutTests: This test checks that a compositing layer is rendered if the layer is originally transformed off the viewport. * animations/animation-offscreen-to-onscreen-expected.png: Added. * animations/animation-offscreen-to-onscreen-expected.txt: Added. * animations/animation-offscreen-to-onscreen.html: Added. Canonical link: https://commits.webkit.org/120884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135212 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-11-20 00:38:01 +00:00
PASS - "webkitTransform" property for "box" element at 0.5s saw something close to: 1,0,0,1,100,0