blob: eed38d3e90fe1d8d922f23a2c92311521a0113f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
================
Remote Protocols
================
Firefox supports several remote protocols, which allow to inspect and control
the browser, usually for automation purposes:
* :ref:`marionette-header`
* :ref:`remote-protocol-cdp-header`
* :ref:`webdriver-bidi-header`
Common documentation
====================
The following documentation pages apply to all remote protocols
.. toctree::
:maxdepth: 1
Building.md
Debugging.md
Prefs.md
Testing.md
CodeStyle.md
Security.md
PuppeteerVendor.md
Protocols
=========
.. _marionette-header:
Marionette
----------
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/
.. _testing/marionette: /testing/marionette
.. _remote-protocol-cdp-header:
Remote Protocol (CDP)
---------------------
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/
.. _remote/cdp: cdp/
.. _webdriver-bidi-header:
WebDriver BiDi
--------------
`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.
Architecture
============
Message Handler
---------------
The documentation for the framework used to build WebDriver BiDi modules can be
found at `remote/messagehandler`_.
.. _remote/messagehandler: messagehandler/
Bugs
====
Bugs are tracked under the `Remote Protocol product`_.
.. _Remote Protocol product: https://bugzilla.mozilla.org/describecomponents.cgi?product=Remote%20Protocol
Communication
=============
See `Communication`_ on `our project wiki`_.
.. _Communication: https://wiki.mozilla.org/Remote#Communication
.. _our project wiki: https://wiki.mozilla.org/Remote
|