Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation. Also, sometimes breakpoints disappear from DebuggerPresentationModel (removed from _breakpointsWithoutSourceFile and never added to sourceFile.breakpoints).
Created attachment 91134 [details] Patch.
Created attachment 91275 [details] Add test.
Created attachment 91485 [details] Remove all breakpoints when formatting mode is changed.
Comment on attachment 91485 [details] Remove all breakpoints when formatting mode is changed. View in context: https://bugs.webkit.org/attachment.cgi?id=91485&action=review > Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:346 > + if (callback) Why did you make this call synchronous? > Source/WebCore/inspector/front-end/ScriptsPanel.js:478 > + for (var id in this._sourceFileIdToSourceFrame) { Is this change related?
(In reply to comment #4) > (From update of attachment 91485 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=91485&action=review > > > Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:346 > > + if (callback) > > Why did you make this call synchronous? Right after the call to WebInspector.debuggerModel.removeBreakpoint breakpoint is left in inconsistent state - it still have debuggerId. After dpm.reset breakpoint will be in that state forever. From the other side, since the order of calls is preserved, the calls are effectively synchronous, and it is safe to ignore the callback here. > > > Source/WebCore/inspector/front-end/ScriptsPanel.js:478 > > + for (var id in this._sourceFileIdToSourceFrame) { > > Is this change related? It's a drive-by fix for minor problem with source frames that are loaded too late (after reset when there are no source files).
Committed r85315: <http://trac.webkit.org/changeset/85315>
Committed r85321: <http://trac.webkit.org/changeset/85321>