5 Firefox supports several remote protocols, which allow to inspect and control
6 the browser, usually for automation purposes:
8 * :ref:`marionette-header`
9 * :ref:`remote-protocol-cdp-header`
10 * :ref:`webdriver-bidi-header`
15 The following documentation pages apply to all remote protocols
31 .. _marionette-header:
36 Marionette is used both by internal tools and testing solutions, but also by
37 geckodriver to implement the `WebDriver (HTTP) specification`_. The documentation
38 for Marionette can be found under `testing/marionette`_.
40 .. _WebDriver (HTTP) specification: https://w3c.github.io/webdriver/
41 .. _testing/marionette: /testing/marionette
44 .. _remote-protocol-cdp-header:
49 Firefox implements a subset of the `Chrome DevTools Protocol`_ (CDP) in order to
50 support third party automation tools such as `puppeteer`. The documentation for
51 the remote protocol (CDP) implement can be found at `remote/cdp`_.
53 .. _Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
57 .. _webdriver-bidi-header:
62 `The WebDriver BiDi specification <https://w3c.github.io/webdriver-bidi>`_
63 extends WebDriver HTTP to add bidirectional communication. Dedicated
64 documentation will be added as the Firefox implementation makes progress.
72 The documentation for the framework used to build WebDriver BiDi modules can be
73 found at `remote/messagehandler`_.
75 .. _remote/messagehandler: messagehandler/
81 Bugs are tracked under the `Remote Protocol product`_.
83 .. _Remote Protocol product: https://bugzilla.mozilla.org/describecomponents.cgi?product=Remote%20Protocol
89 See `Communication`_ on `our project wiki`_.
91 .. _Communication: https://wiki.mozilla.org/Remote#Communication
92 .. _our project wiki: https://wiki.mozilla.org/Remote