From fe81d61a7d8a8bf8fa579a745a8a243f0d0701bb Mon Sep 17 00:00:00 2001 From: "zandobersek@gmail.com" Date: Tue, 24 Apr 2018 15:26:42 +0000 Subject: [PATCH 2/2] REGRESSION(r230950): Faulty commit sequencing in CoordinatedGraphicsScene https://bugs.webkit.org/show_bug.cgi?id=184917 Reviewed by Michael Catanzaro. After r230950, current animation state for a given layer is also taken into account when determining whether or not the layer requires a backing store. For that to work properly, all the animation state has to be updated before the backing store work. This patch changes the order of helper method invocations in CoordinatedGraphicsScene::setLayerState() to address that. * Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: (WebKit::CoordinatedGraphicsScene::setLayerState): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@230954 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- .../WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp b/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp index ba249826071..16e6755ab54 100644 --- a/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp +++ b/Source/WebKit/Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp @@ -282,15 +282,14 @@ void CoordinatedGraphicsScene::setLayerState(CoordinatedLayerID id, const Coordi if (layerState.committedScrollOffsetChanged) layer->didCommitScrollOffset(layerState.committedScrollOffset); - prepareContentBackingStore(layer); - // Apply Operations. setLayerChildrenIfNeeded(layer, layerState); + setLayerFiltersIfNeeded(layer, layerState); + setLayerAnimationsIfNeeded(layer, layerState); + prepareContentBackingStore(layer); createTilesIfNeeded(layer, layerState); removeTilesIfNeeded(layer, layerState); updateTilesIfNeeded(layer, layerState); - setLayerFiltersIfNeeded(layer, layerState); - setLayerAnimationsIfNeeded(layer, layerState); syncPlatformLayerIfNeeded(layer, layerState); setLayerRepaintCountIfNeeded(layer, layerState); } -- 2.11.0