-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Open
Labels
A-devtoolsB-feature-trackingThis issue tracks a particular high-level featureThis issue tracks a particular high-level feature
Description
-
Automated tests Devtools: Set up automated tests #36325
- Install tshark for automated tests in #36033 #36201
- Devtools: add automated test for Debugger > Sources #36401
- Devtools: add more test cases #36910
- Devtools: make
mach test-devtoolsuse BuildType #37548 - devtools: Fix source contents tests and fix a race #38359
- mach: Allow filtering tests in
mach test-devtools#38514 - devtools: Reland devtools test fixes missing from #38359 #38516
- devtools: Devtools tests are flaky in CI #38658
-
Sources tab (file tree)
- List inline classic scripts Devtools: initial Debugger > Sources panel #36164
- List inline module scripts Devtools: initial Debugger > Sources panel #36164
- List external classic scripts Devtools: initial Debugger > Sources panel #36164
- List external module scripts
- List external classic worker scripts
- Devtools: Support worker scripts in
Debugger > Sourcepanel #36562 - DevTools:
worker_idshould beid& thread for workers should bethread#36631 - DevTools: Add
resource_availableas a common shared util #36632 - Devtools: No
workerfiles in Debugger> Source panel anymore #37012 - Devtools: Fix url parsing for worker urls #36727
- Devtools: Support worker scripts in
- List external module worker scripts
- Support files created by source maps
- Show CSS files in the debugger
-
Source contents
- DevTools: Move
Sourcerelated code to dedicatedsource.rsfile #36667 - DevTools: Implement support for showing
source_contentinDebugger > Sourcepanel #36774 - DevTools: Fix empty
debugger > sourcepanel #37197 - Devtools: refactor source actor state #37528
- Devtools: sources for HTML files should be the whole HTML file #36874
DevTools: sources for HTML files should be the whole HTML file #37456 - devtools: Make contentType optional in source actor source responses #38330
- devtools: Fix source contents tests and fix a race #38359
- Allow embedder to indicate whether scripts are inline mozjs#603
script: Tell SpiderMonkey whether scripts are inline #38363 - devtools: Expose
introductionTypeto devtools clients #38541 - script: Set correct
introductionTypevalues in more places #38550 - devtools: Create source actors from Debugger API notifications #38334
- Support source maps
- DevTools: Move
-
Set breakpoints
- devtools server side
-
setActiveEventBreakpointsrequests onbreakpoint-listactors -
setXHRBreakpointrequests onbreakpoint-listactors -
removeXHRBreakpointrequests onbreakpoint-listactors - breakpoint: remove breakpoint
devtools: HandleremoveBreakpointon breakpoint-list actor #38797 - thread: getAvailableEventBreakpoints request handler
- source: getBreakableLines and getBreakpointPositionsCompressed request handlers
devtools: Show clients where they can set breakpoints #37667
devtools: Fix available breakpoint positions with nested scripts #38826
-
- script side
- Create debugger global and debugger.js
- script: Add support for creating globals in isolated compartments #38236
- script: Create a debugger script for the SpiderMonkey Debugger API #38331
- script: Add new Window globals as debuggees #38333
- script: Remove logging in debugger script #38475
- script: Add new worker globals as debuggees #38551
- script: Rename DebuggerEvent to DebuggerAddDebuggeeEvent #38571
- Iterating on embedded resources is slow #38382
- Create debugger global and debugger.js
- mozjs side — Debugger API
- saveJobQueue() Implement saveJobQueue() for the SpiderMonkey Debugger API mozjs#595
script: Implement jsglue traps for saveJobQueue() #38232 - runJobs() Implement runJobs() for the SpiderMonkey Debugger API mozjs#597
script: Implement jsglue trap for runJobs() #38265 - SetScriptEnvironmentPreparer() Expose ScriptEnvironmentPreparer to Rust mozjs#598
- saveJobQueue() Implement saveJobQueue() for the SpiderMonkey Debugger API mozjs#595
- devtools server side
-
Pause, resume, and step threads
- devtools server side
- thread: release request handler
- thread: attach request handler
- thread: detach request handler
- thread: interrupt request handler
- thread: resume request handler
- thread: step request handler
- thread: next request handler
- thread: sources request handler
- thread: source request handler
- new actor type
frame
- devtools server side
-
Implement pausing threads
- Block synchronously while pumping a nested event loop. More details on zulip
- Stop blocking in response to other devtools messages
-
Black-boxing
- devtools server side
- source: blackbox request handler
-
blackboxrequests onblackboxingactors - source: unblackbox request handler
-
getBlackboxingActorrequests onwatcheractors -
unblackboxrequests onblackboxingactors
- devtools server side
-
Inspecting variables
- devtools server side
- thread: frames request handler
- frame: pop request handler
- devtools server side
-
Implement call stack and scopes panels
- fully implement
getEnvironmentrequests onframeactors -
blockrequests onframeactors -
functionrequests onframeactors - new actor type
obj -
propertyrequests onobjactors -
prototyperequests onobjactors -
enumPropertiesrequests onobjactors -
enumSymbolsrequests onobjactors - new actor type
propertyIterator -
slicerequests onpropertyIteratoractors - new actor type
longstractor -
substringrequests onlongstractoractors
- fully implement
-
Implement call stack and scopes panels
-
unwatchResourcesrequests onwatcheractors -
unwatchTargetsrequests onwatcheractors -
detachrequests ontargetactors
-
- In Firefox, sources are seen in
resources-available-arrayof typenetwork-event,source- See also
console-message, if there were any past console messages
- See also
- We can send existing sources in
resources-available-arrayforsource(see watcher.js:531) - But client never requests them in
watchResourcesforsourcedespite firefox.js:84- Tried setting
sourcesto true in RootActortraits - Tried setting
sourceto true in SessionContextsupported_resources - Maybe need to send empty
resources-available-arrayforconsole-messageanderror-message? Servo currently just ignores thosewatchResourcesrequests, the internal BrowsingContextActor::resource_available takes and sends exactly one resource
- Tried setting
Other TODO's:
- devtools: improve
IDnaming for better readability and context #35942 - devtools: Use
webview_idasbrowser_id#35956 - DevTools: Improve
resource_availableto handle multiple connections #36933 - Devtools: send error replies instead of ignoring messages #37683
- Gate pull requests on mozjs-sys bump if there are any C++ changes mozjs#601
- devtools: Warn when sending common protocol errors #38548
- devtools: Fix
getBreakpointListActorhandler in watcher actor #38624
(cc @atbrakhi)
Metadata
Metadata
Assignees
Labels
A-devtoolsB-feature-trackingThis issue tracks a particular high-level featureThis issue tracks a particular high-level feature