Remote Debugging - getProcess doesn't return all actors
Categories
(DevTools :: General, task)
Tracking
(Not tracked)
People
(Reporter: roy450, Unassigned)
Details
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
Steps to reproduce:
I started firefox with the "-start-debugger-server" parameter. My websocket is connect to the server. I am sending this content "{ "to":"root", "type":"getProcess" }" to server.
Actual results:
The result on the version 70 of firefox of this request is :
{"form":{"actor":"server1.conn0.processDescriptor1","id":0,"isParent":true},"from":"root"}
Expected results:
On the version 69 of firefox the result was :
{"form":{"actor":"server1.conn0.parentProcessTarget19","traits":{"isBrowsingContext":true},"url":"chrome://browser/content/browser.xhtml","outerWindowID":1,"consoleActor":"server1.conn0.consoleActor20","inspectorActor":"server1.conn0.inspectorActor21","styleSheetsActor":"server1.conn0.styleSheetsActor22","storageActor":"server1.conn0.storageActor23","memoryActor":"server1.conn0.memoryActor24","framerateActor":"server1.conn0.framerateActor25","reflowActor":"server1.conn0.reflowActor26","cssPropertiesActor":"server1.conn0.cssPropertiesActor27","performanceActor":"server1.conn0.performanceActor28","animationsActor":"server1.conn0.animationsActor29","promisesActor":"server1.conn0.promisesActor30","emulationActor":"server1.conn0.emulationActor31","webExtensionInspectedWindowActor":"server1.conn0.webExtensionInspectedWindowActor32","accessibilityActor":"server1.conn0.accessibilityActor33","screenshotActor":"server1.conn0.screenshotActor34","changesActor":"server1.conn0.changesActor35","webSocketActor":"server1.conn0.webSocketActor36"},"from":"root"}
Did something changed on version 70 for the remote debugger ? How can I get all the actors now ?
Updated•6 years ago
|
I found the solution. The consoleActor is now given by the ProcessDescriptor once you call "getTarget" on it.
I haven't found any documentation about those changes. To get the list of all the types available for an actor you can call the "requestTypes" on the actor. The "protocolDescription" is also useful.
Comment 2•6 years ago
|
||
The priority flag is not set for this bug.
:jlast, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 3•6 years ago
|
||
Julian, do you know when getProcess changed?
Comment 4•6 years ago
|
||
This changed in Bug 1566450, where we introduced descriptors for process targets
As you have seen here, once you have a process descriptor calling getTarget() on the descriptor will return the process target actor.
We have also introduced this for frame targets, and we will keep moving other targets to the same pattern (tabs, workers etc...)
I haven't found any documentation about those changes. To get the list of all the types available
for an actor you can call the "requestTypes" on the actor. The "protocolDescription" is also useful.
Our server documentation is quite outdated, and the architecture on the server side is moving a lot recently.
We don't maintain an API doc for external consumers, so except reading the code and integrating changes regularly, we don't have a great solution for following our protocol changes. As it is the Remote DevTools Protocol is really intended for internal use first. There some integrations out there (eg vscode) so it's doable, but it can be a bit painful.
Antoine: it seems like you found how to workaround this issue, so I am closing the bug here.
If you have other questions, feel free to reach out on slack https://devtools-html-slack.herokuapp.com/
(or open other bugs, but as you can see it can take time to get an answer depending on how many bugs we need to triage)
Not related to about:debugging, moving to General
Description
•