On Mon, Apr 18, 2016 at 5:53 PM, Mike Ratcliffe <
mratc...@mozilla.com>
wrote:
> I remember discussing this with somebody in the past... maybe dcamp but I
> am not sure.
>
> If we do this well it really will make our actors easier for people to
> understand so this seems like a huge win to me.
>
> /Mike Ratcliffe
>
>
I just wanted to add some additional details about this (in case it can be
useful to the analysis):
currently a protocol description of all "protocol.js"-based actors can be
retrieved over the RDP protocol itself,
using a "protocolDescription" requestType sent to the root actor.
(which is handled here:
https://dxr.mozilla.org/mozilla-central/source/devtools/server/actors/root.js#485
).
Some times ago we tried to rebuild the client from this protocolDescription
on the client side, the experiment was called volcan:
-
https://dxr.mozilla.org/mozilla-central/source/addon-sdk/source/lib/dev/volcan.js
-
https://github.com/Gozala/volcan
I remember that at the time the main issues we found were:
- some important actors are not currently defined using "protocol.js"
abstractions,
as a consequence currently they doesn't have an actorSpec to be included
into the json protocol description
(for this reason, in some cases, we polyfilled the json protocol
description with some of the important missing bits,
e.g. for the console actor
https://github.com/Gozala/volcan/pull/3/files)
- only the actorSpec of the actors that are already been loaded are
available in the protocolDescription,
any lazy actor not yet created is not in that dump (until we request it
again after loading the actor)
Best,
Luca