Devtools SDK roadmap
Bug 980410 API.Toolbox Pane
In first cut this will be quite limited, and will only allow comunnication between toolbox pane document & inpected document.
We will gradually add more features to it:
- Support for remote tabs Bug 980421. This will require some work on devtools side itself. Note that ember inspector does not yet support it so once we have that they may have a good reason to update to get Firefox OS support.
This is an object representing entity targeted by a developer
toolbox. Toolbox Pane API exposes it in a form of
that implements message event
source API defined by HTML WebMessaging specification.
We need to expose a feature to evaluate code once toolbox pane is activated in order to instrument inspection target. We may be able to shoehorn page-mods, API for that, but would rather do something designed specifically for this, so that we could support remote targets for example.
Add-on should be able to define language grammer in some form that can run as non privileged code that can be registeder to syntax highlight any of our editors when file with relevant file extension is loaded (This seems like very low hanging fruit and all the to-js compiled languages will love us!)
We could either support CodeMirror modes or define a grammar in JSON file and write mode generator for codemirror.
API for add-ons, that can define
compile(code, callback) like hooks
for specefic languages to enable console, style editor, scratpad inputs
in those specefic languages and do a compilation on execution.
API for add-ons, that can hook into as a middleware to provide custom printers for the values. API will be in form of simple HTML page that is posted a message with an object grip that it needs to render representation for.
Custom printers can be enabled in console along with custom input handlers, so that presentation of output will match presentation of input.
Note: This would require freezing object grip API on the devtools side.
API hook for add-ons that could interfer into network events and anotate them with some contexctual information. That can be displayed in the network panel.
Tab in a network panel sidebar that can take a grip for the network request / response and provide a custom visualisation for it.