Title: [234420] releases/WebKitGTK/webkit-2.20/Source/WebKit
- Revision
- 234420
- Author
- [email protected]
- Date
- 2018-07-31 02:25:28 -0700 (Tue, 31 Jul 2018)
Log Message
Merge r233353 - [WPE] Some frames are dropped when using rAF to animate an element
https://bugs.webkit.org/show_bug.cgi?id=187175
Always call renderNextFrame in ThreadedCompositor::requestDisplayRefreshMonitorUpdate()
so we have to process any pending layer flush request.
Reviewed by Žan Doberšek.
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::handleDisplayRefreshMonitorUpdate):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog (234419 => 234420)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog 2018-07-31 09:25:24 UTC (rev 234419)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/ChangeLog 2018-07-31 09:25:28 UTC (rev 234420)
@@ -1,3 +1,16 @@
+2018-06-29 Miguel Gomez <[email protected]>
+
+ [WPE] Some frames are dropped when using rAF to animate an element
+ https://bugs.webkit.org/show_bug.cgi?id=187175
+
+ Always call renderNextFrame in ThreadedCompositor::requestDisplayRefreshMonitorUpdate()
+ so we have to process any pending layer flush request.
+
+ Reviewed by Žan Doberšek.
+
+ * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+ (WebKit::ThreadedCompositor::handleDisplayRefreshMonitorUpdate):
+
2018-06-26 Miguel Gomez <[email protected]>
[GTK] Many webpages can crash the browser in WebCore::CoordinatedGraphicsLayer::transformedVisibleRect
Modified: releases/WebKitGTK/webkit-2.20/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (234419 => 234420)
--- releases/WebKitGTK/webkit-2.20/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp 2018-07-31 09:25:24 UTC (rev 234419)
+++ releases/WebKitGTK/webkit-2.20/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp 2018-07-31 09:25:28 UTC (rev 234420)
@@ -339,21 +339,18 @@
void ThreadedCompositor::handleDisplayRefreshMonitorUpdate(bool hasBeenRescheduled)
{
- // Retrieve the clientRendersNextFrame and coordinateUpdateCompletionWithClient.
- bool clientRendersNextFrame { false };
+ // Retrieve coordinateUpdateCompletionWithClient.
bool coordinateUpdateCompletionWithClient { false };
{
LockHolder locker(m_attributes.lock);
- clientRendersNextFrame = std::exchange(m_attributes.clientRendersNextFrame, false);
coordinateUpdateCompletionWithClient = std::exchange(m_attributes.coordinateUpdateCompletionWithClient, false);
}
- // If clientRendersNextFrame is true, the client is finally notified about the scene update nearing
- // completion. The client will use this opportunity to clean up resources as appropriate. It can also
- // perform any layer flush that was requested during the composition, or by any DisplayRefreshMonitor
- // notifications that have been handled at this point.
- if (clientRendersNextFrame)
- m_client.renderNextFrame();
+ // The client is finally notified about the scene update nearing completion. The client will use this
+ // opportunity to clean up resources as appropriate. It can also perform any layer flush that was
+ // requested during the composition, or by any DisplayRefreshMonitor notifications that have been
+ // handled at this point.
+ m_client.renderNextFrame();
LockHolder stateLocker(m_compositingRunLoop->stateLock());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes