Title: [282490] trunk/Source/WebKit
Revision
282490
Author
[email protected]
Date
2021-09-16 00:33:58 -0700 (Thu, 16 Sep 2021)

Log Message

[GTK][WPE] test animations/steps-transform-rendering-updates.html fails
https://bugs.webkit.org/show_bug.cgi?id=230307

Patch by Carlos Garcia Campos <[email protected]> on 2021-09-16
Reviewed by Carlos Alberto Lopez Perez.

ThreadedDisplayRefreshMonitor is not setting isScheduled back to false when it's fired. That causes
hasBeenRescheduled to be true and handleDisplayRefreshMonitorUpdate() is called with force repaint option, so we
end up flushing layers on every display refresh update.

* Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
(WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (282489 => 282490)


--- trunk/Source/WebKit/ChangeLog	2021-09-16 07:22:45 UTC (rev 282489)
+++ trunk/Source/WebKit/ChangeLog	2021-09-16 07:33:58 UTC (rev 282490)
@@ -1,3 +1,17 @@
+2021-09-16  Carlos Garcia Campos  <[email protected]>
+
+        [GTK][WPE] test animations/steps-transform-rendering-updates.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=230307
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        ThreadedDisplayRefreshMonitor is not setting isScheduled back to false when it's fired. That causes
+        hasBeenRescheduled to be true and handleDisplayRefreshMonitorUpdate() is called with force repaint option, so we
+        end up flushing layers on every display refresh update.
+
+        * Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp:
+        (WebKit::ThreadedDisplayRefreshMonitor::displayRefreshCallback):
+
 2021-09-15  Chris Dumez  <[email protected]>
 
         Implement network process crash recovery for BroadcastChannel

Modified: trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp (282489 => 282490)


--- trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp	2021-09-16 07:22:45 UTC (rev 282489)
+++ trunk/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.cpp	2021-09-16 07:33:58 UTC (rev 282490)
@@ -108,8 +108,10 @@
     {
         Locker locker { lock() };
         shouldHandleDisplayRefreshNotification = isScheduled() && isPreviousFrameDone();
-        if (shouldHandleDisplayRefreshNotification)
+        if (shouldHandleDisplayRefreshNotification) {
+            setIsScheduled(false);
             setIsPreviousFrameDone(false);
+        }
     }
 
     if (shouldHandleDisplayRefreshNotification) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to