-
Notifications
You must be signed in to change notification settings - Fork 13
Web Sockets
Jan Odvarko edited this page Sep 1, 2015
·
15 revisions
This page serves as a central place for collecting information about required WebSocket platform API. The goal is extending RDP inspector to track also WebSocket connections and data sent over it.
- Get list of existing WS connections (we need to filter per tab)
- Track opening and closing of WS connections (we need to filter per tab)
- Intercept all sent/received frames for specific connection
- Access full frame data (both frame meta data as well as the payload)
Questions:
- Why tracking messages isn't enough?
List of existing bugzilla reports
- Jeff: Bug 885508 - Allow developers to inspect websocket connections
- Patch monkey patching WebSocket JS API availble, but it's dead end, platform API needed
- Comment #28, great WS background introduction
- Jeff: Bug 927481 - observe in-content WebSocket frames
- Request to observer WS frames. Observing messages doesn't seem to be enough (a message can span more frames).
- But Comment #6 from bug 885508 done later says that observing messages could be actually enough.
- Nick: Bug 977858 - Should be able to attach an nsiWebSocketListener to a web socket that's already open
- Suggested API: .SetObserver(nsIWebsocketListener, nsIEventTarget);
- Comment #3 suggests that only a single observer will be supported. No way, there can be more extensions observing the WS connections.
- Bug 720176 - WebConsole should be able to log WebSocket messages
- Bug 765651 - WebSocket connections are listed with the "http:" protocol in the console.
- Jim: Bug 1103189 - WebSockets should allow developer tools code to observe socket activity
- This is very much like bug 977858, although that suggests a very different approach.
- Mentored by Jim, but doesn't seem to be finished
- Jim: Bug 1103257 - The Firefox Devtools need a WebSockets inspector panel
- Suggesting a new WS panel, but original idea was to put WS into Network panel, but a comment in bug 885508 says that Network panel isn't suitable.
- Jim: Bug 1103263 - The DevTools needs WebSocket Manager and Inspector actors.
- Suggested new RDP protocol packet types (the architecture: Panel <--> Actors <--> Web Socket Objects)
- Axel: Bug 1197900 - Protocol handlers for protocol upgraded websocket connections
- It should be possible to register specific protocol parsers (e.g. socket.io)
- All protocol identifiers are necessarily registered with iana registration for websocket protocols.
- Axel: Bug 1197903 - Protocol independent payload parsing of websocket traffic
- Basic JSON parser should be built-in