depends on D123326
This changeset introduces a single `wait` function which should work for all DevTools setups.
For the provided browser, it will check if there is a Toolbox or a RDM UI opened. Then it will start watching for Toolbox-specific or RDM-specific navigation events (incl panels etc...), as well as for the reload of the corresponding Commands instances (toolbox and RDM UI might each have one). It also extracts the "target switching" check to a separate "watch" helper so that it doesn't get mixed with the rest of the logic.
Differential Revision: https://phabricator.services.mozilla.com/D123604
All these tests most likely have been fixed with the enabling of server targets.
Because bfcache in parent was introducing more cross process navigations,
being initiated from the server, having the support of server targets was uterly
important to support bfcacheInParent.
Differential Revision: https://phabricator.services.mozilla.com/D123448
We were having some race condition between calls using debounce and the other not using it.
The check verify if the state changed prevented from updating the component correctly.
So better always debounce and avoid doing any state check.
Differential Revision: https://phabricator.services.mozilla.com/D123362
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.
This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.
Differential Revision: https://phabricator.services.mozilla.com/D122345
This is most commonly as a result of CU.evalInSandbox which
allows an arbitrary filename but when omitted will default
to the filename of the test, which is a filesystem path
and thus is disallowed.
Differential Revision: https://phabricator.services.mozilla.com/D122246
This is most commonly as a result of CU.evalInSandbox which
allows an arbitrary filename but when omitted will default
to the filename of the test, which is a filesystem path
and thus is disallowed.
Differential Revision: https://phabricator.services.mozilla.com/D122246
The sheet in here is added as an user agent sheet so it matches also
anonymous content.
It can cause some invariants we rely on for scrollbar caching to break.
In particular, we assert that the style we cache and the style we get
match, but this rule causes it to not match.
Make sure to reset transition to the initial value so that scrollbar
styles don't change. This shouldn't change behavior since
transition-duration is zero anyways, but should avoid the assertion
firing.
An alternative would be to use something like
`:not(:-moz-native-anonymous)` or such instead.
Differential Revision: https://phabricator.services.mozilla.com/D123319
As explained in the bug, the test test_inspector-dead-nodes.html exercises an edge case which is probably irrelevant now.
It aimed to check that you could call APIs on target scoped fronts during target reload.
Eg, get the children of a node, while you reload a page. However with SSTS, we now destroy the target, so all fronts are destroyed.
This test should probably be migrated to a commands test, and we should define what should be the behavior of such a command during reload.
However in its current shape the test is doing the following:
- get walkerFront1 and nodeFront1 for target1
- reload the page
- wait for the new target target2 and get walkerFront2
- call walkerFront2.children(nodeFront1)
- check there are no errors
This call doesn't really make sense however. walkerFront2 and nodeFront1 are fronts from different targets and nodeFront1 is already destroyed. Here it happens to crash when trying to use a getter on nodeFront1 and it would be nicer to not throw anyway, hence the proposed fix.
But the test should still be reviewed.
Differential Revision: https://phabricator.services.mozilla.com/D123138
There is a race condition in which the TableWidget was trying to sort values that are no longer available in the table itself, if we change the contents of the table too quickly. This patch should also fix Bug 1696727
Differential Revision: https://phabricator.services.mozilla.com/D122970
plugin-syntax-class-properties was supported by default in Babel 7.14.0.
This also adds top level await support in modules with the upgrade to Babel 7.15.0.
Differential Revision: https://phabricator.services.mozilla.com/D122865
With the existing getSymbolTable API, we always expose all symbols.
This new API will save memory and time when symbolicating profiles for local
Firefox builds, and it will scale to returning more information per address.
The profiler-get-symbols wasm module currently supports two "path" entry points:
- /symbolicate/v5: This one has the same API as the /symbolicate/v5 entry
point of the official Mozilla symbolication API, see the docs:
https://tecken.readthedocs.io/en/latest/symbolication.html#symbolication-symbolicate-v5
- /symbolicate/v6a2: This has the same request API as v5 but returns
richer data: For each address it also returns file and line information,
as well as the inline stack at that address.
In the future, we may want to add more supported "paths". Since this glue
code is really generic, doing so should be possible without touching most
of the glue code, only by updating the wasm bundle to a newer version of
profiler-get-symbols.
Differential Revision: https://phabricator.services.mozilla.com/D121932