In a blog post Pavel Feldman explains how to use WebKit Web Inspector outside of the target browser. WebKit Inspector can communicate with WebKit-based browsers through the Remote Debugging Protocol, providing a debugging environment very similar to the one found locally.
Some reasons to use Web Inspector this way include debugging mode applications and IDE integration. However, from what I can tell, Safari on iOS and Chrome on Android don’t yet support the Remote Debugging Protocol.
From the blog post, here’s a list of the domains supported by the protocol so far:
- Console – defines methods and events for interaction with the JavaScript console.
- CSS – exposes low level CSS read / write operations.
- Debugger – exposes JavaScript debugging functions; allows setting and removing breakpoints, stepping through execution, exploring stack traces, etc.
- DOM – This domain exposes DOM read/write operations.
- DOM Debugger – allows setting breakpoints on particular DOM operations and events. JavaScript execution will stop on these operations as if there was a regular breakpoint set.
- Network – allows tracking network activities of the page; exposes information about HTTP and WebSocket requests and responses, their headers, bodies, raw timing, etc.
- Page – actions and events related to the inspected page.
- Runtime – exposes JavaScript runtime by means of remote evaluation and mirror objects.
- Timeline – provides its clients with instrumentation records that are generated during the page runtime.