Note that there is still one leftover usage of sessionId related to performance markers,
which isn't related to telemetry... but a way to distinguish toolbox instances.
Differential Revision: https://phabricator.services.mozilla.com/D165936
The debugger was involving two distinct instances of parser worker.
One instance managed by the debugger "parserWorker" and another one
managed by the toolbox and also used by the console "evaluationsParser".
By reusing a shared instance we will increase the chance of parsing
files only once, simplify overall comprehension of the various workers
involved and may be speed up toolbox opening.
Differential Revision: https://phabricator.services.mozilla.com/D165136
Because of this, we have to now pass the worker URL via WorkerDispatcher constructor.
Doing this should help then extend WorkerDispatcher instead of manually instantiating it.
About browser_jsterm_hide_when_devtools_chrome_enabled_false.js, as the SourceMapLoader
is now started lazily, the worker is no longer started during this test
and so we no longer have to wait for it.
And browser_jsterm_await_paused.js was failing because we resumed too quickly.
I added some code to better wait for awaitExpression full evaluation.
Differential Revision: https://phabricator.services.mozilla.com/D164547
Note that we still have to instantiate a Webconsole dedicated one in case of Browser Console,
which won't have any toolbox offhand.
Differential Revision: https://phabricator.services.mozilla.com/D164545
Because of this, we have to now pass the worker URL via WorkerDispatcher constructor.
Doing this should help then extend WorkerDispatcher instead of manually instantiating it.
About browser_jsterm_hide_when_devtools_chrome_enabled_false.js, as the SourceMapLoader
is now started lazily, the worker is no longer started during this test
and so we no longer have to wait for it.
And browser_jsterm_await_paused.js was failing because we resumed too quickly.
I added some code to better wait for awaitExpression full evaluation.
Differential Revision: https://phabricator.services.mozilla.com/D164547
Note that we still have to instantiate a Webconsole dedicated one in case of Browser Console,
which won't have any toolbox offhand.
Differential Revision: https://phabricator.services.mozilla.com/D164545
This will help transition to ES Modules as this symbol is exposed to them.
$ sed -ie "/require(.Services.)/d" $(git grep -l 'require("Services")' devtools/)
$ sed -ie "/loader.lazyRequireGetter(this, .Services./d" $(git grep -l 'loader.lazyRequireGetter(this, "Services"' devtools/)
+ the edition of builtin-modules.js + eslintrc.js
+ manual eslint fixes
+ removal of devtools-services in the debugger, except for jest tests
Differential Revision: https://phabricator.services.mozilla.com/D156401
We only need the frame actor ID.
It might be helpful to expose the frame front instead,
but at the end of the day, the server expects the frame actor ID.
Differential Revision: https://phabricator.services.mozilla.com/D143041
This method is meant to replace the direct usage
of webconsoleFront.evaluateJSAsync.
The WebConsoleCommands file is removed, and all
client calls to evaluateJSAsync are migrated to
the new method. Callsites are simplified when
possible, and some test are refactored to switch
to spawned task to retrieve content page information.
Differential Revision: https://phabricator.services.mozilla.com/D116242
- we don't need to override WebConsole.currentTarget as it should pull the current top target via targetList instead of toolbox
- BrowserConsole constructor then no longer need to receive the target as argument
- and finally, BrowserConsoleManager can pass around the descriptor instead of the first target.
Differential Revision: https://phabricator.services.mozilla.com/D109493
In `getMappedExpression`, we check if the expression contains `await `, and in
such case, transform the input to handle top-level await expressions.
The catch is that we first check the existence of this.parserService, and the
getter for parserService will start the parser worker if it wasn't the case yet.
That means we were always spawning the parser worker, even if it wasn't going
to be used, consuming unnecessary resources.
This patch removes the conditions in the if, as `parserService` will always be truthy.
Differential Revision: https://phabricator.services.mozilla.com/D86826
This demonstrates using the Resources API for the console messages,
using the existing actor methods. It helps proving that this will work against old runtimes.
But the plan is to followup in bug 1620243 so that we implement this code on the server side.
This will help getting rid of this LegacyImplementation code and have a simplier code on the server.
Differential Revision: https://phabricator.services.mozilla.com/D65526
This method was directly using the main target console front
to evaluate something, which could cause issue in a fission
world.
The function is moved to the WebConsole class, and calls commands
evaluateJSAsync, in which we retrieve the appropriate front
given the given options object (e.g. if there's a selecteObjectActor,
we'll talk to the target that hold the actor).
Differential Revision: https://phabricator.services.mozilla.com/D55986
This changesets removes some webconsole callsites that were relying on window.top, but didn't trigger any regression.
Differential Revision: https://phabricator.services.mozilla.com/D46957