Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1610f4136d8f7393d9c438c7f2266cc6f35b15a7
https://github.com/WebKit/WebKit/commit/1610f4136d8f7393d9c438c7f2266cc6f35b15a7
Author: Ben Nham <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/WebCore/bindings/js/ScriptController.cpp
M Source/WebCore/page/LocalDOMWindow.h
M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/AsyncFunction.mm
Log Message:
-----------
Unreviewed, reverting 321448@main (c963a9e4dece)
https://bugs.webkit.org/show_bug.cgi?id=326412
rdar://188897444
This didn't quite work and could lead to a transient activation from
evaluateJavaScript being
leaked. For instance:
1. The client calls [webView evaluateJavaScript:@"setTimeout(f, 10)" ...]. The
forced user gesture
gives the window activation at time T1. The pending timer keeps the
gesture's token alive.
2. Before f runs, the client calls [webView evaluateJavaScript:@"setTimeout(g,
1000)" ...]. The
second forced user gesture records T1 as the window's previous activation
timestamp, and gives
the window activation at time T2.
3. f runs and the first token is destroyed. The window's activation is T2, not
T1, so nothing is
revoked.
4. g runs and the second token is destroyed. The window's activation is T2, so
it is restored to
the previous activation that the second gesture recorded (T1).
This also caused a PLT regression.
Reverted change:
Regression(316338@main) “Copy to clipboard” button on some sites sometimes
does not copy the first time
https://bugs.webkit.org/show_bug.cgi?id=324512
rdar://186521201
321448@main (c963a9e4dece)
Canonical link: https://commits.webkit.org/322775@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications