Title: [290333] trunk/Source/WebKit
- Revision
- 290333
- Author
- hironori.fu...@sony.com
- Date
- 2022-02-22 13:20:23 -0800 (Tue, 22 Feb 2022)
Log Message
[WinCairo][WK2] animations/background-position.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=236630
Reviewed by Don Olmstead.
r289848 was a wrong fix causing some test failures. It called the
force repaint completion handler too early if m_waitDidUpdate was
true when the force repaint was requested. In such case, we should
wait for two DidUpdate messages before calling the completion
handler.
* WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::forceRepaintAsync):
(WebKit::DrawingAreaWC::didUpdate):
* WebProcess/WebPage/wc/DrawingAreaWC.h:
Added m_isForceRepaintCompletionHandlerDeferred flag.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (290332 => 290333)
--- trunk/Source/WebKit/ChangeLog 2022-02-22 21:11:40 UTC (rev 290332)
+++ trunk/Source/WebKit/ChangeLog 2022-02-22 21:20:23 UTC (rev 290333)
@@ -1,3 +1,22 @@
+2022-02-22 Fujii Hironori <hironori.fu...@sony.com>
+
+ [WinCairo][WK2] animations/background-position.html is timing out
+ https://bugs.webkit.org/show_bug.cgi?id=236630
+
+ Reviewed by Don Olmstead.
+
+ r289848 was a wrong fix causing some test failures. It called the
+ force repaint completion handler too early if m_waitDidUpdate was
+ true when the force repaint was requested. In such case, we should
+ wait for two DidUpdate messages before calling the completion
+ handler.
+
+ * WebProcess/WebPage/wc/DrawingAreaWC.cpp:
+ (WebKit::DrawingAreaWC::forceRepaintAsync):
+ (WebKit::DrawingAreaWC::didUpdate):
+ * WebProcess/WebPage/wc/DrawingAreaWC.h:
+ Added m_isForceRepaintCompletionHandlerDeferred flag.
+
2022-02-22 Chris Dumez <cdu...@apple.com>
Clean up / optimize even more call sites constructing vectors
Modified: trunk/Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp (290332 => 290333)
--- trunk/Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp 2022-02-22 21:11:40 UTC (rev 290332)
+++ trunk/Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp 2022-02-22 21:20:23 UTC (rev 290333)
@@ -174,6 +174,7 @@
void DrawingAreaWC::forceRepaintAsync(WebPage&, CompletionHandler<void()>&& completionHandler)
{
m_forceRepaintCompletionHandler = WTFMove(completionHandler);
+ m_isForceRepaintCompletionHandlerDeferred = m_waitDidUpdate;
setNeedsDisplay();
}
@@ -367,8 +368,12 @@
void DrawingAreaWC::didUpdate()
{
m_waitDidUpdate = false;
- if (m_forceRepaintCompletionHandler)
- m_forceRepaintCompletionHandler();
+ if (m_forceRepaintCompletionHandler) {
+ if (m_isForceRepaintCompletionHandlerDeferred)
+ m_isForceRepaintCompletionHandlerDeferred = false;
+ else
+ m_forceRepaintCompletionHandler();
+ }
if (m_hasDeferredRenderingUpdate) {
m_hasDeferredRenderingUpdate = false;
triggerRenderingUpdate();
Modified: trunk/Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h (290332 => 290333)
--- trunk/Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h 2022-02-22 21:11:40 UTC (rev 290332)
+++ trunk/Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h 2022-02-22 21:20:23 UTC (rev 290333)
@@ -80,6 +80,7 @@
bool m_hasDeferredRenderingUpdate { false };
bool m_inUpdateRendering { false };
bool m_waitDidUpdate { false };
+ bool m_isForceRepaintCompletionHandlerDeferred { false };
WCUpateInfo m_updateInfo;
Ref<WebCore::GraphicsLayer> m_rootLayer;
RefPtr<WebCore::GraphicsLayer> m_contentLayer;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes