RESOLVED FIXED 165578
Web Inspector: Unable to delete breakpoint from worker script
https://bugs.webkit.org/show_bug.cgi?id=165578
Summary Web Inspector: Unable to delete breakpoint from worker script
Matt Baker
Reported 2016-12-07 18:38:47 PST
Summary: Unable to delete breakpoint from worker script. Steps to Reproduce: 1. Goto https://nerget.com/rayjs-mt/rayjs.html 2. Set a breakpoint at render-task.js:17 3. Hit Go! => Pauses at breakpoint 4. Delete breakpoint and resume => Pauses at line where breakpoint once lived
Attachments
[PATCH] Proposed Fix (10.99 KB, patch)
2016-12-07 20:03 PST, Joseph Pecoraro
no flags
[PATCH] Proposed Fix (11.03 KB, patch)
2016-12-07 20:17 PST, Joseph Pecoraro
mattbaker: review+
Joseph Pecoraro
Comment 1 2016-12-07 19:04:47 PST
Other code uses this pattern: if (breakpoint.contentIdentifier) { // Affect all targets } else if (breakpoint.scriptIdentifier) { // Affect only breakpoint.target } I should be using this pattern in DebuggerManager.prototype._removeBreakpoint just like we do in DebuggerManager.prototype._setBreakpoint. Testing a fix now.
Joseph Pecoraro
Comment 2 2016-12-07 19:08:41 PST
Yep, that addresses the issue. I'll should be able to write a test for this.
Joseph Pecoraro
Comment 3 2016-12-07 20:00:57 PST
To clarify, the breakpoint is removed from only 1 Worker and not all Workers that shared a resource with the same URL.
Joseph Pecoraro
Comment 4 2016-12-07 20:03:20 PST
Created attachment 296468 [details] [PATCH] Proposed Fix
Joseph Pecoraro
Comment 5 2016-12-07 20:16:36 PST
Comment on attachment 296468 [details] [PATCH] Proposed Fix Forgot to update test results in patch.
Joseph Pecoraro
Comment 6 2016-12-07 20:17:24 PST
Created attachment 296472 [details] [PATCH] Proposed Fix
Matt Baker
Comment 7 2016-12-07 23:40:41 PST
Comment on attachment 296472 [details] [PATCH] Proposed Fix View in context: https://bugs.webkit.org/attachment.cgi?id=296472&action=review Nice test! r=me > LayoutTests/inspector/worker/debugger-shared-breakpoint.html:33 > + // pause on the next statement. Do an InspectorTest.log, which evalutes evaluates > LayoutTests/inspector/worker/debugger-shared-breakpoint.html:74 > + InspectorTest.evaluateInPage(`triggerCreateWorkers(); triggerWorkerResponse();`); Seems like a template literal isn't needed here. > LayoutTests/inspector/worker/debugger-shared-breakpoint.html:100 > + InspectorTest.evaluateInPage(`triggerWorkerBreakpointPauses()`); Ditto. > LayoutTests/inspector/worker/debugger-shared-breakpoint.html:126 > + InspectorTest.evaluateInPage(`triggerWorkerResponse()`); Ditto.
Joseph Pecoraro
Comment 8 2016-12-08 11:34:26 PST
Comment on attachment 296472 [details] [PATCH] Proposed Fix View in context: https://bugs.webkit.org/attachment.cgi?id=296472&action=review >> LayoutTests/inspector/worker/debugger-shared-breakpoint.html:74 >> + InspectorTest.evaluateInPage(`triggerCreateWorkers(); triggerWorkerResponse();`); > > Seems like a template literal isn't needed here. It is easy to use a template literal for code to not have to worry about strings that may appear in the code.
Joseph Pecoraro
Comment 9 2016-12-08 12:25:10 PST
Note You need to log in before you can comment on or make changes to this bug.