mirror of
https://github.com/servo/servo.git
synced 2025-08-18 20:05:34 +01:00
devtools: Show clients where they can set breakpoints (#37667)
devtools clients query source actors to determine where the user can set breakpoints in a source. there are two relevant requests here: `getBreakableLines` controls which line numbers can be clicked in the margin, and once a line number is clicked, `getBreakpointPositionsCompressed` controls where to show breakpoint buttons within that line. this patch handles those requests by querying the [SpiderMonkey Debugger API](https://firefox-source-docs.mozilla.org/js/Debugger/) for that information: - devtools sends its script thread a GetPossibleBreakpoints message for the source’s [`spidermonkey_id`](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.Source.html#id) - the script thread fires a `getPossibleBreakpoints` event into its debugger global - the debugger script looks up the [root](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.html#onnewscript-script-global) [Debugger.Script](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.Script.html#getpossiblebreakpoints-query) for that source, calls [getPossibleBreakpoints()](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.Script.html#getpossiblebreakpoints-query), and returns the result via DebuggerGlobalScope#getPossibleBreakpointsResult() - that method takes the pending result sender, and sends the result back to devtools - devtools massages the result into the format required by the request, and replies to the client as a result, users of the Firefox devtools client can now set breakpoints, though they don’t have any effect. Testing: this patch adds new devtools tests Fixes: part of #36027 <img width="1433" height="1328" alt="image" src="https://github.com/user-attachments/assets/f0cd31e0-742f-44d3-8c5d-ceedd9a2706d" /> --------- Signed-off-by: Delan Azabani <dazabani@igalia.com> Co-authored-by: atbrakhi <atbrakhi@igalia.com>
This commit is contained in:
parent
1995e22e19
commit
f5b631e270
14 changed files with 340 additions and 8 deletions
|
@ -836,6 +836,10 @@ Dictionaries = {
|
|||
'derives': ['Clone'],
|
||||
},
|
||||
|
||||
'RecommendedBreakpointLocation': {
|
||||
'derives': ['Debug'],
|
||||
},
|
||||
|
||||
'Report': {
|
||||
'derives': ['Clone', 'MallocSizeOf'],
|
||||
},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue