Title: [271593] trunk
Revision
271593
Author
[email protected]
Date
2021-01-18 16:14:11 -0800 (Mon, 18 Jan 2021)

Log Message

[Win][DumpRenderTree] ASSERT(!m_channel) failed in WebSocket::contextDestroyed
https://bugs.webkit.org/show_bug.cgi?id=220450

Reviewed by Per Arne Vollan.

Tools:

WebSocket::failAsynchronously() posts a deferred task calling
WebSocket::stop() by using callOnMainThread, but the task was not
executed soon because DumpRenderTree stopped running the run loop
after finishing the test.

DumpRenderTree's run loop should dispatch all deferred tasks
before finishing the current test. Deffer setting the variable
'done' by posting a application message.

* DumpRenderTree/win/DumpRenderTree.cpp: Define a application message WM_DRT_TEST_DONE.
(DumpRenderTreeWndProc): Set 'done' in the case of WM_DRT_TEST_DONE.
(dump): Post WM_DRT_TEST_DONE.

LayoutTests:

* platform/win/TestExpectations: Marked fast/events/currentTarget-gc-crash.html.
* platform/wincairo-wk1/TestExpectations: Ditto.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (271592 => 271593)


--- trunk/LayoutTests/ChangeLog	2021-01-19 00:07:56 UTC (rev 271592)
+++ trunk/LayoutTests/ChangeLog	2021-01-19 00:14:11 UTC (rev 271593)
@@ -1,3 +1,13 @@
+2021-01-18  Fujii Hironori  <[email protected]>
+
+        [Win][DumpRenderTree] ASSERT(!m_channel) failed in WebSocket::contextDestroyed
+        https://bugs.webkit.org/show_bug.cgi?id=220450
+
+        Reviewed by Per Arne Vollan.
+
+        * platform/win/TestExpectations: Marked fast/events/currentTarget-gc-crash.html.
+        * platform/wincairo-wk1/TestExpectations: Ditto.
+
 2021-01-18  Andres Gonzalez  <[email protected]>
 
         Fix for LayoutTests/accessibility/canvas-fallback-content.html in isolated tree mode.

Modified: trunk/LayoutTests/platform/win/TestExpectations (271592 => 271593)


--- trunk/LayoutTests/platform/win/TestExpectations	2021-01-19 00:07:56 UTC (rev 271592)
+++ trunk/LayoutTests/platform/win/TestExpectations	2021-01-19 00:14:11 UTC (rev 271593)
@@ -4616,6 +4616,8 @@
 
 webkit.org/b/220536 fast/text/cjk-multi-codepoint-cluster-vertical.html [ ImageOnlyFailure ]
 
+webkit.org/b/220579 fast/events/currentTarget-gc-crash.html [ Skip ]
+
 # These tests time out on Windows
 webkit.org/b/220653 webanimations/combining-transform-animations-with-different-acceleration-capabilities-2.html [ Skip ]
 webkit.org/b/220653 webanimations/combining-transform-animations-with-different-acceleration-capabilities-3.html [ Skip ]

Modified: trunk/LayoutTests/platform/wincairo-wk1/TestExpectations (271592 => 271593)


--- trunk/LayoutTests/platform/wincairo-wk1/TestExpectations	2021-01-19 00:07:56 UTC (rev 271592)
+++ trunk/LayoutTests/platform/wincairo-wk1/TestExpectations	2021-01-19 00:14:11 UTC (rev 271593)
@@ -310,3 +310,5 @@
 
 # Skip ResourceLoadStatistics
 http/tests/resourceLoadStatistics [ Skip ]
+
+webkit.org/b/220579 fast/events/currentTarget-gc-crash.html [ Skip ]

Modified: trunk/Tools/ChangeLog (271592 => 271593)


--- trunk/Tools/ChangeLog	2021-01-19 00:07:56 UTC (rev 271592)
+++ trunk/Tools/ChangeLog	2021-01-19 00:14:11 UTC (rev 271593)
@@ -1,3 +1,23 @@
+2021-01-18  Fujii Hironori  <[email protected]>
+
+        [Win][DumpRenderTree] ASSERT(!m_channel) failed in WebSocket::contextDestroyed
+        https://bugs.webkit.org/show_bug.cgi?id=220450
+
+        Reviewed by Per Arne Vollan.
+
+        WebSocket::failAsynchronously() posts a deferred task calling
+        WebSocket::stop() by using callOnMainThread, but the task was not
+        executed soon because DumpRenderTree stopped running the run loop
+        after finishing the test.
+
+        DumpRenderTree's run loop should dispatch all deferred tasks
+        before finishing the current test. Deffer setting the variable
+        'done' by posting a application message.
+
+        * DumpRenderTree/win/DumpRenderTree.cpp: Define a application message WM_DRT_TEST_DONE.
+        (DumpRenderTreeWndProc): Set 'done' in the case of WM_DRT_TEST_DONE.
+        (dump): Post WM_DRT_TEST_DONE.
+
 2021-01-18  Lauro Moura  <[email protected]>
 
         [WPE] Fix WPEQt tests after r271514

Modified: trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp (271592 => 271593)


--- trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2021-01-19 00:07:56 UTC (rev 271592)
+++ trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp	2021-01-19 00:14:11 UTC (rev 271593)
@@ -1289,10 +1289,15 @@
         request->setAllowsAnyHTTPSCertificate();
     frame->loadRequest(request.get());
 
-    while (!done) {
+    while (true) {
 #if USE(CF)
         CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0, true);
 #endif
+        if (done) {
+            // Post WM_QUIT to ensure that all deferred tasks are dispatched before quitting the run loop.
+            PostQuitMessage(0);
+        }
+
         if (!::GetMessage(&msg, 0, 0, 0))
             break;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to