Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 78999621514d888b8c2632dafa44633a0fdb4b38
https://github.com/WebKit/WebKit/commit/78999621514d888b8c2632dafa44633a0fdb4b38
Author: Basuke Suzuki <[email protected]>
Date: 2026-10-06 (Tue, 06 Oct 2026)
Changed paths:
A
LayoutTests/http/tests/site-isolation/inspector/debugger/pause-blocked-by-same-process-frame-expected.txt
A
LayoutTests/http/tests/site-isolation/inspector/debugger/pause-blocked-by-same-process-frame.html
A
LayoutTests/http/tests/site-isolation/inspector/debugger/resources/same-process-frame.html
M Source/JavaScriptCore/debugger/Debugger.cpp
Log Message:
-----------
[Site Isolation] Web Inspector: Debugger::exception() is missing the guard
for a pause blocked by another FrameDebugger
https://bugs.webkit.org/show_bug.cgi?id=326571
rdar://189339057
Reviewed by Qianlang Chen.
322777@main made a FrameDebugger refuse to pause while another FrameDebugger in
the same
process is paused, by checking isPauseBlockedByAnotherDebugger() in
breakProgram(),
pauseIfNeeded(), and didReachDebuggerStatement(). exception() was not updated.
With pause on
exceptions enabled, it set m_specialBreakpoint and enabled stepping mode before
pauseIfNeeded() returned early, and nothing cleared that state, so once the
other pause ended
the frame paused at the next unrelated statement it ran. Return early from
exception() too.
The new test also covers the rest of 322777@main's behavior, which had no test:
a
same-process sibling is held while a frame is paused, a debugger statement in
the sibling
does not pause, a pause requested for the sibling waits until the other frame
resumes, and a
paused frame whose iframe is removed stays paused until it is resumed. Without
the fix, the
ExceptionInSibling case fails.
PendingPauseInSibling records today's behavior, where the requested pause
survives and fires
once the other frame resumes. The cross-process pause session planned for
global debugger
pause (webkit.org/b/325545) may instead cancel such requests when a pause
begins, which would
change that expectation.
*
LayoutTests/http/tests/site-isolation/inspector/debugger/pause-blocked-by-same-process-frame-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/inspector/debugger/pause-blocked-by-same-process-frame.html:
Added.
*
LayoutTests/http/tests/site-isolation/inspector/debugger/resources/same-process-frame.html:
Added.
* Source/JavaScriptCore/debugger/Debugger.cpp:
(JSC::Debugger::exception):
Canonical link: https://commits.webkit.org/322901@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications