Title: [293516] trunk
Revision
293516
Author
you...@apple.com
Date
2022-04-27 10:22:57 -0700 (Wed, 27 Apr 2022)

Log Message

[Mac] http/tests/media/user-gesture-preserved-across-xmlhttprequest.html is a flaky fail/crash/timeout
https://bugs.webkit.org/show_bug.cgi?id=229588
<rdar://problem/82408723>

Reviewed by Chris Dumez.

Source/WebCore:

I removed the user gesture in fetch by mistake so let's add it back.
Test is no longer crashing on bots and is timing out on debug bots because it is a slow test.
Mark test as slow and remove flakiness expectations.

Covered by unflaked test.

* Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp:
(WebCore::doFetch):

LayoutTests:

* platform/mac/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (293515 => 293516)


--- trunk/LayoutTests/ChangeLog	2022-04-27 17:15:53 UTC (rev 293515)
+++ trunk/LayoutTests/ChangeLog	2022-04-27 17:22:57 UTC (rev 293516)
@@ -1,3 +1,13 @@
+2022-04-27  Youenn Fablet  <you...@apple.com>
+
+        [Mac] http/tests/media/user-gesture-preserved-across-xmlhttprequest.html is a flaky fail/crash/timeout
+        https://bugs.webkit.org/show_bug.cgi?id=229588
+        <rdar://problem/82408723>
+
+        Reviewed by Chris Dumez.
+
+        * platform/mac/TestExpectations:
+
 2022-04-27  Ziran Sun  <z...@igalia.com>
 
         [css-ui] Remove some unimplemented -webkit-appearance keywords

Modified: trunk/LayoutTests/platform/mac/TestExpectations (293515 => 293516)


--- trunk/LayoutTests/platform/mac/TestExpectations	2022-04-27 17:15:53 UTC (rev 293515)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2022-04-27 17:22:57 UTC (rev 293516)
@@ -2191,7 +2191,7 @@
 
 webkit.org/b/229521 pointer-lock/lock-already-locked.html [ Pass Failure ]
 
-webkit.org/b/229588 http/tests/media/user-gesture-preserved-across-xmlhttprequest.html [ Pass Crash Failure Timeout ]
+[ Debug ] http/tests/media/user-gesture-preserved-across-xmlhttprequest.html [ Slow ]
 
 webkit.org/b/228176 [ BigSur Monterey ] fast/text/variable-system-font-2.html [ Pass ]
 

Modified: trunk/Source/WebCore/ChangeLog (293515 => 293516)


--- trunk/Source/WebCore/ChangeLog	2022-04-27 17:15:53 UTC (rev 293515)
+++ trunk/Source/WebCore/ChangeLog	2022-04-27 17:22:57 UTC (rev 293516)
@@ -1,3 +1,20 @@
+2022-04-27  Youenn Fablet  <you...@apple.com>
+
+        [Mac] http/tests/media/user-gesture-preserved-across-xmlhttprequest.html is a flaky fail/crash/timeout
+        https://bugs.webkit.org/show_bug.cgi?id=229588
+        <rdar://problem/82408723>
+
+        Reviewed by Chris Dumez.
+
+        I removed the user gesture in fetch by mistake so let's add it back.
+        Test is no longer crashing on bots and is timing out on debug bots because it is a slow test.
+        Mark test as slow and remove flakiness expectations.
+
+        Covered by unflaked test.
+
+        * Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp:
+        (WebCore::doFetch):
+
 2022-04-27  Ziran Sun  <z...@igalia.com>
 
         [css-ui] Remove some unimplemented -webkit-appearance keywords

Modified: trunk/Source/WebCore/Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp (293515 => 293516)


--- trunk/Source/WebCore/Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp	2022-04-27 17:15:53 UTC (rev 293515)
+++ trunk/Source/WebCore/Modules/fetch/WindowOrWorkerGlobalScopeFetch.cpp	2022-04-27 17:22:57 UTC (rev 293516)
@@ -55,8 +55,13 @@
         return;
     }
 
-    FetchResponse::fetch(scope, request.get(), [promise = WTFMove(promise), scope = Ref { scope }](auto&& result) mutable {
-        scope->eventLoop().queueTask(TaskSource::Networking, [promise = WTFMove(promise), result = WTFMove(result)]() mutable {
+    FetchResponse::fetch(scope, request.get(), [promise = WTFMove(promise), scope = Ref { scope }, userGestureToken = UserGestureIndicator::currentUserGesture()](auto&& result) mutable {
+        scope->eventLoop().queueTask(TaskSource::Networking, [promise = WTFMove(promise), userGestureToken = WTFMove(userGestureToken), result = WTFMove(result)]() mutable {
+            if (!userGestureToken || userGestureToken->hasExpired(UserGestureToken::maximumIntervalForUserGestureForwardingForFetch()) || !userGestureToken->processingUserGesture()) {
+                promise.settle(WTFMove(result));
+                return;
+            }
+            UserGestureIndicator gestureIndicator(userGestureToken, UserGestureToken::GestureScope::MediaOnly, UserGestureToken::IsPropagatedFromFetch::Yes);
             promise.settle(WTFMove(result));
         });
     }, cachedResourceRequestInitiators().fetch);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to