.eslintrc.js |
|
424 |
actors |
|
|
addon.sys.mjs |
Installs addons by path and uninstalls by ID. |
6984 |
atom.sys.mjs |
@namespace |
67710 |
browser.sys.mjs |
@namespace |
9157 |
cert.sys.mjs |
@namespace |
1589 |
chrome |
|
|
cookie.sys.mjs |
@namespace |
9045 |
driver.sys.mjs |
The Marionette WebDriver services provides a standard conforming
implementation of the W3C WebDriver specification.
@see {@link https://w3c.github.io/webdriver/webdriver-spec.html}
@namespace driver
|
128192 |
evaluate.sys.mjs |
@namespace |
10143 |
interaction.sys.mjs |
eslint-disable no-restricted-globals |
22664 |
jar.mn |
|
2803 |
json.sys.mjs |
@namespace |
15684 |
l10n.sys.mjs |
An API which allows Marionette to handle localized content.
The localization (https://mzl.la/2eUMjyF) of UI elements in Gecko
based applications is done via entities and properties. For static
values entities are used, which are located in .dtd files. Whereby for
dynamically updated content the values come from .property files. Both
types of elements can be identifed via a unique id, and the translated
content retrieved.
|
2947 |
message.sys.mjs |
Representation of the packets transproted over the wire. |
8820 |
moz.build |
|
362 |
navigate.sys.mjs |
@namespace |
14147 |
packets.sys.mjs |
Packets contain read / write functionality for the different packet types
supported by the debugging protocol, so that a transport can focus on
delivery and queue management without worrying too much about the specific
packet types.
They are intended to be "one use only", so a new packet should be
instantiated for each incoming or outgoing packet.
A complete Packet type should expose at least the following:
read(stream, scriptableStream)
Called when the input stream has data to read
write(stream)
Called when the output stream is ready to write
get done()
Returns true once the packet is done being read / written
destroy()
Called to clean up at the end of use
|
11214 |
prefs.sys.mjs |
@param {string=} branch
Preference subtree. Uses root tree given `null`.
|
4401 |
README |
Marionette [ ˌmarɪəˈnɛt] is |
792 |
reftest-content.js |
eslint-env mozilla/frame-script |
1604 |
reftest.sys.mjs |
Implements an fast runner for web-platform-tests format reftests
c.f. http://web-platform-tests.org/writing-tests/reftests.html.
@namespace
|
27525 |
server.sys.mjs |
Bootstraps Marionette and handles incoming client connections.
Starting the Marionette server will open a TCP socket sporting the
debugger transport interface on the provided `port`. For every
new connection, a {@link TCPConnection} is created.
|
13177 |
stream-utils.sys.mjs |
This helper function (and its companion object) are used by bulk
senders and receivers to read and write data in and out of other streams.
Functions that make use of this tool are passed to callers when it is
time to read or write bulk data. It is highly recommended to use these
copier functions instead of the stream directly because the copier
enforces the agreed upon length. Since bulk mode reuses an existing
stream, the sender and receiver must write and read exactly the agreed
upon amount of data, or else the entire transport will be left in a
invalid state. Additionally, other methods of stream copying (such as
NetUtil.asyncCopy) close the streams involved, which would terminate
the debugging transport, and so it is avoided here.
Overall, this *works*, but clearly the optimal solution would be
able to just use the streams directly. If it were possible to fully
implement nsIInputStream/nsIOutputStream in JS, wrapper streams could
be created to enforce the length and avoid closing, and consumers could
use familiar stream utilities like NetUtil.asyncCopy.
The function takes two async streams and copies a precise number
of bytes from one to the other. Copying begins immediately, but may
complete at some future time depending on data size. Use the returned
promise to know when it's complete.
@param {nsIAsyncInputStream} input
Stream to copy from.
@param {nsIAsyncOutputStream} output
Stream to copy to.
@param {number} length
Amount of data that needs to be copied.
@returns {Promise}
Promise is resolved when copying completes or rejected if any
(unexpected) errors occur.
|
7748 |
sync.sys.mjs |
Runs a Promise-like function off the main thread until it is resolved
through ``resolve`` or ``rejected`` callbacks. The function is
guaranteed to be run at least once, irregardless of the timeout.
The ``func`` is evaluated every ``interval`` for as long as its
runtime duration does not exceed ``interval``. Evaluations occur
sequentially, meaning that evaluations of ``func`` are queued if
the runtime evaluation duration of ``func`` is greater than ``interval``.
``func`` is given two arguments, ``resolve`` and ``reject``,
of which one must be called for the evaluation to complete.
Calling ``resolve`` with an argument indicates that the expected
wait condition was met and will return the passed value to the
caller. Conversely, calling ``reject`` will evaluate ``func``
again until the ``timeout`` duration has elapsed or ``func`` throws.
The passed value to ``reject`` will also be returned to the caller
once the wait has expired.
Usage::
let els = new PollPromise((resolve, reject) => {
let res = document.querySelectorAll("p");
if (res.length > 0) {
resolve(Array.from(res));
} else {
reject([]);
}
}, {timeout: 1000});
@param {Condition} func
Function to run off the main thread.
@param {object=} options
@param {number=} options.timeout
Desired timeout if wanted. If 0 or less than the runtime evaluation
time of ``func``, ``func`` is guaranteed to run at least once.
Defaults to using no timeout.
@param {number=} options.interval
Duration between each poll of ``func`` in milliseconds.
Defaults to 10 milliseconds.
@returns {Promise.<*>}
Yields the value passed to ``func``'s
``resolve`` or ``reject`` callbacks.
@throws {*}
If ``func`` throws, its error is propagated.
@throws {TypeError}
If `timeout` or `interval`` are not numbers.
@throws {RangeError}
If `timeout` or `interval` are not unsigned integers.
|
15429 |
test |
|
|
transport.sys.mjs |
An adapter that handles data transfers between the debugger client
and server. It can work with both nsIPipe and nsIServerSocket
transports so long as the properly created input and output streams
are specified. (However, for intra-process connections,
LocalDebuggerTransport, below, is more efficient than using an nsIPipe
pair with DebuggerTransport.)
@param {nsIAsyncInputStream} input
The input stream.
@param {nsIAsyncOutputStream} output
The output stream.
Given a DebuggerTransport instance dt:
1) Set dt.hooks to a packet handler object (described below).
2) Call dt.ready() to begin watching for input packets.
3) Call dt.send() / dt.startBulkSend() to send packets.
4) Call dt.close() to close the connection, and disengage from
the event loop.
A packet handler is an object with the following methods:
- onPacket(packet) - called when we have received a complete packet.
|packet| is the parsed form of the packet --- a JavaScript value, not
a JSON-syntax string.
- onBulkPacket(packet) - called when we have switched to bulk packet
receiving mode. |packet| is an object containing:
actor: Name of actor that will receive the packet
type: Name of actor's method that should be called on receipt
length: Size of the data to be read
stream: This input stream should only be used directly if you
can ensure that you will read exactly |length| bytes and
will not close the stream when reading is complete
done: If you use the stream directly (instead of |copyTo|
below), you must signal completion by resolving/rejecting
this deferred. If it's rejected, the transport will
be closed. If an Error is supplied as a rejection value,
it will be logged via |dump|. If you do use |copyTo|,
resolving is taken care of for you when copying completes.
copyTo: A helper function for getting your data out of the
stream that meets the stream handling requirements above,
and has the following signature:
- params
{nsIAsyncOutputStream} output
The stream to copy to.
- returns {Promise}
The promise is resolved when copying completes or
rejected if any (unexpected) errors occur. This object
also emits "progress" events for each chunk that is
copied. See stream-utils.js.
- onClosed(reason) - called when the connection is closed. |reason|
is an optional nsresult or object, typically passed when the
transport is closed due to some error in a underlying stream.
See ./packets.js and the Remote Debugging Protocol specification for
more details on the format of these packets.
@class
|
16600 |
web-reference.sys.mjs |
A web reference is an abstraction used to identify an element when
it is transported via the protocol, between remote- and local ends.
In Marionette this abstraction can represent DOM elements,
WindowProxies, and XUL elements.
|
8671 |
webauthn.sys.mjs |
@namespace |
4155 |