Crate chrome_remote_interface_model[][src]

Chrome DevTools Protocol message model.


Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or
  • MIT license (LICENSE-MIT or at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.!


accessibilityexperimental and Accessibility and DOM
animationexperimental and Animation and Runtime and DOM
application_cacheexperimental and ApplicationCache and Page
auditsexperimental and Audits and Network

Audits domain allows investigation of page violations and possible improvements.

background_serviceexperimental and BackgroundService

Defines events for background web platform features.


The Browser domain defines methods and events for browser managing.

cache_storageexperimental and CacheStorage
castexperimental and Cast

A domain for interacting with Cast, Presentation API, and Remote Playback API functionalities.

consoleDeprecatedConsole and Runtime

This domain is deprecated - use Runtime or Log instead.

cssexperimental and CSS and DOM and Page

This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles) have an associated id used in subsequent operations on the related object. Each object type has a specific id structure, and those are not interchangeable between objects of different kinds. CSS objects can be loaded using the get*ForNode() calls (which accept a DOM node id). A client can also keep track of stylesheets via the styleSheetAdded/styleSheetRemoved events and subsequently load the required stylesheet contents using the getStyleSheet[Text]() methods.

databaseexperimental and Database
debuggerDebugger and Runtime

Debugger domain exposes JavaScript debugging capabilities. It allows setting and removing breakpoints, stepping through execution, exploring stack traces, etc.

device_orientationexperimental and DeviceOrientation
domDOM and Runtime

This domain exposes DOM read/write operations. Each DOM Node is represented with its mirror object that has an id. This id can be used to get additional information on the Node, resolve it into the JavaScript object wrapper, etc. It is important that client receives DOM events only for the nodes that are known to the client. Backend keeps track of the nodes that were sent to the client and never sends the same node twice. It is client's responsibility to collect information about the nodes that were sent to the client.

Note that iframe owner elements will return corresponding document elements as their child nodes.

dom_debuggerDOMDebugger and DOM and Debugger and Runtime

DOM debugging allows setting breakpoints on particular DOM operations and events. JavaScript execution will stop on these operations as if there was a regular breakpoint set.

dom_snapshotexperimental and DOMSnapshot and CSS and DOM and DOMDebugger and Page

This domain facilitates obtaining document snapshots with DOM, layout, and style information.

dom_storageexperimental and DOMStorage

Query and modify DOM storage.

emulationEmulation and DOM and Page and Runtime

This domain emulates different environments for the page.

fetchFetch and Network and IO and Page

A domain for letting clients substitute browser's network layer with client code.

headless_experimentalexperimental and HeadlessExperimental and Page and Runtime

This domain provides experimental commands only supported in headless mode.

heap_profilerexperimental and HeapProfiler and Runtime
indexed_dbexperimental and IndexedDB and Runtime
inspectorexperimental and Inspector

Input/Output operations for streams produced by DevTools.

layer_treeexperimental and LayerTree and DOM
logLog and Runtime and Network

Provides access to log entries.

mediaexperimental and Media

This domain allows detailed inspection of media elements

memoryexperimental and Memory
networkNetwork and Debugger and Runtime and Security

Network domain allows tracking network activities of the page. It exposes information about http, file, data and other requests and responses, their headers, bodies, timing, etc.

overlayexperimental and Overlay and DOM and Page and Runtime

This domain provides various functionality related to drawing atop the inspected page.

pagePage and Debugger and DOM and IO and Network and Runtime

Actions and events related to the inspected page belong to the page domain.

profilerProfiler and Runtime and Debugger

Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group.


This domain is deprecated.



service_workerexperimental and ServiceWorker and Target
storageexperimental and Storage and Browser and Network
system_infoexperimental and SystemInfo

The SystemInfo domain defines methods and events for querying low-level system information.


Supports additional targets discovery and allows to attach to them.

tetheringexperimental and Tethering

The Tethering domain defines methods and events for browser port binding.

tracingexperimental and Tracing and IO
web_audioexperimental and WebAudio

This domain allows inspection of Web Audio API.

web_authnexperimental and WebAuthn

This domain allows configuring virtual authenticators to test the WebAuthn API.



Message from client.


Session id.



Chrome DevTools Protocol event.


Message structure from Chrome.



Generating Chrome DevTools protocol version.



Chrome DevTools Protocol Command.