This is no longer used. The returned promise should be used instead.
There was also some old lefovers in WebConsole Front related to network events.
As we no longer have legacy listeners, this is no longer used.
The frontend code now uses DevToolsClient.request directly to query the NetworkEventActor's.
Differential Revision: https://phabricator.services.mozilla.com/D180980
This is no longer used. The returned promise should be used instead.
There was also some old lefovers in WebConsole Front related to network events.
As we no longer have legacy listeners, this is no longer used.
The frontend code now uses DevToolsClient.request directly to query the NetworkEventActor's.
Differential Revision: https://phabricator.services.mozilla.com/D180980
The scopes data we get in Scopes panel (from `FrameFront#getEnvironment`) don't
contain any object front, only grips.
As the setup is already complex, I didn't want to change that, so I went the
way we already do in some other places and passed the client to the ObjectInspector
we render; this way the CustomFormatter element can call `createObjectFront` from
it when it does not receive a proper front.
This revealed an issue in how we were passing the `front` prop from `renderJsonMl`,
as we weren't doing any check on it, and as a result it might have been a simple grip.
We also decrement the `autoExpandDepth` in `toggleBody` so we don't get auto expand
"regular" objects that might be inside custom formatter body.
Differential Revision: https://phabricator.services.mozilla.com/D175900
Everywhere but:
* the debugger (to be done independently)
* jsonview (uses custom resource:// URLs)
* dependencies of jsonview in client/shared (reps, react, and two components)
* one dependency of performance-new (fluent-react)
This will greatly help migrating to ES Modules which don't support path and only URLs or relatives.
Differential Revision: https://phabricator.services.mozilla.com/D158324
This better highlight that may only be the transport that is closed and not the whole client.
But at the end, both should follow the same lifecycle and be destroyed altogether.
Differential Revision: https://phabricator.services.mozilla.com/D108813
Close method may be called by the transport on close.
This was highlighted by browser_target_from_url.js
Surprisingly devtools/shared/tests/xpcshell/test_debugger_client.js
tries quite hard to cover such issue, but we seem to get yet another type of reentrancy.
This probably depends on WebSocketTransport, which is a bit hard to get covered.
No test seems to be spawning a WebSocket DevToolsServer...
Differential Revision: https://phabricator.services.mozilla.com/D107988
Close method may be called by the transport on close.
This was highlighted by browser_target_from_url.js
Surprisingly devtools/shared/tests/xpcshell/test_debugger_client.js
tries quite hard to cover such issue, but we seem to get yet another type of reentrancy.
This probably depends on WebSocketTransport, which is a bit hard to get covered.
No test seems to be spawning a WebSocket DevToolsServer...
Differential Revision: https://phabricator.services.mozilla.com/D107988
Previous `purgeRequestForDestroy` method was only rejecting all pending requests.
The new `syncFrontDestroy` allows to fully destroy the front, including
unregistering it/unmanage it. So that if we receive a packet from a brand new
actor, with the same prefix and actor ID, DevToolsClient.getFront doesn't return
the old destroyed front.
This issue was making pending requests that were never resolved.
Differential Revision: https://phabricator.services.mozilla.com/D94718
We take this opportunity to remove Pool.get as well,
which was doing exactly the same thing as Pool.actor
This highlighted a couple issues in Reps:
- LongString were relying on the isGrip function, which was only checking that
the actor property was truthy. So it was matching LongStringFront which had
the actor method. This is modified by using the isLongString helper instead.
- The Object rep was building all the reps for the object properties, even in
TINY mode, where the result was only used to check the length. In the Accessibility
panel, it can happen that an plain object containing front properties is passed
to Rep. It was fine before because this was short-circuited by the Accessor rep
which was only checking the truthiness of a `get` property. With `get` being
removed, the default Rep was used, which is Object, and we were hitting a
recursion loop, as some of the properties of fronts are cycle references.
There should be a fix in the Accessibility panel to _not_ pass fronts, but we
also "fix" it from here by simply not building sub-properties for the object
when we're in TINY mode.
Differential Revision: https://phabricator.services.mozilla.com/D81971
This class isn't used anymore, and it's safe to remove it.
We take this as an opportunity to remove Pool#cleanup and
Pool#isEmpty, which each only had one callsite.
Some comments are updated to not mention ActorPool.
Differential Revision: https://phabricator.services.mozilla.com/D80602
Depends on D68599
This changeset moves devtools-client.js and constants.js to devtools/client and removes devtools/shared/client
Differential Revision: https://phabricator.services.mozilla.com/D68600