Also moving the LOG_METHODS from actors to specs so that the frontend
can import them from devtools/shared instead of devtools/server.
Differential Revision: https://phabricator.services.mozilla.com/D215085
Also moving the LOG_METHODS from actors to specs so that the frontend
can import them from devtools/shared instead of devtools/server.
Differential Revision: https://phabricator.services.mozilla.com/D215085
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
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 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
This adds an additional toolbar in the Browser Toolbox which will contain specific
tools and options.
At the moment we only display a couple input button to be able to switch from
Parent process only to multiprocess mode.
We remove the similar UI in the iframe picker and adapt the existing test.
A trait is added to not show the toolbar when debugging server where we wouldn't
get the `isSwitchingMode` property in `onTargetDestroyed`, as this can cause
misbehavior in various tool when switching between different modes.
Differential Revision: https://phabricator.services.mozilla.com/D150575
This adds an additional toolbar in the Browser Toolbox which will contain specific
tools and options.
At the moment we only display a couple input button to be able to switch from
Parent process only to multiprocess mode.
We remove the similar UI in the iframe picker and adapt the existing test.
A trait is added to not show the toolbar when debugging server where we wouldn't
get the `isSwitchingMode` property in `onTargetDestroyed`, as this can cause
misbehavior in various tool when switching between different modes.
Differential Revision: https://phabricator.services.mozilla.com/D150575
This introduces a checkbox in the iframe dropdown to enable/disable multiprocess debugging live.
Switching between:
- debugging only the main process (all documents, workers and priviledged JS)
- debugging all the processes (same, for each process, we will debug documents, workers, JS, ...)
This helps significantly speed up the browser toolbox when debugging only parent process resources,
while still allowing to switch to debug everything when required.
Depends on D146891
Differential Revision: https://phabricator.services.mozilla.com/D148527
This introduces a checkbox in the iframe dropdown to enable/disable multiprocess debugging live.
Switching between:
- debugging only the main process (all documents, workers and priviledged JS)
- debugging all the processes (same, for each process, we will debug documents, workers, JS, ...)
This helps significantly speed up the browser toolbox when debugging only parent process resources,
while still allowing to switch to debug everything when required.
Differential Revision: https://phabricator.services.mozilla.com/D148527
This commit adds support for setting the pseudo-locale for the browser
UI directly from the Browser Toolbox. This places the icons in the same
place as the "Disable Popup Autohide" command. This will make it easier
for Firefox developers to test that their UI is properly localized.
The SVGs were optimized for size using an optimizer that dropped the
path precision and any extra tags. I tested that they work correctly in
both light and dark modes.
Pseudo-localization is documented here:
https://firefox-source-docs.mozilla.org/l10n/fluent/tutorial.html#pseudolocalization
After this patch lands I'll follow-up with updating that documentation.
Differential Revision: https://phabricator.services.mozilla.com/D134420
The iframe picker code is refactored a bit so it's easier to follow.
This patch makes it so we support both EFT and non EFT scenarios.
Differential Revision: https://phabricator.services.mozilla.com/D130241
The iframe picker code is refactored a bit so it's easier to follow.
This patch makes it so we support both EFT and non EFT scenarios.
Differential Revision: https://phabricator.services.mozilla.com/D130241
A button configuration is now created from _buildButtons so the error count button
is part of the `toolbarButtons` property on the toolbox.
An `updateErrorCountButton` updates the property of the button, and we call it
from the function that updates the error count, from which we also trigger a new
render for the toolbar.
This way updating the error count will go through the overflow logic we have in
the toolbar (to show the chevron or not).
A "side effect" of this is that an item is automatically created in the options
panel to disable the error count button. In order for it to work properly, we
need to add a preference to store its enabled state, as well as a specific
localized string for the input label.
browser_toolbox_error_count is updated to ensure that the error button isn't
displayed if it was disabled in the option panel, even if new errors are emitted.
browser_toolbox_options_disable_buttons was updated to reflect the changes made
to the error count button.
Differential Revision: https://phabricator.services.mozilla.com/D101569
This patch displays an error icon matching the number
of errors handled in the console.
An error can be:
- a nsIScriptError that is not a warning
- a console.error call
- a console.assert call
- a 4xx or 5xx network call
The counter is handled via the resourceWatcher of the toolbox,
where we listen for the different resources we need.
Clearing the console from the UI or via console.clear resets
the error count.
Clicking on the icon opens the split console if it wasn't already.
Navigating clears the error count, except if the persist log
option is enabled in the console.
A test is added to ensure this works as expected.
Differential Revision: https://phabricator.services.mozilla.com/D100668
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045