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