Depends on D84973
This was highlighted by browser_grids_grid-list-on-iframe-reloaded.js which fails without this fix.
Differential Revision: https://phabricator.services.mozilla.com/D84974
Depends on D85599
The WalkerActor is currently responsible for watching navigations and exposes them to the client.
However, this is communicated to the client differently depending on what kind of frame navigates.
If the top frame of the target navigates, this will be exposed via the watchRootNode API (onDestroyed/onAvailable callbacks will be triggered)
If an inner frame navigates, mutations will be emitted: "frameLoad"/"documentUnload" + a fake "childList" mutation.
On the client side, we have to handle both very similarly which leads to some duplication.
Also "frameLoad"/"documentUnload" are one of the last "immediateMutations" which usually means they should not have been mutations in the first place.
The goal here is to use the watchRootNode API for all frames.
Differential Revision: https://phabricator.services.mozilla.com/D84973
Depends on D85598
This test relies on mutations which are no longer emitted for most navigations and which will no longer be emitted at all with the next patches.
It has been disabled for 9 months and should be removed.
Differential Revision: https://phabricator.services.mozilla.com/D85599
Depends on D85597
newRoot mutations are no longer emitted by any server we support, we can remove the corresponding client code.
Differential Revision: https://phabricator.services.mozilla.com/D85598
_ref is renamed to _getOrCreateNodeActor to better reflect the purpose of the method.
_refMap is renamed to _nodeActorsMap
The test helper inspector-helpers was also directly querying _refMap.
This has been replaced by a call to the public API getNode.
Differential Revision: https://phabricator.services.mozilla.com/D84972
The backwards compatibility checks existed to support devtools
backend for version older than FF79. Now that FF79 has hit the
release channel, these tests for older backend can be removed.
Differential Revision: https://phabricator.services.mozilla.com/D86142
The CSS Compatibility Tooltip tests cover the following cases:
* Check if the contents of the tooltip match the rendered template
* Check compatible rules aren't falsely marked incompatible
* Check incompatible rules are marked correct with icon appearing next to it
* Check toggling rule disable hides the icon
* Check adding rules updates the compatibilility status
* Check the compatibility icon disappears if a fix is added
Differential Revision: https://phabricator.services.mozilla.com/D84218
Use CompatibilityActor to fetch the compatiblity information for
a particular CSS declaration and show a tooltip for the
incompatible CSS declaration that may cause issue on platform
Differential Revision: https://phabricator.services.mozilla.com/D81474
Previously CompatibilityActor could only compute the compatiblity
issues taking node actor. However with the implementation of
inline compatibility warning, it becomes necessary to compute
compatiblity issue from the CSS declaration block. This patch
exposes a getCssDeclarationBlockIssues and add browser dataset
fetch within the actor for inline warnings.
Differential Revision: https://phabricator.services.mozilla.com/D81472
Not having the window property anymore, we have to change the `window` getter
in WebConsoleActor to retrieve `workerGlobal`. And since the getter name wasn't
reflecting what it was holding (it can be a window, a worker global or a sandbox),
we rename it to `global` (and `evalWindow` to `evalGlobal`).
We remove the `globalDebugObject` getter on the thread actor that wasn't used
anywhere in the code.
Differential Revision: https://phabricator.services.mozilla.com/D86035
The `watchResources` function [1] takes as a first parameter either a watcher
actor or a target actor, that is used to manage the created resources (e.g. the
object actors of console messages). In order to be able to manage actors, it
needs to extend the `Pool` class (which is the case for Actor).
In the worker cases, things are a bit different, since we create a DevToolServer
which only have a WebConsole and a Thread actor. Those actors usually take a target
actor as a parent, but in the Worker thread we simply have an object implementing
the properties and methods it needs.
This will be this target actor mock that we're going to pass to `watchResources`,
and in order to be able to do that, it needs to be able to manage actors.
In regard of all this, this patch makes the target actor mock an actual Actor,
witout spec, on which we then put the existing methods and properties.
[1] https://searchfox.org/mozilla-central/rev/0e309417bdc73be33fc93f6bd7a0d4063d2c6e51/devtools/server/actors/resources/index.js#66
Differential Revision: https://phabricator.services.mozilla.com/D85814
The existing browser_target_list_workers.js is split in two tests, one for testing
browser workers (i.e. Browser Toolbox case), and another one for testing workers
in a tab.
Numerous test cases are added to check behaviour of the targetList when workers:
- already exists
- are spawned
- are terminated
in the main document or in remote iframe.
The test is tagged as fail-if when fission is enabled since we don't get the
workers for remote iframes.
Differential Revision: https://phabricator.services.mozilla.com/D85813
fission_document.html's iframe was on example.com while the top document
is always on example.com as well, so we weren't exercising fission in it.
This patch puts the iframe on example.org, which highlighted some TargetList
test failures that this patch addresses.
Differential Revision: https://phabricator.services.mozilla.com/D85812
Makes `addException` more reusable in the form that can be used with exceptions objects that have different properties than a `resource` object from the `resourceWatcher`.
Fixes a typo in `Exception.js`.
Fixes incorrectly set property `sourceId` in `addEditorExceptionLine()` in `Exception.js`.
Differential Revision: https://phabricator.services.mozilla.com/D78883
The Fenix package name is now org.mozilla.firefox and not org.mozilla.fenix.
We need to update the logic in ADB to accommodate for this change.
Differential Revision: https://phabricator.services.mozilla.com/D85396