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

Reply via email to