Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e46c5005ecf3d56bf07f83b3889e2f8cd6aeb783
      
https://github.com/WebKit/WebKit/commit/e46c5005ecf3d56bf07f83b3889e2f8cd6aeb783
  Author: Carlos Alberto Lopez Perez <[email protected]>
  Date:   2026-04-13 (Mon, 13 Apr 2026)

  Changed paths:
    A 
LayoutTests/fast/animation/request-animation-frame-in-isolated-world-with-javascript-disabled-expected.html
    A 
LayoutTests/fast/animation/request-animation-frame-in-isolated-world-with-javascript-disabled.html
    A 
LayoutTests/fast/animation/request-video-frame-callback-in-isolated-world-with-javascript-disabled-expected.html
    A 
LayoutTests/fast/animation/request-video-frame-callback-in-isolated-world-with-javascript-disabled.html
    M LayoutTests/platform/win/TestExpectations
    M Source/WebCore/dom/ScriptedAnimationController.cpp
    M Source/WebCore/html/HTMLVideoElement.cpp

  Log Message:
  -----------
  REGRESSION(310666@main): requestAnimationFrame and requestVideoFrameCallback 
callbacks are not fired in isolated worlds when JS is disabled in the main page.
https://bugs.webkit.org/show_bug.cgi?id=311810

Reviewed by Ryosuke Niwa.

310666@main added a new canExecuteScripts(AboutToExecuteScript) check to
serviceRequestAnimationFrameCallbacks and serviceRequestVideoFrameCallbacks.
This check returns false if JS is disabled in the main page, blocking all
rAF and requestVideoFrameCallback callbacks.

However canExecuteScripts() returns true for non-normal worlds, but since the
check was done without passing a world, isolated world callbacks were 
incorrectly
blocked.

This patch moves the canExecuteScripts() check inside the loop and passes the
DOMWrapperWorld obtained from each callback JSDOMGlobalObject, so that
isolated world callbacks (e.g. from browser extensions or injected scripts)
can run even when JS is disabled in the main page.

Tests: 
fast/animation/request-animation-frame-in-isolated-world-with-javascript-disabled.html
       
fast/animation/request-video-frame-callback-in-isolated-world-with-javascript-disabled.html

* 
LayoutTests/fast/animation/request-animation-frame-in-isolated-world-with-javascript-disabled-expected.html:
 Added.
* 
LayoutTests/fast/animation/request-animation-frame-in-isolated-world-with-javascript-disabled.html:
 Added.
* 
LayoutTests/fast/animation/request-video-frame-callback-in-isolated-world-with-javascript-disabled-expected.html:
 Added.
* 
LayoutTests/fast/animation/request-video-frame-callback-in-isolated-world-with-javascript-disabled.html:
 Added.
* LayoutTests/platform/win/TestExpectations:
* Source/WebCore/dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks):
* Source/WebCore/html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::serviceRequestVideoFrameCallbacks):

Canonical link: https://commits.webkit.org/311058@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to