This key will be trigerred even when devtools aren't focused.
We are willing to trigger this key especially when the page is focused.
But the shortcut will only do something when the debugger is opened.
This feature highlights that JS tracing may as well work solely based
on the WebConsole... we may want to followup to make this feature work
across console and debugger.
Differential Revision: https://phabricator.services.mozilla.com/D174097
Getters with LegacyLenientThis attribute will trigger a warning in the console
if it's called with the unexpected `this`.
We can't tell in DevTools if we have the "right" `this`.
For example displaying an `HTMLDivElementPrototype` object, we'll trigger the
warning because of the `onmouseenter` getter, which is supposed to be called
with the `HTMLElement` instance, which we don't have at this point.
For this reason, we exclude those from being safe getters, which will prevent
triggering the warning.
Differential Revision: https://phabricator.services.mozilla.com/D174070
As the drawback of not having the safeGetter evaluated is quite minimal, we taking
a very simple route and only check the getter name against the list of deprecated
getter names.
We didn't have test for deprecated warnings, so one is added where we check such
messages are not emitted when expanding an object inspector.
Differential Revision: https://phabricator.services.mozilla.com/D174057
The tree devtools uses is the light dom + pseudo-elements + NAC, but sometimes
it wants to know stuff about the flat tree like assigned nodes. Previously it
was using a weird mix of the anonymous vs. non-anonymous walkers to get what it
wants, but that's needlessly complicated.
Instead, make InspectorUtils.getChildrenForNode do the right thing, and add
assigned nodes explicitly.
While _getChildren using a walker might seem like a good idea for performance,
realistically it was using InspectorUtils under the hood, and this is much
simpler.
Differential Revision: https://phabricator.services.mozilla.com/D174491
To be clear the current behavior is worth preserving and not a bug, it just
happens that my previous patch breaks it subtly.
These patches on their own don't change behavior but they fail tests from the
precious changes.
The TLDR is that when using the standard walker we don't want to ignore all
anonymous children, just anonymous roots. This is important because now that
ShadowRoots can be anonymous roots, we were skipping their children altogether.
Also, don't return anonymous children that are really part of the shadow tree
and which now show up as anonymous because of that.
Depends on D174365
Differential Revision: https://phabricator.services.mozilla.com/D174366
This patch fixes the inttermittent which is caused by not waiting to properly
resume from an extra debugger statement that exists.
Differential Revision: https://phabricator.services.mozilla.com/D174690
This is enough to allow ESLint and Prettier to be run as different processes within the same lint command.
It does not fix all the failures with those two separate - that will be handled in follow-up bugs.
Differential Revision: https://phabricator.services.mozilla.com/D174133
This doesn't help know what particular resource DevTools is currently inspecting,
but at least it helps know if it debugs something:
* one or many BrowsingContext(s) for regular DevTools (you can use BrowsingContext.watchedByDevTools instead)
* the whole process for the Browser Console/Toolbox
Differential Revision: https://phabricator.services.mozilla.com/D173295
Use the same icon and styling that we have for the highlight button in the rule view.
We only update the current background color we use so it still visible with the
animation item hover color.
Differential Revision: https://phabricator.services.mozilla.com/D173963
The log method being choosed in the context menu wasn't saved in a preference,
so that you have to pick STDOUT on each new firefox restart.
Differential Revision: https://phabricator.services.mozilla.com/D174096
It appears that emitting one CONSOLE_MESSAGE per frame highlights the overhead
of DevTools transport and JSWindowActor communication.
Throttling the messages by sending array of them significantly improve
the overall performance of tracing.
Differential Revision: https://phabricator.services.mozilla.com/D173775
With the new location object having direct references to source object,
we now have to wait for sources objects to be registered in the reducers
before trying to instantiate the related frame locations.
Also fix a typo in waitForSourceToBeRegisteredInStore.
Last but not least, we no longer need to wait for the source related to
the selected frame as mapFrames will do it.
Now we have a strong guaranty that frame.location will be set
with a valid source object. That for both generated *and* original sources.
Differential Revision: https://phabricator.services.mozilla.com/D173838
This doesn't help know what particular resource DevTools is currently inspecting,
but at least it helps know if it debugs something:
* one or many BrowsingContext(s) for regular DevTools (you can use BrowsingContext.watchedByDevTools instead)
* the whole process for the Browser Console/Toolbox
Differential Revision: https://phabricator.services.mozilla.com/D173295