2021-12-01 20:04:44 +00:00
|
|
|
================
|
|
|
|
Remote Protocols
|
|
|
|
================
|
2019-01-29 15:18:42 +00:00
|
|
|
|
2021-12-01 20:04:44 +00:00
|
|
|
Firefox supports several remote protocols, which allow to inspect and control
|
|
|
|
the browser, usually for automation purposes:
|
2019-03-22 14:15:23 +00:00
|
|
|
|
2021-12-01 20:04:44 +00:00
|
|
|
* :ref:`marionette-header`
|
|
|
|
* :ref:`remote-protocol-cdp-header`
|
|
|
|
* :ref:`webdriver-bidi-header`
|
2019-02-17 16:41:44 +00:00
|
|
|
|
2021-12-01 20:04:44 +00:00
|
|
|
Common documentation
|
|
|
|
====================
|
2019-03-22 14:15:23 +00:00
|
|
|
|
2021-12-01 20:04:44 +00:00
|
|
|
The following documentation pages apply to all remote protocols
|
2019-01-29 15:18:42 +00:00
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
Building.md
|
|
|
|
Debugging.md
|
|
|
|
Prefs.md
|
2021-12-01 20:04:44 +00:00
|
|
|
Testing.md
|
2019-02-17 15:39:48 +00:00
|
|
|
CodeStyle.md
|
2019-09-12 11:39:13 +00:00
|
|
|
Security.md
|
2023-11-21 22:29:47 +00:00
|
|
|
PuppeteerVendor.md
|
2019-01-29 15:18:42 +00:00
|
|
|
|
2022-12-14 10:17:47 +00:00
|
|
|
Protocols
|
|
|
|
=========
|
2019-01-29 15:18:42 +00:00
|
|
|
|
2021-12-01 20:04:44 +00:00
|
|
|
.. _marionette-header:
|
|
|
|
|
|
|
|
Marionette
|
2022-12-14 10:17:47 +00:00
|
|
|
----------
|
2021-12-01 20:04:44 +00:00
|
|
|
|
|
|
|
Marionette is used both by internal tools and testing solutions, but also by
|
|
|
|
geckodriver to implement the `WebDriver (HTTP) specification`_. The documentation
|
|
|
|
for Marionette can be found under `testing/marionette`_.
|
|
|
|
|
|
|
|
.. _WebDriver (HTTP) specification: https://w3c.github.io/webdriver/
|
2022-01-17 10:49:42 +00:00
|
|
|
.. _testing/marionette: /testing/marionette
|
2021-12-01 20:04:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
.. _remote-protocol-cdp-header:
|
|
|
|
|
|
|
|
Remote Protocol (CDP)
|
2022-12-14 10:17:47 +00:00
|
|
|
---------------------
|
2021-12-01 20:04:44 +00:00
|
|
|
|
|
|
|
Firefox implements a subset of the `Chrome DevTools Protocol`_ (CDP) in order to
|
|
|
|
support third party automation tools such as `puppeteer`. The documentation for
|
|
|
|
the remote protocol (CDP) implement can be found at `remote/cdp`_.
|
|
|
|
|
|
|
|
.. _Chrome DevTools Protocol: https://chromedevtools.github.io/devtools-protocol/
|
2022-01-17 10:49:42 +00:00
|
|
|
.. _remote/cdp: cdp/
|
2021-12-01 20:04:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
.. _webdriver-bidi-header:
|
|
|
|
|
|
|
|
WebDriver BiDi
|
2022-12-14 10:17:47 +00:00
|
|
|
--------------
|
2021-12-01 20:04:44 +00:00
|
|
|
|
|
|
|
`The WebDriver BiDi specification <https://w3c.github.io/webdriver-bidi>`_
|
|
|
|
extends WebDriver HTTP to add bidirectional communication. Dedicated
|
|
|
|
documentation will be added as the Firefox implementation makes progress.
|
|
|
|
|
2022-12-14 10:17:47 +00:00
|
|
|
Architecture
|
|
|
|
============
|
|
|
|
|
|
|
|
Message Handler
|
|
|
|
---------------
|
|
|
|
|
|
|
|
The documentation for the framework used to build WebDriver BiDi modules can be
|
|
|
|
found at `remote/messagehandler`_.
|
|
|
|
|
|
|
|
.. _remote/messagehandler: messagehandler/
|
|
|
|
|
2021-12-01 20:04:44 +00:00
|
|
|
|
2019-01-29 15:18:42 +00:00
|
|
|
Bugs
|
|
|
|
====
|
|
|
|
|
2019-07-31 12:24:11 +00:00
|
|
|
Bugs are tracked under the `Remote Protocol product`_.
|
2019-02-06 18:15:51 +00:00
|
|
|
|
2019-07-31 12:24:11 +00:00
|
|
|
.. _Remote Protocol product: https://bugzilla.mozilla.org/describecomponents.cgi?product=Remote%20Protocol
|
2019-01-29 15:18:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
Communication
|
|
|
|
=============
|
|
|
|
|
2020-03-13 18:52:00 +00:00
|
|
|
See `Communication`_ on `our project wiki`_.
|
2019-01-29 15:18:42 +00:00
|
|
|
|
2020-03-13 18:52:00 +00:00
|
|
|
.. _Communication: https://wiki.mozilla.org/Remote#Communication
|
|
|
|
.. _our project wiki: https://wiki.mozilla.org/Remote
|