Skip to content
Snippets Groups Projects
Commit d9eff244 authored by Nicolas Chevobbe's avatar Nicolas Chevobbe
Browse files

Bug 1491354 - Extends top-level await mapping from debugger to toolbox; r=bgrins,jlast.

This patch makes the parser-worker available at the toolbox level.
This way, the console does not have to rely on the debugger being
open to map top-level await expression.
In order to make the worker works in the toolbox, some changes
are required (passing a window object, checking inToolbox differently).

We take this as an opportunity to *not* display the async iife result,
a promise, in the console. This is made by checking if the input was
mapped, and if so, ignoring the result we get from the server.

A couple tests are added to ensure the basic usage works as expected.

This patch should be considered as a v0 for top-level await evaluation
as there are things that are not perfect here. Since we rely on console.log
the result are treated differently from other evaluation results:
- the style is different
- the result gets added to the log cache (when restarting the console,
the results will still be displayed, but not the commands).
- the results can be filtered, although evaluation results should not
- `$_` after a top-level await evaluation returns the Promise created
by the async iife, not the result that was displayed in the console.

All those should be addressed in Bug 1410820.

Differential Revision: https://phabricator.services.mozilla.com/D6038

--HG--
extra : moz-landing-system : lando
parent a181840c
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment