├── .env ├── icon.png ├── src ├── img │ ├── flags │ │ ├── AC.png │ │ ├── AD.png │ │ ├── AE.png │ │ ├── AF.png │ │ ├── AG.png │ │ ├── AI.png │ │ ├── AL.png │ │ ├── AM.png │ │ ├── AO.png │ │ ├── AQ.png │ │ ├── AR.png │ │ ├── AS.png │ │ ├── AT.png │ │ ├── AU.png │ │ ├── AW.png │ │ ├── AX.png │ │ ├── AZ.png │ │ ├── BA.png │ │ ├── BB.png │ │ ├── BD.png │ │ ├── BE.png │ │ ├── BF.png │ │ ├── BG.png │ │ ├── BH.png │ │ ├── BI.png │ │ ├── BJ.png │ │ ├── BL.png │ │ ├── BM.png │ │ ├── BN.png │ │ ├── BO.png │ │ ├── BQ.png │ │ ├── BR.png │ │ ├── BS.png │ │ ├── BT.png │ │ ├── BV.png │ │ ├── BW.png │ │ ├── BY.png │ │ ├── BZ.png │ │ ├── CA.png │ │ ├── CC.png │ │ ├── CD.png │ │ ├── CF.png │ │ ├── CG.png │ │ ├── CH.png │ │ ├── CI.png │ │ ├── CK.png │ │ ├── CL.png │ │ ├── CM.png │ │ ├── CN.png │ │ ├── CO.png │ │ ├── CP.png │ │ ├── CR.png │ │ ├── CU.png │ │ ├── CV.png │ │ ├── CW.png │ │ ├── CX.png │ │ ├── CY.png │ │ ├── CZ.png │ │ ├── DE.png │ │ ├── DG.png │ │ ├── DJ.png │ │ ├── DK.png │ │ ├── DM.png │ │ ├── DO.png │ │ ├── DZ.png │ │ ├── EA.png │ │ ├── EC.png │ │ ├── EE.png │ │ ├── EG.png │ │ ├── EH.png │ │ ├── ER.png │ │ ├── ES.png │ │ ├── ET.png │ │ ├── EU.png │ │ ├── FI.png │ │ ├── FJ.png │ │ ├── FK.png │ │ ├── FM.png │ │ ├── FO.png │ │ ├── FR.png │ │ ├── GA.png │ │ ├── GB.png │ │ ├── GD.png │ │ ├── GE.png │ │ ├── GF.png │ │ ├── GG.png │ │ ├── GH.png │ │ ├── GI.png │ │ ├── GL.png │ │ ├── GM.png │ │ ├── GN.png │ │ ├── GP.png │ │ ├── GQ.png │ │ ├── GR.png │ │ ├── GS.png │ │ ├── GT.png │ │ ├── GU.png │ │ ├── GW.png │ │ ├── GY.png │ │ ├── HK.png │ │ ├── HM.png │ │ ├── HN.png │ │ ├── HR.png │ │ ├── HT.png │ │ ├── HU.png │ │ ├── IC.png │ │ ├── ID.png │ │ ├── IE.png │ │ ├── IL.png │ │ ├── IM.png │ │ ├── IN.png │ │ ├── IO.png │ │ ├── IQ.png │ │ ├── IR.png │ │ ├── IS.png │ │ ├── IT.png │ │ ├── JE.png │ │ ├── JM.png │ │ ├── JO.png │ │ ├── JP.png │ │ ├── KE.png │ │ ├── KG.png │ │ ├── KH.png │ │ ├── KI.png │ │ ├── KM.png │ │ ├── KN.png │ │ ├── KP.png │ │ ├── KR.png │ │ ├── KW.png │ │ ├── KY.png │ │ ├── KZ.png │ │ ├── LA.png │ │ ├── LB.png │ │ ├── LC.png │ │ ├── LI.png │ │ ├── LK.png │ │ ├── LR.png │ │ ├── LS.png │ │ ├── LT.png │ │ ├── LU.png │ │ ├── LV.png │ │ ├── LY.png │ │ ├── MA.png │ │ ├── MC.png │ │ ├── MD.png │ │ ├── ME.png │ │ ├── MF.png │ │ ├── MG.png │ │ ├── MH.png │ │ ├── MK.png │ │ ├── ML.png │ │ ├── MM.png │ │ ├── MN.png │ │ ├── MO.png │ │ ├── MP.png │ │ ├── MQ.png │ │ ├── MR.png │ │ ├── MS.png │ │ ├── MT.png │ │ ├── MU.png │ │ ├── MV.png │ │ ├── MW.png │ │ ├── MX.png │ │ ├── MY.png │ │ ├── MZ.png │ │ ├── NA.png │ │ ├── NC.png │ │ ├── NE.png │ │ ├── NF.png │ │ ├── NG.png │ │ ├── NI.png │ │ ├── NL.png │ │ ├── NO.png │ │ ├── NP.png │ │ ├── NR.png │ │ ├── NU.png │ │ ├── NZ.png │ │ ├── OM.png │ │ ├── PA.png │ │ ├── PE.png │ │ ├── PF.png │ │ ├── PG.png │ │ ├── PH.png │ │ ├── PK.png │ │ ├── PL.png │ │ ├── PM.png │ │ ├── PN.png │ │ ├── PR.png │ │ ├── PS.png │ │ ├── PT.png │ │ ├── PW.png │ │ ├── PY.png │ │ ├── QA.png │ │ ├── RE.png │ │ ├── RO.png │ │ ├── RS.png │ │ ├── RU.png │ │ ├── RW.png │ │ ├── SA.png │ │ ├── SB.png │ │ ├── SC.png │ │ ├── SD.png │ │ ├── SE.png │ │ ├── SG.png │ │ ├── SH.png │ │ ├── SI.png │ │ ├── SJ.png │ │ ├── SK.png │ │ ├── SL.png │ │ ├── SM.png │ │ ├── SN.png │ │ ├── SO.png │ │ ├── SR.png │ │ ├── SS.png │ │ ├── ST.png │ │ ├── SV.png │ │ ├── SX.png │ │ ├── SY.png │ │ ├── SZ.png │ │ ├── TA.png │ │ ├── TC.png │ │ ├── TD.png │ │ ├── TF.png │ │ ├── TG.png │ │ ├── TH.png │ │ ├── TJ.png │ │ ├── TK.png │ │ ├── TL.png │ │ ├── TM.png │ │ ├── TN.png │ │ ├── TO.png │ │ ├── TR.png │ │ ├── TT.png │ │ ├── TV.png │ │ ├── TW.png │ │ ├── TZ.png │ │ ├── UA.png │ │ ├── UG.png │ │ ├── UM.png │ │ ├── UN.png │ │ ├── US.png │ │ ├── UY.png │ │ ├── UZ.png │ │ ├── VA.png │ │ ├── VC.png │ │ ├── VE.png │ │ ├── VG.png │ │ ├── VI.png │ │ ├── VN.png │ │ ├── VU.png │ │ ├── WF.png │ │ ├── WS.png │ │ ├── XK.png │ │ ├── YE.png │ │ ├── YT.png │ │ ├── ZA.png │ │ ├── ZM.png │ │ └── ZW.png │ ├── onboarding-1.png │ ├── onboarding-2.png │ ├── onboarding-3.png │ ├── onboarding-4.png │ ├── onboarding-3-security.png │ ├── arrow-toggle.svg │ ├── container-close-tab.svg │ ├── filters.svg │ ├── new-16.svg │ ├── arrow-icon-left-light.svg │ ├── arrow-icon-left.svg │ ├── refresh-16.svg │ ├── blank-tab.svg │ ├── tab-new-16.svg │ ├── sort-16_1.svg │ ├── container-move.svg │ ├── info-thin-16.svg │ ├── multiaccountcontainer-16.svg │ ├── container-delete.svg │ ├── movetowindow-16.svg │ ├── Account.svg │ ├── info.svg │ ├── no-connection.svg │ ├── container-openin-16.svg │ ├── close.svg │ ├── close-light.svg │ ├── container-newtab.svg │ ├── moz-vpn-logo.svg │ ├── moz-vpn-connected.svg │ ├── moz-vpn-logo-light.svg │ ├── moz-vpn-disconnected.svg │ ├── webicon-facebook.svg │ ├── moz-vpn-status-icons │ │ ├── moz-vpn-connected.svg │ │ └── moz-vpn-disconnected.svg │ ├── gear-icon-light.svg │ ├── gear-icon.svg │ ├── warning.svg │ ├── proxy-warning-light.svg │ ├── proxy-warning.svg │ ├── password-hide.svg │ ├── arrow-icon-right.svg │ ├── arrow-icon-right-light.svg │ ├── Sync.svg │ ├── webicon-twitter.svg │ └── amo-icon.svg ├── fonts │ ├── Inter-Medium.woff2 │ ├── Inter-Regular.woff2 │ ├── Inter-SemiBold.woff2 │ ├── Metropolis-Light.woff2 │ └── Metropolis-Medium.woff2 ├── js │ ├── i18n.js │ ├── background │ │ ├── badge.js │ │ ├── index.html │ │ ├── mozillaVpnBackground.js │ │ └── identityState.js │ ├── pageAction.js │ ├── content-script.js │ ├── proxified-containers.js │ ├── confirm-page.js │ ├── options.js │ └── utils.js ├── css │ ├── content.css │ ├── confirm-page.css │ └── options.css ├── pageActionPopup.html ├── confirm-page.html ├── manifest.json └── options.html ├── .gitmodules ├── .htmllintrc ├── .gitignore ├── .jpmignore ├── .stylelintrc ├── .github ├── workflows │ ├── test.yaml │ └── builds.yaml ├── pull_request_template.md └── ISSUE_TEMPLATE │ ├── config.yml │ └── bug.yml ├── CODE_OF_CONDUCT.md ├── bin ├── build-addon.sh ├── addons-linter.sh └── commons.sh ├── test ├── issues │ ├── 1140.test.js │ ├── 1168.test.js │ └── 940.test.js ├── features │ ├── containers.test.js │ ├── external-webextensions.test.js │ └── assignment.test.js └── common.js ├── docs └── release.md ├── README.md ├── CONTRIBUTING.md ├── package.json └── eslint.config.js /.env: -------------------------------------------------------------------------------- 1 | nvm use 7.0 2 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/icon.png -------------------------------------------------------------------------------- /src/img/flags/AC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AC.png -------------------------------------------------------------------------------- /src/img/flags/AD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AD.png -------------------------------------------------------------------------------- /src/img/flags/AE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AE.png -------------------------------------------------------------------------------- /src/img/flags/AF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AF.png -------------------------------------------------------------------------------- /src/img/flags/AG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AG.png -------------------------------------------------------------------------------- /src/img/flags/AI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AI.png -------------------------------------------------------------------------------- /src/img/flags/AL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AL.png -------------------------------------------------------------------------------- /src/img/flags/AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AM.png -------------------------------------------------------------------------------- /src/img/flags/AO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AO.png -------------------------------------------------------------------------------- /src/img/flags/AQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AQ.png -------------------------------------------------------------------------------- /src/img/flags/AR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AR.png -------------------------------------------------------------------------------- /src/img/flags/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AS.png -------------------------------------------------------------------------------- /src/img/flags/AT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AT.png -------------------------------------------------------------------------------- /src/img/flags/AU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AU.png -------------------------------------------------------------------------------- /src/img/flags/AW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AW.png -------------------------------------------------------------------------------- /src/img/flags/AX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AX.png -------------------------------------------------------------------------------- /src/img/flags/AZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/AZ.png -------------------------------------------------------------------------------- /src/img/flags/BA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BA.png -------------------------------------------------------------------------------- /src/img/flags/BB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BB.png -------------------------------------------------------------------------------- /src/img/flags/BD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BD.png -------------------------------------------------------------------------------- /src/img/flags/BE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BE.png -------------------------------------------------------------------------------- /src/img/flags/BF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BF.png -------------------------------------------------------------------------------- /src/img/flags/BG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BG.png -------------------------------------------------------------------------------- /src/img/flags/BH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BH.png -------------------------------------------------------------------------------- /src/img/flags/BI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BI.png -------------------------------------------------------------------------------- /src/img/flags/BJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BJ.png -------------------------------------------------------------------------------- /src/img/flags/BL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BL.png -------------------------------------------------------------------------------- /src/img/flags/BM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BM.png -------------------------------------------------------------------------------- /src/img/flags/BN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BN.png -------------------------------------------------------------------------------- /src/img/flags/BO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BO.png -------------------------------------------------------------------------------- /src/img/flags/BQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BQ.png -------------------------------------------------------------------------------- /src/img/flags/BR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BR.png -------------------------------------------------------------------------------- /src/img/flags/BS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BS.png -------------------------------------------------------------------------------- /src/img/flags/BT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BT.png -------------------------------------------------------------------------------- /src/img/flags/BV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BV.png -------------------------------------------------------------------------------- /src/img/flags/BW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BW.png -------------------------------------------------------------------------------- /src/img/flags/BY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BY.png -------------------------------------------------------------------------------- /src/img/flags/BZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/BZ.png -------------------------------------------------------------------------------- /src/img/flags/CA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CA.png -------------------------------------------------------------------------------- /src/img/flags/CC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CC.png -------------------------------------------------------------------------------- /src/img/flags/CD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CD.png -------------------------------------------------------------------------------- /src/img/flags/CF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CF.png -------------------------------------------------------------------------------- /src/img/flags/CG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CG.png -------------------------------------------------------------------------------- /src/img/flags/CH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CH.png -------------------------------------------------------------------------------- /src/img/flags/CI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CI.png -------------------------------------------------------------------------------- /src/img/flags/CK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CK.png -------------------------------------------------------------------------------- /src/img/flags/CL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CL.png -------------------------------------------------------------------------------- /src/img/flags/CM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CM.png -------------------------------------------------------------------------------- /src/img/flags/CN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CN.png -------------------------------------------------------------------------------- /src/img/flags/CO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CO.png -------------------------------------------------------------------------------- /src/img/flags/CP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CP.png -------------------------------------------------------------------------------- /src/img/flags/CR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CR.png -------------------------------------------------------------------------------- /src/img/flags/CU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CU.png -------------------------------------------------------------------------------- /src/img/flags/CV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CV.png -------------------------------------------------------------------------------- /src/img/flags/CW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CW.png -------------------------------------------------------------------------------- /src/img/flags/CX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CX.png -------------------------------------------------------------------------------- /src/img/flags/CY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CY.png -------------------------------------------------------------------------------- /src/img/flags/CZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/CZ.png -------------------------------------------------------------------------------- /src/img/flags/DE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DE.png -------------------------------------------------------------------------------- /src/img/flags/DG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DG.png -------------------------------------------------------------------------------- /src/img/flags/DJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DJ.png -------------------------------------------------------------------------------- /src/img/flags/DK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DK.png -------------------------------------------------------------------------------- /src/img/flags/DM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DM.png -------------------------------------------------------------------------------- /src/img/flags/DO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DO.png -------------------------------------------------------------------------------- /src/img/flags/DZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/DZ.png -------------------------------------------------------------------------------- /src/img/flags/EA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/EA.png -------------------------------------------------------------------------------- /src/img/flags/EC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/EC.png -------------------------------------------------------------------------------- /src/img/flags/EE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/EE.png -------------------------------------------------------------------------------- /src/img/flags/EG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/EG.png -------------------------------------------------------------------------------- /src/img/flags/EH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/EH.png -------------------------------------------------------------------------------- /src/img/flags/ER.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ER.png -------------------------------------------------------------------------------- /src/img/flags/ES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ES.png -------------------------------------------------------------------------------- /src/img/flags/ET.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ET.png -------------------------------------------------------------------------------- /src/img/flags/EU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/EU.png -------------------------------------------------------------------------------- /src/img/flags/FI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/FI.png -------------------------------------------------------------------------------- /src/img/flags/FJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/FJ.png -------------------------------------------------------------------------------- /src/img/flags/FK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/FK.png -------------------------------------------------------------------------------- /src/img/flags/FM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/FM.png -------------------------------------------------------------------------------- /src/img/flags/FO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/FO.png -------------------------------------------------------------------------------- /src/img/flags/FR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/FR.png -------------------------------------------------------------------------------- /src/img/flags/GA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GA.png -------------------------------------------------------------------------------- /src/img/flags/GB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GB.png -------------------------------------------------------------------------------- /src/img/flags/GD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GD.png -------------------------------------------------------------------------------- /src/img/flags/GE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GE.png -------------------------------------------------------------------------------- /src/img/flags/GF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GF.png -------------------------------------------------------------------------------- /src/img/flags/GG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GG.png -------------------------------------------------------------------------------- /src/img/flags/GH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GH.png -------------------------------------------------------------------------------- /src/img/flags/GI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GI.png -------------------------------------------------------------------------------- /src/img/flags/GL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GL.png -------------------------------------------------------------------------------- /src/img/flags/GM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GM.png -------------------------------------------------------------------------------- /src/img/flags/GN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GN.png -------------------------------------------------------------------------------- /src/img/flags/GP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GP.png -------------------------------------------------------------------------------- /src/img/flags/GQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GQ.png -------------------------------------------------------------------------------- /src/img/flags/GR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GR.png -------------------------------------------------------------------------------- /src/img/flags/GS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GS.png -------------------------------------------------------------------------------- /src/img/flags/GT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GT.png -------------------------------------------------------------------------------- /src/img/flags/GU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GU.png -------------------------------------------------------------------------------- /src/img/flags/GW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GW.png -------------------------------------------------------------------------------- /src/img/flags/GY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/GY.png -------------------------------------------------------------------------------- /src/img/flags/HK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/HK.png -------------------------------------------------------------------------------- /src/img/flags/HM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/HM.png -------------------------------------------------------------------------------- /src/img/flags/HN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/HN.png -------------------------------------------------------------------------------- /src/img/flags/HR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/HR.png -------------------------------------------------------------------------------- /src/img/flags/HT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/HT.png -------------------------------------------------------------------------------- /src/img/flags/HU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/HU.png -------------------------------------------------------------------------------- /src/img/flags/IC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IC.png -------------------------------------------------------------------------------- /src/img/flags/ID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ID.png -------------------------------------------------------------------------------- /src/img/flags/IE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IE.png -------------------------------------------------------------------------------- /src/img/flags/IL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IL.png -------------------------------------------------------------------------------- /src/img/flags/IM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IM.png -------------------------------------------------------------------------------- /src/img/flags/IN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IN.png -------------------------------------------------------------------------------- /src/img/flags/IO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IO.png -------------------------------------------------------------------------------- /src/img/flags/IQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IQ.png -------------------------------------------------------------------------------- /src/img/flags/IR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IR.png -------------------------------------------------------------------------------- /src/img/flags/IS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IS.png -------------------------------------------------------------------------------- /src/img/flags/IT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/IT.png -------------------------------------------------------------------------------- /src/img/flags/JE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/JE.png -------------------------------------------------------------------------------- /src/img/flags/JM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/JM.png -------------------------------------------------------------------------------- /src/img/flags/JO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/JO.png -------------------------------------------------------------------------------- /src/img/flags/JP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/JP.png -------------------------------------------------------------------------------- /src/img/flags/KE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KE.png -------------------------------------------------------------------------------- /src/img/flags/KG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KG.png -------------------------------------------------------------------------------- /src/img/flags/KH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KH.png -------------------------------------------------------------------------------- /src/img/flags/KI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KI.png -------------------------------------------------------------------------------- /src/img/flags/KM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KM.png -------------------------------------------------------------------------------- /src/img/flags/KN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KN.png -------------------------------------------------------------------------------- /src/img/flags/KP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KP.png -------------------------------------------------------------------------------- /src/img/flags/KR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KR.png -------------------------------------------------------------------------------- /src/img/flags/KW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KW.png -------------------------------------------------------------------------------- /src/img/flags/KY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KY.png -------------------------------------------------------------------------------- /src/img/flags/KZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/KZ.png -------------------------------------------------------------------------------- /src/img/flags/LA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LA.png -------------------------------------------------------------------------------- /src/img/flags/LB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LB.png -------------------------------------------------------------------------------- /src/img/flags/LC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LC.png -------------------------------------------------------------------------------- /src/img/flags/LI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LI.png -------------------------------------------------------------------------------- /src/img/flags/LK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LK.png -------------------------------------------------------------------------------- /src/img/flags/LR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LR.png -------------------------------------------------------------------------------- /src/img/flags/LS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LS.png -------------------------------------------------------------------------------- /src/img/flags/LT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LT.png -------------------------------------------------------------------------------- /src/img/flags/LU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LU.png -------------------------------------------------------------------------------- /src/img/flags/LV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LV.png -------------------------------------------------------------------------------- /src/img/flags/LY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/LY.png -------------------------------------------------------------------------------- /src/img/flags/MA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MA.png -------------------------------------------------------------------------------- /src/img/flags/MC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MC.png -------------------------------------------------------------------------------- /src/img/flags/MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MD.png -------------------------------------------------------------------------------- /src/img/flags/ME.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ME.png -------------------------------------------------------------------------------- /src/img/flags/MF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MF.png -------------------------------------------------------------------------------- /src/img/flags/MG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MG.png -------------------------------------------------------------------------------- /src/img/flags/MH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MH.png -------------------------------------------------------------------------------- /src/img/flags/MK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MK.png -------------------------------------------------------------------------------- /src/img/flags/ML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ML.png -------------------------------------------------------------------------------- /src/img/flags/MM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MM.png -------------------------------------------------------------------------------- /src/img/flags/MN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MN.png -------------------------------------------------------------------------------- /src/img/flags/MO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MO.png -------------------------------------------------------------------------------- /src/img/flags/MP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MP.png -------------------------------------------------------------------------------- /src/img/flags/MQ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MQ.png -------------------------------------------------------------------------------- /src/img/flags/MR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MR.png -------------------------------------------------------------------------------- /src/img/flags/MS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MS.png -------------------------------------------------------------------------------- /src/img/flags/MT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MT.png -------------------------------------------------------------------------------- /src/img/flags/MU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MU.png -------------------------------------------------------------------------------- /src/img/flags/MV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MV.png -------------------------------------------------------------------------------- /src/img/flags/MW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MW.png -------------------------------------------------------------------------------- /src/img/flags/MX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MX.png -------------------------------------------------------------------------------- /src/img/flags/MY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MY.png -------------------------------------------------------------------------------- /src/img/flags/MZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/MZ.png -------------------------------------------------------------------------------- /src/img/flags/NA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NA.png -------------------------------------------------------------------------------- /src/img/flags/NC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NC.png -------------------------------------------------------------------------------- /src/img/flags/NE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NE.png -------------------------------------------------------------------------------- /src/img/flags/NF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NF.png -------------------------------------------------------------------------------- /src/img/flags/NG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NG.png -------------------------------------------------------------------------------- /src/img/flags/NI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NI.png -------------------------------------------------------------------------------- /src/img/flags/NL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NL.png -------------------------------------------------------------------------------- /src/img/flags/NO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NO.png -------------------------------------------------------------------------------- /src/img/flags/NP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NP.png -------------------------------------------------------------------------------- /src/img/flags/NR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NR.png -------------------------------------------------------------------------------- /src/img/flags/NU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NU.png -------------------------------------------------------------------------------- /src/img/flags/NZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/NZ.png -------------------------------------------------------------------------------- /src/img/flags/OM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/OM.png -------------------------------------------------------------------------------- /src/img/flags/PA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PA.png -------------------------------------------------------------------------------- /src/img/flags/PE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PE.png -------------------------------------------------------------------------------- /src/img/flags/PF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PF.png -------------------------------------------------------------------------------- /src/img/flags/PG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PG.png -------------------------------------------------------------------------------- /src/img/flags/PH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PH.png -------------------------------------------------------------------------------- /src/img/flags/PK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PK.png -------------------------------------------------------------------------------- /src/img/flags/PL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PL.png -------------------------------------------------------------------------------- /src/img/flags/PM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PM.png -------------------------------------------------------------------------------- /src/img/flags/PN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PN.png -------------------------------------------------------------------------------- /src/img/flags/PR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PR.png -------------------------------------------------------------------------------- /src/img/flags/PS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PS.png -------------------------------------------------------------------------------- /src/img/flags/PT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PT.png -------------------------------------------------------------------------------- /src/img/flags/PW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PW.png -------------------------------------------------------------------------------- /src/img/flags/PY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/PY.png -------------------------------------------------------------------------------- /src/img/flags/QA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/QA.png -------------------------------------------------------------------------------- /src/img/flags/RE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/RE.png -------------------------------------------------------------------------------- /src/img/flags/RO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/RO.png -------------------------------------------------------------------------------- /src/img/flags/RS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/RS.png -------------------------------------------------------------------------------- /src/img/flags/RU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/RU.png -------------------------------------------------------------------------------- /src/img/flags/RW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/RW.png -------------------------------------------------------------------------------- /src/img/flags/SA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SA.png -------------------------------------------------------------------------------- /src/img/flags/SB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SB.png -------------------------------------------------------------------------------- /src/img/flags/SC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SC.png -------------------------------------------------------------------------------- /src/img/flags/SD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SD.png -------------------------------------------------------------------------------- /src/img/flags/SE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SE.png -------------------------------------------------------------------------------- /src/img/flags/SG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SG.png -------------------------------------------------------------------------------- /src/img/flags/SH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SH.png -------------------------------------------------------------------------------- /src/img/flags/SI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SI.png -------------------------------------------------------------------------------- /src/img/flags/SJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SJ.png -------------------------------------------------------------------------------- /src/img/flags/SK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SK.png -------------------------------------------------------------------------------- /src/img/flags/SL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SL.png -------------------------------------------------------------------------------- /src/img/flags/SM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SM.png -------------------------------------------------------------------------------- /src/img/flags/SN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SN.png -------------------------------------------------------------------------------- /src/img/flags/SO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SO.png -------------------------------------------------------------------------------- /src/img/flags/SR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SR.png -------------------------------------------------------------------------------- /src/img/flags/SS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SS.png -------------------------------------------------------------------------------- /src/img/flags/ST.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ST.png -------------------------------------------------------------------------------- /src/img/flags/SV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SV.png -------------------------------------------------------------------------------- /src/img/flags/SX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SX.png -------------------------------------------------------------------------------- /src/img/flags/SY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SY.png -------------------------------------------------------------------------------- /src/img/flags/SZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/SZ.png -------------------------------------------------------------------------------- /src/img/flags/TA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TA.png -------------------------------------------------------------------------------- /src/img/flags/TC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TC.png -------------------------------------------------------------------------------- /src/img/flags/TD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TD.png -------------------------------------------------------------------------------- /src/img/flags/TF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TF.png -------------------------------------------------------------------------------- /src/img/flags/TG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TG.png -------------------------------------------------------------------------------- /src/img/flags/TH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TH.png -------------------------------------------------------------------------------- /src/img/flags/TJ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TJ.png -------------------------------------------------------------------------------- /src/img/flags/TK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TK.png -------------------------------------------------------------------------------- /src/img/flags/TL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TL.png -------------------------------------------------------------------------------- /src/img/flags/TM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TM.png -------------------------------------------------------------------------------- /src/img/flags/TN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TN.png -------------------------------------------------------------------------------- /src/img/flags/TO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TO.png -------------------------------------------------------------------------------- /src/img/flags/TR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TR.png -------------------------------------------------------------------------------- /src/img/flags/TT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TT.png -------------------------------------------------------------------------------- /src/img/flags/TV.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TV.png -------------------------------------------------------------------------------- /src/img/flags/TW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TW.png -------------------------------------------------------------------------------- /src/img/flags/TZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/TZ.png -------------------------------------------------------------------------------- /src/img/flags/UA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/UA.png -------------------------------------------------------------------------------- /src/img/flags/UG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/UG.png -------------------------------------------------------------------------------- /src/img/flags/UM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/UM.png -------------------------------------------------------------------------------- /src/img/flags/UN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/UN.png -------------------------------------------------------------------------------- /src/img/flags/US.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/US.png -------------------------------------------------------------------------------- /src/img/flags/UY.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/UY.png -------------------------------------------------------------------------------- /src/img/flags/UZ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/UZ.png -------------------------------------------------------------------------------- /src/img/flags/VA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VA.png -------------------------------------------------------------------------------- /src/img/flags/VC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VC.png -------------------------------------------------------------------------------- /src/img/flags/VE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VE.png -------------------------------------------------------------------------------- /src/img/flags/VG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VG.png -------------------------------------------------------------------------------- /src/img/flags/VI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VI.png -------------------------------------------------------------------------------- /src/img/flags/VN.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VN.png -------------------------------------------------------------------------------- /src/img/flags/VU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/VU.png -------------------------------------------------------------------------------- /src/img/flags/WF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/WF.png -------------------------------------------------------------------------------- /src/img/flags/WS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/WS.png -------------------------------------------------------------------------------- /src/img/flags/XK.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/XK.png -------------------------------------------------------------------------------- /src/img/flags/YE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/YE.png -------------------------------------------------------------------------------- /src/img/flags/YT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/YT.png -------------------------------------------------------------------------------- /src/img/flags/ZA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ZA.png -------------------------------------------------------------------------------- /src/img/flags/ZM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ZM.png -------------------------------------------------------------------------------- /src/img/flags/ZW.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/flags/ZW.png -------------------------------------------------------------------------------- /src/img/onboarding-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/onboarding-1.png -------------------------------------------------------------------------------- /src/img/onboarding-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/onboarding-2.png -------------------------------------------------------------------------------- /src/img/onboarding-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/onboarding-3.png -------------------------------------------------------------------------------- /src/img/onboarding-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/onboarding-4.png -------------------------------------------------------------------------------- /src/fonts/Inter-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/fonts/Inter-Medium.woff2 -------------------------------------------------------------------------------- /src/fonts/Inter-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/fonts/Inter-Regular.woff2 -------------------------------------------------------------------------------- /src/fonts/Inter-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/fonts/Inter-SemiBold.woff2 -------------------------------------------------------------------------------- /src/fonts/Metropolis-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/fonts/Metropolis-Light.woff2 -------------------------------------------------------------------------------- /src/fonts/Metropolis-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/fonts/Metropolis-Medium.woff2 -------------------------------------------------------------------------------- /src/img/onboarding-3-security.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mozilla/multi-account-containers/HEAD/src/img/onboarding-3-security.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "src/_locales"] 2 | branch = main 3 | path = src/_locales 4 | url = https://github.com/mozilla-l10n/multi-account-containers-l10n.git 5 | ignore=all 6 | -------------------------------------------------------------------------------- /.htmllintrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [], 3 | 4 | "id-class-style": "dash", 5 | "indent-style": "spaces", 6 | "indent-width": 2, 7 | "attr-name-ignore-regex": "http-equiv|data-*" 8 | } 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | README.html 4 | *.xpi 5 | *.sw* 6 | .vimrc 7 | .env 8 | addon.env 9 | 10 | src/web-ext-artifacts/* 11 | web-ext-artifacts 12 | 13 | # JetBrains IDE files 14 | .idea 15 | 16 | # IstanbulJS 17 | .nyc_output 18 | coverage -------------------------------------------------------------------------------- /.jpmignore: -------------------------------------------------------------------------------- 1 | .git/ 2 | docs/ 3 | test/ 4 | .npm/ 5 | node_modules/ 6 | bin/ 7 | 8 | .env 9 | .eslintrc.js 10 | .eslintignore 11 | .gitignore 12 | .htmllintrc 13 | .jpmignore 14 | .npm 15 | .stylelintrc 16 | .travis.yml 17 | *.xpi 18 | *.md 19 | .vimrc 20 | .DS_Store 21 | .gdb_history 22 | *.sw* 23 | -------------------------------------------------------------------------------- /src/img/arrow-toggle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/img/container-close-tab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/filters.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | -------------------------------------------------------------------------------- /src/img/new-16.svg: -------------------------------------------------------------------------------- 1 | 4 | 7 | -------------------------------------------------------------------------------- /src/img/arrow-icon-left-light.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/img/arrow-icon-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/img/refresh-16.svg: -------------------------------------------------------------------------------- 1 | 4 | 7 | -------------------------------------------------------------------------------- /src/img/blank-tab.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/js/i18n.js: -------------------------------------------------------------------------------- 1 | document.addEventListener("DOMContentLoaded", async () => { 2 | document.querySelectorAll("[data-i18n-message-id]").forEach(el => { 3 | const messageArgs = el.dataset.i18nPlaceholder ? el.dataset.i18nPlaceholder : null; 4 | el.textContent = browser.i18n.getMessage(el.dataset.i18nMessageId, [messageArgs]); 5 | }); 6 | document.querySelectorAll("[data-i18n-attribute]").forEach(el => { 7 | el.setAttribute(el.dataset.i18nAttribute, browser.i18n.getMessage(el.dataset.i18nAttributeMessageId)); 8 | }); 9 | }); 10 | -------------------------------------------------------------------------------- /.stylelintrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "stylelint-order" 4 | ], 5 | 6 | "extends": "stylelint-config-standard", 7 | 8 | "ignoreFiles": ["src/css/*.min.css"], 9 | 10 | "rules": { 11 | "declaration-block-no-duplicate-properties": true, 12 | "property-no-unknown": [ 13 | true, { 14 | ignoreProperties: 15 | ["inset-block-end", "inset-block-start"] 16 | }], 17 | "property-disallowed-list": [ 18 | "/(min[-]|max[-])height/", 19 | "/width/", 20 | "/top/", 21 | "/bottom/", 22 | "padding", 23 | "margin" 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/img/tab-new-16.svg: -------------------------------------------------------------------------------- 1 | 4 | 7 | -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- 1 | name: Test 2 | on: 3 | push: 4 | branches: 5 | - main 6 | - production 7 | pull_request: 8 | branches: 9 | 10 | jobs: 11 | test: 12 | name: Run tests 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - name: Clone repository 17 | uses: actions/checkout@v3 18 | 19 | - name: Set up node 20 | uses: actions/setup-node@v3 21 | with: 22 | node-version: lts/* 23 | 24 | - name: Install dependencies 25 | run: npm install --legacy-peer-deps 26 | 27 | - name: Run tests 28 | run: npm run test 29 | -------------------------------------------------------------------------------- /src/img/sort-16_1.svg: -------------------------------------------------------------------------------- 1 | 4 | 7 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | **Before submitting your pull request** 2 | 3 | - [ ] I agree to license my code under the [MPL 2.0 license](https://www.mozilla.org/en-US/MPL/2.0/). 4 | - [ ] I rebased my work on top of the main branch. 5 | - [ ] I ran `npm test` and all tests passed. 6 | - [ ] I added test coverages if relevant. 7 | 8 | # Description 9 | 10 | *Please include a summary of the changes including relevant motivation and context.* 11 | 12 | ## Type of change 13 | 14 | *Select all that apply.* 15 | 16 | - [ ] Bug fix 17 | - [ ] New feature 18 | - [ ] Major change (fix or feature that would cause existing functionality to work differently than in the current version) 19 | 20 | Tag issues related to this pull request: 21 | 22 | * 23 | * 24 | * 25 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Community Participation Guidelines 2 | 3 | This repository is governed by Mozilla's code of conduct and etiquette guidelines. 4 | For more details, please read the 5 | [Mozilla Community Participation Guidelines](https://www.mozilla.org/about/governance/policies/participation/). 6 | 7 | ## How to Report 8 | For more information on how to report violations of the Community Participation Guidelines, please read our '[How to Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)' page. 9 | 10 | 16 | -------------------------------------------------------------------------------- /src/css/content.css: -------------------------------------------------------------------------------- 1 | .container-notification { 2 | align-items: center; 3 | background: #efefef; 4 | color: #003f07; 5 | display: flex; 6 | font: 12px sans-serif; 7 | inline-size: 100vw; 8 | justify-content: start; 9 | offset-block-start: 0; 10 | offset-inline-start: 0; 11 | padding-block-end: 8px; 12 | padding-block-start: 8px; 13 | padding-inline-end: 8px; 14 | padding-inline-start: 8px; 15 | position: fixed; 16 | text-align: start; 17 | transform: translateY(-100%); 18 | transition: transform 0.3s cubic-bezier(0.07, 0.95, 0, 1) 0.3s; 19 | z-index: 999999999999; 20 | } 21 | 22 | .container-notification img { 23 | block-size: 16px; 24 | display: inline-block; 25 | inline-size: 16px; 26 | margin-inline-end: 3px; 27 | } 28 | -------------------------------------------------------------------------------- /src/img/container-move.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.github/workflows/builds.yaml: -------------------------------------------------------------------------------- 1 | name: Builds 2 | on: 3 | push: 4 | branches: 5 | - main 6 | - production 7 | pull_request: 8 | branches: 9 | - main 10 | - production 11 | schedule: 12 | - cron: '0 2 * * *' # Daily at 2AM UTC 13 | 14 | jobs: 15 | builds: 16 | name: Builds 17 | runs-on: ubuntu-latest 18 | 19 | steps: 20 | - name: Clone repository 21 | uses: actions/checkout@v3 22 | 23 | - name: Create the package 24 | shell: bash 25 | run: | 26 | ./bin/build-addon.sh nightly.xpi 27 | 28 | - name: Uploading 29 | uses: actions/upload-artifact@v4 30 | with: 31 | name: ${{matrix.config.name}} Build 32 | path: src/web-ext-artifacts 33 | -------------------------------------------------------------------------------- /bin/build-addon.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | . $(dirname $0)/commons.sh 8 | 9 | print Y "Update the submodules..." 10 | git submodule init || die 11 | git submodule update --remote --depth 1 src/_locales || die 12 | 13 | print Y "Installing dependencies..." 14 | npm install --legacy-peer-deps || die 15 | 16 | print Y "Running tests..." 17 | npm test 18 | 19 | print Y "Creating the final package..." 20 | cd src || die 21 | 22 | if [[ $# -gt 0 ]]; then 23 | EXTRA_PARAMS="--filename $1" 24 | fi 25 | 26 | npx web-ext build --overwrite-dest $EXTRA_PARAMS || die 27 | -------------------------------------------------------------------------------- /src/img/info-thin-16.svg: -------------------------------------------------------------------------------- 1 | 4 | 14 | -------------------------------------------------------------------------------- /src/img/multiaccountcontainer-16.svg: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /src/img/container-delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | -------------------------------------------------------------------------------- /src/img/movetowindow-16.svg: -------------------------------------------------------------------------------- 1 | 4 | 8 | -------------------------------------------------------------------------------- /src/img/Account.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/img/info.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/js/background/badge.js: -------------------------------------------------------------------------------- 1 | const MAJOR_VERSIONS = ["2.3.0", "2.4.0", "6.2.0", "8.0.2"]; 2 | const badge = { 3 | async init() { 4 | const currentWindow = await browser.windows.getCurrent(); 5 | this.displayBrowserActionBadge(currentWindow); 6 | }, 7 | 8 | async displayBrowserActionBadge() { 9 | const extensionInfo = await backgroundLogic.getExtensionInfo(); 10 | const storage = await browser.storage.local.get({ browserActionBadgesClicked: [] }); 11 | 12 | if (MAJOR_VERSIONS.indexOf(extensionInfo.version) > -1 && 13 | storage.browserActionBadgesClicked.indexOf(extensionInfo.version) < 0) { 14 | browser.browserAction.setBadgeBackgroundColor({ color: "rgb(255, 79, 94)" }); 15 | browser.browserAction.setBadgeText({ text: "!" }); 16 | browser.browserAction.setBadgeTextColor({ color: "rgb(255, 255, 255)" }); 17 | } 18 | } 19 | }; 20 | 21 | badge.init(); 22 | -------------------------------------------------------------------------------- /test/issues/1140.test.js: -------------------------------------------------------------------------------- 1 | const { sinon, nextTick, buildBackgroundDom } = require("../common"); 2 | 3 | describe("#1140", () => { 4 | beforeEach(async () => { 5 | this.background = await buildBackgroundDom(); 6 | }); 7 | 8 | describe("removing containers", () => { 9 | beforeEach(async () => { 10 | this.background.browser.contextualIdentities.onRemoved.addListener = sinon.stub(); 11 | const [promise] = this.background.browser.runtime.onMessage.addListener.yield({ 12 | method: "deleteContainer", 13 | message: { 14 | userContextId: "1" 15 | } 16 | }); 17 | await promise; 18 | await nextTick(); 19 | }); 20 | 21 | it("should remove the identitystate from storage as well", async () => { 22 | this.background.browser.storage.local.remove.should.have.been.calledWith([ 23 | "identitiesState@@_firefox-container-1" 24 | ]); 25 | }); 26 | }); 27 | }); -------------------------------------------------------------------------------- /src/img/no-connection.svg: -------------------------------------------------------------------------------- 1 | 2 | 22 | -------------------------------------------------------------------------------- /src/img/container-openin-16.svg: -------------------------------------------------------------------------------- 1 | 4 | 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: "Explore our help articles" 4 | url: "https://support.mozilla.org/kb/containers" 5 | about: "Dig into the knowledge base, tips and tricks, troubleshooting, and so much more." 6 | - name: "Ask a support question" 7 | url: "https://support.mozilla.org/questions/new/desktop/form" 8 | about: "Get support from our contributors or staff members." 9 | - name: "Submit new ideas" 10 | url: "https://connect.mozilla.org/t5/discussions/how-to-submit-a-great-idea-in-five-easy-steps/td-p/24" 11 | about: "Have an idea for a new product feature? Share it with our community and staff members!" 12 | - name: "Discussions" 13 | url: "https://connect.mozilla.org/t5/discussions/bd-p/discussions" 14 | about: "Give feedback and participate in meaningful conversations with the community and Mozilla employees" 15 | - name: "Discover more awesome tools" 16 | url: "https://www.mozilla.org/firefox/products/" 17 | about: "Learn more about other products from Mozilla" 18 | -------------------------------------------------------------------------------- /bin/addons-linter.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | # addons-linter is not happy to see a `.github` folder in src/_locales. 8 | # We need to do an horrible hack to run the test. 9 | 10 | . $(dirname $0)/commons.sh 11 | 12 | TMPDIR=/tmp/MAC_addonsLinter 13 | 14 | print Y "Update the submodules..." 15 | git submodule init || die 16 | git submodule update --remote --depth 1 src/_locales || die 17 | 18 | printn Y "Removing previous execution data... " 19 | rm -rf $TMPDIR || die 20 | print G "done." 21 | 22 | printn Y "Creating a tmp folder ($TMPDIR)... " 23 | mkdir $TMPDIR || die 24 | print G "done." 25 | 26 | printn Y "Copying data... " 27 | cp -r src $TMPDIR || die 28 | print G "done." 29 | 30 | printn Y "Removing the github folder... " 31 | rm -rf $TMPDIR/src/_locales/.github || die 32 | print G "done." 33 | 34 | print Y "Running the test..." 35 | npx addons-linter $TMPDIR/src || die 36 | -------------------------------------------------------------------------------- /src/js/background/index.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 5 | 6 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/img/close.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/img/close-light.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/img/container-newtab.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 23 | -------------------------------------------------------------------------------- /docs/release.md: -------------------------------------------------------------------------------- 1 | # Release a new version 2 | 3 | ## Make the new version 4 | 5 | 1. Bump the version number in `package.json` and `manifest.json` 6 | 2. Commit the version number bump 7 | 3. Create a git tag for the version: `git tag| 18 | 24 | 25 | | 26 |
19 | `;
20 |
21 | tr.appendChild(td);
22 | fragment.appendChild(tr);
23 |
24 | Utils.addEnterHandler(tr, async () => {
25 | Utils.alwaysOpenInContainer(identity);
26 | window.close();
27 | });
28 | }
29 |
30 | const list = document.querySelector("#picker-identities-list");
31 | list.innerHTML = "";
32 | list.appendChild(fragment);
33 |
34 | MozillaVPN.handleContainerList(identities);
35 |
36 | // Set the theme
37 | Utils.applyTheme();
38 | }
39 |
40 | init();
41 |
--------------------------------------------------------------------------------
/src/img/moz-vpn-disconnected.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/src/img/webicon-facebook.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
18 |
--------------------------------------------------------------------------------
/test/issues/1168.test.js:
--------------------------------------------------------------------------------
1 | const {expect, sinon, initializeWithTab} = require("../common");
2 |
3 | describe("#1168", function () {
4 | describe("when navigation happens too slow after opening new tab to a page which then redirects", function () {
5 | let clock, tab, background;
6 |
7 | beforeEach(async function () {
8 | this.webExt = await initializeWithTab({
9 | cookieStoreId: "firefox-container-1",
10 | url: "https://bugzilla.mozilla.org"
11 | });
12 |
13 | await this.webExt.popup.helper.clickElementById("container-page-assigned");
14 |
15 | clock = sinon.useFakeTimers();
16 | tab = await this.webExt.browser.tabs._create({});
17 |
18 | clock.tick(2000);
19 |
20 | await background.browser.tabs._navigate(tab.id, "https://duckduckgo.com/?q=%21bugzilla+thing&t=ffab");
21 | await background.browser.tabs._redirect(tab.id, [
22 | "https://bugzilla.mozilla.org"
23 | ]);
24 | });
25 |
26 | afterEach(function () {
27 | this.webExt.destroy();
28 | clock.restore();
29 | });
30 |
31 | // Not solved yet
32 | // See: https://github.com/mozilla/multi-account-containers/issues/1168#issuecomment-378394091
33 | it.skip("should remove the old tab", async function () {
34 | expect(background.browser.tabs.create).to.have.been.calledOnce;
35 | expect(background.browser.tabs.remove).to.have.been.calledWith(tab.id);
36 | });
37 | });
38 | });
--------------------------------------------------------------------------------
/src/img/moz-vpn-status-icons/moz-vpn-connected.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/src/img/moz-vpn-status-icons/moz-vpn-disconnected.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/src/img/gear-icon-light.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/img/gear-icon.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/test/features/containers.test.js:
--------------------------------------------------------------------------------
1 | const {initializeWithTab} = require("../common");
2 |
3 | describe("Containers Management", function () {
4 | beforeEach(async function () {
5 | this.webExt = await initializeWithTab();
6 | });
7 |
8 | afterEach(function () {
9 | this.webExt.destroy();
10 | });
11 |
12 | describe("creating a new container", function () {
13 | beforeEach(async function () {
14 | await this.webExt.popup.helper.clickElementById("manage-containers-link");
15 | await this.webExt.popup.helper.clickElementById("new-container");
16 | await this.webExt.popup.helper.clickElementById("create-container-ok-link");
17 | });
18 |
19 | it("should create it in the browser as well", function () {
20 | this.webExt.background.browser.contextualIdentities.create.should.have.been.calledOnce;
21 | });
22 |
23 | describe("removing it afterwards", function () {
24 | beforeEach(async function () {
25 | await this.webExt.popup.helper.clickElementById("manage-containers-link");
26 | await this.webExt.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item", "last");
27 | await this.webExt.popup.helper.clickElementById("delete-container-button");
28 | await this.webExt.popup.helper.clickElementById("delete-container-ok-link");
29 | });
30 |
31 | it("should remove it in the browser as well", function () {
32 | this.webExt.background.browser.contextualIdentities.remove.should.have.been.calledOnce;
33 | });
34 | });
35 | });
36 | });
--------------------------------------------------------------------------------
/src/img/warning.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/img/proxy-warning-light.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/img/proxy-warning.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Multi-Account Containers
2 |
3 | [](https://github.com/mozilla/multi-account-containers/actions/workflows/test.yaml)
4 |
5 | The Firefox Multi-Account Containers extension lets you carve out a separate box for each of your online lives – no more opening a different browser just to check your work email!
6 |
7 | Learn more about Multi-Account Containers in
8 | [our end-user documentation][enduser].
9 |
10 | ## Contributing
11 |
12 | Everyone is welcome to contribute to Multi-Account Containers. To learn how
13 | to contribute a patch to Multi-Account Container, please
14 | [read our contributing guide][contributing].
15 |
16 | You can also chat with us on [our Matrix room][matrix] or ask in [our discussions board][discussions].
17 |
18 | This repository is governed by Mozilla's code of conduct and etiquette
19 | guidelines. For more details, [please read the Mozilla Community Participation Guidelines][cpg].
20 |
21 | ### License
22 |
23 | This Source Code Form is subject to the terms of the Mozilla Public
24 | License, v. 2.0. If a copy of the MPL was not distributed with this
25 | file, You can obtain one at https://mozilla.org/MPL/2.0/.
26 |
27 |
28 | [contributing]: CONTRIBUTING.md
29 | [cpg]: https://www.mozilla.org/about/governance/policies/participation/
30 | [enduser]: https://support.mozilla.org/en-US/kb/containers
31 | [forum]: https://discourse.mozilla.org/c/containers/223
32 | [discussions]: https://github.com/mozilla/multi-account-containers/discussions
33 | [matrix]: https://matrix.to/#/#containers:mozilla.org
34 |
--------------------------------------------------------------------------------
/src/js/content-script.js:
--------------------------------------------------------------------------------
1 | async function delayAnimation(delay = 350) {
2 | return new Promise((resolve) => {
3 | setTimeout(resolve, delay);
4 | });
5 | }
6 |
7 | async function doAnimation(element, property, value) {
8 | return new Promise((resolve) => {
9 | const handler = () => {
10 | resolve();
11 | element.removeEventListener("transitionend", handler);
12 | };
13 | element.addEventListener("transitionend", handler);
14 | window.requestAnimationFrame(() => {
15 | element.style[property] = value;
16 | });
17 | });
18 | }
19 |
20 | async function addMessage(message) {
21 | const divElement = document.createElement("div");
22 | divElement.classList.add("container-notification");
23 | // Ideally we would use https://bugzilla.mozilla.org/show_bug.cgi?id=1340930 when this is available
24 | divElement.innerText = message.text;
25 |
26 | const imageElement = document.createElement("img");
27 | const imagePath = browser.runtime.getURL("/img/multiaccountcontainer-16.svg");
28 | const response = await fetch(imagePath);
29 | const blob = await response.blob();
30 | const objectUrl = URL.createObjectURL(blob);
31 | imageElement.src = objectUrl;
32 | imageElement.width = imageElement.height = 24;
33 | divElement.prepend(imageElement);
34 |
35 | document.body.appendChild(divElement);
36 |
37 | await delayAnimation(100);
38 | await doAnimation(divElement, "transform", "translateY(0)");
39 | await delayAnimation(3000);
40 | await doAnimation(divElement, "transform", "translateY(-100%)");
41 |
42 | divElement.remove();
43 | }
44 |
45 | browser.runtime.onMessage.addListener((message) => {
46 | addMessage(message);
47 | });
48 |
--------------------------------------------------------------------------------
/src/img/password-hide.svg:
--------------------------------------------------------------------------------
1 |
4 |
10 |
--------------------------------------------------------------------------------
/src/img/arrow-icon-right.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
25 |
--------------------------------------------------------------------------------
/src/img/arrow-icon-right-light.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
25 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug.yml:
--------------------------------------------------------------------------------
1 | name: Bug Report
2 | description: Report a problem in Multi-Account Containers
3 | labels: [bug]
4 | body:
5 | - type: checkboxes
6 | id: before-bug-report
7 | attributes:
8 | label: Before submitting a bug report
9 | options:
10 | - label: "I updated to the latest version of Multi-Account Container and tested if I can reproduce the issue"
11 | required: true
12 | - label: "I searched for existing reports to see if it hasn't already been reported"
13 | required: true
14 | - type: textarea
15 | id: step_to_reproduce
16 | attributes:
17 | label: "Step to reproduce"
18 | description: "Provide a list of steps you did to trigger this bug"
19 | placeholder: |
20 | 1. I opened ...
21 | 2. I clicked on ...
22 | 3. ...
23 | validations:
24 | required: true
25 | - type: textarea
26 | id: actual_behavior
27 | attributes:
28 | label: "Actual behavior"
29 | description: "Provide a description of what is currently happening"
30 | validations:
31 | required: true
32 | - type: textarea
33 | id: expected_behavior
34 | attributes:
35 | label: "Expected behavior"
36 | description: "Provide a description of what should happen"
37 | validations:
38 | required: true
39 | - type: textarea
40 | id: additional_informations
41 | attributes:
42 | label: "Additional informations"
43 | description: "Provide any other information revelant to this issue"
44 | validations:
45 | required: false
46 | - type: textarea
47 | id: about_support
48 | attributes:
49 | label: "Provide a copy of Troubleshooting Information page (optional)"
50 | description: "To get a copy of the Troubleshooting Information page, type *about:support* in the address bar and click on the *Copy text to clipboard* button."
51 | render: "plain text"
52 | validations:
53 | required: false
54 |
--------------------------------------------------------------------------------
/src/confirm-page.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |