Title: [256348] branches/safari-609.1.17.0-branch
Revision
256348
Author
repst...@apple.com
Date
2020-02-11 13:37:42 -0800 (Tue, 11 Feb 2020)

Log Message

Revert "Cherry-pick r256214. rdar://problem/59349205"

This reverts commit 136c83914552143e2f30738b1892c80bdce440bf.

Revert "Cherry-pick r256181. rdar://problem/59349184"

This reverts commit c243d1210b16f08fe15d2655e5404fc58e3a8f2f.

Revert "Cherry-pick r256095. rdar://problem/59349202"

This reverts commit da093df9a0316d7248cd43eead2fda895dbdc415.

Revert "Cherry-pick r255810. rdar://problem/59349189"

This reverts commit 410a91668843774b2cea733ea441221c8ad6bc40.

Revert "Cherry-pick r255663. rdar://problem/59349185"

This reverts commit ee4f679f99959f7eee3d509950a6b44c611f7dc6.

Revert "Cherry-pick r255593. rdar://problem/59349198"

This reverts commit 1ae924558dd4ff09bf20d97fa3a3648cd9766bcf.

Revert "Cherry-pick r255552. rdar://problem/59349213"

This reverts commit f8feeed1205b837e4912f66bdf76c935612be0f3.

Revert "Cherry-pick r255525. rdar://problem/59349213"

This reverts commit 444142aa67ab570929cada2fcd63156d65e4d55c.

Modified Paths

Removed Paths

Diff

Modified: branches/safari-609.1.17.0-branch/LayoutTests/ChangeLog (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/ChangeLog	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/ChangeLog	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,417 +1,3 @@
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r256214. rdar://problem/59349205
-
-    WebContent jetsams on Sony lens webpage due to spike of IOSurfaces
-    https://bugs.webkit.org/show_bug.cgi?id=207493
-    rdar://problem/59020443
-    
-    Reviewed by Zalan Bujtas.
-    Source/WebCore:
-    
-    There were three issues that contributed to massive backing store allocation on
-    <https://www.sony.com/electronics/lenses/t/camera-lenses>.
-    
-    The first, fixed in r256095, was that the Web Animations code unioned the untransitioning
-    bounds with the transitioning bounds, causing the computation of large extent rects.
-    
-    The second, fixed in r256181, was that GraphicsLayerCA would keep hold of a transform
-    animation for an extra frame, causing a rendering update where
-    RenderLayerBacking::updateGeometry() would have cleared the extent, but GraphicsLayerCA
-    still thought transform was animating, causing GraphicsLayerCA::updateCoverage() to keep
-    backing store attached.
-    
-    This patch is the final fix; when animations start and end, we need to ensure that
-    RenderLayerBacking::updateGeometry() is called so that we compute the animation extent in
-    the same frame that adds the animation.
-    
-    Test: compositing/backing/transition-extent.html
-    
-    * rendering/RenderLayerBacking.cpp:
-    (WebCore::RenderLayerBacking::startAnimation):
-    (WebCore::RenderLayerBacking::animationFinished):
-    
-    LayoutTests:
-    
-    Test with an out-of-view transitioning element which should not get backing store.
-    
-    * compositing/backing/transition-extent-expected.txt: Added.
-    * compositing/backing/transition-extent.html: Added.
-    * platform/ios-wk2/compositing/backing/transition-extent-expected.txt: Added.
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-11  Russell Epstein  <repst...@apple.com>
-
-            Cherry-pick r256181. rdar://problem/59349184
-
-        There's an event loop cycle between an animation finishing, and it being removed from GraphicsLayerCA
-        https://bugs.webkit.org/show_bug.cgi?id=207361
-        <rdar://problem/59280370>
-
-        Reviewed by Simon Fraser.
-
-        Source/WebCore:
-
-        Animations should be removed from GraphicsLayersCAs in the same rendering update that changes the playState of the
-        animation to "finished", to avoid layer flush where a GraphicsLayersCAs has no extent set, but thinks there is
-        an active transform animation.
-
-        To do this, instead of enqueuing accelerated actions when resolving animations during style resolution, in
-        KeyframeAnimation::apply(), we enqueue them as soon as an animation's current time may have changed: in
-        WebAnimation::tick() and WebAnimation::play() with supporting functions newly exposed on AnimationEffect.
-
-        Now, accelerated animations are enqueued and applied during the "update animations and send events" procedure.
-
-        * animation/AnimationEffect.h:
-        * animation/KeyframeEffect.cpp:
-        (WebCore::KeyframeEffect::apply):
-        (WebCore::KeyframeEffect::updateAcceleratedActions):
-        (WebCore::KeyframeEffect::animationDidTick):
-        (WebCore::KeyframeEffect::animationDidPlay):
-        * animation/KeyframeEffect.h:
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::play):
-        (WebCore::WebAnimation::tick):
-
-        LayoutTests:
-
-        Lower the number of frames to wait after an animation completes by one to check that the accelerated animation has been removed
-        to show that we enqueue accelerated actions as part of the "update animations and send events" procedure.
-
-        * webanimations/accelerated-animation-removal-upon-transition-completion.html: Added.
-
-
-        git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-        2020-02-10  Antoine Quint  <grao...@webkit.org>
-
-                There's an event loop cycle between an animation finishing, and it being removed from GraphicsLayerCA
-                https://bugs.webkit.org/show_bug.cgi?id=207361
-                <rdar://problem/59280370>
-
-                Reviewed by Simon Fraser.
-
-                Lower the number of frames to wait after an animation completes by one to check that the accelerated animation has been removed
-                to show that we enqueue accelerated actions as part of the "update animations and send events" procedure.
-
-                * webanimations/accelerated-animation-removal-upon-transition-completion.html: Added.
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r256095. rdar://problem/59349202
-
-    Extent of a composited animation should not include the untransformed position
-    https://bugs.webkit.org/show_bug.cgi?id=207434
-    
-    Reviewed by Sam Weinig.
-    Source/WebCore:
-    
-    To determine whether to create ("attach") backing store for layers with transform animations,
-    we compute the union of all the states of the animation as an "extent", and ask whether it intersects
-    the coverage rect in GraphicsLayerCA.
-    
-    The non-Web Animations transition code did this correctly, just unioning the bounds transformed by
-    the start and end state.
-    
-    The non-Web Animations keyframe code, and the Web Animations KeyframeEffect code (used for both CSS transitions
-    and animations) also unioned with the unanimated bounds, which could create overly large extents in some
-    cases, contributing to jetsams on iOS (rdar://problem/59020443).
-    
-    Fix KeyframeAnimation and KeyframeEffect to not union with the untransformed bounds.
-    
-    Tests: compositing/backing/backing-store-attachment-animating-outside-viewport.html
-           legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html
-    
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::computeExtentOfTransformAnimation const):
-    * page/animation/KeyframeAnimation.cpp:
-    (WebCore::KeyframeAnimation::computeExtentOfTransformAnimation const):
-    
-2020-02-10  Simon Fraser  <simon.fra...@apple.com>
-
-        WebContent jetsams on Sony lens webpage due to spike of IOSurfaces
-        https://bugs.webkit.org/show_bug.cgi?id=207493
-        rdar://problem/59020443
-
-        Reviewed by Zalan Bujtas.
-        
-        Test with an out-of-view transitioning element which should not get backing store.
-
-        * compositing/backing/transition-extent-expected.txt: Added.
-        * compositing/backing/transition-extent.html: Added.
-        * platform/ios-wk2/compositing/backing/transition-extent-expected.txt: Added.
-
-    LayoutTests:
-    
-    New test that checks backing store attachment and overlap for an element which is positioned in-view,
-    but is move offscreen by the animation.
-    
-    New baselines for overlap tests, since overlap no longer considers the unanimated position.
-    
-    * compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    * compositing/backing/backing-store-attachment-animating-outside-viewport.html: Added.
-    * compositing/layer-creation/translate-animation-overlap-expected.txt:
-    * compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
-    * legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    * legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html: Added.
-    * legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt:
-    * legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
-    * platform/ios-wk2/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    * platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-08  Simon Fraser  <simon.fra...@apple.com>
-
-            Extent of a composited animation should not include the untransformed position
-            https://bugs.webkit.org/show_bug.cgi?id=207434
-
-            Reviewed by Sam Weinig.
-
-            New test that checks backing store attachment and overlap for an element which is positioned in-view,
-            but is move offscreen by the animation.
-
-            New baselines for overlap tests, since overlap no longer considers the unanimated position.
-
-            * compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-            * compositing/backing/backing-store-attachment-animating-outside-viewport.html: Added.
-            * compositing/layer-creation/translate-animation-overlap-expected.txt:
-            * compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
-            * legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-            * legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html: Added.
-            * legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt:
-            * legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
-            * platform/ios-wk2/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-            * platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255810. rdar://problem/59349189
-
-    [Web Animations] Canceling an accelerated animation before it was committed does not prevent it from playing
-    https://bugs.webkit.org/show_bug.cgi?id=207253
-    <rdar://problem/59143624>
-    
-    Reviewed by Antti Koivisto.
-    
-    Source/WebCore:
-    
-    Test: webanimations/accelerated-animation-canceled-before-commit.html
-    
-    Merely checking whether an accelerated animation is running prior to enqueuing an action to cancel it is not sufficient
-    since there could be an uncommitted change to start it upon the next animation frame. The same logic would need to apply
-    in other situations where the playback state changes for a potentially in-flight animation.
-    
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::animationDidSeek):
-    (WebCore::KeyframeEffect::animationWasCanceled):
-    (WebCore::KeyframeEffect::willChangeRenderer):
-    (WebCore::KeyframeEffect::animationSuspensionStateDidChange):
-    
-    LayoutTests:
-    
-    Add a new test that checks that an accelerated animation that has been enqueued to start but has
-    not yet been committed is correctly canceled when the cancel() method is called. This test fails
-    prior to this source change.
-    
-    * webanimations/accelerated-animation-canceled-before-commit-expected.html: Added.
-    * webanimations/accelerated-animation-canceled-before-commit.html: Added.
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-05  Antoine Quint  <grao...@apple.com>
-
-            [Web Animations] Canceling an accelerated animation before it was committed does not prevent it from playing
-            https://bugs.webkit.org/show_bug.cgi?id=207253
-            <rdar://problem/59143624>
-
-            Reviewed by Antti Koivisto.
-
-            Add a new test that checks that an accelerated animation that has been enqueued to start but has
-            not yet been committed is correctly canceled when the cancel() method is called. This test fails
-            prior to this source change.
-
-            * webanimations/accelerated-animation-canceled-before-commit-expected.html: Added.
-            * webanimations/accelerated-animation-canceled-before-commit.html: Added.
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255663. rdar://problem/59349185
-
-    Accelerated animations freeze on render tree rebuild
-    https://bugs.webkit.org/show_bug.cgi?id=201048
-    <rdar://problem/54612621>
-    
-    Reviewed by Antoine Quint.
-    
-    Source/WebCore:
-    
-    If there is an accelerated animation in progress for a renderer and the render tree is rebuild the animation
-    does not continue with the new renderer.
-    
-    To fix, make sure that the animation leaves the accelerated state when the renderer is removed. The new renderer
-    will then become accelerated automatically.
-    
-    Original test case by Tim Guan-tin Chien.
-    
-    Test: webanimations/accelerated-animation-renderer-change.html
-    
-    * animation/AnimationTimeline.cpp:
-    (WebCore::AnimationTimeline::willChangeRendererForElement):
-    * animation/AnimationTimeline.h:
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::willChangeRenderer):
-    * animation/KeyframeEffect.h:
-    * animation/WebAnimation.cpp:
-    (WebCore::WebAnimation::willChangeRenderer):
-    * animation/WebAnimation.h:
-    * rendering/updating/RenderTreeUpdater.cpp:
-    (WebCore::RenderTreeUpdater::tearDownRenderers):
-    
-    LayoutTests:
-    
-    * webanimations/accelerated-animation-renderer-change-expected.html: Added.
-    * webanimations/accelerated-animation-renderer-change.html: Added.
-    
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-03  Antti Koivisto  <an...@apple.com>
-
-            Accelerated animations freeze on render tree rebuild
-            https://bugs.webkit.org/show_bug.cgi?id=201048
-            <rdar://problem/54612621>
-
-            Reviewed by Antoine Quint.
-
-            * webanimations/accelerated-animation-renderer-change-expected.html: Added.
-            * webanimations/accelerated-animation-renderer-change.html: Added.
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255593. rdar://problem/59349198
-
-    [Web Animations] Accelerated animations don't run until their natural completion
-    https://bugs.webkit.org/show_bug.cgi?id=207130
-    <rdar://problem/59106047>
-    
-    Reviewed by Dean Jackson.
-    
-    Source/WebCore:
-    
-    Tests: webanimations/transform-accelerated-animation-finishes-before-removal.html
-           webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html
-    
-    Ensure we don't tear down a composited renderer until all of its runnning accelerated animations are completed.
-    The accelerated animations will be queued for removal in the next animation frame.
-    
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::isRunningAcceleratedAnimationForProperty const):
-    * animation/KeyframeEffect.h:
-    * animation/KeyframeEffectStack.cpp:
-    (WebCore::KeyframeEffectStack::isCurrentlyAffectingProperty const):
-    
-    LayoutTests:
-    
-    Add two new tests that ensures that an accelerated animation still yields compositing on an element when
-    its finished promise is resolved, but that it's no longer the case on the next frame.
-    
-    This required an existing test to be updated to wait until the next frame before checking the composited
-    status of an element on which an animation had just completed.
-    
-    * compositing/geometry/limit-layer-bounds-opacity-transition.html:
-    * webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt: Added.
-    * webanimations/transform-accelerated-animation-finishes-before-removal.html: Added.
-    * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt: Added.
-    * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html: Added.
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-03  Antoine Quint  <grao...@apple.com>
-
-            [Web Animations] Accelerated animations don't run until their natural completion
-            https://bugs.webkit.org/show_bug.cgi?id=207130
-            <rdar://problem/59106047>
-
-            Reviewed by Dean Jackson.
-
-            Add two new tests that ensures that an accelerated animation still yields compositing on an element when
-            its finished promise is resolved, but that it's no longer the case on the next frame.
-
-            This required an existing test to be updated to wait until the next frame before checking the composited
-            status of an element on which an animation had just completed.
-
-            * compositing/geometry/limit-layer-bounds-opacity-transition.html:
-            * webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt: Added.
-            * webanimations/transform-accelerated-animation-finishes-before-removal.html: Added.
-            * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt: Added.
-            * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html: Added.
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255552. rdar://problem/59349213
-
-    ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) on animations/keyframe-autoclose-brace.html
-    https://bugs.webkit.org/show_bug.cgi?id=207071
-    <rdar://problem/59076249>
-    
-    Patch by Antoine Quint <grao...@apple.com> on 2020-02-02
-    Reviewed by Dean Jackson.
-    
-    Source/WebCore:
-    
-    We cannot add CSSPropertyInvalid to a HashSet<CSSPropertyID>, because it triggers an ASSERT, and also we shouldn't
-    because we wouldn't know how to animate that CSS property.
-    
-    * animation/AnimationTimeline.cpp:
-    (WebCore::compileTransitionPropertiesInStyle):
-    
-    LayoutTests:
-    
-    The crash is fixed, we can start running the test as expected again.
-    
-    * platform/ipad/TestExpectations:
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-02  Antoine Quint  <grao...@apple.com>
-
-            ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) on animations/keyframe-autoclose-brace.html
-            https://bugs.webkit.org/show_bug.cgi?id=207071
-            <rdar://problem/59076249>
-
-            Reviewed by Dean Jackson.
-
-            The crash is fixed, we can start running the test as expected again.
-
-            * platform/ipad/TestExpectations:
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255525. rdar://problem/59349213
-
-    [ iOS Debug wk2 ] animations/keyframe-autoclose-brace.html is flaky crashing.
-    https://bugs.webkit.org/show_bug.cgi?id=207071
-    
-    Unreviewed test gardening.
-    
-    Patch by Jason Lawrence <lawrenc...@apple.com> on 2020-01-31
-    
-    * platform/ipad/TestExpectations:
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-01-31  Jason Lawrence  <lawrenc...@apple.com>
-
-            [ iOS Debug wk2 ] animations/keyframe-autoclose-brace.html is flaky crashing.
-            https://bugs.webkit.org/show_bug.cgi?id=207071
-
-            Unreviewed test gardening.
-
-            * platform/ipad/TestExpectations:
-
 2020-02-05  Russell Epstein  <repst...@apple.com>
 
         Cherry-pick r255396. rdar://problem/59097789

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,24 +0,0 @@
-An in-view element animating off-screen should not have backing store.
-
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 785.00 2200.00)
-  (backingStoreAttached 1)
-  (children 1
-    (GraphicsLayer
-      (bounds 785.00 2200.00)
-      (contentsOpaque 1)
-      (backingStoreAttached 1)
-      (children 1
-        (GraphicsLayer
-          (position 100.00 100.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 0)
-        )
-      )
-    )
-  )
-)
-Some text here to force backing store.

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/backing-store-attachment-animating-outside-viewport.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/backing-store-attachment-animating-outside-viewport.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/backing-store-attachment-animating-outside-viewport.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,78 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<style>
-    #box {
-        position: absolute;
-        top: 100px;
-        left: 100px;
-        width: 100px;
-        height: 100px;
-        background-color: silver;
-    }
-
-    .dot {
-        position: absolute;
-        top: 0;
-        left: 0;
-        height: 4px;
-        width: 4px;
-        background-color: silver;
-    }
-    
-    #box.animating {
-        animation: move 1s linear;
-    }
-
-    @keyframes move {
-        from { transform: translate3d(100px, 2000px, 0); }
-        to   { transform: translate3d(100px, 2100px, 0); }
-    }
-
-</style>
-<script src=""
-<script>
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.waitUntilDone();
-}
-
-function dumpLayerTree()
-{
-    if (!window.internals)
-        return;
-
-    var out = document.getElementById('out');
-    out.innerText = layerTreeWithoutTransforms(internals.LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED);
-}
-
-function dumpLayersSoon()
-{
-    setTimeout(function() {
-        dumpLayerTree();
-        if (window.testRunner)
-            testRunner.notifyDone();
-    }, 0);
-}
-
-function runTest()
-{
-    makeDots(5, 5, 60);
-    let box = document.getElementById('box');
-    box.addEventListener('animationstart', dumpLayersSoon, false);
-    box.classList.add('animating');
-}
-
-window.addEventListener('load', runTest, false);
-
-</script>
-</head>
-<body>
-<p>An in-view element animating off-screen should not have backing store.</p>
-<pre id="out"></pre>
-<div id="box">
-    Some text here to force backing store.
-</div>
-
-</body>
-</html>

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/transition-extent-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/transition-extent-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/transition-extent-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,31 +0,0 @@
-The second box should not have attached backing store.
-
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 785.00 2024.00)
-  (backingStoreAttached 1)
-  (children 1
-    (GraphicsLayer
-      (bounds 785.00 2024.00)
-      (contentsOpaque 1)
-      (backingStoreAttached 1)
-      (children 2
-        (GraphicsLayer
-          (position 20.00 20.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 1)
-        )
-        (GraphicsLayer
-          (position 20.00 1500.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 0)
-        )
-      )
-    )
-  )
-)
-visible boxhidden box

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/transition-extent.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/transition-extent.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/backing/transition-extent.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <style>
-        body {
-            height: 2000px;
-        }
-
-        .box {
-            position: absolute;
-            left: 20px;
-            top: 20px;
-            width: 100px;
-            height: 100px;
-            background-color: silver;
-            transition: transform 2s;
-            transform: rotate3d(0, 0, 1, 0deg)
-        }
-
-        body.changed .box {
-            transform: rotate3d(0, 0, 1, -180deg);
-        }
-        
-        .invisible {
-            top: 1500px;
-        }
-    </style>
-    <script>
-        if (window.testRunner) {
-            testRunner.dumpAsText();
-            testRunner.waitUntilDone();
-        }
-        window.addEventListener('load', () => {
-            let box = document.querySelector('.box');
-            box.addEventListener('transitionstart', () => {
-                requestAnimationFrame(() => {
-                    var out = document.getElementById('layers');
-                    out.innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED);
-                    testRunner.notifyDone();
-                });
-            }, false);
-
-            requestAnimationFrame(() => {
-                document.body.classList.add('changed');
-            });
-        }, false);
-    </script>
-</head>
-<body>
-    <p>The second box should not have attached backing store.</p>
-<pre id="layers"></pre>
-    <div class="box">visible box</div>
-    <div class="invisible box">hidden box</div>
-</body>
-</html>

Modified: branches/safari-609.1.17.0-branch/LayoutTests/compositing/geometry/limit-layer-bounds-opacity-transition.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/geometry/limit-layer-bounds-opacity-transition.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/geometry/limit-layer-bounds-opacity-transition.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -40,10 +40,8 @@
     function fadeDone()
     {
       if (window.testRunner) {
-          requestAnimationFrame(() => {
-              document.getElementById('layers').innerText = window.internals.layerTreeAsText(document);
-              testRunner.notifyDone();
-          })
+        document.getElementById('layers').innerText = window.internals.layerTreeAsText(document);
+        testRunner.notifyDone();
       }
     }
   </script>

Modified: branches/safari-609.1.17.0-branch/LayoutTests/compositing/layer-creation/translate-animation-overlap-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/layer-creation/translate-animation-overlap-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/layer-creation/translate-animation-overlap-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -5,7 +5,7 @@
     (GraphicsLayer
       (bounds 800.00 600.00)
       (contentsOpaque 1)
-      (children 417
+      (children 430
         (GraphicsLayer
           (offsetFromRenderer width=-14 height=-14)
           (position 24.00 38.00)
@@ -13,6 +13,11 @@
           (drawsContent 1)
         )
         (GraphicsLayer
+          (position 30.00 40.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 40.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -173,6 +178,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 50.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 50.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -333,6 +343,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 60.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 60.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -493,6 +508,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 70.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 70.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -653,6 +673,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 80.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 80.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -813,6 +838,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 90.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 90.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -973,6 +1003,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 100.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 100.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1133,6 +1168,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 110.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 110.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1293,6 +1333,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 120.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 120.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1453,6 +1498,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 130.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 130.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1613,6 +1663,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 140.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 140.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1773,6 +1828,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 150.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 150.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1933,6 +1993,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 160.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 160.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)

Modified: branches/safari-609.1.17.0-branch/LayoutTests/compositing/layer-creation/translate-scale-animation-overlap-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/compositing/layer-creation/translate-scale-animation-overlap-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/compositing/layer-creation/translate-scale-animation-overlap-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -5,7 +5,7 @@
     (GraphicsLayer
       (bounds 800.00 600.00)
       (contentsOpaque 1)
-      (children 685
+      (children 703
         (GraphicsLayer
           (offsetFromRenderer width=-14 height=-14)
           (position 24.00 68.00)
@@ -14,6 +14,11 @@
           (drawsContent 1)
         )
         (GraphicsLayer
+          (position 30.00 30.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 30.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -204,6 +209,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 40.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 40.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -394,6 +404,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 50.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 50.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -584,6 +599,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 60.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 60.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -774,6 +794,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 70.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 70.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -964,6 +989,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 80.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 80.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1154,6 +1184,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 90.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 90.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1344,6 +1379,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 100.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 100.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1534,6 +1574,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 110.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 110.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1724,6 +1769,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 120.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 120.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1914,6 +1964,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 130.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 130.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2104,6 +2159,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 140.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 140.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2294,6 +2354,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 150.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 150.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2484,6 +2549,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 160.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 160.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2674,6 +2744,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 170.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 170.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2864,6 +2939,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 180.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 180.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -3054,6 +3134,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 190.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 190.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -3244,6 +3329,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 200.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 200.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,24 +0,0 @@
-An in-view element animating off-screen should not have backing store.
-
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 785.00 2200.00)
-  (backingStoreAttached 1)
-  (children 1
-    (GraphicsLayer
-      (bounds 785.00 2200.00)
-      (contentsOpaque 1)
-      (backingStoreAttached 1)
-      (children 1
-        (GraphicsLayer
-          (position 100.00 100.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 0)
-        )
-      )
-    )
-  )
-)
-Some text here to force backing store.

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,78 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<style>
-    #box {
-        position: absolute;
-        top: 100px;
-        left: 100px;
-        width: 100px;
-        height: 100px;
-        background-color: silver;
-    }
-
-    .dot {
-        position: absolute;
-        top: 0;
-        left: 0;
-        height: 4px;
-        width: 4px;
-        background-color: silver;
-    }
-    
-    #box.animating {
-        animation: move 1s linear;
-    }
-
-    @keyframes move {
-        from { transform: translate3d(100px, 2000px, 0); }
-        to   { transform: translate3d(100px, 2100px, 0); }
-    }
-
-</style>
-<script src=""
-<script>
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.waitUntilDone();
-}
-
-function dumpLayerTree()
-{
-    if (!window.internals)
-        return;
-
-    var out = document.getElementById('out');
-    out.innerText = layerTreeWithoutTransforms(internals.LAYER_TREE_INCLUDES_BACKING_STORE_ATTACHED);
-}
-
-function dumpLayersSoon()
-{
-    setTimeout(function() {
-        dumpLayerTree();
-        if (window.testRunner)
-            testRunner.notifyDone();
-    }, 0);
-}
-
-function runTest()
-{
-    makeDots(5, 5, 60);
-    let box = document.getElementById('box');
-    box.addEventListener('animationstart', dumpLayersSoon, false);
-    box.classList.add('animating');
-}
-
-window.addEventListener('load', runTest, false);
-
-</script>
-</head>
-<body>
-<p>An in-view element animating off-screen should not have backing store.</p>
-<pre id="out"></pre>
-<div id="box">
-    Some text here to force backing store.
-</div>
-
-</body>
-</html>

Modified: branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -5,7 +5,7 @@
     (GraphicsLayer
       (bounds 800.00 600.00)
       (contentsOpaque 1)
-      (children 417
+      (children 430
         (GraphicsLayer
           (offsetFromRenderer width=-14 height=-14)
           (position 24.00 38.00)
@@ -13,6 +13,11 @@
           (drawsContent 1)
         )
         (GraphicsLayer
+          (position 30.00 40.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 40.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -173,6 +178,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 50.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 50.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -333,6 +343,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 60.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 60.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -493,6 +508,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 70.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 70.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -653,6 +673,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 80.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 80.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -813,6 +838,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 90.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 90.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -973,6 +1003,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 100.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 100.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1133,6 +1168,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 110.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 110.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1293,6 +1333,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 120.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 120.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1453,6 +1498,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 130.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 130.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1613,6 +1663,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 140.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 140.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1773,6 +1828,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 150.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 150.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1933,6 +1993,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 160.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 160.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)

Modified: branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -5,7 +5,7 @@
     (GraphicsLayer
       (bounds 800.00 600.00)
       (contentsOpaque 1)
-      (children 685
+      (children 703
         (GraphicsLayer
           (offsetFromRenderer width=-14 height=-14)
           (position 24.00 68.00)
@@ -14,6 +14,11 @@
           (drawsContent 1)
         )
         (GraphicsLayer
+          (position 30.00 30.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 30.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -204,6 +209,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 40.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 40.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -394,6 +404,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 50.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 50.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -584,6 +599,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 60.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 60.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -774,6 +794,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 70.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 70.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -964,6 +989,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 80.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 80.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1154,6 +1184,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 90.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 90.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1344,6 +1379,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 100.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 100.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1534,6 +1574,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 110.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 110.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1724,6 +1769,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 120.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 120.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -1914,6 +1964,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 130.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 130.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2104,6 +2159,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 140.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 140.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2294,6 +2354,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 150.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 150.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2484,6 +2549,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 160.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 160.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2674,6 +2744,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 170.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 170.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -2864,6 +2939,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 180.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 180.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -3054,6 +3134,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 190.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 190.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)
@@ -3244,6 +3329,11 @@
           (contentsOpaque 1)
         )
         (GraphicsLayer
+          (position 30.00 200.00)
+          (bounds 4.00 4.00)
+          (contentsOpaque 1)
+        )
+        (GraphicsLayer
           (position 40.00 200.00)
           (bounds 4.00 4.00)
           (contentsOpaque 1)

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,24 +0,0 @@
-An in-view element animating off-screen should not have backing store.
-
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 800.00 2200.00)
-  (backingStoreAttached 1)
-  (children 1
-    (GraphicsLayer
-      (bounds 800.00 2200.00)
-      (contentsOpaque 1)
-      (backingStoreAttached 1)
-      (children 1
-        (GraphicsLayer
-          (position 100.00 100.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 0)
-        )
-      )
-    )
-  )
-)
-Some text here to force backing store.

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/compositing/backing/transition-extent-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/compositing/backing/transition-extent-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/compositing/backing/transition-extent-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,31 +0,0 @@
-The second box should not have attached backing store.
-
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 800.00 2024.00)
-  (backingStoreAttached 1)
-  (children 1
-    (GraphicsLayer
-      (bounds 800.00 2024.00)
-      (contentsOpaque 1)
-      (backingStoreAttached 1)
-      (children 2
-        (GraphicsLayer
-          (position 20.00 20.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 1)
-        )
-        (GraphicsLayer
-          (position 20.00 1500.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 0)
-        )
-      )
-    )
-  )
-)
-visible boxhidden box

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,24 +0,0 @@
-An in-view element animating off-screen should not have backing store.
-
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 800.00 2200.00)
-  (backingStoreAttached 1)
-  (children 1
-    (GraphicsLayer
-      (bounds 800.00 2200.00)
-      (contentsOpaque 1)
-      (backingStoreAttached 1)
-      (children 1
-        (GraphicsLayer
-          (position 100.00 100.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-          (drawsContent 1)
-          (backingStoreAttached 0)
-        )
-      )
-    )
-  )
-)
-Some text here to force backing store.

Modified: branches/safari-609.1.17.0-branch/LayoutTests/platform/ipad/TestExpectations (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/platform/ipad/TestExpectations	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/platform/ipad/TestExpectations	2020-02-11 21:37:42 UTC (rev 256348)
@@ -68,4 +68,4 @@
 webkit.org/b/203264 editing/pasteboard/smart-paste-paragraph-002.html [ Pass ]
 webkit.org/b/203264 editing/pasteboard/smart-paste-paragraph-004.html [ Pass ]
 
-media/picture-in-picture [ Pass ]
+media/picture-in-picture [ Pass ]
\ No newline at end of file

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-canceled-before-commit-expected.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-canceled-before-commit-expected.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-canceled-before-commit-expected.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-
-#target {
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 100px;
-    height: 100px;
-    background-color: black;
-}
-
-</style>
-</head>
-<body>
-<div id="target"></div>
-</body>
-</html>

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-canceled-before-commit.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-canceled-before-commit.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-canceled-before-commit.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<style>
-
-#target {
-    position: absolute;
-    left: 0;
-    top: 0;
-    width: 100px;
-    height: 100px;
-    background-color: black;
-    will-change: transform;
-}
-
-</style>
-</head>
-<body>
-<div id="target"></div>
-<script>
-
-if (window.testRunner)
-    testRunner.waitUntilDone();
-
-const animation = document.getElementById("target").animate({ transform: ["translateX(50px)", "translateX(100px)"] }, 1000);
-
-// Wait until the animation is ready which means the action to play an accelerated animation has been enqueued by now, but not commmitted.
-animation.ready.then(() => {
-    // Cancel the animation, this should cancel the uncommitted accelerated animation.
-    animation.cancel();
-    if (window.testRunner)
-        testRunner.notifyDone();
-});
-
-</script>
-</body>
-</html>

Modified: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-removal-upon-transition-completion.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-removal-upon-transition-completion.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-removal-upon-transition-completion.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -35,7 +35,7 @@
         const target = document.getElementById("target");
         target.style.transform = "translate3d(100px, 0, 0)";
         target.getAnimations()[0].finished.then(() => {
-            waitNFrames(2, () => {
+            waitNFrames(3, () => {
                 assert_equals(internals.acceleratedAnimationsForElement(target).length, 0, "There should be no accelerated animation after the animation completed.");
                 t.done();
             });

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-renderer-change-expected.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-renderer-change-expected.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-renderer-change-expected.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,15 +0,0 @@
-<style>
-div {
-    background-color: rebeccapurple;
-    width: 100px;
-    height: 100px;
-}
-
-#test{
-    position: absolute;
-    top: 200px;
-    left: 200px;
-}
-
-</style>
-<div id=test></div>

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-renderer-change.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-renderer-change.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/accelerated-animation-renderer-change.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,67 +0,0 @@
-<style>
-
-div {
-    background-color: rebeccapurple;
-    width: 100px;
-    height: 100px;
-}
-
-#test{
-    position: absolute;
-    top: 200px;
-    left: 200px;
-}
-
-.animate-class {
-    animation: 1s linear 0s 1 normal scale;
-}
-
-.first-letter::first-letter {
-    color:red;
-}
-
-@keyframes scale {
-    0% {
-        transform: scale(0);
-    }
-
-    10% {
-        transform: scale(1);
-    }
-
-    100% {
-        transform: scale(1);
-    }
-}
-
-</style>
-<script>
-
-if (window.testRunner)
-    testRunner.waitUntilDone();
-
-window._onload_ = async function() {
-    const element = document.body.appendChild(document.createElement("div"));
-    element.className = "animate-class";
-    element.id = "test";
-
-    const animation = element.getAnimations()[0];
-
-    await animation.ready;
-
-    await new Promise(resolve => requestAnimationFrame(resolve));
-    await new Promise(resolve => requestAnimationFrame(resolve));
-
-    // Force render tree rebuild in the middle of the animation.
-    document.body.classList.add("first-letter");
-
-    // See that the accelerated animation still progresses.
-    while (animation.currentTime < 100)
-        await new Promise(resolve => requestAnimationFrame(resolve));
-
-    if (window.testRunner)
-        testRunner.notifyDone();
-}
-
-</script>
-

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,18 +0,0 @@
-(GraphicsLayer
-  (anchor 0.00 0.00)
-  (bounds 800.00 600.00)
-  (children 1
-    (GraphicsLayer
-      (bounds 800.00 600.00)
-      (contentsOpaque 1)
-      (children 1
-        (GraphicsLayer
-          (position 8.00 8.00)
-          (bounds 100.00 100.00)
-          (contentsOpaque 1)
-        )
-      )
-    )
-  )
-)
-

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-finishes-before-removal.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-finishes-before-removal.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-finishes-before-removal.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,16 +0,0 @@
-<pre id="results"></pre>
-<div id="target" style="width: 100px; height: 100px; background-color: black;"></div>
-<script>
-
-testRunner.waitUntilDone();
-testRunner.dumpAsText();
-
-document.getElementById("target").animate([
-    { transform: "translateX(0)" },
-    { transform: "translateX(100px)" }
-], 100).finished.then(() => {
-    document.getElementById("results").innerText = internals.layerTreeAsText(document);
-    testRunner.notifyDone();
-});
-
-</script>

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1 +0,0 @@
-

Deleted: branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html (256347 => 256348)


--- branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/LayoutTests/webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,18 +0,0 @@
-<pre id="results"></pre>
-<div id="target" style="width: 100px; height: 100px; background-color: black;"></div>
-<script>
-
-testRunner.waitUntilDone();
-testRunner.dumpAsText();
-
-document.getElementById("target").animate([
-    { transform: "translateX(0)" },
-    { transform: "translateX(100px)" }
-], 100).finished.then(() => {
-    requestAnimationFrame(() => {
-        document.getElementById("results").innerText = internals.layerTreeAsText(document);
-        testRunner.notifyDone();
-    });
-});
-
-</script>

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/ChangeLog (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/ChangeLog	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/ChangeLog	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1,456 +1,3 @@
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r256214. rdar://problem/59349205
-
-    WebContent jetsams on Sony lens webpage due to spike of IOSurfaces
-    https://bugs.webkit.org/show_bug.cgi?id=207493
-    rdar://problem/59020443
-    
-    Reviewed by Zalan Bujtas.
-    Source/WebCore:
-    
-    There were three issues that contributed to massive backing store allocation on
-    <https://www.sony.com/electronics/lenses/t/camera-lenses>.
-    
-    The first, fixed in r256095, was that the Web Animations code unioned the untransitioning
-    bounds with the transitioning bounds, causing the computation of large extent rects.
-    
-    The second, fixed in r256181, was that GraphicsLayerCA would keep hold of a transform
-    animation for an extra frame, causing a rendering update where
-    RenderLayerBacking::updateGeometry() would have cleared the extent, but GraphicsLayerCA
-    still thought transform was animating, causing GraphicsLayerCA::updateCoverage() to keep
-    backing store attached.
-    
-    This patch is the final fix; when animations start and end, we need to ensure that
-    RenderLayerBacking::updateGeometry() is called so that we compute the animation extent in
-    the same frame that adds the animation.
-    
-    Test: compositing/backing/transition-extent.html
-    
-    * rendering/RenderLayerBacking.cpp:
-    (WebCore::RenderLayerBacking::startAnimation):
-    (WebCore::RenderLayerBacking::animationFinished):
-    
-    LayoutTests:
-    
-    Test with an out-of-view transitioning element which should not get backing store.
-    
-    * compositing/backing/transition-extent-expected.txt: Added.
-    * compositing/backing/transition-extent.html: Added.
-    * platform/ios-wk2/compositing/backing/transition-extent-expected.txt: Added.
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256214 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-11  Russell Epstein  <repst...@apple.com>
-
-            Cherry-pick r256181. rdar://problem/59349184
-
-        There's an event loop cycle between an animation finishing, and it being removed from GraphicsLayerCA
-        https://bugs.webkit.org/show_bug.cgi?id=207361
-        <rdar://problem/59280370>
-
-        Reviewed by Simon Fraser.
-
-        Source/WebCore:
-
-        Animations should be removed from GraphicsLayersCAs in the same rendering update that changes the playState of the
-        animation to "finished", to avoid layer flush where a GraphicsLayersCAs has no extent set, but thinks there is
-        an active transform animation.
-
-        To do this, instead of enqueuing accelerated actions when resolving animations during style resolution, in
-        KeyframeAnimation::apply(), we enqueue them as soon as an animation's current time may have changed: in
-        WebAnimation::tick() and WebAnimation::play() with supporting functions newly exposed on AnimationEffect.
-
-        Now, accelerated animations are enqueued and applied during the "update animations and send events" procedure.
-
-        * animation/AnimationEffect.h:
-        * animation/KeyframeEffect.cpp:
-        (WebCore::KeyframeEffect::apply):
-        (WebCore::KeyframeEffect::updateAcceleratedActions):
-        (WebCore::KeyframeEffect::animationDidTick):
-        (WebCore::KeyframeEffect::animationDidPlay):
-        * animation/KeyframeEffect.h:
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::play):
-        (WebCore::WebAnimation::tick):
-
-        LayoutTests:
-
-        Lower the number of frames to wait after an animation completes by one to check that the accelerated animation has been removed
-        to show that we enqueue accelerated actions as part of the "update animations and send events" procedure.
-
-        * webanimations/accelerated-animation-removal-upon-transition-completion.html: Added.
-
-
-        git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-        2020-02-10  Antoine Quint  <grao...@webkit.org>
-
-                There's an event loop cycle between an animation finishing, and it being removed from GraphicsLayerCA
-                https://bugs.webkit.org/show_bug.cgi?id=207361
-                <rdar://problem/59280370>
-
-                Reviewed by Simon Fraser.
-
-                Animations should be removed from GraphicsLayersCAs in the same rendering update that changes the playState of the
-                animation to "finished", to avoid layer flush where a GraphicsLayersCAs has no extent set, but thinks there is
-                an active transform animation.
-
-                To do this, instead of enqueuing accelerated actions when resolving animations during style resolution, in
-                KeyframeAnimation::apply(), we enqueue them as soon as an animation's current time may have changed: in
-                WebAnimation::tick() and WebAnimation::play() with supporting functions newly exposed on AnimationEffect.
-
-                Now, accelerated animations are enqueued and applied during the "update animations and send events" procedure.
-
-                * animation/AnimationEffect.h:
-                * animation/KeyframeEffect.cpp:
-                (WebCore::KeyframeEffect::apply):
-                (WebCore::KeyframeEffect::updateAcceleratedActions):
-                (WebCore::KeyframeEffect::animationDidTick):
-                (WebCore::KeyframeEffect::animationDidPlay):
-                * animation/KeyframeEffect.h:
-                * animation/WebAnimation.cpp:
-                (WebCore::WebAnimation::play):
-                (WebCore::WebAnimation::tick):
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r256095. rdar://problem/59349202
-
-    Extent of a composited animation should not include the untransformed position
-    https://bugs.webkit.org/show_bug.cgi?id=207434
-    
-    Reviewed by Sam Weinig.
-    Source/WebCore:
-    
-    To determine whether to create ("attach") backing store for layers with transform animations,
-    we compute the union of all the states of the animation as an "extent", and ask whether it intersects
-    the coverage rect in GraphicsLayerCA.
-    
-    The non-Web Animations transition code did this correctly, just unioning the bounds transformed by
-    the start and end state.
-    
-    The non-Web Animations keyframe code, and the Web Animations KeyframeEffect code (used for both CSS transitions
-    and animations) also unioned with the unanimated bounds, which could create overly large extents in some
-    cases, contributing to jetsams on iOS (rdar://problem/59020443).
-    
-    Fix KeyframeAnimation and KeyframeEffect to not union with the untransformed bounds.
-    
-    Tests: compositing/backing/backing-store-attachment-animating-outside-viewport.html
-           legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html
-    
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::computeExtentOfTransformAnimation const):
-    * page/animation/KeyframeAnimation.cpp:
-    (WebCore::KeyframeAnimation::computeExtentOfTransformAnimation const):
-    
-    LayoutTests:
-    
-    New test that checks backing store attachment and overlap for an element which is positioned in-view,
-    but is move offscreen by the animation.
-    
-    New baselines for overlap tests, since overlap no longer considers the unanimated position.
-    
-    * compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    * compositing/backing/backing-store-attachment-animating-outside-viewport.html: Added.
-    * compositing/layer-creation/translate-animation-overlap-expected.txt:
-    * compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
-    * legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    * legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html: Added.
-    * legacy-animation-engine/compositing/layer-creation/translate-animation-overlap-expected.txt:
-    * legacy-animation-engine/compositing/layer-creation/translate-scale-animation-overlap-expected.txt:
-    * platform/ios-wk2/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    * platform/ios-wk2/legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport-expected.txt: Added.
-    
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@256095 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-08  Simon Fraser  <simon.fra...@apple.com>
-
-            Extent of a composited animation should not include the untransformed position
-            https://bugs.webkit.org/show_bug.cgi?id=207434
-
-            Reviewed by Sam Weinig.
-
-            To determine whether to create ("attach") backing store for layers with transform animations,
-            we compute the union of all the states of the animation as an "extent", and ask whether it intersects
-            the coverage rect in GraphicsLayerCA.
-
-            The non-Web Animations transition code did this correctly, just unioning the bounds transformed by
-            the start and end state.
-
-            The non-Web Animations keyframe code, and the Web Animations KeyframeEffect code (used for both CSS transitions
-            and animations) also unioned with the unanimated bounds, which could create overly large extents in some
-            cases, contributing to jetsams on iOS (rdar://problem/59020443).
-
-            Fix KeyframeAnimation and KeyframeEffect to not union with the untransformed bounds.
-
-            Tests: compositing/backing/backing-store-attachment-animating-outside-viewport.html
-                   legacy-animation-engine/compositing/backing/backing-store-attachment-animating-outside-viewport.html
-
-            * animation/KeyframeEffect.cpp:
-            (WebCore::KeyframeEffect::computeExtentOfTransformAnimation const):
-            * page/animation/KeyframeAnimation.cpp:
-            (WebCore::KeyframeAnimation::computeExtentOfTransformAnimation const):
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255810. rdar://problem/59349189
-
-2020-02-10  Simon Fraser  <simon.fra...@apple.com>
-
-        WebContent jetsams on Sony lens webpage due to spike of IOSurfaces
-        https://bugs.webkit.org/show_bug.cgi?id=207493
-        rdar://problem/59020443
-
-        Reviewed by Zalan Bujtas.
-
-        There were three issues that contributed to massive backing store allocation on
-        <https://www.sony.com/electronics/lenses/t/camera-lenses>.
-
-        The first, fixed in r256095, was that the Web Animations code unioned the untransitioning
-        bounds with the transitioning bounds, causing the computation of large extent rects.
-
-        The second, fixed in r256181, was that GraphicsLayerCA would keep hold of a transform
-        animation for an extra frame, causing a rendering update where
-        RenderLayerBacking::updateGeometry() would have cleared the extent, but GraphicsLayerCA
-        still thought transform was animating, causing GraphicsLayerCA::updateCoverage() to keep
-        backing store attached.
-
-        This patch is the final fix; when animations start and end, we need to ensure that
-        RenderLayerBacking::updateGeometry() is called so that we compute the animation extent in
-        the same frame that adds the animation.
-
-        Test: compositing/backing/transition-extent.html
-
-        * rendering/RenderLayerBacking.cpp:
-        (WebCore::RenderLayerBacking::startAnimation):
-        (WebCore::RenderLayerBacking::animationFinished):
-
-    [Web Animations] Canceling an accelerated animation before it was committed does not prevent it from playing
-    https://bugs.webkit.org/show_bug.cgi?id=207253
-    <rdar://problem/59143624>
-    
-    Reviewed by Antti Koivisto.
-    
-    Source/WebCore:
-    
-    Test: webanimations/accelerated-animation-canceled-before-commit.html
-    
-    Merely checking whether an accelerated animation is running prior to enqueuing an action to cancel it is not sufficient
-    since there could be an uncommitted change to start it upon the next animation frame. The same logic would need to apply
-    in other situations where the playback state changes for a potentially in-flight animation.
-    
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::animationDidSeek):
-    (WebCore::KeyframeEffect::animationWasCanceled):
-    (WebCore::KeyframeEffect::willChangeRenderer):
-    (WebCore::KeyframeEffect::animationSuspensionStateDidChange):
-    
-    LayoutTests:
-    
-    Add a new test that checks that an accelerated animation that has been enqueued to start but has
-    not yet been committed is correctly canceled when the cancel() method is called. This test fails
-    prior to this source change.
-    
-    * webanimations/accelerated-animation-canceled-before-commit-expected.html: Added.
-    * webanimations/accelerated-animation-canceled-before-commit.html: Added.
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255810 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-05  Antoine Quint  <grao...@apple.com>
-
-            [Web Animations] Canceling an accelerated animation before it was committed does not prevent it from playing
-            https://bugs.webkit.org/show_bug.cgi?id=207253
-            <rdar://problem/59143624>
-
-            Reviewed by Antti Koivisto.
-
-            Test: webanimations/accelerated-animation-canceled-before-commit.html
-
-            Merely checking whether an accelerated animation is running prior to enqueuing an action to cancel it is not sufficient
-            since there could be an uncommitted change to start it upon the next animation frame. The same logic would need to apply
-            in other situations where the playback state changes for a potentially in-flight animation.
-
-            * animation/KeyframeEffect.cpp:
-            (WebCore::KeyframeEffect::animationDidSeek):
-            (WebCore::KeyframeEffect::animationWasCanceled):
-            (WebCore::KeyframeEffect::willChangeRenderer):
-            (WebCore::KeyframeEffect::animationSuspensionStateDidChange):
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255663. rdar://problem/59349185
-
-    Accelerated animations freeze on render tree rebuild
-    https://bugs.webkit.org/show_bug.cgi?id=201048
-    <rdar://problem/54612621>
-    
-    Reviewed by Antoine Quint.
-    
-    Source/WebCore:
-    
-    If there is an accelerated animation in progress for a renderer and the render tree is rebuild the animation
-    does not continue with the new renderer.
-    
-    To fix, make sure that the animation leaves the accelerated state when the renderer is removed. The new renderer
-    will then become accelerated automatically.
-    
-    Original test case by Tim Guan-tin Chien.
-    
-    Test: webanimations/accelerated-animation-renderer-change.html
-    
-    * animation/AnimationTimeline.cpp:
-    (WebCore::AnimationTimeline::willChangeRendererForElement):
-    * animation/AnimationTimeline.h:
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::willChangeRenderer):
-    * animation/KeyframeEffect.h:
-    * animation/WebAnimation.cpp:
-    (WebCore::WebAnimation::willChangeRenderer):
-    * animation/WebAnimation.h:
-    * rendering/updating/RenderTreeUpdater.cpp:
-    (WebCore::RenderTreeUpdater::tearDownRenderers):
-    
-    LayoutTests:
-    
-    * webanimations/accelerated-animation-renderer-change-expected.html: Added.
-    * webanimations/accelerated-animation-renderer-change.html: Added.
-    
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-03  Antti Koivisto  <an...@apple.com>
-
-            Accelerated animations freeze on render tree rebuild
-            https://bugs.webkit.org/show_bug.cgi?id=201048
-            <rdar://problem/54612621>
-
-            Reviewed by Antoine Quint.
-
-            If there is an accelerated animation in progress for a renderer and the render tree is rebuild the animation
-            does not continue with the new renderer.
-
-            To fix, make sure that the animation leaves the accelerated state when the renderer is removed. The new renderer
-            will then become accelerated automatically.
-
-            Original test case by Tim Guan-tin Chien.
-
-            Test: webanimations/accelerated-animation-renderer-change.html
-
-            * animation/AnimationTimeline.cpp:
-            (WebCore::AnimationTimeline::willChangeRendererForElement):
-            * animation/AnimationTimeline.h:
-            * animation/KeyframeEffect.cpp:
-            (WebCore::KeyframeEffect::willChangeRenderer):
-            * animation/KeyframeEffect.h:
-            * animation/WebAnimation.cpp:
-            (WebCore::WebAnimation::willChangeRenderer):
-            * animation/WebAnimation.h:
-            * rendering/updating/RenderTreeUpdater.cpp:
-            (WebCore::RenderTreeUpdater::tearDownRenderers):
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255593. rdar://problem/59349198
-
-    [Web Animations] Accelerated animations don't run until their natural completion
-    https://bugs.webkit.org/show_bug.cgi?id=207130
-    <rdar://problem/59106047>
-    
-    Reviewed by Dean Jackson.
-    
-    Source/WebCore:
-    
-    Tests: webanimations/transform-accelerated-animation-finishes-before-removal.html
-           webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html
-    
-    Ensure we don't tear down a composited renderer until all of its runnning accelerated animations are completed.
-    The accelerated animations will be queued for removal in the next animation frame.
-    
-    * animation/KeyframeEffect.cpp:
-    (WebCore::KeyframeEffect::isRunningAcceleratedAnimationForProperty const):
-    * animation/KeyframeEffect.h:
-    * animation/KeyframeEffectStack.cpp:
-    (WebCore::KeyframeEffectStack::isCurrentlyAffectingProperty const):
-    
-    LayoutTests:
-    
-    Add two new tests that ensures that an accelerated animation still yields compositing on an element when
-    its finished promise is resolved, but that it's no longer the case on the next frame.
-    
-    This required an existing test to be updated to wait until the next frame before checking the composited
-    status of an element on which an animation had just completed.
-    
-    * compositing/geometry/limit-layer-bounds-opacity-transition.html:
-    * webanimations/transform-accelerated-animation-finishes-before-removal-expected.txt: Added.
-    * webanimations/transform-accelerated-animation-finishes-before-removal.html: Added.
-    * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise-expected.txt: Added.
-    * webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html: Added.
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-03  Antoine Quint  <grao...@apple.com>
-
-            [Web Animations] Accelerated animations don't run until their natural completion
-            https://bugs.webkit.org/show_bug.cgi?id=207130
-            <rdar://problem/59106047>
-
-            Reviewed by Dean Jackson.
-
-            Tests: webanimations/transform-accelerated-animation-finishes-before-removal.html
-                   webanimations/transform-accelerated-animation-removed-one-frame-after-finished-promise.html
-
-            Ensure we don't tear down a composited renderer until all of its runnning accelerated animations are completed.
-            The accelerated animations will be queued for removal in the next animation frame.
-
-            * animation/KeyframeEffect.cpp:
-            (WebCore::KeyframeEffect::isRunningAcceleratedAnimationForProperty const):
-            * animation/KeyframeEffect.h:
-            * animation/KeyframeEffectStack.cpp:
-            (WebCore::KeyframeEffectStack::isCurrentlyAffectingProperty const):
-
-2020-02-11  Russell Epstein  <repst...@apple.com>
-
-        Cherry-pick r255552. rdar://problem/59349213
-
-    ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) on animations/keyframe-autoclose-brace.html
-    https://bugs.webkit.org/show_bug.cgi?id=207071
-    <rdar://problem/59076249>
-    
-    Patch by Antoine Quint <grao...@apple.com> on 2020-02-02
-    Reviewed by Dean Jackson.
-    
-    Source/WebCore:
-    
-    We cannot add CSSPropertyInvalid to a HashSet<CSSPropertyID>, because it triggers an ASSERT, and also we shouldn't
-    because we wouldn't know how to animate that CSS property.
-    
-    * animation/AnimationTimeline.cpp:
-    (WebCore::compileTransitionPropertiesInStyle):
-    
-    LayoutTests:
-    
-    The crash is fixed, we can start running the test as expected again.
-    
-    * platform/ipad/TestExpectations:
-    
-    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255552 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
-    2020-02-02  Antoine Quint  <grao...@apple.com>
-
-            ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) on animations/keyframe-autoclose-brace.html
-            https://bugs.webkit.org/show_bug.cgi?id=207071
-            <rdar://problem/59076249>
-
-            Reviewed by Dean Jackson.
-
-            We cannot add CSSPropertyInvalid to a HashSet<CSSPropertyID>, because it triggers an ASSERT, and also we shouldn't
-            because we wouldn't know how to animate that CSS property.
-
-            * animation/AnimationTimeline.cpp:
-            (WebCore::compileTransitionPropertiesInStyle):
-
 2020-02-07  Russell Epstein  <repst...@apple.com>
 
         Cherry-pick r256017. rdar://problem/59261560

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationEffect.h (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationEffect.h	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationEffect.h	2020-02-11 21:37:42 UTC (rev 256348)
@@ -60,8 +60,6 @@
 
     virtual void apply(RenderStyle&) = 0;
     virtual void invalidate() = 0;
-    virtual void animationDidTick() = 0;
-    virtual void animationDidPlay() = 0;
     virtual void animationDidSeek() = 0;
     virtual void animationWasCanceled() = 0;
     virtual void animationSuspensionStateDidChange(bool) = 0;

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationTimeline.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationTimeline.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationTimeline.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -241,12 +241,6 @@
         animation->remove();
 }
 
-void AnimationTimeline::willChangeRendererForElement(Element& element)
-{
-    for (auto& animation : animationsForElement(element))
-        animation->willChangeRenderer();
-}
-
 void AnimationTimeline::cancelDeclarativeAnimationsForElement(Element& element)
 {
     for (auto& cssTransition : m_elementToCSSTransitionsMap.get(&element))
@@ -421,7 +415,7 @@
                 auto shorthand = shorthandForProperty(property);
                 for (size_t j = 0; j < shorthand.length(); ++j)
                     transitionProperties.add(shorthand.properties()[j]);
-            } else if (property != CSSPropertyInvalid)
+            } else
                 transitionProperties.add(property);
         } else if (mode == Animation::AnimateAll) {
             transitionPropertiesContainAll = true;

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationTimeline.h (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationTimeline.h	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/AnimationTimeline.h	2020-02-11 21:37:42 UTC (rev 256348)
@@ -61,7 +61,6 @@
     Vector<RefPtr<WebAnimation>> animationsForElement(Element&, Ordering ordering = Ordering::Unsorted) const;
     void elementWasRemoved(Element&);
     void removeAnimationsForElement(Element&);
-    void willChangeRendererForElement(Element&);
     void cancelDeclarativeAnimationsForElement(Element&);
     virtual void animationWasAddedToElement(WebAnimation&, Element&);
     virtual void animationWasRemovedFromElement(WebAnimation&, Element&);

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffect.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffect.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffect.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -1084,6 +1084,8 @@
     auto computedTiming = getComputedTiming();
     m_phaseAtLastApplication = computedTiming.phase;
 
+    updateAcceleratedActions(computedTiming);
+
     InspectorInstrumentation::willApplyKeyframeEffect(*m_target, *this, computedTiming);
 
     if (!computedTiming.progress)
@@ -1103,11 +1105,6 @@
     return m_phaseAtLastApplication == AnimationEffectPhase::Active;
 }
 
-bool KeyframeEffect::isRunningAcceleratedAnimationForProperty(CSSPropertyID property) const
-{
-    return m_isRunningAccelerated && CSSPropertyAnimation::animationOfPropertyIsAccelerated(property) && m_blendingKeyframes.properties().contains(property);
-}
-
 void KeyframeEffect::invalidate()
 {
     invalidateElement(m_target.get());
@@ -1329,13 +1326,11 @@
     return nullptr;
 }
 
-void KeyframeEffect::updateAcceleratedActions()
+void KeyframeEffect::updateAcceleratedActions(ComputedEffectTiming computedTiming)
 {
     if (m_acceleratedPropertiesState == AcceleratedProperties::None)
         return;
 
-    auto computedTiming = getComputedTiming();
-
     // If we're not already running accelerated, the only thing we're interested in is whether we need to start the animation
     // which we need to do once we're in the active phase. Otherwise, there's no change in accelerated state to consider.
     bool isActive = computedTiming.phase == AnimationEffectPhase::Active;
@@ -1378,41 +1373,23 @@
     animation()->acceleratedStateDidChange();
 }
 
-void KeyframeEffect::animationDidTick()
-{
-    invalidate();
-    updateAcceleratedActions();
-}
-
-void KeyframeEffect::animationDidPlay()
-{
-    if (m_acceleratedPropertiesState != AcceleratedProperties::None)
-        addPendingAcceleratedAction(AcceleratedAction::Play);
-}
-
 void KeyframeEffect::animationDidSeek()
 {
     // There is no need to seek if we're not playing an animation already. If seeking
     // means we're moving into an active lexicalGlobalObject, we'll pick this up in apply().
-    if (m_isRunningAccelerated || isAboutToRunAccelerated())
+    if (m_isRunningAccelerated)
         addPendingAcceleratedAction(AcceleratedAction::Seek);
 }
 
 void KeyframeEffect::animationWasCanceled()
 {
-    if (m_isRunningAccelerated || isAboutToRunAccelerated())
+    if (m_isRunningAccelerated)
         addPendingAcceleratedAction(AcceleratedAction::Stop);
 }
 
-void KeyframeEffect::willChangeRenderer()
-{
-    if (m_isRunningAccelerated || isAboutToRunAccelerated())
-        addPendingAcceleratedAction(AcceleratedAction::Stop);
-}
-
 void KeyframeEffect::animationSuspensionStateDidChange(bool animationIsSuspended)
 {
-    if (m_isRunningAccelerated || isAboutToRunAccelerated())
+    if (m_isRunningAccelerated)
         addPendingAcceleratedAction(animationIsSuspended ? AcceleratedAction::Pause : AcceleratedAction::Play);
 }
 
@@ -1538,7 +1515,7 @@
     auto& box = downcast<RenderBox>(*renderer());
     auto rendererBox = snapRectToDevicePixels(box.borderBoxRect(), box.document().deviceScaleFactor());
 
-    LayoutRect cumulativeBounds;
+    auto cumulativeBounds = bounds;
 
     for (const auto& keyframe : m_blendingKeyframes.keyframes()) {
         const auto* keyframeStyle = keyframe.style();

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffect.h (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffect.h	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffect.h	2020-02-11 21:37:42 UTC (rev 256348)
@@ -115,8 +115,6 @@
     void getAnimatedStyle(std::unique_ptr<RenderStyle>& animatedStyle);
     void apply(RenderStyle&) override;
     void invalidate() override;
-    void animationDidTick() final;
-    void animationDidPlay() final;
     void animationDidSeek() final;
     void animationWasCanceled() final;
     void animationSuspensionStateDidChange(bool) final;
@@ -124,8 +122,6 @@
     void animationTimingDidChange();
     void applyPendingAcceleratedActions();
 
-    void willChangeRenderer();
-
     void setAnimation(WebAnimation*) final;
 
     RenderElement* renderer() const override;
@@ -152,7 +148,6 @@
 
     enum class Accelerated : uint8_t { Yes, No };
     bool isCurrentlyAffectingProperty(CSSPropertyID, Accelerated = Accelerated::No) const;
-    bool isRunningAcceleratedAnimationForProperty(CSSPropertyID) const;
 
 private:
     KeyframeEffect(Element*);
@@ -165,7 +160,7 @@
     void copyPropertiesFromSource(Ref<KeyframeEffect>&&);
     ExceptionOr<void> processKeyframes(JSC::JSGlobalObject&, JSC::Strong<JSC::JSObject>&&);
     void addPendingAcceleratedAction(AcceleratedAction);
-    void updateAcceleratedActions();
+    void updateAcceleratedActions(ComputedEffectTiming);
     void setAnimatedPropertiesInStyle(RenderStyle&, double);
     TimingFunction* timingFunctionForKeyframeAtIndex(size_t);
     Ref<const Animation> backingAnimationForCompositedRenderer() const;

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffectStack.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffectStack.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/KeyframeEffectStack.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -63,7 +63,7 @@
 bool KeyframeEffectStack::isCurrentlyAffectingProperty(CSSPropertyID property) const
 {
     for (auto& effect : m_effects) {
-        if (effect->isCurrentlyAffectingProperty(property) || effect->isRunningAcceleratedAnimationForProperty(property))
+        if (effect->isCurrentlyAffectingProperty(property))
             return true;
     }
     return false;

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/WebAnimation.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/WebAnimation.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/WebAnimation.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -667,12 +667,6 @@
         m_effect->animationWasCanceled();
 }
 
-void WebAnimation::willChangeRenderer()
-{
-    if (is<KeyframeEffect>(m_effect))
-        downcast<KeyframeEffect>(*m_effect).willChangeRenderer();
-}
-
 void WebAnimation::enqueueAnimationPlaybackEvent(const AtomString& type, Optional<Seconds> currentTime, Optional<Seconds> timelineTime)
 {
     auto event = AnimationPlaybackEvent::create(type, currentTime, timelineTime);
@@ -974,9 +968,6 @@
 
     invalidateEffect();
 
-    if (m_effect)
-        m_effect->animationDidPlay();
-
     return { };
 }
 
@@ -1192,8 +1183,7 @@
     if (hasPendingPlayTask())
         runPendingPlayTask();
 
-    if (!isEffectInvalidationSuspended() && m_effect)
-        m_effect->animationDidTick();
+    invalidateEffect();
 }
 
 void WebAnimation::resolve(RenderStyle& targetStyle)

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/animation/WebAnimation.h (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/animation/WebAnimation.h	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/animation/WebAnimation.h	2020-02-11 21:37:42 UTC (rev 256348)
@@ -123,7 +123,6 @@
     void effectTargetDidChange(Element* previousTarget, Element* newTarget);
     void acceleratedStateDidChange();
     void applyPendingAcceleratedActions();
-    void willChangeRenderer();
 
     bool isRunningAccelerated() const;
     bool isCompletelyAccelerated() const;

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/page/animation/KeyframeAnimation.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/page/animation/KeyframeAnimation.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/page/animation/KeyframeAnimation.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -253,7 +253,7 @@
     auto& box = downcast<RenderBox>(*renderer());
     auto rendererBox = snapRectToDevicePixels(box.borderBoxRect(), box.document().deviceScaleFactor());
 
-    LayoutRect cumulativeBounds;
+    auto cumulativeBounds = bounds;
 
     for (auto& keyframe : m_keyframes.keyframes()) {
         const RenderStyle* keyframeStyle = keyframe.style();

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/rendering/RenderLayerBacking.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/rendering/RenderLayerBacking.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/rendering/RenderLayerBacking.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -3283,10 +3283,8 @@
         didAnimate = true;
 #endif
 
-    if (didAnimate) {
+    if (didAnimate)
         m_owningLayer.setNeedsPostLayoutCompositingUpdate();
-        m_owningLayer.setNeedsCompositingGeometryUpdate();
-    }
 
     return didAnimate;
 }
@@ -3305,7 +3303,6 @@
 {
     m_graphicsLayer->removeAnimation(animationName);
     m_owningLayer.setNeedsPostLayoutCompositingUpdate();
-    m_owningLayer.setNeedsCompositingGeometryUpdate();
 }
 
 bool RenderLayerBacking::startTransition(double timeOffset, CSSPropertyID property, const RenderStyle* fromStyle, const RenderStyle* toStyle)

Modified: branches/safari-609.1.17.0-branch/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp (256347 => 256348)


--- branches/safari-609.1.17.0-branch/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp	2020-02-11 21:33:41 UTC (rev 256347)
+++ branches/safari-609.1.17.0-branch/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp	2020-02-11 21:37:42 UTC (rev 256348)
@@ -560,9 +560,7 @@
         while (teardownStack.size() > depth) {
             auto& element = *teardownStack.takeLast();
 
-            switch (teardownType) {
-            case TeardownType::Full:
-            case TeardownType::RendererUpdateCancelingAnimations:
+            if (teardownType == TeardownType::Full || teardownType == TeardownType::RendererUpdateCancelingAnimations) {
                 if (timeline) {
                     if (document.renderTreeBeingDestroyed())
                         timeline->elementWasRemoved(element);
@@ -570,11 +568,6 @@
                         timeline->cancelDeclarativeAnimationsForElement(element);
                 }
                 animationController.cancelAnimations(element);
-                break;
-            case TeardownType::RendererUpdate:
-                if (timeline)
-                    timeline->willChangeRendererForElement(element);
-                break;
             }
 
             if (teardownType == TeardownType::Full)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to