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

Reply via email to