We used to rely on the TabActor a lot in
/toolkit/devtools/server/actors/highlighter.
This object was being passed around to various highlighter classes, helper
classes and functions.
It was a useful way to get access to the window the highlighters are shown,
listen to DOM events in that window, and also listen to tabActor's will-navigate
events.
Using this object isn't the best idea because it assumes the debugger server is
started and attached to a tab, which makes re-using highlighters outside of this
context impossible (or harder).
Plus we wanted to get rid of the tabActor reference in gcli command contexts.
This change introduces a HighlighterEnvironment that fulfills the requirements
above without relying on a tabActor.
It needs to be initialized either with a tabActor, when we have one (when using
the highlighter from the inspector panel), or with a window (which is what gcli
commands will use).
This change also fixes the highlight command and the rulers command (which
didn't work well with e10s either).
* * *
Bug 933727 - Update Developer Toolbar to use promises and split out GCLI; r=mratcliffe
* * *
Bug 933727 - Update GCLI tests to use Task.spawn; r=mratcliffe
* * *
Bug 933727 - Update the Inspector to use split out GCLI; r=pbrosset
* * *
Bug 933727 - Update style editor to use split out GCLI; r=harth
* * *
Bug 933727 - Update Debugger to use split out GCLI; r=past
* * *
Bug 933727 - Update Profiler/Tilt/Scratchpad to use split out GCLI; r=valueof