bin | ||
data | ||
docs | ||
lib/shield | ||
test | ||
webextension | ||
.env | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.htmllintrc | ||
.jpmignore | ||
.stylelintrc | ||
.travis.yml | ||
icon.png | ||
index.js | ||
LICENSE.txt | ||
package.json | ||
README.md | ||
study.js | ||
testpilot-metrics.js |
Containers Add-on
Embedded Web Extension to build Containers as a Firefox Test Pilot Experiment and Shield Study to learn:
- Will a general Firefox audience understand the Containers feature?
- Is the UI as currently implemented in Nightly clear or discoverable?
For more info, see:
Requirements
- node 7+ (for jpm)
- Firefox 51+
Development
Development Environment
Add-on development is better with a particular environment. One simple way to get that environment set up is to install the DevPrefs add-on. You can make a custom Firefox profile that includes the DevPrefs add-on, and use that profile when you run the code in this repository.
-
Make a new profile by running
/path/to/firefox -P
, which launches the profile editor. "Create Profile" -- name it whatever you wish (e.g. 'addon_dev') and store it in the default location. It's probably best to deselect the option to "Use without asking," since you probably don't want to use this as your default profile. -
Once you've created your profile, click "Start Firefox". A new instance of Firefox should launch. Go to Tools->Add-ons and search for "DevPrefs". Install it. Quit Firefox.
-
Now you have a new, vanilla Firefox profile with the DevPrefs add-on installed. You can use your new profile with the code in this repository like so:
Run the .xpi
file in an unbranded build
Release & Beta channels do not allow un-signed add-ons, even with the DevPrefs. So, you must run the add-on in an unbranded build:
- Download and install an un-branded build of Firefox
- Download the latest
.xpi
from this repository's releases - Run the un-branded build of Firefox with your DevPrefs profile
- Go to
about:addons
- Click the gear, and select "Install Add-on From File..."
- Select the
.xpi
file
Run the TxP experiment with jpm
git clone git@github.com:mozilla/testpilot-containers.git
cd testpilot-containers
npm install
./node_modules/.bin/jpm run -p /Path/To/Firefox/Profiles/{junk}.addon_dev -b FirefoxBeta
(where FirefoxBeta might be: ~//obj-x86_64-pc-linux-gnu/dist/bin/firefox or ~//firefox)
Check out the Browser Toolbox for more information about debugging add-on code.
Run the shield study with shield
git clone git@github.com:mozilla/testpilot-containers.git
cd testpilot-containers
npm install shield-study-cli
./node_modules/.bin/shield run . -- --binary Nightly
Building .xpi
To build a local .xpi, use the plain jpm xpi
command.
Signing an .xpi
To sign an .xpi, use jpm sign
command.
Note: You will need to be an author on the AMO add-on.
Testing
TBD
Distributing
TBD