DevTools/e10s: Difference between revisions

Jump to navigation Jump to search
Line 4: Line 4:


== Debug Protocol ==
== Debug Protocol ==
=== Introduction ===
The Remote Debugging Protocol is currently under development, as part
of the Script Debugger.  The debug protocol exposes a tree of named
Actors, which communicate with the client using JSON packets.
Debugger clients connect to a protocol implementation running in the
chrome process (the client currently under development also runs in
the chrome process).  The client then asks the root actor running in
this process for a list of actors for the currently open tabs, and
then sends an "attach" request to the chrome-process protocol actor
for the tab it's interested in.
When the attached tab is running in a content process, the
chrome-process actor will request a connection to the content's
protocol implementation (which may require starting one up) over the
messageManager and get a reference to a content-side tab actor for the
given tab.
Actor IDs will be prefixed with a unique identifier for each content
process.  The chrome process's protocol server will handle requests
intended for chrome-process actors, and will dispatch requests to
content actors over the connection to the content process.
The chrome-side tab actor will exist before it is attached, and before
we've connected to a protocol implementation on the content side.
After attaching, that actor will need to manually forward requests to
the content-side actor for the tab.
=== Planning ===
==== Further Analysis ====
* Get the remote debugging protocol server running in content
  processes, and listing tabs hosted in that process.  Should be able
  to manually connect a debugger to a specific content process (over
  TCP) and debug that without involvement from the chrome process.
* Figure out and build the transport layer between the chrome and
  content protocol implementations (IPDL?).
== Implementation ==
* Get tab attach to work over the chrome/content boundary.
* Get cross-navigation debugging to work correctly when the new
  location is hosted in a new content process (in the meantime we will
  treat that as a tab close).


== Web Console ==
== Web Console ==
Confirmed users
673

edits

Navigation menu