Skip to main content

marionette-extension

This repository contains Marionette in gecko extension form, intended for use with FxOS devices. It includes an installation script which you can use, provided your phone is connected via ADB:

source install_marionette_extension.sh VERSION

Where VERSION is a supported version number, one of: 1.3, 1.4, 2.0, 2.1, 2.2, or 2.5.

If you need to install adb, see https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Installing_ADB

FirefoxOS v1.3 through v2.5 are currently supported.

Python Package

This is also the ‘marionette_extension’ python package. Once you install this package, you will have access to a command line program called install_marionette which you can use like so:

marionette_extension --help

Which will show you what installation options you have available to you.

If you need an example, this is how you can install Marionette on a v1.3 device:

marionette_extension --install 1.3

You can also import the marionette_extension package into your python script and use its install function to install marionette via a script. Example:

from marionette_extension import install
install(FXOS_VERSION, adb=ADBPATH) # Replace FXOS_VERSION with a supported version, and you may use ADBPATH to specify your adb path. If not specified, it will assume 'adb' is on the $PATH

How to add a new version?

  1. Create a new folder indicating your new gecko version

  2. hg clone https://hg.mozilla.org/mozilla-central/

Starting now, please reference on the files and folder structure of previous marionette-extension version

  1. Go to mozilla-central folder and find /testing/specialpowers(mozilla-central) and copy them into special-powers@mozilla.org folder

  2. Copy all the .js files in /testing/marionette(mozilla-central) to marionette@mozilla.org/chrome/content

  3. Copy chrome.manifest and install.rdf from previous version of marionette-extension to marionette@mozilla.org folder

  4. Copy testing/marionette/components/marionettecomponent.js(mozilla-central) to /marionette@mozilla.org/components and rename it to marionetteextensioncomponent.js

  5. Do this to marionetteextensioncomponent.js:

    1. replace MARIONETTE_CONTRACTID value with “@mozilla.org/marionetteextension;1”

    2. change the profile-after-change listener to always start Marionette and not be dependent on build flags or command lines

    this.enabled = true;
    this.logger.info("marionette enabled via extension");
    // We want to suppress the modal dialog that's shown
    // when starting up in safe-mode to enable testing.
    if (Services.appinfo.inSafeMode) {
    this.observerService.addObserver(this, "domwindowopened", false);
    }
    1. change the component name from MarionetteComponent to MarionetteExtensionComponent

  6. request of putting this on pypi for faster installation

Metadata

Release files for marionette_extension 0.4.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for marionette_extension 0.4.9
File Size Uploaded
marionette_extension-0.4.9.tar.gz 693.9 kB Details

Release files / marionette_extension-0.4.9.tar.gz

Download URL marionette_extension-0.4.9.tar.gz
Size 693.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2d111b91f22f336fa96d0f324790c6a82759858376d31b69874f83a67904e107
BLAKE2b-256 checksum
How to use checksums
0a2ca1b65453ba93c2298e23491e3e764c1bf92055ffbd3848a105bb9e9f9e94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.4.9 This release

1 release file

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4

1 release file

0.3

1 release file

0.2.1

1 release file

0.2

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page