I am currently writing a prototype of a debugger server for Servo that
works with the Chrome Debugging Protocol:
https://github.com/ejpbruel/servo/tree/acceptor

The Chrome Debugging Protocol works by first sending a HTTP request to
http://localhost:<port>/json (where <port> is the remote debugging
port). This returns a JSON array of objects, each of which describes a
debugging target. Among other things, this description includes a WebSocket
URL for the target.

Both the HTTP URL for the initial request and the WebSocket URLs for the
individual targets, use the same remote debugging port. This is a problem,
since the rust-websocket library that we use in Servo currently does not
support handling HTTP requests over the same port as the WebSocket server.

I did find the following pull request
<https://github.com/cyderize/rust-websocket/pull/80> that seems to
implement the functionality we need, but for some reason it never landed
(the last comment is over a month old).

The way I see it, we have two options. Personally, I'm leaning towards
option two, but I wanted to get your opinion:

1. Ignore the problem for now. Most debugger clients for the Chrome
Debugging Protocol can attach to a WebSocket URL directly; since Servo only
supports a single tab right now anyway, we don't really need that initial
HTTP request.

2. Poke the author of the rust-websocket library and see if we can get that
pull request landed.
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to