Created attachment 225731 [details] reproduction test case Steps to reproduce: 1. Untar the attached test case. You should get a debugger-statement.html and debugger-statement.js. Load debugger-statement.html in the browser. 2. Open the WebInspector. 3. Set breakpoint in debugger-statement.js at lines 2 and 4. 4. Reload the page in the browser. After the reload, the breakpoints are not re-enabled. I put some prints in JSC::Debugger::setBreakpoint() and JSC::Debugger::clearBreakpoint(), and confirmed that the breakpoints were set, and then cleared when I did the reload. However, after the reload, setBreakpoint() was not called to restore the breakpoints. This means the issue happens above JSC.
<rdar://problem/16219327>
Created attachment 225829 [details] the patch
Comment on attachment 225829 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=225829&action=review > Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:723 > + scriptDebugServer().continueProgram(); > + clearDebuggerBreakpointState(); Shouldn't you clear the breakpoints before continuing the program?
(In reply to comment #3) > (From update of attachment 225829 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=225829&action=review > > > Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:723 > > + scriptDebugServer().continueProgram(); > > + clearDebuggerBreakpointState(); > > Shouldn't you clear the breakpoints before continuing the program? That call is redundant with the clear/continue inside clearDebuggerBreakpointState(), and can be removed.
Comment on attachment 225829 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=225829&action=review > Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:713 > + ErrorString dummyError; > setOverlayMessage(&dummyError, nullptr); setOverlayMessage currently does nothing. And I wouldn't associate this with "clearDebuggerBreakpointState". Maybe we should just remove it. Otherwise, leave it here and we will clean it up later. >> Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:723 >> + clearDebuggerBreakpointState(); > > Shouldn't you clear the breakpoints before continuing the program? I agree with Mark's comment. In fact, clearDebuggerBreakpointState already does a continue program, so you can remove the line from here. r=me with that change.
Created attachment 225845 [details] the patch (revised)
Comment on attachment 225845 [details] the patch (revised) Clearing flags on attachment: 225845 Committed r165093: <http://trac.webkit.org/changeset/165093>
All reviewed patches have been landed. Closing bug.