Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5b1242114ff523ce7b13e97ddb0881af98a887d6
      
https://github.com/WebKit/WebKit/commit/5b1242114ff523ce7b13e97ddb0881af98a887d6
  Author: Devin Rousso <[email protected]>
  Date:   2023-05-17 (Wed, 17 May 2023)

  Changed paths:
    A LayoutTests/inspector/debugger/stepping/stepOver-breakpoint-expected.txt
    A LayoutTests/inspector/debugger/stepping/stepOver-breakpoint.html
    M Source/JavaScriptCore/debugger/Debugger.cpp
    M Source/JavaScriptCore/debugger/Debugger.h

  Log Message:
  -----------
  Web Inspector: Step Over behaves like resume when stepping over a function 
with a falsey conditional breakpoint
https://bugs.webkit.org/show_bug.cgi?id=247088
<rdar://problem/101604843>

Reviewed by Patrick Angle.

Breakpoints should only take precedence over stepping actions if they are 
actually triggering a pause.

If the breakpoint doesn't pause (e.g. a falsy `condition`, below the 
`ignoreCount`, etc.) then the `Debugger` should still behave as if it's 
stepping.

* Source/JavaScriptCore/debugger/Debugger.h:
* Source/JavaScriptCore/debugger/Debugger.cpp:
(JSC::Debugger::continueProgram):
(JSC::Debugger::pauseIfNeeded):
(JSC::Debugger::didExecuteProgram):
(JSC::Debugger::resetImmediatePauseState): Added.
(JSC::Debugger::resetEventualPauseState): Added.
(JSC::Debugger::clearNextPauseState): Deleted.
Split the resetting of pause state variables into two "variants":
- immediate pause state variables (e.g. "Pause script execution", after 
blackboxed scripts, special breakpoints, etc.)
- eventual pause state variables (e.g. Step over", Step out", "Step next", etc.)
Only clear eventual pause state variables if we're at the desired call frame, 
or if we're actually pausing at a breakpoint (because the pause reason is now 
the breakpoint, not the stepping action).

* LayoutTests/inspector/debugger/stepping/stepOver-breakpoint.html: Added.
* LayoutTests/inspector/debugger/stepping/stepOver-breakpoint-expected.txt: 
Added.

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to