Script Panel Refactoring
From FirebugWiki
(Difference between revisions)
(→JSD2 API Requirements) |
Sebastianz (Talk | contribs) (Added two more JSD2 API links) |
||
| Line 4: | Line 4: | ||
* Adopt JSD2 (get rid of all JSD1 APIs) | * Adopt JSD2 (get rid of all JSD1 APIs) | ||
* Support Remote Debugging | * Support Remote Debugging | ||
| - | |||
== JSD2 API Requirements == | == JSD2 API Requirements == | ||
The following list summarizes list of high-level features that Firebug needs to support. It should be verified that all the features can re-implemented on top of JSD2 before starting the refactoring. | The following list summarizes list of high-level features that Firebug needs to support. It should be verified that all the features can re-implemented on top of JSD2 before starting the refactoring. | ||
| - | * List of scripts available on selected tab (including static, events and evaluated scripts) including iframes | + | * List of scripts available on selected tab (including static, events and evaluated scripts) including iframes |
* Stepping (into, over, out, resume, current line) | * Stepping (into, over, out, resume, current line) | ||
* Support for <code>debugger;</code> keyword | * Support for <code>debugger;</code> keyword | ||
| Line 22: | Line 21: | ||
* Tracking (monitoring) function calls | * Tracking (monitoring) function calls | ||
* Freezing page UI if debugger is halted (including timeouts, intervals and worker threads) | * Freezing page UI if debugger is halted (including timeouts, intervals and worker threads) | ||
| - | |||
=== Not Ready in JSD2 === | === Not Ready in JSD2 === | ||
| Line 36: | Line 34: | ||
TBD | TBD | ||
| - | |||
== Resources == | == Resources == | ||
* [https://wiki.mozilla.org/Debugger Debugger] | * [https://wiki.mozilla.org/Debugger Debugger] | ||
| + | * [https://developer.mozilla.org/en/SpiderMonkey/JS_Debugger_API_Guide JS Debugger API Guide] | ||
| + | * [https://developer.mozilla.org/en/SpiderMonkey/JS_Debugger_API_Reference JS Debugger API Reference] | ||
* [https://wiki.mozilla.org/DevTools/Features/Debugger DevTools Debugger] | * [https://wiki.mozilla.org/DevTools/Features/Debugger DevTools Debugger] | ||
* [https://wiki.mozilla.org/Remote_Debugging_Protocol Remote Debugging Protocol] | * [https://wiki.mozilla.org/Remote_Debugging_Protocol Remote Debugging Protocol] | ||
Revision as of 21:43, 19 May 2012
This page summarizes support for remote JS debugging in Firebug (based on JSD2).
Contents |
Goals
- Adopt JSD2 (get rid of all JSD1 APIs)
- Support Remote Debugging
JSD2 API Requirements
The following list summarizes list of high-level features that Firebug needs to support. It should be verified that all the features can re-implemented on top of JSD2 before starting the refactoring.
- List of scripts available on selected tab (including static, events and evaluated scripts) including iframes
- Stepping (into, over, out, resume, current line)
- Support for
debugger;keyword - Support for breakpoints (add, remove, enable, disabled, conditional, list of existing breakpoints)
- Recognize executable lines
- Dynamic eval in a frame (used e.g. by the Watch panel when the debugger is halted)
- Get stack frames (including passed arguments)
- Scope chain variable exploring (with & closure scopes). It should be possible to see all values.
- Break on next call
- Profiling (was part of JSD1)
- Tracking (break on) throw/catch/error
- Tracking (monitoring) function calls
- Freezing page UI if debugger is halted (including timeouts, intervals and worker threads)
Not Ready in JSD2
- There is not source for evals.
- new Function scripts?
- Meta bug: Implement a script Debugger
- As soon as this one is fixed
- Profiling is unrelated to JSD2. What it the plan here?
- Tracking (break on) throw/catch/error, also what is that plan?
Script Panel Architecture
The Script panel needs to be built on top of JSD2, remote protocol and Firebug remote architecture. Remoting is already supported by [HTTP Monitor] and both components should share the same approaches and API
TBD