Firefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabs that preserve your privacy. Cookies are separated by container, allowing you to use the web with multiple identities or accounts simultaneously.
Find a file
luke crouch 62d479a3f3 Merge pull request #659 from jonathanKingston/fix-non-nightly-menu
Fix non nightly long press menu. Fixes #658
2017-07-05 15:17:14 -05:00
bin fix #162: bin/build-addon.sh automates txp deploys 2017-02-22 17:20:37 -08:00
data Fix icons in shield study. Fixes #586 2017-06-16 15:14:21 +01:00
docs Add new telemetry to the old plus button menu 2017-06-29 13:47:20 -07:00
lib only use our experimentPing outside of Test Pilot 2017-05-19 13:38:04 -05:00
test Add ESLint no-var and prefer-const rules 2017-01-16 16:33:12 -08:00
webextension Increasing notification timeout 2017-06-29 10:00:54 -07:00
.env update README to be current 2017-01-05 16:40:25 -06:00
.eslintignore experiment.js from testpilot addon 2017-05-18 10:32:27 -05:00
.eslintrc.js Fixing favicon loading for all icons. Part of #561 2017-06-05 15:37:01 +01:00
.gitignore Adding tooltips. Fixes #615. Fixes #609. Fixes #112 2017-06-22 14:40:01 +01:00
.htmllintrc Adding in CSS and HTML linting. Fixes 72 2017-01-30 16:02:26 +00:00
.jpmignore Merge pull request #292 from bakulf/context 2017-02-28 20:07:26 +01:00
.stylelintrc Adding container assignment exemption on confirm prompt. Fixes #500 2017-05-25 17:02:16 +01:00
.travis.yml add irc notifications for Travis CI builds 2017-03-06 20:30:04 +00:00
CODE_OF_CONDUCT.md Add a code of conduct and contributing file. 2017-06-23 14:22:26 +01:00
CONTRIBUTING.md Add a code of conduct and contributing file. 2017-06-23 14:22:26 +01:00
icon.png for #5: start browser action UI 2016-12-20 11:05:37 -06:00
index.js Fix non nightly long press menu. Fixes #658 2017-07-05 13:08:33 -07:00
LICENSE.txt License added 2017-01-13 11:48:01 +01:00
package.json for #498: use local node_modules/.bin/json 2017-06-22 11:38:23 +01:00
README.md Add a code of conduct and contributing file. 2017-06-23 14:22:26 +01:00
study.js fix #614: only call thisStudy.shutdown in shield 2017-06-22 14:50:31 +01:00
testpilot-metrics.js only use our experimentPing outside of Test Pilot 2017-05-19 13:38:04 -05:00

Containers Add-on

Available on Test Pilot

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 53+

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.

  1. 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.

  2. 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.

  3. 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:

  1. Download and install an un-branded build of Firefox
  2. Download the latest .xpi from this repository's releases
  3. Run the un-branded build of Firefox with your DevPrefs profile
  4. Go to about:addons
  5. Click the gear, and select "Install Add-on From File..."
  6. Select the .xpi file

Run the TxP experiment with jpm

  1. git clone git@github.com:mozilla/testpilot-containers.git
  2. cd testpilot-containers
  3. npm install
  4. ./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

  1. git clone git@github.com:mozilla/testpilot-containers.git
  2. cd testpilot-containers
  3. npm install
  4. npm install -g shield-study-cli
  5. shield run . -- --binary Nightly

Building .xpi

To build a local testpilot-containers.xpi, use the plain jpm xpi command, or run npm run build.

Building a shield .xpi

To build a local shield-study-containers.xpi, run npm run build-shield.

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