Bug 38132

Summary: Web Inspector: [Chromium] breakpoints are not preserved after reload
Product: WebKit Reporter: Andrey Kosyakov <caseq>
Component: Web Inspector (Deprecated)Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Minor CC: bweinstein, joepeck, keishi, pfeldman, pmuellr, rik, timothy, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Restore breakpoints associated with script's url once script is parsed
pfeldman: review-
added support for "enabled" state when storing breakpoints
none
removed console.log none

Description Andrey Kosyakov 2010-04-26 11:22:49 PDT
1. Load a page
2. Set a breakpoint
3. Reload

EXPECTED: Breakpoint is displayed in Breakpoints sidebar pane
ACTUAL: Breakpoint is hit, but it's not displayed in Breakpoints sidebar pane
Comment 1 Andrey Kosyakov 2010-04-26 12:04:24 PDT
Created attachment 54321 [details]
Restore breakpoints associated with script's url once script is parsed
Comment 2 Pavel Feldman 2010-04-26 13:17:06 PDT
Comment on attachment 54321 [details]
Restore breakpoints associated with script's url once script is parsed

WebCore/inspector/front-end/Breakpoint.js:74
 +          return (this.url ? this.url : this.sourceID) + ":" + this.line;
It is not clear to me why this change is necessary. We'd like breakpoints to point to exact scripts, while URL <-> sourceID mapping is external.


WebKit/chromium/src/js/DebuggerAgent.js:1100
 +          if (line * 1 == line)
if (parseInt(line) === line)



WebKit/chromium/src/js/DebuggerAgent.js:1101
 +              WebInspector.restoredBreakpoint(sourceID, scriptUrl, devtools.DebuggerAgent.v8ToWwebkitLineNumber_(line * 1), true, breakpoints[line].condition());
line * 1 -> parseInt(line)


I think you should call devtools.DebuggerAgent.prototype.addBreakpoint for disabled breakpoints as well and populate the maps with the appropriate BreakpointInfo. You would need to cut the control flow further so that disabled breakpoint does not get into the VM.
Comment 3 Andrey Kosyakov 2010-04-27 03:13:32 PDT
Created attachment 54405 [details]
added support for "enabled" state when storing breakpoints
Comment 4 Pavel Feldman 2010-04-27 03:18:03 PDT
Comment on attachment 54405 [details]
added support for "enabled" state when storing breakpoints

Looks good except for bogus console.log.
Comment 5 Pavel Feldman 2010-04-27 03:21:03 PDT
Comment on attachment 54405 [details]
added support for "enabled" state when storing breakpoints

Looks good except for bogus console.log.
Comment 6 Andrey Kosyakov 2010-04-27 03:23:43 PDT
Created attachment 54406 [details]
removed console.log
Comment 7 Pavel Feldman 2010-04-27 09:39:33 PDT
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKit/chromium/ChangeLog
	M	WebKit/chromium/src/js/DebuggerAgent.js
Committed r58312