Title: [281699] trunk
Revision
281699
Author
[email protected]
Date
2021-08-27 10:02:23 -0700 (Fri, 27 Aug 2021)

Log Message

REGRESSION (r281516): imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=229501
<rdar://problem/82346152>

Reviewed by Darin Adler.

Tools:

In case of a COOP process-swap, the old process gets a didFailProvisionalLoadWithErrorForFrame delegate call. We want to ignore
this call in WKTR's injected bundle since it causes the test to dump its output too eagerly, before the test has had a chance
to run in the new process.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame):
(WTR::InjectedBundlePage::didCommitLoadForFrame):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:

LayoutTests:

Unskip tests now that they should no longer be flaky.

* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (281698 => 281699)


--- trunk/LayoutTests/ChangeLog	2021-08-27 16:50:45 UTC (rev 281698)
+++ trunk/LayoutTests/ChangeLog	2021-08-27 17:02:23 UTC (rev 281699)
@@ -1,3 +1,16 @@
+2021-08-27  Chris Dumez  <[email protected]>
+
+        REGRESSION (r281516): imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=229501
+        <rdar://problem/82346152>
+
+        Reviewed by Darin Adler.
+
+        Unskip tests now that they should no longer be flaky.
+
+        * platform/ios/TestExpectations:
+        * platform/mac/TestExpectations:
+
 2021-08-27  Martin Robinson  <[email protected]>
 
         [css-position-sticky] createIndicatorForStickyElements testing function races with font loading

Modified: trunk/LayoutTests/platform/ios/TestExpectations (281698 => 281699)


--- trunk/LayoutTests/platform/ios/TestExpectations	2021-08-27 16:50:45 UTC (rev 281698)
+++ trunk/LayoutTests/platform/ios/TestExpectations	2021-08-27 17:02:23 UTC (rev 281699)
@@ -3161,10 +3161,6 @@
 
 webkit.org/b/207652 imported/w3c/IndexedDB-private-browsing/idbcursor_delete_objectstore5.html [ Pass Timeout ]
 
-webkit.org/b/229565 imported/w3c/web-platform-tests/encoding/sharedarraybuffer.https.html [ Pass Failure ]
-
-webkit.org/b/229501 imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html [ Pass Failure ]
-
 webkit.org/b/207702 imported/w3c/web-platform-tests/IndexedDB/key-generators/reading-autoincrement-indexes.any.serviceworker.html [ Pass Failure ]
 
 webkit.org/b/207703 imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https.html [ Pass Failure ]

Modified: trunk/LayoutTests/platform/mac/TestExpectations (281698 => 281699)


--- trunk/LayoutTests/platform/mac/TestExpectations	2021-08-27 16:50:45 UTC (rev 281698)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2021-08-27 17:02:23 UTC (rev 281699)
@@ -1998,10 +1998,6 @@
 
 webkit.org/b/216298 imported/w3c/web-platform-tests/IndexedDB/blob-valid-after-deletion.any.html [ Pass Failure ]
 
-webkit.org/b/229501 imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html [ Pass Failure ]
-
-webkit.org/b/229565 [ Debug ] imported/w3c/web-platform-tests/encoding/sharedarraybuffer.https.html [ Pass Failure ]
-
 webkit.org/b/186045 imported/w3c/web-platform-tests/css/css-ui/text-overflow-017.html [ Skip ]
 webkit.org/b/186045 imported/w3c/web-platform-tests/css/css-values/vh_not_refreshing_on_chrome.html [ Skip ]
 webkit.org/b/186045 imported/w3c/web-platform-tests/html/rendering/replaced-elements/embedded-content/cross-domain-iframe.sub.html [ Skip ]

Modified: trunk/Tools/ChangeLog (281698 => 281699)


--- trunk/Tools/ChangeLog	2021-08-27 16:50:45 UTC (rev 281698)
+++ trunk/Tools/ChangeLog	2021-08-27 17:02:23 UTC (rev 281699)
@@ -1,3 +1,20 @@
+2021-08-27  Chris Dumez  <[email protected]>
+
+        REGRESSION (r281516): imported/w3c/web-platform-tests/IndexedDB/serialize-sharedarraybuffer-throws.https.html is failing
+        https://bugs.webkit.org/show_bug.cgi?id=229501
+        <rdar://problem/82346152>
+
+        Reviewed by Darin Adler.
+
+        In case of a COOP process-swap, the old process gets a didFailProvisionalLoadWithErrorForFrame delegate call. We want to ignore
+        this call in WKTR's injected bundle since it causes the test to dump its output too eagerly, before the test has had a chance
+        to run in the new process.
+
+        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
+        (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame):
+        (WTR::InjectedBundlePage::didCommitLoadForFrame):
+        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
+
 2021-08-27  Kate Cheney  <[email protected]>
 
         PrivateClickMeasurementManager::firePendingAttributionRequests() is crashing in debug

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp (281698 => 281699)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp	2021-08-27 16:50:45 UTC (rev 281698)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp	2021-08-27 17:02:23 UTC (rev 281699)
@@ -406,6 +406,8 @@
     uninstallFakeHelvetica();
 
     InjectedBundle::singleton().resetUserScriptInjectedCount();
+
+    m_didCommitMainFrameLoad = false;
 }
 
 // Loader Client Callbacks
@@ -634,6 +636,11 @@
     if (!injectedBundle.isTestRunning())
         return;
 
+    // In case of a COOP process-swap, the old process gets a didFailProvisionalLoadWithErrorForFrame delegate call. We want to ignore
+    // this call since it causes the test to dump its output too eagerly, before the test has had a chance to run in the new process.
+    if (WKErrorGetErrorCode(error) == kWKErrorCodeFrameLoadInterruptedByPolicyChange && WKBundleFrameIsMainFrame(frame) && !m_didCommitMainFrameLoad && injectedBundle.page() == this)
+        return;
+
     if (injectedBundle.testRunner()->shouldDumpFrameLoadCallbacks()) {
         dumpLoadEvent(frame, "didFailProvisionalLoadWithError");
         auto code = WKErrorGetErrorCode(error);
@@ -652,6 +659,9 @@
     if (!injectedBundle.isTestRunning())
         return;
 
+    if (WKBundleFrameIsMainFrame(frame))
+        m_didCommitMainFrameLoad = true;
+
     if (!injectedBundle.testRunner()->shouldDumpFrameLoadCallbacks())
         return;
 

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h (281698 => 281699)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h	2021-08-27 16:50:45 UTC (rev 281698)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.h	2021-08-27 17:02:23 UTC (rev 281699)
@@ -180,6 +180,7 @@
 
     WKBundlePageRef m_page;
     WKRetainPtr<WKBundleScriptWorldRef> m_world;
+    bool m_didCommitMainFrameLoad { false };
 };
 
 } // namespace WTR
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to