WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
218141
Web Inspector: console command line API should be exposed to breakpoint conditions/actions
https://bugs.webkit.org/show_bug.cgi?id=218141
Summary
Web Inspector: console command line API should be exposed to breakpoint condi...
Devin Rousso
Reported
2020-10-23 15:29:22 PDT
I should be able to access `$event`/`$exception`/etc. from inside a JavaScript breakpoint condition or Evaluate JavaScript action
https://webkit.org/web-inspector/console-command-line-api/
https://webkit.org/web-inspector/dom-breakpoints/
https://webkit.org/web-inspector/event-breakpoints/
https://webkit.org/web-inspector/javascript-breakpoints/
https://webkit.org/web-inspector/url-breakpoints/
Attachments
Patch
(82.61 KB, patch)
2020-10-23 21:38 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Patch
(82.56 KB, patch)
2020-10-23 22:29 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Patch
(85.28 KB, patch)
2020-10-26 18:33 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Devin Rousso
Comment 1
2020-10-23 15:29:46 PDT
<
rdar://problem/70636727
>
Devin Rousso
Comment 2
2020-10-23 21:38:28 PDT
Created
attachment 412230
[details]
Patch
Devin Rousso
Comment 3
2020-10-23 22:29:30 PDT
Created
attachment 412232
[details]
Patch rename `Debugger::Delegate` to `Debugger::Client` to match C++ convention
Blaze Burg
Comment 4
2020-10-26 13:48:30 PDT
Comment on
attachment 412232
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=412232&action=review
r=me, cool stuff.
> Source/JavaScriptCore/debugger/Debugger.h:147 > + virtual JSObject* scopeExtensionObject(Debugger&, JSGlobalObject*, DebuggerCallFrame&) = 0;
I prefer we provide a default implementation so that implementing any particular client call is optional, as in an ObjC delegate protocol.
> Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h:52 > +class JS_EXPORT_PRIVATE InspectorDebuggerAgent : public InspectorAgentBase, public DebuggerBackendDispatcherHandler, public JSC::Debugger::Client, public JSC::Debugger::Observer {
Nit: please put each superclass on its own line, if you can stand it..
> Source/WebInspectorUI/UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:283 > + if (completionController.mode === WI.CodeMirrorCompletionController.Mode.FullConsoleCommandLineAPI || completionController.mode === WI.CodeMirrorCompletionController.Mode.EventBreakpoint || (completionController.mode === WI.CodeMirrorCompletionController.Mode.PausedConsoleCommandLineAPI && (targetData.pauseReason === WI.DebuggerManager.PauseReason.Listener || targetData.pauseReason === WI.DebuggerManager.PauseReason.EventListener))) {
Oh my gosh. Can this huge expression go into a helper local/function or something? At the very least please add newlines.
> LayoutTests/inspector/debugger/resources/breakpoint-options-utilities.js:86 > + breakpoint.condition = "$" + firstEvaluateResult.savedResultIndex;
Niiice.
Devin Rousso
Comment 5
2020-10-26 18:33:35 PDT
Created
attachment 412370
[details]
Patch
EWS
Comment 6
2020-10-26 23:39:14 PDT
Committed
r269023
: <
https://trac.webkit.org/changeset/269023
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 412370
[details]
.
Ryan Haddad
Comment 7
2020-10-27 09:52:12 PDT
Rebaselined inspector/timeline/line-column.html with
https://trac.webkit.org/changeset/269044/webkit
This failure was missed by EWS because the entire inspector/timeline directory is marked as flaky, so the tests weren't run.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug