Commit Graph
175 Commits
Author SHA1 Message Date
Alexandre Poirot 59fe57c052 Bug 1793396 - [devtools] Use absolute URLs in all usages of loader.lazyRequireGetter. r=Honza
Differential Revision: https://phabricator.services.mozilla.com/D158489
2022-10-03 18:57:13 +00:00
Alexandre Poirot 9beeb07755 Bug 1792847 - [devtools] Use absolute URLs to import modules in devtools/client/framework. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D158373
2022-09-30 15:17:36 +00:00
Andreea Pavel 734e00a91f Backed out 5 changesets (bug 1700909) for failing browser_ext_addon_debugging_netmonitor.js on a CLOSED TREE
Backed out changeset 9bc3e4820f59 (bug 1700909)
Backed out changeset 998c0ec4f9d3 (bug 1700909)
Backed out changeset 6f6fe066fc38 (bug 1700909)
Backed out changeset e53aaf8ffe5b (bug 1700909)
Backed out changeset 3dbeffe25878 (bug 1700909)
2022-09-29 19:40:43 +03:00
Alexandre Poirot 2fa2a439ea Bug 1700909 - [devtools] Migrate gDevTools.showToolbox from descriptor to commands. r=jdescottes
This migrate gDevTools.showToolbox, but also the Toolbox now receives a commands right away,
and no longer need to create commands out of the descriptor front.

I'm removing browser_two_tabs as it is focusing on testing Tab Descriptors (RootFront.listTabs+getTab)
and Tab targets (TabDescriptor.getTarget).
Using getTarget on descriptor is legacy codepath for a while now.
We should now rather cover commands instead of these low level RDP methods.

Differential Revision: https://phabricator.services.mozilla.com/D157796
2022-09-29 14:43:26 +00:00
Alexandre Poirot 06d9cc9c05 Bug 1700909 - [devtools] Migrate DescriptorMixin.shouldCloseClient to Commands. r=jdescottes
Note that this depends on the following patch, in order to destroy commands from the toolbox.
Commands have always been destroying the related client. This was a significant simplification in test.
So that I had to reverse the default value of shouldCloseClient and only toggle it to false
where it is strictly needed. Ideally only for about:debugging toolboxes (and two tests).

Differential Revision: https://phabricator.services.mozilla.com/D158206
2022-09-29 14:43:26 +00:00
Alexandre Poirot 03239d33fd Bug 1700909 - [devtools] Migrate TabDescriptorFactory to LocalTabCommandsFactory. r=jdescottes
Also move iKnownTab to gDevTools.hasToolboxForTab as it feel more natural.

Differential Revision: https://phabricator.services.mozilla.com/D157943
2022-09-29 14:43:25 +00:00
Alexandre Poirot 0d20bb1ccb Bug 1700909 - [devtools] Stop exposing Toolbox.descriptorFront. r=jdescottes
Instead we should we querying Toolbox.commands.descriptorFront.

Differential Revision: https://phabricator.services.mozilla.com/D157942
2022-09-29 14:43:24 +00:00
Alexandre Poirot 58b38d7c16 Bug 1791969 - [devtools] Import all JSM in DevTools via ChromeUtils.import. r=jdescottes
Convert all imports but the one related to SessionDataHelper
as that's an hybrid module which is loaded as a JSM from the main thread,
but loaded as a common js module from the worker thread.

We will be able to drop this once we can migrate this JSM to ESM
once we support loading ESM from the worker thread.

Differential Revision: https://phabricator.services.mozilla.com/D158007
2022-09-26 13:01:33 +00:00
Alexandre Poirot 633eb069ef Bug 1791832 - [devtools] Convert devtools/startup JSM to ES Modules. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D157911
2022-09-26 10:48:05 +00:00
Alexandre Poirot 0c4e317914 Bug 1789980 - [devtools] Migrate all callsites using require("chrome") to use Components.* global symbols. r=jdescottes,perftest-reviewers,AlexandruIonescu
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
2022-09-20 12:52:27 +00:00
Alexandre Poirot 4ff70fda6f Bug 1780912 - [devtools] Make the local web extension toolbox be always on top. r=nchevobbe,eemeli
This allows to keep the DevTools visible while interacting with the Firefox
window where the extension is running.

This behavior is enabled by default, but can be disable on-demand via a button
in the top toolbar.
Note that it requires to close and reopen the window/toolbox as platform APIs
disallow changing this behavior "live" on a given window.

Differential Revision: https://phabricator.services.mozilla.com/D155843
2022-09-15 07:31:31 +00:00
Nicolas Chevobbe 48647cab11 Bug 1788601 - [devtools] Fix ESLint consistent-return failures in devtools/client/framework. r=ochameau.
Differential Revision: https://phabricator.services.mozilla.com/D156159
2022-09-12 17:41:33 +00:00
Alexandre Poirot 86c7a14e62 Bug 1789202 - [devtools] Expose ChromeUtils as a global to all DevTools modules. r=perftest-reviewers,nchevobbe,AlexandruIonescu
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
2022-09-09 07:22:51 +00:00
Alexandre Poirot 0f32f335e3 Bug 1789201 - [devtools] Expose Services as a global to all DevTools modules. r=perftest-reviewers,nchevobbe,julienw,AlexandruIonescu
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
2022-09-09 07:22:51 +00:00
Noemi Erli 233f0fcdf4 Backed out 2 changesets (bug 1780912) for causing failures in browser_aboutdebugging_addons_debug_console.js CLOSED TREE
Backed out changeset d2360a2a3d70 (bug 1780912)
Backed out changeset 21f1e9031be0 (bug 1780912)
2022-09-08 01:59:18 +03:00
Alexandre Poirot ce1e1a4cbe Bug 1780912 - [devtools] Make the local web extension toolbox be always on top. r=nchevobbe,eemeli
This allows to keep the DevTools visible while interacting with the Firefox
window where the extension is running.

This behavior is enabled by default, but can be disable on-demand via a button
in the top toolbar.
Note that it requires to close and reopen the window/toolbox as platform APIs
disallow changing this behavior "live" on a given window.

Differential Revision: https://phabricator.services.mozilla.com/D155843
2022-09-07 21:00:17 +00:00
Alexandre Poirot b1ec4a4679 Bug 1783821 - [devtools] Manual rewrites r=bomsy
In md files and code comments and mostly from common js files.

I'm moving away from require to load sys.mjs files so that we are closer
to what we do in mozilla-central.

Differential Revision: https://phabricator.services.mozilla.com/D154073
2022-09-05 12:29:57 +00:00
Alexandre Poirot 72d3ca6549 Bug 1787992 - [devtools] Expose gDevTools.showToolboxForWebExtension to open a webext toolbox in a dedicated window. r=nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D155950
2022-09-01 08:41:49 +00:00
Daisuke Akatsuka d3b71faba0 Bug 1783877: Disable inspector quick action if already opening. r=daleharvey,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D155191
2022-08-24 22:02:44 +00:00
Mark Banner 6d03c63e2d Bug 1330099 - Enable object-shorthand eslint rule. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D153567
2022-08-03 14:57:05 +00:00
Alexandre Poirot 3c233a0461 Bug 1751207 - [devtools] Allow debugging popups when a toolbox is opened for its opener tab. r=nchevobbe
This is only an issue when devtools.popups.debug is false,
when it is true, the toolbox is move and a warning message is printed
if we request to open a new toolbox.

Differential Revision: https://phabricator.services.mozilla.com/D136498
2022-01-24 10:16:04 +00:00
Alexandre Poirot 269196c4e0 Bug 1569859 - [devtools] Automagically move the toolbox between the original tab we debug and its popups. r=nchevobbe
This is also behind "devtools.popups.debug", to be set to true manually.

This special mode break the old fundamental principal where a given toolbox
is bound to one unique given tab. Now one toolbox starts being shared between
many tabs.

When we select the original tab we debug, or any of its popups opened in distinct tabs,
we will move the toolbox between each of these tabs.
We will have one toolbox instance, one toolbox iframe, which will be moved
around each tab's host. This is somewhat similar to host switching within the same tab.
This is all based on the same trick where we swap the toolbox iframe to another location.

Differential Revision: https://phabricator.services.mozilla.com/D131802
2022-01-14 12:02:25 +00:00
Julian Descottes f098fdd604 Bug 1735359 - [devtools] Enable DevTools auto theme by default r=devtools-reviewers,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D128268
2021-10-21 21:08:24 +00:00
Julian Descottes bbf819fdf1 Bug 1735358 - [devtools] Switch back default theme from auto to light/dark r=nchevobbe
Depends on D128093

We will attempt to re-enable the auto theme by default in Bug 1735359

Differential Revision: https://phabricator.services.mozilla.com/D128239
2021-10-18 07:54:45 +00:00
Emilio Cobos Álvarez 8f19ad4e7a Bug 1670480 - Add an "auto" theme for devtools which follows the browser's color scheme. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D128093
2021-10-12 09:25:05 +00:00
Alexandre Poirot aa0138f159 Bug 1722553 - [devtools] Avoid enabling server targets for WebExtension commands. r=jdescottes
WebExtension reload command is still broken with target switching.
Enabling server targets would break this on all reloads.
So prevent enabling server targets until this is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D120982
2021-07-28 12:04:32 +00:00
Alexandre Poirot d9628fcd91 Bug 1699493 - [devtools] Migrate WebExtInspectedWindow front to a command. r=nchevobbe,rpl
- implement the new "inspected-window" command
- move WebExtensionInspectedWindowFront implement to the command, making the front empty
- migrate tests to use the commands instead of front
- stop maintaining the current top level target in ExtensionParent.jsm, no longer have to use watchTargets
- stop creating a new descriptor on each new target
- instead only pull one new dedicated "commands" for WebExt (still in ExtensionParent.jsm)
- remove TabDescriptor isDevToolsExtensionContext as we no longer need anything special in the descriptor
- remove now unused methods on DevToolsShims (createWebExtensionInspectedWindowFront, createDescriptorForTabForWebExtension)
- remove the now unused TabDescriptorFactory.createDescriptorForTab's "forceCreationForWebextension" option, as CommandsFactory.forTab always instantiate a brand new commands
- migrate webext to use the command instead of front

Differential Revision: https://phabricator.services.mozilla.com/D108994
2021-04-01 10:31:43 +00:00
Julian Descottes f98c0a05c5 Bug 1695046 - [devtools] Use the same signature for showToolbox and showToolboxForTab r=ochameau,nchevobbe,rpl
Depends on D107100

Differential Revision: https://phabricator.services.mozilla.com/D106539
2021-03-11 06:32:15 +00:00
Julian Descottes 690d85c0f9 Bug 1694906 - [devtools] Add new option to createDescriptorForTab to support devtools webextensions r=rpl,ochameau
Depends on D106426

Without this patch queue, `createDescriptorForTab` was not caching its descriptors, so each call to it would yield a new descriptor.
Since the webextension codebase really needs to use a different target from the one used by the DevTools toolbox, suddenly sharing the Toolbox's descriptor was an issue.

Addressing it with an explicit parameter to make this expectation from the webextension codebase a bit clearer for us.

Differential Revision: https://phabricator.services.mozilla.com/D107052
2021-03-10 18:22:03 +00:00
Julian Descottes 1aa706cbd5 Bug 1694906 - [devtools] Use descriptors instead of targets in all toolbox APIs r=ochameau,nchevobbe,rpl,perftest-reviewers,sparky
Depends on D107051

Differential Revision: https://phabricator.services.mozilla.com/D106426
2021-03-10 18:22:02 +00:00
Narcis Beleuzu fe8e6266b2 Backed out 5 changesets (bug 1694906) for dt failures on browser_target_list_frames.js . CLOSED TREE
Backed out changeset bd5cb6f8b41f (bug 1694906)
Backed out changeset c23343373584 (bug 1694906)
Backed out changeset 02428006de51 (bug 1694906)
Backed out changeset 284e000deded (bug 1694906)
Backed out changeset 3b5269fe0113 (bug 1694906)
2021-03-10 04:52:56 +02:00
Julian Descottes 2a0ae97db3 Bug 1694906 - [devtools] Add new option to createDescriptorForTab to support devtools webextensions r=rpl,ochameau
Depends on D106426

Without this patch queue, `createDescriptorForTab` was not caching its descriptors, so each call to it would yield a new descriptor.
Since the webextension codebase really needs to use a different target from the one used by the DevTools toolbox, suddenly sharing the Toolbox's descriptor was an issue.

Addressing it with an explicit parameter to make this expectation from the webextension codebase a bit clearer for us.

Differential Revision: https://phabricator.services.mozilla.com/D107052
2021-03-09 20:50:42 +00:00
Julian Descottes d50a0b5cb7 Bug 1694906 - [devtools] Use descriptors instead of targets in all toolbox APIs r=ochameau,nchevobbe,rpl
Depends on D107051

Differential Revision: https://phabricator.services.mozilla.com/D106426
2021-03-09 20:50:42 +00:00
smolnar d0ec233778 Backed out changeset 59da0caf4b8e (bug 1694906) for causing browser-chrome failures in browser_ext_addon_debugging_netmonitor. CLOSED TREE 2021-03-03 12:40:50 +02:00
Julian Descottes 9998b462ef Bug 1694906 - [devtools] Use descriptors instead of targets in all toolbox APIs r=ochameau,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D106426
2021-03-03 09:10:48 +00:00
Julian Descottes 4496a88997 Bug 1694140 - [devtools] Rename TargetFactory to TabTargetFactory and update filename r=ochameau
Depends on D106032

Differential Revision: https://phabricator.services.mozilla.com/D106037
2021-02-25 18:02:53 +00:00
Julian Descottes 6ca6c5f59c Bug 1694140 - [devtools] Remove unused getTargetForTab helper on gDevTools r=ochameau
Depends on D106001

This is only used internally: https://searchfox.org/mozilla-central/search?path=&q=getTargetForTab
Can be inlined and removed from DevToolsShim

Differential Revision: https://phabricator.services.mozilla.com/D106002
2021-02-25 18:02:53 +00:00
Julian Descottes 4e9b4716e5 Bug 1694140 - [devtools] Stop using TargetFactory.forTab in devtools code r=perftest-reviewers,ochameau
Depends on D105998

Differential Revision: https://phabricator.services.mozilla.com/D105999
2021-02-25 18:02:51 +00:00
Julian Descottes 8c4e888cd0 Bug 1694140 - [devtools] Add getToolboxForTab and closeToolboxForTab helpers on gDevTools r=ochameau
Depends on D105743

Differential Revision: https://phabricator.services.mozilla.com/D105998
2021-02-25 18:02:51 +00:00
Julian Descottes a655f3d414 Bug 1688688 - [devtools] Add a simple helper to start devtools for wptrunner r=ladybenko
The webplatform test runner recently added an option to open devtools during their tests.
The current implementation relies on TargetFactory::forTab and gDevTools::showToolbox.
Those methods will most likely change as we move away from targets and start using descriptors.

See previous WPT PR at https://github.com/web-platform-tests/wpt/pull/27309

Differential Revision: https://phabricator.services.mozilla.com/D105740
2021-02-25 18:02:50 +00:00
Brindusan Cristian ae215d4017 Backed out 10 changesets (bug 1694140, bug 1694886, bug 1688688) for devtools failures on browser_CORS-console-warnings.js. CLOSED TREE
Backed out changeset 1b7367a27d9a (bug 1694886)
Backed out changeset d5a70a3143ad (bug 1694140)
Backed out changeset 74adaced5c0a (bug 1694140)
Backed out changeset 0b8f857e3f90 (bug 1694140)
Backed out changeset 45a8dc952aba (bug 1694140)
Backed out changeset 299f17e9cb6f (bug 1694140)
Backed out changeset 6beb9dd48ef3 (bug 1694140)
Backed out changeset 5f6688e8fe4c (bug 1694140)
Backed out changeset ae1fa0484c91 (bug 1688688)
Backed out changeset 8a0f5c24ed9a (bug 1688688)
2021-02-25 16:07:39 +02:00
Julian Descottes 3ff17f8b3c Bug 1694140 - [devtools] Rename TargetFactory to TabTargetFactory and update filename r=ochameau
Depends on D106032

Differential Revision: https://phabricator.services.mozilla.com/D106037
2021-02-25 12:58:16 +00:00
Julian Descottes 41991e33df Bug 1694140 - [devtools] Remove unused getTargetForTab helper on gDevTools r=ochameau
Depends on D106001

This is only used internally: https://searchfox.org/mozilla-central/search?path=&q=getTargetForTab
Can be inlined and removed from DevToolsShim

Differential Revision: https://phabricator.services.mozilla.com/D106002
2021-02-25 12:58:15 +00:00
Julian Descottes 459e76a1f4 Bug 1694140 - [devtools] Stop using TargetFactory.forTab in devtools code r=perftest-reviewers,ochameau
Depends on D105998

Differential Revision: https://phabricator.services.mozilla.com/D105999
2021-02-25 12:58:14 +00:00
Julian Descottes c00b3c0461 Bug 1694140 - [devtools] Add getToolboxForTab and closeToolboxForTab helpers on gDevTools r=ochameau
Depends on D105743

Differential Revision: https://phabricator.services.mozilla.com/D105998
2021-02-25 12:58:13 +00:00
Julian Descottes bd2a774192 Bug 1688688 - [devtools] Add a simple helper to start devtools for wptrunner r=ladybenko
The webplatform test runner recently added an option to open devtools during their tests.
The current implementation relies on TargetFactory::forTab and gDevTools::showToolbox.
Those methods will most likely change as we move away from targets and start using descriptors.

See previous WPT PR at https://github.com/web-platform-tests/wpt/pull/27309

Differential Revision: https://phabricator.services.mozilla.com/D105740
2021-02-25 12:58:12 +00:00
Alexandre Poirot 15d320c4f0 Bug 1692874 - [devtools] Use descriptors instead of targets in TargetList/Toolbox r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D105200
2021-02-18 18:36:47 +00:00
Julian Descottes 37d85677be Bug 1674977 - [devtools] Remove gDevTools::isFissionContentToolboxEnabled r=ochameau
Depends on D95686

Finally, remove the method itself.

Differential Revision: https://phabricator.services.mozilla.com/D95687
2020-11-04 18:32:37 +00:00
Julian Descottes 203f2a5d33 Bug 1674977 - [devtools] Always return true from gDevTools::isFissionContentToolboxEnabled r=ochameau
Depends on D95685

Keep the isFissionContentToolboxEnabled method but always return true to effectively enable all fission related behavior for all content toolboxes.

Differential Revision: https://phabricator.services.mozilla.com/D95686
2020-11-04 14:33:37 +00:00
Julian Descottes 62c0c6e99d Bug 1667341 - [devtools] Return a descriptor from createTargetForTab r=ochameau
Depends on D91563

Differential Revision: https://phabricator.services.mozilla.com/D91613
2020-10-15 13:34:03 +00:00