This was no longer implemented/shown in the fission browser toolbox.
Now that we removed the non-fission toolbox, we can remove this feature.
Instead, content process messages are shown/hidden depending on browser toolbox's scope.
"everything" will show them. "parent-process" won't.
Differential Revision: https://phabricator.services.mozilla.com/D165026
This complexify the existing tests a bit, but will make the management from the Toolbox more obvious.
The metrics test highlights that we allow to prevent loading the sourcemap modules
unless it is strictly necessary!
(Also I forgot to remove the source-map-loader from the list of browser loader module...)
Differential Revision: https://phabricator.services.mozilla.com/D164694
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
Previously we had a "leaf" feature but it's been removed in Bug 1571089. It
doesn't break the tests, but it always outputs an error string to the std out
and it might be annoying for our users or it can get in the way of analyzing
other errors. It's good to remove it.
Differential Revision: https://phabricator.services.mozilla.com/D163126
This used to be a node package. Let's make it become regular commonjs devtools modules.
This will make it trivial to migrate this to ES Modules.
Also possibly make this code become the unique layer in m-c on top of the source-map package.
We no longer use webpack to build the two bundles (index.js and worker.js),
instead, we are using the toolkit worker loader (require.js) in order to load
all this code without any build step.
As this is no longer a node package, I removed node-specific modules (assertRoot/wasmAsset)
and simplify the definition of wasm file URIs as they are now fixed.
Also moving the debugger to load internal "devtools/client/shared/source-map/source-map.js"
module in jest as running the Web Worker instantiated by source-map/index.js is too complex.
Differential Revision: https://phabricator.services.mozilla.com/D159115
We want to encourage extension developers to use `browser_specific_settings` instead of `applications`, which will be unsupported in Manifest Version 3+. This patch makes sure test manifests in m-c won't cause any issues in the future.
Depends on D160541
Differential Revision: https://phabricator.services.mozilla.com/D160668
We can't test source-map package performance yet as it isn't exposed
and only loaded within a webpack bundle.
But it would be nice to also cover the code on top of the source-map package,
the "source map loader".
Differential Revision: https://phabricator.services.mozilla.com/D160199
It calls `pre[contenteditable].focus()`, but when talos tests run, the URL bar
keeps having focus. Therefore, the `focus()` call in content cannot steal focus
from the chrome UI. Then, it does not pay the cost of `Selection.modify` in
the first loop because it does nothing when there is no selection ranges.
(Before bug 1789967, `Selection` was collapsed to end of the document at
loading by `HTMLEditor`, but it's now not performed, and due to the silent
failure of the call of `focus()`, nobody collapse selection in the document.)
Depends on D158551
Differential Revision: https://phabricator.services.mozilla.com/D158552
This help factorise all code trying to instantiate a server and a client everywhere.
This will also help migrate from descriptor to commands in Toolbox constructor.
A good way to track all leftover manual instantiation of descriptors is to look for mainRoot.get*.
There should only be tests now, and descriptor-from-url, which I would to convert once
we migrate toolbox constructor from descriptor to commands.
Differential Revision: https://phabricator.services.mozilla.com/D157737
This will help transition to ES Modules as we won't be able to expose a magic "chrome" ESM.
Also, most of these symbols are exposed as global already.
All but:
* `components` which is `Components`,
* `CC` which is `Components.Constructor`,
* `Cm` which is `Components.manager`.
$ sed -ie "/require(.chrome.)/d" $(git grep -l 'require("chrome")' devtools/)
+ manual edits for all three exceptions
Differential Revision: https://phabricator.services.mozilla.com/D156936
This will help transition to ES Modules as this symbol is exposed to them.
$ sed -ie "/require(.ChromeUtils.)/d" $(git grep -l 'require("ChromeUtils")' devtools/)
$ sed -ie "/loader.lazyRequireGetter(this, .ChromeUtils./d" $(git grep -l 'loader.lazyRequireGetter(this, "ChromeUtils"' devtools/)
+ the edition of builtin-modules.js + eslintrc.js + manual eslint fixes
Differential Revision: https://phabricator.services.mozilla.com/D156402
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
This patch moves where the skip_test function is used from so that it can benefit from additional changes that happen after the configs are built, and before the tests run.
Differential Revision: https://phabricator.services.mozilla.com/D154443
Since the test is using `evaluateJSAsync` with `mapped` set to `{await: true}`,
if the Promise returned by the expression rejects, the response will have a
`topLevelAwaiRejected` property set to `true`.
In such case, we directly throw from `evaluateInBrowserToolbox`, so the test
will fail.
We also cover the case where the passed function isn't async, in which case the
response will hold a `exceptionMessage` property that we can use.
Finally, we take this as an opportunity to remove duplicated function, as well
as removing a try/catch block in one of the expression since it was also hiding failures.
Differential Revision: https://phabricator.services.mozilla.com/D153919
This patch adds the ability to skip tests to Talos. This lets us prevent tests from running depending on which branch we are on. It also adds some code that will skip tests on the pine branch.
Differential Revision: https://phabricator.services.mozilla.com/D152513