Without that, we are closing the toolbox by destroying its tab or window.
This prevent correctly waiting for toolbox full destruction and was causing leaks
in debug builds on browser_webconsole_trackingprotection_errors.js and browser_aboutdebugging_devtools.js.
Differential Revision: https://phabricator.services.mozilla.com/D91917
With bug 1620280's patches, browser_dbg-windowless-workers-early-breakpoint.js started failing
because of a removed breakpoint being re-added after being removed!
This relates to the usage of `PROMISE` in the action object,
which triggers the promise middleware, itself making the action being emitted twice.
One time immediately, and another time after the promise is resolved.
So that the reducer was adding the breakpoint twice.
Differential Revision: https://phabricator.services.mozilla.com/D91720
This was relevant before as we were calling "ThreadActor.getSources"/"StyleSheets.getStyleSheets",
and by the time these requests resolved, we would have navigated to a new URL and need to ignore their response.
I think it is safe to drop this now as these requests may still be pending if we use legacy listeners,
but the call to unwatchResources should immediately unregister _onResourceAvailable and ignore any pending data
coming late.
Differential Revision: https://phabricator.services.mozilla.com/D90428
In many cases with wpt, most of the tests in the file pass, but it is rather time consuming to annotate
.ini files case by case.
Differential Revision: https://phabricator.services.mozilla.com/D91977
/!\ in order to take the new package in packages/ folder in account,
you have to run `yarn` before `node bin/bundle.js`
Differential Revision: https://phabricator.services.mozilla.com/D91732
This is done by doing:
$ cd devtools/client/debugger
$ yarn
$ node bin/bundle.js
I'm doing this first in order to better highlight the impact of introduce new packages in-tree.
Differential Revision: https://phabricator.services.mozilla.com/D91731
This renames the current WorkerTargetActor which is actually a descriptor.
We also rename the existing `workerTargetFront` occurences to `workerDescriptorFront`
to avoid confusion when we do introduce the real worker fronts and actors.
Differential Revision: https://phabricator.services.mozilla.com/D91100
This renames the current WorkerTargetActor which is actually a descriptor.
We also rename the existing `workerTargetFront` occurences to `workerDescriptorFront`
to avoid confusion when we do introduce the real worker fronts and actors.
Differential Revision: https://phabricator.services.mozilla.com/D91100
In Bug 1660416, the separator element in the list of context was turned
into an hr element. But the test helper that checks the list wasn't updated,
which made the test fail (the test only runs when fission is enabled, which
is why it wasn't backed-out).
This patch fixes the helper by retrieving hr elements from the list.
Differential Revision: https://phabricator.services.mozilla.com/D90820
Because of this, in netmonitor stubs tests, the resource objects ends up loosing
"intermediate" state and now contains all information that we gathered by the time
we emit throttled resources.
The only way to address that would be to do an archived copy of each resource state,
but I don't think we want to do that...
Differential Revision: https://phabricator.services.mozilla.com/D89628
Before this patch the CodeMirror instance used to create Conditional Breakpoints and Logpoints did not have placeholder text.
This patch adds placeholder text to this CodeMirror instance by:
1. Adding the CodeMirror addon responsible for creating placeholder text.
2. Updating `webpack.config.js`.
3. Regenerating `codemirror.bundle.js`.
4. Matching the color of the placholder text in these CodeMirror instances to the color of placeholder text in the rest of the Debugger.
{F2456834}
Differential Revision: https://phabricator.services.mozilla.com/D89962
This help modifying redux state only once and prevent many uncesarry copies of the whole messages/network events Maps.
This will also later help getting rid of WebConsoleWrapper throttling in favor of upcoming ResourceWatcher one,
as we could call only one action from onResourceAvailable/Updated.
Differential Revision: https://phabricator.services.mozilla.com/D90367
This will ultimately help get rid of throttling done in WebConsoleWrapper
in favor of the upcoming one to be done from ResourceWatcher.
Differential Revision: https://phabricator.services.mozilla.com/D90366
If we open the Compatibility panel, the rules panel ill import the
tooltip.css for rendering the tooltips. However, the tooptip.css
imports compatibility.css and now the styles are not only unnecessarily
parsed but also on opening the Compatiblity panel, this stylesheet is
loaded and parsed again leading to the stylesheet
being loaded twice and hence these styles are applied twice for
each element in the compatibility panel unnecessarily.
We get all the necessary styles for the compatibility tooltip into
the tooltip.css (adding the necessary changes needed to handle the
color differences in the background) and remove the import of the
external compatibility.css
Differential Revision: https://phabricator.services.mozilla.com/D90533
Before this patch, there were some UX polish issues present in both the Watch Expressions and the XHR Breakpoints pane. These issues were:
1. Whenever a list of elements was displayed in either of these panes it did not possess the `4px` of vertical `padding` that is typical of lists in the Debugger.
2. The Add Watch Expression input was often not removed from the UI until after the updated list of Watch Expressions was rendered.
3. Whenever a user attempts to edit an existing Watch Expression or XHR Breakpoint they experienced significant "vertical bounce" due to a difference in height between the original markup and the form that replaced it.
This patch addresses these issues by:
1. Relocating the inputs used to create new Watch Expressions and XHR Breakpoints outside of the `<ul>` elements in these panes.
2. Relocating the `hideInput()` function call to `componentWillReceiveProps()` ensuring that the Add Watch Expression input does not persist after the list of Watch Expressions has been updated.
3. Modifying the height of the forms used to edit existing Watch Expressions and XHR Breakpoints so that there is no vertical bounce whenever a user attempts to edit an existing Watch Expression or XHR Breakpoint.
In addition to these changes, Snapshot tests and Mochitest selectors were updated where relevant while minor refactors were also done in order to improve the legibility of the code.
{F2447136}
Differential Revision: https://phabricator.services.mozilla.com/D88101
This revision introduces throttling for the color picker widget used in the DevTools Inspector Rules view.
The color picker widget can emit a lot a requests when clicking and dragging the mouse on the color "palette".
Locally I measured up to 200 requests per second. Since each request needs to apply the color to the element before the next request can be processed, this results in a bad user experience where requests will keep being applied for several seconds after the user finished using the widget.
Using throttling allows to cap the number of requests we emit, while still making sure the last value is correctly sent to the server.
Differential Revision: https://phabricator.services.mozilla.com/D90530