Backed out 5 changesets (bug 1498410) for faulty landing CLOSED TREE
authorCiure Andrei <aciure@mozilla.com>
Mon, 15 Oct 2018 23:31:55 +0300
changeset 499781 b2cd2ffe4ec85aad87f3445cd1e6badad0a45010
parent 499780 0cf18ffee1c0318be8dbf89ef1aecedb8243da0f
child 499782 7b5cc9b80a3e2630baf823181caca717e2c80a8a
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1498410
milestone64.0a1
backs out0bf7bb3f9e581ee5da934136e404d794a130fddc
01fa6937f05fc51562205eac8e895c62324452f8
426257ad4b83e3cffc628f76ae8bd55c2fa4fbaf
909a38c04700e32793a82e92a1b35aa182cae276
fb1c936feb43f2571bd35d3fd904ec40ef3148ac
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out 5 changesets (bug 1498410) for faulty landing CLOSED TREE Backed out changeset 0bf7bb3f9e58 (bug 1498410) Backed out changeset 01fa6937f05f (bug 1498410) Backed out changeset 426257ad4b83 (bug 1498410) Backed out changeset 909a38c04700 (bug 1498410) Backed out changeset fb1c936feb43 (bug 1498410)
browser/base/content/test/performance/browser_preferences_usage.js
browser/extensions/screenshots/_locales/ach/messages.json
browser/extensions/screenshots/_locales/ar/messages.json
browser/extensions/screenshots/_locales/ast/messages.json
browser/extensions/screenshots/_locales/az/messages.json
browser/extensions/screenshots/_locales/be/messages.json
browser/extensions/screenshots/_locales/bg/messages.json
browser/extensions/screenshots/_locales/bn_BD/messages.json
browser/extensions/screenshots/_locales/br/messages.json
browser/extensions/screenshots/_locales/bs/messages.json
browser/extensions/screenshots/_locales/ca/messages.json
browser/extensions/screenshots/_locales/cak/messages.json
browser/extensions/screenshots/_locales/crh/messages.json
browser/extensions/screenshots/_locales/cs/messages.json
browser/extensions/screenshots/_locales/cy/messages.json
browser/extensions/screenshots/_locales/da/messages.json
browser/extensions/screenshots/_locales/de/messages.json
browser/extensions/screenshots/_locales/dsb/messages.json
browser/extensions/screenshots/_locales/el/messages.json
browser/extensions/screenshots/_locales/en_CA/messages.json
browser/extensions/screenshots/_locales/en_GB/messages.json
browser/extensions/screenshots/_locales/en_US/messages.json
browser/extensions/screenshots/_locales/eo/messages.json
browser/extensions/screenshots/_locales/es_AR/messages.json
browser/extensions/screenshots/_locales/es_CL/messages.json
browser/extensions/screenshots/_locales/es_ES/messages.json
browser/extensions/screenshots/_locales/es_MX/messages.json
browser/extensions/screenshots/_locales/et/messages.json
browser/extensions/screenshots/_locales/eu/messages.json
browser/extensions/screenshots/_locales/fa/messages.json
browser/extensions/screenshots/_locales/ff/messages.json
browser/extensions/screenshots/_locales/fi/messages.json
browser/extensions/screenshots/_locales/fr/messages.json
browser/extensions/screenshots/_locales/fy_NL/messages.json
browser/extensions/screenshots/_locales/ga_IE/messages.json
browser/extensions/screenshots/_locales/gd/messages.json
browser/extensions/screenshots/_locales/gl/messages.json
browser/extensions/screenshots/_locales/gn/messages.json
browser/extensions/screenshots/_locales/gu_IN/messages.json
browser/extensions/screenshots/_locales/he/messages.json
browser/extensions/screenshots/_locales/hi_IN/messages.json
browser/extensions/screenshots/_locales/hr/messages.json
browser/extensions/screenshots/_locales/hsb/messages.json
browser/extensions/screenshots/_locales/hu/messages.json
browser/extensions/screenshots/_locales/hy_AM/messages.json
browser/extensions/screenshots/_locales/ia/messages.json
browser/extensions/screenshots/_locales/id/messages.json
browser/extensions/screenshots/_locales/it/messages.json
browser/extensions/screenshots/_locales/ja/messages.json
browser/extensions/screenshots/_locales/ka/messages.json
browser/extensions/screenshots/_locales/kab/messages.json
browser/extensions/screenshots/_locales/kk/messages.json
browser/extensions/screenshots/_locales/km/messages.json
browser/extensions/screenshots/_locales/kn/messages.json
browser/extensions/screenshots/_locales/ko/messages.json
browser/extensions/screenshots/_locales/lij/messages.json
browser/extensions/screenshots/_locales/lo/messages.json
browser/extensions/screenshots/_locales/lt/messages.json
browser/extensions/screenshots/_locales/mai/messages.json
browser/extensions/screenshots/_locales/mk/messages.json
browser/extensions/screenshots/_locales/ml/messages.json
browser/extensions/screenshots/_locales/mn/messages.json
browser/extensions/screenshots/_locales/mr/messages.json
browser/extensions/screenshots/_locales/ms/messages.json
browser/extensions/screenshots/_locales/my/messages.json
browser/extensions/screenshots/_locales/nb_NO/messages.json
browser/extensions/screenshots/_locales/ne_NP/messages.json
browser/extensions/screenshots/_locales/nl/messages.json
browser/extensions/screenshots/_locales/nn_NO/messages.json
browser/extensions/screenshots/_locales/pa_IN/messages.json
browser/extensions/screenshots/_locales/pl/messages.json
browser/extensions/screenshots/_locales/pt_BR/messages.json
browser/extensions/screenshots/_locales/pt_PT/messages.json
browser/extensions/screenshots/_locales/rm/messages.json
browser/extensions/screenshots/_locales/ro/messages.json
browser/extensions/screenshots/_locales/ru/messages.json
browser/extensions/screenshots/_locales/si/messages.json
browser/extensions/screenshots/_locales/sk/messages.json
browser/extensions/screenshots/_locales/sl/messages.json
browser/extensions/screenshots/_locales/sq/messages.json
browser/extensions/screenshots/_locales/sr/messages.json
browser/extensions/screenshots/_locales/sv_SE/messages.json
browser/extensions/screenshots/_locales/ta/messages.json
browser/extensions/screenshots/_locales/te/messages.json
browser/extensions/screenshots/_locales/th/messages.json
browser/extensions/screenshots/_locales/tl/messages.json
browser/extensions/screenshots/_locales/tr/messages.json
browser/extensions/screenshots/_locales/uk/messages.json
browser/extensions/screenshots/_locales/ur/messages.json
browser/extensions/screenshots/_locales/uz/messages.json
browser/extensions/screenshots/_locales/vi/messages.json
browser/extensions/screenshots/_locales/zh_CN/messages.json
browser/extensions/screenshots/_locales/zh_TW/messages.json
browser/extensions/screenshots/assertIsBlankDocument.js
browser/extensions/screenshots/assertIsTrusted.js
browser/extensions/screenshots/background/analytics.js
browser/extensions/screenshots/background/auth.js
browser/extensions/screenshots/background/communication.js
browser/extensions/screenshots/background/deviceInfo.js
browser/extensions/screenshots/background/main.js
browser/extensions/screenshots/background/selectorLoader.js
browser/extensions/screenshots/background/senderror.js
browser/extensions/screenshots/background/startBackground.js
browser/extensions/screenshots/background/takeshot.js
browser/extensions/screenshots/blank.html
browser/extensions/screenshots/blobConverters.js
browser/extensions/screenshots/bootstrap.js
browser/extensions/screenshots/build/buildSettings.js
browser/extensions/screenshots/build/inlineSelectionCss.js
browser/extensions/screenshots/build/onboardingCss.js
browser/extensions/screenshots/build/onboardingHtml.js
browser/extensions/screenshots/build/raven.js
browser/extensions/screenshots/build/selection.js
browser/extensions/screenshots/build/shot.js
browser/extensions/screenshots/build/thumbnailGenerator.js
browser/extensions/screenshots/catcher.js
browser/extensions/screenshots/clipboard.js
browser/extensions/screenshots/domainFromUrl.js
browser/extensions/screenshots/experiments/screenshots/api.js
browser/extensions/screenshots/experiments/screenshots/schema.json
browser/extensions/screenshots/icons/back-highlight.svg
browser/extensions/screenshots/icons/back.svg
browser/extensions/screenshots/icons/cancel.svg
browser/extensions/screenshots/icons/cloud.svg
browser/extensions/screenshots/icons/copied-notification.svg
browser/extensions/screenshots/icons/copy.svg
browser/extensions/screenshots/icons/done.svg
browser/extensions/screenshots/icons/download.svg
browser/extensions/screenshots/icons/help-16.svg
browser/extensions/screenshots/icons/icon-highlight-32-v2.svg
browser/extensions/screenshots/icons/icon-v2.svg
browser/extensions/screenshots/icons/icon-welcome-face-without-eyes.svg
browser/extensions/screenshots/icons/menu-fullpage.svg
browser/extensions/screenshots/icons/menu-myshot-white.svg
browser/extensions/screenshots/icons/menu-myshot.svg
browser/extensions/screenshots/icons/menu-visible.svg
browser/extensions/screenshots/icons/onboarding-1.png
browser/extensions/screenshots/icons/onboarding-2.png
browser/extensions/screenshots/icons/onboarding-3.png
browser/extensions/screenshots/icons/onboarding-4.png
browser/extensions/screenshots/icons/onboarding-5.png
browser/extensions/screenshots/icons/onboarding-6.png
browser/extensions/screenshots/install.rdf
browser/extensions/screenshots/log.js
browser/extensions/screenshots/makeUuid.js
browser/extensions/screenshots/manifest.json
browser/extensions/screenshots/moz.build
browser/extensions/screenshots/onboarding/slides.html
browser/extensions/screenshots/onboarding/slides.js
browser/extensions/screenshots/randomString.js
browser/extensions/screenshots/selector/callBackground.js
browser/extensions/screenshots/selector/documentMetadata.js
browser/extensions/screenshots/selector/shooter.js
browser/extensions/screenshots/selector/ui.js
browser/extensions/screenshots/selector/uicontrol.js
browser/extensions/screenshots/selector/util.js
browser/extensions/screenshots/sitehelper.js
browser/extensions/screenshots/test/browser/browser.ini
browser/extensions/screenshots/test/browser/browser_screenshots_ui_check.js
browser/extensions/screenshots/test/browser/head.js
browser/extensions/screenshots/webextension/_locales/ach/messages.json
browser/extensions/screenshots/webextension/_locales/ar/messages.json
browser/extensions/screenshots/webextension/_locales/ast/messages.json
browser/extensions/screenshots/webextension/_locales/az/messages.json
browser/extensions/screenshots/webextension/_locales/be/messages.json
browser/extensions/screenshots/webextension/_locales/bg/messages.json
browser/extensions/screenshots/webextension/_locales/bn_BD/messages.json
browser/extensions/screenshots/webextension/_locales/br/messages.json
browser/extensions/screenshots/webextension/_locales/bs/messages.json
browser/extensions/screenshots/webextension/_locales/ca/messages.json
browser/extensions/screenshots/webextension/_locales/cak/messages.json
browser/extensions/screenshots/webextension/_locales/crh/messages.json
browser/extensions/screenshots/webextension/_locales/cs/messages.json
browser/extensions/screenshots/webextension/_locales/cy/messages.json
browser/extensions/screenshots/webextension/_locales/da/messages.json
browser/extensions/screenshots/webextension/_locales/de/messages.json
browser/extensions/screenshots/webextension/_locales/dsb/messages.json
browser/extensions/screenshots/webextension/_locales/el/messages.json
browser/extensions/screenshots/webextension/_locales/en_GB/messages.json
browser/extensions/screenshots/webextension/_locales/en_US/messages.json
browser/extensions/screenshots/webextension/_locales/eo/messages.json
browser/extensions/screenshots/webextension/_locales/es_AR/messages.json
browser/extensions/screenshots/webextension/_locales/es_CL/messages.json
browser/extensions/screenshots/webextension/_locales/es_ES/messages.json
browser/extensions/screenshots/webextension/_locales/es_MX/messages.json
browser/extensions/screenshots/webextension/_locales/et/messages.json
browser/extensions/screenshots/webextension/_locales/eu/messages.json
browser/extensions/screenshots/webextension/_locales/fa/messages.json
browser/extensions/screenshots/webextension/_locales/ff/messages.json
browser/extensions/screenshots/webextension/_locales/fi/messages.json
browser/extensions/screenshots/webextension/_locales/fr/messages.json
browser/extensions/screenshots/webextension/_locales/fy_NL/messages.json
browser/extensions/screenshots/webextension/_locales/ga_IE/messages.json
browser/extensions/screenshots/webextension/_locales/gd/messages.json
browser/extensions/screenshots/webextension/_locales/gl/messages.json
browser/extensions/screenshots/webextension/_locales/gn/messages.json
browser/extensions/screenshots/webextension/_locales/gu_IN/messages.json
browser/extensions/screenshots/webextension/_locales/he/messages.json
browser/extensions/screenshots/webextension/_locales/hi_IN/messages.json
browser/extensions/screenshots/webextension/_locales/hr/messages.json
browser/extensions/screenshots/webextension/_locales/hsb/messages.json
browser/extensions/screenshots/webextension/_locales/hu/messages.json
browser/extensions/screenshots/webextension/_locales/hy_AM/messages.json
browser/extensions/screenshots/webextension/_locales/ia/messages.json
browser/extensions/screenshots/webextension/_locales/id/messages.json
browser/extensions/screenshots/webextension/_locales/it/messages.json
browser/extensions/screenshots/webextension/_locales/ja/messages.json
browser/extensions/screenshots/webextension/_locales/ka/messages.json
browser/extensions/screenshots/webextension/_locales/kab/messages.json
browser/extensions/screenshots/webextension/_locales/kk/messages.json
browser/extensions/screenshots/webextension/_locales/km/messages.json
browser/extensions/screenshots/webextension/_locales/kn/messages.json
browser/extensions/screenshots/webextension/_locales/ko/messages.json
browser/extensions/screenshots/webextension/_locales/lij/messages.json
browser/extensions/screenshots/webextension/_locales/lo/messages.json
browser/extensions/screenshots/webextension/_locales/lt/messages.json
browser/extensions/screenshots/webextension/_locales/mai/messages.json
browser/extensions/screenshots/webextension/_locales/mk/messages.json
browser/extensions/screenshots/webextension/_locales/ml/messages.json
browser/extensions/screenshots/webextension/_locales/mn/messages.json
browser/extensions/screenshots/webextension/_locales/mr/messages.json
browser/extensions/screenshots/webextension/_locales/ms/messages.json
browser/extensions/screenshots/webextension/_locales/my/messages.json
browser/extensions/screenshots/webextension/_locales/nb_NO/messages.json
browser/extensions/screenshots/webextension/_locales/ne_NP/messages.json
browser/extensions/screenshots/webextension/_locales/nl/messages.json
browser/extensions/screenshots/webextension/_locales/nn_NO/messages.json
browser/extensions/screenshots/webextension/_locales/pa_IN/messages.json
browser/extensions/screenshots/webextension/_locales/pl/messages.json
browser/extensions/screenshots/webextension/_locales/pt_BR/messages.json
browser/extensions/screenshots/webextension/_locales/pt_PT/messages.json
browser/extensions/screenshots/webextension/_locales/rm/messages.json
browser/extensions/screenshots/webextension/_locales/ro/messages.json
browser/extensions/screenshots/webextension/_locales/ru/messages.json
browser/extensions/screenshots/webextension/_locales/sk/messages.json
browser/extensions/screenshots/webextension/_locales/sl/messages.json
browser/extensions/screenshots/webextension/_locales/sq/messages.json
browser/extensions/screenshots/webextension/_locales/sr/messages.json
browser/extensions/screenshots/webextension/_locales/sv_SE/messages.json
browser/extensions/screenshots/webextension/_locales/ta/messages.json
browser/extensions/screenshots/webextension/_locales/te/messages.json
browser/extensions/screenshots/webextension/_locales/th/messages.json
browser/extensions/screenshots/webextension/_locales/tl/messages.json
browser/extensions/screenshots/webextension/_locales/tr/messages.json
browser/extensions/screenshots/webextension/_locales/uk/messages.json
browser/extensions/screenshots/webextension/_locales/ur/messages.json
browser/extensions/screenshots/webextension/_locales/uz/messages.json
browser/extensions/screenshots/webextension/_locales/vi/messages.json
browser/extensions/screenshots/webextension/_locales/zh_CN/messages.json
browser/extensions/screenshots/webextension/_locales/zh_TW/messages.json
browser/extensions/screenshots/webextension/assertIsBlankDocument.js
browser/extensions/screenshots/webextension/assertIsTrusted.js
browser/extensions/screenshots/webextension/background/analytics.js
browser/extensions/screenshots/webextension/background/auth.js
browser/extensions/screenshots/webextension/background/communication.js
browser/extensions/screenshots/webextension/background/deviceInfo.js
browser/extensions/screenshots/webextension/background/main.js
browser/extensions/screenshots/webextension/background/selectorLoader.js
browser/extensions/screenshots/webextension/background/senderror.js
browser/extensions/screenshots/webextension/background/startBackground.js
browser/extensions/screenshots/webextension/background/takeshot.js
browser/extensions/screenshots/webextension/blank.html
browser/extensions/screenshots/webextension/blobConverters.js
browser/extensions/screenshots/webextension/build/buildSettings.js
browser/extensions/screenshots/webextension/build/inlineSelectionCss.js
browser/extensions/screenshots/webextension/build/onboardingCss.js
browser/extensions/screenshots/webextension/build/onboardingHtml.js
browser/extensions/screenshots/webextension/build/raven.js
browser/extensions/screenshots/webextension/build/selection.js
browser/extensions/screenshots/webextension/build/shot.js
browser/extensions/screenshots/webextension/build/thumbnailGenerator.js
browser/extensions/screenshots/webextension/catcher.js
browser/extensions/screenshots/webextension/clipboard.js
browser/extensions/screenshots/webextension/domainFromUrl.js
browser/extensions/screenshots/webextension/icons/back-highlight.svg
browser/extensions/screenshots/webextension/icons/back.svg
browser/extensions/screenshots/webextension/icons/cancel.svg
browser/extensions/screenshots/webextension/icons/cloud.svg
browser/extensions/screenshots/webextension/icons/copied-notification.svg
browser/extensions/screenshots/webextension/icons/copy.svg
browser/extensions/screenshots/webextension/icons/done.svg
browser/extensions/screenshots/webextension/icons/download.svg
browser/extensions/screenshots/webextension/icons/help-16.svg
browser/extensions/screenshots/webextension/icons/icon-highlight-32-v2.svg
browser/extensions/screenshots/webextension/icons/icon-v2.svg
browser/extensions/screenshots/webextension/icons/icon-welcome-face-without-eyes.svg
browser/extensions/screenshots/webextension/icons/menu-fullpage.svg
browser/extensions/screenshots/webextension/icons/menu-myshot-white.svg
browser/extensions/screenshots/webextension/icons/menu-myshot.svg
browser/extensions/screenshots/webextension/icons/menu-visible.svg
browser/extensions/screenshots/webextension/icons/onboarding-1.png
browser/extensions/screenshots/webextension/icons/onboarding-2.png
browser/extensions/screenshots/webextension/icons/onboarding-3.png
browser/extensions/screenshots/webextension/icons/onboarding-4.png
browser/extensions/screenshots/webextension/icons/onboarding-5.png
browser/extensions/screenshots/webextension/log.js
browser/extensions/screenshots/webextension/makeUuid.js
browser/extensions/screenshots/webextension/manifest.json
browser/extensions/screenshots/webextension/onboarding/slides.html
browser/extensions/screenshots/webextension/onboarding/slides.js
browser/extensions/screenshots/webextension/randomString.js
browser/extensions/screenshots/webextension/selector/callBackground.js
browser/extensions/screenshots/webextension/selector/documentMetadata.js
browser/extensions/screenshots/webextension/selector/shooter.js
browser/extensions/screenshots/webextension/selector/ui.js
browser/extensions/screenshots/webextension/selector/uicontrol.js
browser/extensions/screenshots/webextension/selector/util.js
browser/extensions/screenshots/webextension/sitehelper.js
--- a/browser/base/content/test/performance/browser_preferences_usage.js
+++ b/browser/base/content/test/performance/browser_preferences_usage.js
@@ -87,17 +87,17 @@ add_task(async function startup() {
       max: 350,
     },
     "layout.css.prefixes.webkit": {
       min: 135,
       max: 170,
     },
     "layout.css.dpi": {
       min: 45,
-      max: 81,
+      max: 75,
     },
     "network.loadinfo.skip_type_assertion": {
       // This is accessed in debug only.
     },
     "extensions.getAddons.cache.enabled": {
       min: 6,
       max: 55,
     },
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/ast/messages.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
-  "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.com>"
-  },
-  "contextMenuLabel": {
-    "message": "Facer una captura"
-  },
-  "myShotsLink": {
-    "message": "Les mios captures"
-  },
-  "screenshotInstructions": {
-    "message": "Arrastra o primi na páxina pa esbillar una rexón. Primi ESC pa encaboxar."
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "Guardar"
-  },
-  "saveScreenshotVisibleArea": {
-    "message": "Guardar lo visible"
-  },
-  "saveScreenshotFullPage": {
-    "message": "Guardar la páxina completa"
-  },
-  "cancelScreenshot": {
-    "message": "Encaboxar"
-  },
-  "downloadScreenshot": {
-    "message": "Baxar"
-  },
-  "downloadOnlyNotice": {
-    "message": "Anguaño tas nel mou de namái descarga."
-  },
-  "downloadOnlyDetails": {
-    "message": "Firefox Screenshots camuda automáticamente al mou namái descarga nestes situaciones:"
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "Na ventana de resotalar en privao."
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "Les cookies de terceros tán desactivaes."
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "«Enxamás nun recordar l'historial» ta desactiváu."
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "Tas usando Firefox ESR."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "Desactiváronse les xubes."
-  },
-  "notificationLinkCopiedTitle": {
-    "message": "Copióse l'enllaz"
-  },
-  "notificationLinkCopiedDetails": {
-    "message": "L'enllaz a la captura copióse al cartafueyu. Primi $META_KEY$-V p'apegar.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "copyScreenshot": {
-    "message": "Copiar"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "Copióse la captura"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "La captura copióse al cartafueyu. Primi $META_KEY$-V p'apegar.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "requestErrorDetails": {
-    "message": "¡Perdón, pero nun pudimos guardar la to captura! Volvi tentalo más sero, por favor."
-  },
-  "connectionErrorDetails": {
-    "message": "Comprueba la conexón a internet. Si yes a coneutate a internet, quiciabes heba un problema temporal col serviciu de Firefox Screenshots."
-  },
-  "loginErrorDetails": {
-    "message": "Nun podemos guardar la captura porque hai un problema col serviciu de Firefox Screenshots. Volvi tentalo más sero."
-  },
-  "unshootablePageErrorTitle": {
-    "message": "Nun pue capturase esta páxina."
-  },
-  "unshootablePageErrorDetails": {
-    "message": "Esta páxina web nun ye estándar, asina que nun pues capturala."
-  },
-  "selfScreenshotErrorTitle": {
-    "message": "¡Nun pues facer captures de pantalla de Firefox Screenshots!"
-  },
-  "emptySelectionErrorTitle": {
-    "message": "La esbilla ye perpequeña"
-  },
-  "privateWindowErrorTitle": {
-    "message": "Les captures de pantalla tán desactivaes nel mou Restolar en privao"
-  },
-  "privateWindowErrorDetails": {
-    "message": "Perdón poles molesties. Tamos trabayando nesta carauterística pa llanzamientos futuros."
-  },
-  "tourBodyIntro": {
-    "message": "Fai, guarda y comparti captures de pantalla ensin colar de Firefox."
-  },
-  "tourHeaderPageAction": {
-    "message": "Un mou nuevu de guardar"
-  },
-  "tourHeaderClickAndDrag": {
-    "message": "Captura lo que quies"
-  },
-  "tourHeaderDownloadUpload": {
-    "message": "Como te preste"
-  },
-  "tourSkip": {
-    "message": "SALTAR"
-  },
-  "tourDone": {
-    "message": "Fecho"
-  },
-  "termsAndPrivacyNoticeTermsLink": {
-    "message": "Términos"
-  },
-  "libraryLabel": {
-    "message": "Captures de pantalla"
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/en_CA/messages.json
+++ /dev/null
@@ -1,190 +0,0 @@
-{
-  "addonDescription": {
-    "message": "Take clips and screenshots from the Web and save them temporarily or permanently."
-  },
-  "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.com>"
-  },
-  "contextMenuLabel": {
-    "message": "Take a Screenshot"
-  },
-  "myShotsLink": {
-    "message": "My Shots"
-  },
-  "screenshotInstructions": {
-    "message": "Drag or click on the page to select a region. Press ESC to cancel."
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "Save"
-  },
-  "saveScreenshotVisibleArea": {
-    "message": "Save visible"
-  },
-  "saveScreenshotFullPage": {
-    "message": "Save full page"
-  },
-  "cancelScreenshot": {
-    "message": "Cancel"
-  },
-  "downloadScreenshot": {
-    "message": "Download"
-  },
-  "downloadOnlyNotice": {
-    "message": "You are currently in Download-Only mode."
-  },
-  "downloadOnlyDetails": {
-    "message": "Firefox Screenshots automatically changes to Download-Only mode in these situations:"
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "In a Private Browsing window."
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "Third-party cookies are disabled."
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "“Never remember history” is enabled."
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "You are using Firefox ESR."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "Uploads have been disabled."
-  },
-  "notificationLinkCopiedTitle": {
-    "message": "Link Copied"
-  },
-  "notificationLinkCopiedDetails": {
-    "message": "The link to your shot has been copied to the clipboard. Press $META_KEY$-V to paste.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "copyScreenshot": {
-    "message": "Copy"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "Shot Copied"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "Your shot has been copied to the clipboard. Press $META_KEY$-V to paste.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCropPopupWarning": {
-    "message": "Saved image will be cropped to $PIXELS$px in height.",
-    "placeholders": {
-      "pixels": {
-        "content": "$1"
-      }
-    }
-  },
-  "requestErrorTitle": {
-    "message": "Out of order."
-  },
-  "requestErrorDetails": {
-    "message": "Sorry! We couldn’t save your shot. Please try again later."
-  },
-  "connectionErrorTitle": {
-    "message": "We can’t connect to your screenshots."
-  },
-  "connectionErrorDetails": {
-    "message": "Please check your Internet connection. If you are able to connect to the Internet, there may be a temporary problem with the Firefox Screenshots service."
-  },
-  "loginErrorDetails": {
-    "message": "We couldn’t save your shot because there is a problem with the Firefox Screenshots service. Please try again later."
-  },
-  "unshootablePageErrorTitle": {
-    "message": "We can’t screenshot this page."
-  },
-  "unshootablePageErrorDetails": {
-    "message": "This isn’t a standard Web page, so you can’t take a screenshot of it."
-  },
-  "selfScreenshotErrorTitle": {
-    "message": "You can’t take a shot of a Firefox Screenshots page!"
-  },
-  "emptySelectionErrorTitle": {
-    "message": "Your selection is too small"
-  },
-  "privateWindowErrorTitle": {
-    "message": "Screenshots is disabled in Private Browsing Mode"
-  },
-  "privateWindowErrorDetails": {
-    "message": "Sorry for the inconvenience. We are working on this feature for future releases."
-  },
-  "genericErrorTitle": {
-    "message": "Whoa! Firefox Screenshots went haywire."
-  },
-  "genericErrorDetails": {
-    "message": "We’re not sure what just happened. Care to try again or take a shot of a different page?"
-  },
-  "tourBodyIntro": {
-    "message": "Take, save, and share screenshots without leaving Firefox."
-  },
-  "tourHeaderPageAction": {
-    "message": "A new way to save"
-  },
-  "tourBodyPageAction": {
-    "message": "Expand the page actions menu in the address bar any time you want to take a screenshot."
-  },
-  "tourHeaderClickAndDrag": {
-    "message": "Capture Just What You Want"
-  },
-  "tourBodyClickAndDrag": {
-    "message": "Click and drag to capture just a portion of a page. You can also hover to highlight your selection."
-  },
-  "tourHeaderFullPage": {
-    "message": "Capture Windows or Entire Pages"
-  },
-  "tourBodyFullPage": {
-    "message": "Select the buttons in the upper right to capture the visible area in the window or to capture an entire page."
-  },
-  "tourHeaderDownloadUpload": {
-    "message": "As You Like It"
-  },
-  "tourBodyDownloadUpload": {
-    "message": "Save your cropped shots to the web for easier sharing, or download them to your computer. You also can click on the My Shots button to find all the shots you’ve taken."
-  },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "Sign in with your Firefox Account to access your shots on all of your devices and save your favourite shots forever."
-  },
-  "tourSkip": {
-    "message": "SKIP"
-  },
-  "tourNext": {
-    "message": "Next Slide"
-  },
-  "tourPrevious": {
-    "message": "Previous Slide"
-  },
-  "tourDone": {
-    "message": "Done"
-  },
-  "termsAndPrivacyNotice2": {
-    "message": "By using Firefox Screenshots, you agree to our $TERMSANDPRIVACYNOTICETERMSLINK$ and $TERMSANDPRIVACYNOTICEPRIVACYLINK$.",
-    "placeholders": {
-      "termsandprivacynoticetermslink": {
-        "content": "$1"
-      },
-      "termsandprivacynoticeprivacylink": {
-        "content": "$2"
-      }
-    }
-  },
-  "termsAndPrivacyNoticeTermsLink": {
-    "message": "Terms"
-  },
-  "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "Privacy Notice"
-  },
-  "libraryLabel": {
-    "message": "Screenshots"
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/km/messages.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "saveScreenshotSelectedArea": {
-    "message": "រក្សា​ទុក"
-  },
-  "cancelScreenshot": {
-    "message": "បោះបង់"
-  },
-  "downloadScreenshot": {
-    "message": "ទាញយក"
-  },
-  "copyScreenshot": {
-    "message": "ចម្លង"
-  },
-  "tourDone": {
-    "message": "បានធ្វើ"
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/mn/messages.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "addonDescription": {
-    "message": "Вэбээс авсан клип болон дэлгэцийн зургийг аваад тэдгээрийг түр эсвэл бүрмөсөн хадгал."
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "Хадгалах"
-  },
-  "saveScreenshotFullPage": {
-    "message": "Бүтэн хуудсыг хадгалах"
-  },
-  "cancelScreenshot": {
-    "message": "Цуцлах"
-  },
-  "downloadScreenshot": {
-    "message": "Татаж авах"
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/my/messages.json
+++ /dev/null
@@ -1,184 +0,0 @@
-{
-  "addonDescription": {
-    "message": "ဝဘ်ထံမှ ဓါတ်ပုံများနှင့် မျက်နှာပြင်ပုံဖမ်းချက်များကို ရိုက်ယူပြီး ယာယီ သို့မဟုတ် အမြဲတမ်းသိုလှောင်ရာတွင် သိမ်းဆည်းပါ။"
-  },
-  "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.com>"
-  },
-  "contextMenuLabel": {
-    "message": "မျက်နှာပြင်ပုံရိပ် ဖမ်းယူပါ"
-  },
-  "myShotsLink": {
-    "message": "ရိုက်ကူးထားသော ပုံများ"
-  },
-  "screenshotInstructions": {
-    "message": "နယ်ပယ်ရွေးရန်စာမျက်နှာကို ဆွဲတင်သို့မဟုတ်ကလစ်နှိပ်ပါ. မလုပ်ဆောင်လိုလှျင်ESC နှိပ်ပါ"
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "သိမ်းရန်"
-  },
-  "saveScreenshotVisibleArea": {
-    "message": "မြင်ရသည်များကို သိမ်းပါ"
-  },
-  "saveScreenshotFullPage": {
-    "message": "စာမျက်နှာတစ်ခုလုံးကို သိမ်းပါ"
-  },
-  "cancelScreenshot": {
-    "message": "မဆောင်ရွက်တော့ပါ"
-  },
-  "downloadScreenshot": {
-    "message": "ဆွဲယူရန်"
-  },
-  "downloadOnlyNotice": {
-    "message": "ဆွဲချမှု တစ်မျိုးသာသုံးသော ပုံစံဖြင့် သင်အခုသုံးနေသည်"
-  },
-  "downloadOnlyDetails": {
-    "message": "ဒီအခြေအနေတွင် Firefoxမှ ရိုက်ချက်များသည် အလိုအလျောက် ဆွဲချမှုတစ်မျိုးတည်းသာသုံးသောပုံစံသို့ ပြောင်းလဲသည်"
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "သီးသန့်ကြည့်ရှုခြင်းပုံစံ"
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "အခြားအပြင်ကွတ်ကီးများကို ပိတ်ထားပါ"
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "“မှတ်တမ်းဖျက်ခြင်း” ကို လုပ်ပါ"
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "Firefoxမှ ESR ကို သင့်သုံးနေပါပြီ"
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "ဆွဲတင်မှုပြုလုပ်မှု ပိတ်ထားပြီးပြီ"
-  },
-  "notificationLinkCopiedTitle": {
-    "message": "လင့်ခ်ကို ကူယူပြီး"
-  },
-  "notificationLinkCopiedDetails": {
-    "message": "သင်ဖမ်းယူခဲ့သော ပုံ၏ လင့်ခ်ကို ကလစ်ဘုတ်သို့ ကူးယူပြီးပြီ။ ပွားယူရန် $META_KEY$-V ကို နှိပ်ပါ။",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "copyScreenshot": {
-    "message": "ကူးပါ"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "ရိုက်ချက်ကူးပါ"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "သင်ဖမ်းယူခဲ့သော ပုံကို ကလစ်ဘုတ်သို့ ကူးယူပြီးပြီ။ ပွားယူရန် $META_KEY$-V ကို နှိပ်ပါ။",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCropPopupWarning": {
-    "message": "သိမ်းထားသောပုံကို အမြင့်အားဖြင့် $PIXELS$px ဖြတ်ထုတ်ပါမည်။",
-    "placeholders": {
-      "pixels": {
-        "content": "$1"
-      }
-    }
-  },
-  "requestErrorTitle": {
-    "message": "ပျက်နေသည်"
-  },
-  "requestErrorDetails": {
-    "message": "စိတ်မကောင်းပါ၊ သင်ရိုက်ကူးထားသော ပုံကို မသိမ်းနိုင်ပါ။ နောင်တွင် ပြန်စမ်းကြည့်ပါ။"
-  },
-  "connectionErrorTitle": {
-    "message": "သင်ရိုက်ကူးထားသော မျက်နှာပြင်ပုံရိပ်များထံ မချိတ်ဆက်နိုင်ပါ။"
-  },
-  "connectionErrorDetails": {
-    "message": "အင်တာနက်ချိတ်ဆက်မှုကို ကျေးဇူးပြု၍ စစ်ဆေးပါ။ အကယ်၍ အင်တာနက်ကို ချိတ်ဆက်နိုင်ပါက Firefox Screenshots ဝန်ဆောင်မှုတွင် ယာယီအမှားတစ်ခု ရှိကောင်း ရှိနေလိမ့်မည်။"
-  },
-  "loginErrorDetails": {
-    "message": "သင်ဖမ်းယူခဲ့သော ပုံကို မသိမ်းနိုင်ခဲ့ပါ။ အဘယ့်ကြောင့်ဆိုသော် Firefox Screenshots ဝန်ဆောင်မှုတွင် အမှားတစ်ခု ဖြစ်ပေါ်နေ၍ ဖြစ်သည်။ ကျေးဇူးပြု၍ ထပ်ကြိုးစားကြည့်ပါ။"
-  },
-  "unshootablePageErrorTitle": {
-    "message": "ဒီစာမျက်နှာ၏ မျက်နှာပြင်ပုံရိပ်ကို မရိုက်ကူးနိုင်ပါ။"
-  },
-  "unshootablePageErrorDetails": {
-    "message": "ယခုဝဘ်စာမျက်နှာသည် စံနှင့်ကိုက်ညီသော ဝဘ်စာမျက်နှာ မဟုတ်ပါ။ ထို့ကြောင့် မျက်နှာပြင်ပုံဖမ်းခြင်း ပြုလုပ်နိုင်မည် မဟုတ်ပါ။"
-  },
-  "selfScreenshotErrorTitle": {
-    "message": "စာမျက်နှာတွင် Firefoxမှ ပုံဖမ်းရိုက်ချက်များကို သင်မရယူနိုင်ပါ"
-  },
-  "emptySelectionErrorTitle": {
-    "message": "သင့်ရွေးချယ်မှု အရမ်းသေးလွန်းပါသည်"
-  },
-  "privateWindowErrorTitle": {
-    "message": "သီးသန့်ကြည့်ရှုခြင်းပုံစံတွင် ပုံဖမ်းရိုက်ချက်ရယူခြင်းပိတ်ပါ"
-  },
-  "privateWindowErrorDetails": {
-    "message": "အဆင်မပြေမှုများအတွက် တောင်းပန်ပါတယ်။ ယခုလုပ်ဆောင်ချက်ကို နောင်ထုတ်ကုန်တွင် ပါဝင်စေရန် ဆောင်ရွက်နေပါသည်။"
-  },
-  "genericErrorTitle": {
-    "message": "ဝိုး။ Firefox Screenshots မှာ အမှားဖြစ်ပေါ်ခဲ့သည်။"
-  },
-  "genericErrorDetails": {
-    "message": "ဘာဖြစ်သွားခဲ့မှန်း သေချာမသိခဲ့ပါ။ ထပ်စမ်းကြည့်လိုပါသလား သို့မဟုတ် အခြားဝဘ်စာမျက်နှာကို ပုံရိပ်ဖမ်းလိုပါသလား။"
-  },
-  "tourBodyIntro": {
-    "message": "Firefox ကနေ ထွက်ခွာရန် မလိုဘဲ မျက်နှာပြင်ပုံရိပ်များကို ရိုက်ကူး၊ သိမ်းဆည်း၊ မျှဝေပါ။"
-  },
-  "tourHeaderPageAction": {
-    "message": "သိမ်းဆဲရန် နည်းလမ်းအသစ်"
-  },
-  "tourBodyPageAction": {
-    "message": "သင် မျက်နှာပြင်ပုံရိပ်ဖမ်းလိုသည့် အခါတိုင်း လိပ်စာဘားတန်းရှိ စာမျက်နှာလုပ်ဆောင်ချက်များ မီနူးကို ဖြန့်ချပါ။"
-  },
-  "tourHeaderClickAndDrag": {
-    "message": "ကိုယ်နှစ်သက်ရာ စာမျက်နှာများကို ဖမ်းယူပါ"
-  },
-  "tourBodyClickAndDrag": {
-    "message": "စာမျက်နှာ၏ အစိတ်အပိုင်းကို ဖမ်းယူရန် ကလစ်နှိပ်ပြီး ဖိဆွဲပါ။ သင့်ရွေးချယ်မှုကို ထင်ရှားစေရန် ညွှန်တံမြားကို ဆိုင်ရာအစိတ်အပိုင်းပေါ် ရွှေ့နိုင်သည်။"
-  },
-  "tourHeaderFullPage": {
-    "message": "ဝင်ဒိုးများ သို့မဟုတ် စာမျက်နှာတစ်ခုလုံးကို ဖမ်းယူပါ"
-  },
-  "tourBodyFullPage": {
-    "message": "ဝင်းဒိုးထဲရှိ မြင်ရသော အကျယ်အဝန်းကို ဖမ်းယူရန် သို့မဟုတ် စာမျက်နှာတစ်ခုလုံးကို ဖမ်းယူရန် ညာဘက်အပေါ်ဘက်ရှိ ခလုတ်များကို ရွေးပါ။"
-  },
-  "tourHeaderDownloadUpload": {
-    "message": "နှစ်သက်သလို"
-  },
-  "tourBodyDownloadUpload": {
-    "message": "ဝဘ်တွင် အလွယ်တကူ မျှဝေရန် သို့မဟုတ် ကွန်ပျူတာထဲသို့ ဆွဲယူကူးရန် ဖြတ်တောက်ထားသော ပုံဖမ်းချက်များကို သိမ်းပါ။ ရိုက်ထားသမျှပုံများအားလုံးကို ရှာဖွေကြည့်ရှုရန် ရိုက်ထားသောပုံများတွင်လည်း ကလစ်နှိပ်ကြည့်နိုင်သည်။"
-  },
-  "tourSkip": {
-    "message": "SKIP"
-  },
-  "tourNext": {
-    "message": "နောက်ဆလိုက်"
-  },
-  "tourPrevious": {
-    "message": "အရင်ကဆလိုက်"
-  },
-  "tourDone": {
-    "message": "ပြီးပြီ"
-  },
-  "termsAndPrivacyNotice2": {
-    "message": "Firefoxမှ ပုံဖမ်းယူခြင်းများကို သုံးစွဲခြင်းဖြင့် သင် $TERMSANDPRIVACYNOTICETERMSLINK$ နှင့် $TERMSANDPRIVACYNOTICEPRIVACYLINK$များတွင်ပါသောအရာများကို သဘောတူညီပါသည်",
-    "placeholders": {
-      "termsandprivacynoticetermslink": {
-        "content": "$1"
-      },
-      "termsandprivacynoticeprivacylink": {
-        "content": "$2"
-      }
-    }
-  },
-  "termsAndPrivacyNoticeTermsLink": {
-    "message": "စကားရပ်များ"
-  },
-  "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "ကိုယ်ရေးကာကွယ်မှု သတိပေးချက်"
-  },
-  "libraryLabel": {
-    "message": "ပုံဖမ်းရိုက်ချက်များ"
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/si/messages.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "contextMenuLabel": {
-    "message": "තිර දර්ශනයක් ලබා ගන්න"
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "සුරකින්න"
-  },
-  "saveScreenshotVisibleArea": {
-    "message": "පෙනෙන දෑ සුරකින්න"
-  },
-  "saveScreenshotFullPage": {
-    "message": "මුළු පිටුවම සුරකින්න"
-  },
-  "cancelScreenshot": {
-    "message": "අවලංගු කරන්න"
-  },
-  "downloadScreenshot": {
-    "message": "බාගත කිරීම"
-  },
-  "notificationLinkCopiedTitle": {
-    "message": "සබැඳියාව පිටපත් විය"
-  },
-  "notificationLinkCopiedDetails": {
-    "message": "ඔබගේ දසුන සඳහා සබැඳියාව පසුරු පුවරුව වෙත පිටපත් විය. ඇලවීම සඳහා $META_KEY$-V ඔබන්න.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "requestErrorTitle": {
-    "message": "ක්‍රියාත්මක කල නොහැක."
-  },
-  "requestErrorDetails": {
-    "message": "සමාවන්න! අපට ඔබගේ දසුන සුරැකීමට නොහැකි විය. කරුණාකර පසුව නැවත උත්සාහ කරන්න."
-  },
-  "connectionErrorTitle": {
-    "message": "අපට ඔබගේ තිරදසුන් හා සම්බන්ද විය නොහැක."
-  },
-  "connectionErrorDetails": {
-    "message": "කරුණාකර ඔබේ අන්තර්ජාල සබදතාව පරීක්ෂා කරන්න. ඔබට අන්තර්ජාලය හා සබද විය හැකි නම්, Firefox තිරදසුන් සේවයේ තාවකාළික ගැටළුවක් විය හැක."
-  },
-  "loginErrorDetails": {
-    "message": "Firefox තිරදසුන් සේවයේ ගැටළුවක් නිසා අපට ඔබේ දසුන සුරැකීමට නොහැකි විය. කරුණාකර පසුව උත්සාහ කරන්න."
-  },
-  "unshootablePageErrorTitle": {
-    "message": "අපට මෙම පිටුවේ තිරදසුන් ලබා ගැනීමට නොහැකි."
-  },
-  "unshootablePageErrorDetails": {
-    "message": "මෙය සම්මත වෙබ් පිටුවක් නොවේ, එම නිසා මෙහි තිරදසුන් ලබා ගැනීමට ඔබට නොහැකිය."
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/te/messages.json
+++ /dev/null
@@ -1,175 +0,0 @@
-{
-  "addonDescription": {
-    "message": "జాలం నుండి కత్తిరింపులను తెరపట్లను తీసుకొని, వాటిని తాత్కాలికంగా లేదా శాశ్వతంగా భద్రపరచకోండి."
-  },
-  "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.com>"
-  },
-  "contextMenuLabel": {
-    "message": "ఒక తెరపట్టు తీసుకోండి"
-  },
-  "myShotsLink": {
-    "message": "నా తెరపట్లు"
-  },
-  "screenshotInstructions": {
-    "message": "ఒక ప్రాంతాన్ని ఎంచుకోవడానికి పేజీని లాగండి లేదా నొక్కండి. రద్దు చేయడానికి ESC నొక్కండి."
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "భద్రపరచు"
-  },
-  "saveScreenshotVisibleArea": {
-    "message": "కనిపించే దానిని బద్రపరచండి"
-  },
-  "saveScreenshotFullPage": {
-    "message": "పూర్తి పేజీని భద్రపరచు"
-  },
-  "cancelScreenshot": {
-    "message": "రద్దుచేయి"
-  },
-  "downloadScreenshot": {
-    "message": "దింపుకోండి"
-  },
-  "downloadOnlyNotice": {
-    "message": "మీరు ప్రస్తుతం దింపుకోలు-మాత్రమే రీతిలో ఉన్నారు."
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "అంతరంగిక విహారణ కిటికీలో."
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "మూడవ-పక్ష కుకీలు అచేతనమయ్యాయి."
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "“చరిత్రని ఎప్పటికి గుర్తుపెట్టుకోకు” చేతనమైవుంది."
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "మీరు Firefox ESR ఉపయోగిస్తున్నారు."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "ఎక్కింపులు అచేతమై ఉన్నాయి."
-  },
-  "notificationLinkCopiedTitle": {
-    "message": "లంకె కాపీ అయింది"
-  },
-  "notificationLinkCopiedDetails": {
-    "message": "మీ తెరపట్టుకి లంకె క్లిప్‌బోర్డుకి కాపీ అయింది. అతికించడానికి $META_KEY$-V నొక్కండి.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "copyScreenshot": {
-    "message": "కాపీచెయ్యి"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "పట్టు కాపీఅయ్యింది"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "మీ షాట్ క్లిప్‌బోర్డుకి కాపీ చేయబడింది. అతికించడానికి $META_KEY$-V ని నొక్కండి.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCropPopupWarning": {
-    "message": "భద్రపరచిన బొమ్మ $PIXELS$px ఎత్తుకి కత్తిరించబడుతుంది.",
-    "placeholders": {
-      "pixels": {
-        "content": "$1"
-      }
-    }
-  },
-  "requestErrorTitle": {
-    "message": "పని చేయడంలేదు."
-  },
-  "requestErrorDetails": {
-    "message": "క్షమిచండి! మీ తెరను భద్రపరచలేకపోయాం. దయచేసి కాసేపాగి మళ్ళీ ప్రయత్నించండి."
-  },
-  "connectionErrorTitle": {
-    "message": "మీ తెరపట్లకు అనుసంధానించలేకున్నాం."
-  },
-  "connectionErrorDetails": {
-    "message": "దయచేసి మీ అంతర్జాల అనుసంధానాన్ని సరిచూసుకోండి. మీరు జాలానికి అనుసంధానం కాగలుగుతూంటే, Firefox Screenshots సేవలోనే తాత్కాలిక సమస్య ఉండవచ్చు."
-  },
-  "loginErrorDetails": {
-    "message": "Firefox Screenshots సేవలో ఏదో సమస్య ఉన్నందున మేము మీ తెరపట్టును భద్రపరచలేక పోయాము. దయచేసి కాసేపాగి ప్రయత్నించండి."
-  },
-  "unshootablePageErrorTitle": {
-    "message": "మేము ఈ పేజీని స్క్రీన్షాట్ చేయలేము."
-  },
-  "unshootablePageErrorDetails": {
-    "message": "ఇది ప్రామాణిక వెబ్ పేజీ కాదు, కాబట్టి దాని తెరపట్టు మీరు తీసుకోలేరు."
-  },
-  "selfScreenshotErrorTitle": {
-    "message": "మీరు Firefox స్క్రీన్షాట్స్ పేజీ యొక్క షాట్ ను తీసుకోలేరు!"
-  },
-  "emptySelectionErrorTitle": {
-    "message": "మీ ఎంపిక చాలా చిన్నదిగా ఉంది"
-  },
-  "privateWindowErrorTitle": {
-    "message": "అంతరంగిత విహరణ రీతిలో తెరపట్లు అచేతనమవుతాయి"
-  },
-  "privateWindowErrorDetails": {
-    "message": "అసౌకర్యానికి చింతిస్తున్నాము. మేము భవిష్యత్ విడుదలలో ఈ సౌలభ్యంపై పని చేస్తాము."
-  },
-  "genericErrorTitle": {
-    "message": "అయ్యో! Firefox Screenshots గల్లంతయ్యింది."
-  },
-  "genericErrorDetails": {
-    "message": "ఏమి జరిగిందో మాకు ఖచ్చితంగా తెలియలేదు. మళ్లీ ప్రయత్నించాలనుకుంటున్నారా లేదా మరొక పేజీ తెరపట్టు తీసుకోవాలనుకుంటున్నారా?"
-  },
-  "tourBodyIntro": {
-    "message": "Firefoxను వదలకుండానే తెరపట్లు తీసుకోండి, భద్రపరచుకోండి, పంచుకోండి."
-  },
-  "tourHeaderPageAction": {
-    "message": "భద్రపరచుకోడానికి కొత్త మార్గం"
-  },
-  "tourBodyPageAction": {
-    "message": "తెరపట్లను తీసుకోవాలనుకున్నప్పుడు చిరునామా పట్టీలో వున్న పేజీ చర్యల మెనూని విస్తరించండి."
-  },
-  "tourHeaderClickAndDrag": {
-    "message": "మీకు ఏం కావాలో దాన్ని మాత్రమే బంధించండి"
-  },
-  "tourBodyClickAndDrag": {
-    "message": "పేజీలోని కొంత భాగాన్నే తీసుకోడానికి నొక్కి లాగండి. పేజీలోని భాగాలను ఎంపిక చేసుకోడానికి వాటిపైకి వెళ్ళండి."
-  },
-  "tourHeaderDownloadUpload": {
-    "message": "మీకు నచ్చినట్టుగా"
-  },
-  "tourBodyDownloadUpload": {
-    "message": "తెలిగ్గా పంచుకోడానికి మీ కత్తిరింపులను జాలంలో భద్రపరచుకోండి, లేదా మీ కంప్యూటర్లోనికి దించుకోండి. మీరు తీసుకున్న తెరపట్లన్నిటినీ చూడటానికి నా షాట్లు అనే బొత్తాన్ని కూడా నొక్కవచ్చు."
-  },
-  "tourSkip": {
-    "message": "దాటవేయి"
-  },
-  "tourNext": {
-    "message": "తర్వాతి ఫలకం"
-  },
-  "tourPrevious": {
-    "message": "మునుపటి ఫలకం"
-  },
-  "tourDone": {
-    "message": "పూర్తయింది"
-  },
-  "termsAndPrivacyNotice2": {
-    "message": "Firefox Screenshots వాడుకోవడం ద్వారా, మా $TERMSANDPRIVACYNOTICETERMSLINK$, $TERMSANDPRIVACYNOTICEPRIVACYLINK$ లకు మీరు అంగీకరిస్తున్నారు.",
-    "placeholders": {
-      "termsandprivacynoticetermslink": {
-        "content": "$1"
-      },
-      "termsandprivacynoticeprivacylink": {
-        "content": "$2"
-      }
-    }
-  },
-  "termsAndPrivacyNoticeTermsLink": {
-    "message": "నియమాలు"
-  },
-  "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "గోప్యతా నోటీసు"
-  },
-  "libraryLabel": {
-    "message": "తెరపట్లు"
-  }
-}
\ No newline at end of file
deleted file mode 100644
--- a/browser/extensions/screenshots/_locales/uz/messages.json
+++ /dev/null
@@ -1,184 +0,0 @@
-{
-  "addonDescription": {
-    "message": "Internetdan lavha va skrinshotlar oling hamda ularni vaqtincha yoki butunlay saqlab oling."
-  },
-  "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.com>"
-  },
-  "contextMenuLabel": {
-    "message": "Skrinshot olish"
-  },
-  "myShotsLink": {
-    "message": "Men olgan skrinshotlar"
-  },
-  "screenshotInstructions": {
-    "message": "Hududni belgilash uchun kerakli hududni tanlang va bosing. Chiqish uchun “ESC” tugmasidan foydalaning."
-  },
-  "saveScreenshotSelectedArea": {
-    "message": "Saqlash"
-  },
-  "saveScreenshotVisibleArea": {
-    "message": "Ko‘rinadiganini saqlash"
-  },
-  "saveScreenshotFullPage": {
-    "message": "To‘liq sahifani saqlash"
-  },
-  "cancelScreenshot": {
-    "message": "Bekor qilish"
-  },
-  "downloadScreenshot": {
-    "message": "Yuklab olish"
-  },
-  "downloadOnlyNotice": {
-    "message": "Siz hozirda \"Faqat yuklab olish\" rejimidasiz."
-  },
-  "downloadOnlyDetails": {
-    "message": "Firefox Screenshots bunday holatda \"Faqat yuklab olish\" rejimiga avtomatik tarzda o‘tadi:"
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "Maxfiy ko‘rish oynasida."
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "Uchinchi tomon kukilari o‘chirib qo‘yilgan."
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "\"Tarix saqlanmasin\" funksiyasi yoqilgan."
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "Siz Firefox ESRdan foydalanyapsiz."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "Yuklab qo‘yish o‘chirib qo‘yilgan."
-  },
-  "notificationLinkCopiedTitle": {
-    "message": "Havoladan nusxa olindi"
-  },
-  "notificationLinkCopiedDetails": {
-    "message": "Skrinshot havolasidan vaqtinchalik xotiraga nusxa olindi. Qo‘yish uchun $META_KEY$-V tugmalarini bosing.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "copyScreenshot": {
-    "message": "Nusxa olish"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "Skrinshotdan nusxa olindi"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "Skrinshotdan vaqtinchalik xotiraga nusxa olindi. Biror joyga qo‘yish uchun $META_KEY$-V tugmalaridan foydalaning.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCropPopupWarning": {
-    "message": "Saqlangan rasm $PIXELS$px uzunlikda kesiladi.",
-    "placeholders": {
-      "pixels": {
-        "content": "$1"
-      }
-    }
-  },
-  "requestErrorTitle": {
-    "message": "Xizmat hozircha ishlamayapti."
-  },
-  "requestErrorDetails": {
-    "message": "Uzr! Rasmni saqlay olmaymiz. Keyinroq urinib ko‘ring."
-  },
-  "connectionErrorTitle": {
-    "message": "Skrinshotlaringiz sahifasiga ulana olmadik."
-  },
-  "connectionErrorDetails": {
-    "message": "Internetga ulanishni tekshiring. Ulana olsangiz, demak Firefox Screenshot xizmatida vaqtinchalik muammo bo‘lishi mumkin."
-  },
-  "loginErrorDetails": {
-    "message": "Olingan rasmni saqlay olmaymiz, chunki Firefox Screenshot xizmatida muammo mavjud. Keyinroq urinib ko‘ring."
-  },
-  "unshootablePageErrorTitle": {
-    "message": "Bu sahifani rasmga tushira olmaymiz."
-  },
-  "unshootablePageErrorDetails": {
-    "message": "Bu sahifa standart sahifa emas, shuning uchun uni rasmga tushira olmaymiz."
-  },
-  "selfScreenshotErrorTitle": {
-    "message": "Firefox Screenshot sahifasini rasmga tushirish mumkin emas!"
-  },
-  "emptySelectionErrorTitle": {
-    "message": "Tanlangan hudud juda kichik"
-  },
-  "privateWindowErrorTitle": {
-    "message": "Maxfiy ko‘rish rejimida rasmga olib bo‘lmaydi"
-  },
-  "privateWindowErrorDetails": {
-    "message": "Noqulaylik uchun uzr. Biz keyingi versiyalar uchun bu funksiya ustida ishlayapmiz."
-  },
-  "genericErrorTitle": {
-    "message": "Obbo! Firefox Screenshots ishdan chiqdi."
-  },
-  "genericErrorDetails": {
-    "message": "Nima yuz berganiga tushunmadik. Yana urinib ko‘ring yoki boshqa sahifada skrinshot olib ko‘ring."
-  },
-  "tourBodyIntro": {
-    "message": "Firefox brauzeridan chiqmasdan sahifalarni rasmga olish, saqlash va bo‘lishish mumkin."
-  },
-  "tourHeaderPageAction": {
-    "message": "Saqlashning yangi usuli"
-  },
-  "tourBodyPageAction": {
-    "message": "Skrinshot olish uchun xohlagan vaqtingizda manzil panelidagi sahifa amallari menyusidan foydalaning."
-  },
-  "tourHeaderClickAndDrag": {
-    "message": "Xohlaganingizni rasmga oling"
-  },
-  "tourBodyClickAndDrag": {
-    "message": "Sahifadan tanlash uchun sichqonchani bosing va kerakli qismni tanlang. Tanlovni ajratish uchun sichqoncha ko‘rsatkichini olib borsangiz ham bo‘ladi."
-  },
-  "tourHeaderFullPage": {
-    "message": "Oynani yoki butun sahifani rasmga olish"
-  },
-  "tourBodyFullPage": {
-    "message": "Butun sahifani yoki oynadagi ko‘rinib turgan hududni rasmga olish uchun yuqori o‘ng burchakdagi tugmalardan foydalaning."
-  },
-  "tourHeaderDownloadUpload": {
-    "message": "Sizga yoqdimi"
-  },
-  "tourBodyDownloadUpload": {
-    "message": "Oson ulashish yoki kompyuterga yuklab olish uchun kesilgan skrinshotlarni internetga saqlang. O‘zingiz olgan skrinshotlarning barchasini topish uchun \"Skrinshotlar\" tugmasiga bosing."
-  },
-  "tourSkip": {
-    "message": "TASHLAB KETISH"
-  },
-  "tourNext": {
-    "message": "Keyingi slayd"
-  },
-  "tourPrevious": {
-    "message": "Avvalgi slayd"
-  },
-  "tourDone": {
-    "message": "Tayyor"
-  },
-  "termsAndPrivacyNotice2": {
-    "message": "Firefox Skrinshot xizmatidan foydalanish orqali siz $TERMSANDPRIVACYNOTICETERMSLINK$ va $TERMSANDPRIVACYNOTICEPRIVACYLINK$ga rozilik bildirgan hisoblanasiz.",
-    "placeholders": {
-      "termsandprivacynoticetermslink": {
-        "content": "$1"
-      },
-      "termsandprivacynoticeprivacylink": {
-        "content": "$2"
-      }
-    }
-  },
-  "termsAndPrivacyNoticeTermsLink": {
-    "message": "Shartlar"
-  },
-  "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "Maxfiylik eslatmasi"
-  },
-  "libraryLabel": {
-    "message": "Rasmlar"
-  }
-}
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/bootstrap.js
@@ -0,0 +1,215 @@
+/* globals ADDON_DISABLE Services CustomizableUI LegacyExtensionsUtils AppConstants PageActions */
+const ADDON_ID = "screenshots@mozilla.org";
+const TELEMETRY_ENABLED_PREF = "datareporting.healthreport.uploadEnabled";
+const PREF_BRANCH = "extensions.screenshots.";
+const USER_DISABLE_PREF = "extensions.screenshots.disabled";
+const UPLOAD_DISABLED_PREF = "extensions.screenshots.upload-disabled";
+const HISTORY_ENABLED_PREF = "places.history.enabled";
+
+ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
+ChromeUtils.defineModuleGetter(this, "AddonManager",
+                               "resource://gre/modules/AddonManager.jsm");
+ChromeUtils.defineModuleGetter(this, "AddonManagerPrivate",
+                               "resource://gre/modules/AddonManager.jsm");
+ChromeUtils.defineModuleGetter(this, "AppConstants",
+                               "resource://gre/modules/AppConstants.jsm");
+ChromeUtils.defineModuleGetter(this, "CustomizableUI",
+                               "resource:///modules/CustomizableUI.jsm");
+ChromeUtils.defineModuleGetter(this, "LegacyExtensionsUtils",
+                               "resource://gre/modules/LegacyExtensionsUtils.jsm");
+ChromeUtils.defineModuleGetter(this, "Services",
+                               "resource://gre/modules/Services.jsm");
+
+let addonResourceURI;
+let appStartupDone;
+let appStartupPromise = new Promise((resolve, reject) => {
+  appStartupDone = resolve;
+});
+
+const prefs = Services.prefs;
+
+const appStartupObserver = {
+  register() {
+    Services.obs.addObserver(this, "sessionstore-windows-restored", false); // eslint-disable-line mozilla/no-useless-parameters
+  },
+
+  unregister() {
+    Services.obs.removeObserver(this, "sessionstore-windows-restored", false); // eslint-disable-line mozilla/no-useless-parameters
+  },
+
+  observe() {
+    appStartupDone();
+    this.unregister();
+  }
+};
+
+const LibraryButton = {
+  ITEM_ID: "appMenu-library-screenshots",
+
+  init(webExtension) {
+    this._initialized = true;
+    const permissionPages = [...webExtension.extension.permissions].filter(p => (/^https?:\/\//i).test(p));
+    if (permissionPages.length > 1) {
+      Cu.reportError(new Error("Should not have more than 1 permission page, but got: " + JSON.stringify(permissionPages)));
+    }
+    this.PAGE_TO_OPEN = permissionPages.length === 1 ? permissionPages[0].replace(/\*$/, "") : "https://screenshots.firefox.com/";
+    this.PAGE_TO_OPEN += "shots";
+    this.ICON_URL = webExtension.extension.getURL("icons/icon-v2.svg");
+    this.LABEL = webExtension.extension.localizeMessage("libraryLabel");
+    CustomizableUI.addListener(this);
+    for (const win of CustomizableUI.windows) {
+      this.onWindowOpened(win);
+    }
+  },
+
+  uninit() {
+    if (!this._initialized) {
+      return;
+    }
+    for (const win of CustomizableUI.windows) {
+      const item = win.document.getElementById(this.ITEM_ID);
+      if (item) {
+        item.remove();
+      }
+    }
+    CustomizableUI.removeListener(this);
+    this._initialized = false;
+  },
+
+  onWindowOpened(win) {
+    const libraryViewInsertionPoint = win.document.getElementById("appMenu-library-remotetabs-button");
+    // If the library view doesn't exist (on non-photon builds, for instance),
+    // this will be null, and we bail out early.
+    if (!libraryViewInsertionPoint) {
+      return;
+    }
+    const parent = libraryViewInsertionPoint.parentNode;
+    const {nextSibling} = libraryViewInsertionPoint;
+    const item = win.document.createXULElement("toolbarbutton");
+    item.className = "subviewbutton subviewbutton-iconic";
+    item.addEventListener("command", () => win.openWebLinkIn(this.PAGE_TO_OPEN, "tab"));
+    item.id = this.ITEM_ID;
+    const iconURL = this.ICON_URL;
+    item.setAttribute("image", iconURL);
+    item.setAttribute("label", this.LABEL);
+
+    parent.insertBefore(item, nextSibling);
+  },
+};
+
+let addonData, startupReason;
+
+function startup(data, reason) { // eslint-disable-line no-unused-vars
+  addonResourceURI = data.resourceURI;
+
+  if (Services.prefs.getBoolPref(USER_DISABLE_PREF, false)) {
+    AddonManager.getActiveAddons().then(result => {
+      let addon = result.addons.find(a => a.id == ADDON_ID);
+      if (addon) {
+        addon.disable({allowSystemAddons: true});
+      }
+    });
+    return;
+  }
+
+  addonData = data;
+  startupReason = reason;
+  if (reason === AddonManagerPrivate.BOOTSTRAP_REASONS.APP_STARTUP) {
+    appStartupObserver.register();
+  } else {
+    appStartupDone();
+  }
+  // eslint-disable-next-line promise/catch-or-return
+  appStartupPromise = appStartupPromise.then(handleStartup);
+}
+
+function shutdown(data, reason) { // eslint-disable-line no-unused-vars
+  const webExtension = LegacyExtensionsUtils.getEmbeddedExtensionFor({
+    id: ADDON_ID,
+    resourceURI: addonResourceURI
+  });
+  // Immediately exit if Firefox is exiting, #3323
+  if (reason === AddonManagerPrivate.BOOTSTRAP_REASONS.APP_SHUTDOWN) {
+    stop(webExtension, reason);
+    return;
+  }
+  // Because the prefObserver is unregistered above, this _should_ terminate the promise chain.
+  appStartupPromise = appStartupPromise.then(() => { stop(webExtension, reason); });
+}
+
+function install(data, reason) {} // eslint-disable-line no-unused-vars
+
+function uninstall(data, reason) {} // eslint-disable-line no-unused-vars
+
+function getBoolPref(pref) {
+  return prefs.getPrefType(pref) && prefs.getBoolPref(pref);
+}
+
+function handleStartup() {
+  const webExtension = LegacyExtensionsUtils.getEmbeddedExtensionFor({
+    id: ADDON_ID,
+    resourceURI: addonResourceURI
+  });
+
+  if (!webExtension.started) {
+    start(webExtension);
+  }
+}
+
+function start(webExtension) {
+  let reasonStr = stringReasonFromNumericReason(startupReason);
+  return webExtension.startup(reasonStr, addonData).then((api) => {
+    api.browser.runtime.onMessage.addListener(handleMessage);
+    LibraryButton.init(webExtension);
+  }).catch((err) => {
+    // The startup() promise will be rejected if the webExtension was
+    // already started (a harmless error), or if initializing the
+    // WebExtension failed and threw (an important error).
+    console.error(err);
+    if (err.message !== "This embedded extension has already been started") {
+      // TODO: Should we send these errors to Sentry? #2420
+    }
+  });
+}
+
+function stop(webExtension, reason) {
+  if (reason !== AddonManagerPrivate.BOOTSTRAP_REASONS.APP_SHUTDOWN) {
+    LibraryButton.uninit();
+  }
+  let reasonStr = stringReasonFromNumericReason(reason);
+  return Promise.resolve(webExtension.shutdown(reasonStr));
+}
+
+function stringReasonFromNumericReason(numericReason) {
+  let { BOOTSTRAP_REASONS } = AddonManagerPrivate;
+  return Object.keys(BOOTSTRAP_REASONS).find(
+    key => BOOTSTRAP_REASONS[key] == numericReason
+  );
+}
+
+function handleMessage(msg, sender, sendReply) {
+  if (!msg) {
+    return;
+  }
+
+  if (msg.funcName === "isTelemetryEnabled") {
+    const telemetryEnabled = getBoolPref(TELEMETRY_ENABLED_PREF);
+    sendReply({type: "success", value: telemetryEnabled});
+  } else if (msg.funcName === "isUploadDisabled") {
+    const isESR = AppConstants.MOZ_UPDATE_CHANNEL === "esr";
+    const uploadDisabled = getBoolPref(UPLOAD_DISABLED_PREF);
+    sendReply({type: "success", value: uploadDisabled || isESR});
+  } else if (msg.funcName === "isHistoryEnabled") {
+    const historyEnabled = getBoolPref(HISTORY_ENABLED_PREF);
+    sendReply({type: "success", value: historyEnabled});
+  } else if (msg.funcName === "incrementCount") {
+    const allowedScalars = ["download", "upload", "copy"];
+    const scalar = msg.args && msg.args[0] && msg.args[0].scalar;
+    if (!allowedScalars.includes(scalar)) {
+      sendReply({type: "error", name: `incrementCount passed an unrecognized scalar ${scalar}`});
+    } else {
+      Services.telemetry.scalarAdd(`screenshots.${scalar}`, 1);
+      sendReply({type: "success", value: true});
+    }
+  }
+}
deleted file mode 100644
--- a/browser/extensions/screenshots/experiments/screenshots/api.js
+++ /dev/null
@@ -1,115 +0,0 @@
-/* globals browser, AppConstants, CustomizableUI, ExtensionCommon, Services, ExtensionAPI */
-
-"use strict";
-
-ChromeUtils.defineModuleGetter(this, "AppConstants",
-                               "resource://gre/modules/AppConstants.jsm");
-ChromeUtils.defineModuleGetter(this, "CustomizableUI",
-                               "resource:///modules/CustomizableUI.jsm");
-ChromeUtils.defineModuleGetter(this, "ExtensionCommon",
-                               "resource://gre/modules/ExtensionCommon.jsm");
-ChromeUtils.defineModuleGetter(this, "PageActions",
-                               "resource:///modules/PageActions.jsm");
-ChromeUtils.defineModuleGetter(this, "Services",
-                               "resource://gre/modules/Services.jsm");
-
-const LibraryButton = {
-  ITEM_ID: "appMenu-library-screenshots",
-
-  init(webExtension) {
-    this._initialized = true;
-    const permissionPages = [...webExtension.permissions].filter(p => (/^https?:\/\//i).test(p));
-    if (permissionPages.length > 1) {
-      Cu.reportError(new Error("Should not have more than 1 permission page, but got: " + JSON.stringify(permissionPages)));
-    }
-    this.PAGE_TO_OPEN = permissionPages.length === 1 ? permissionPages[0].replace(/\*$/, "") : "https://screenshots.firefox.com/";
-    this.PAGE_TO_OPEN += "shots";
-    this.ICON_URL = webExtension.getURL("icons/icon-v2.svg");
-    this.LABEL = webExtension.localizeMessage("libraryLabel");
-    CustomizableUI.addListener(this);
-    for (const win of CustomizableUI.windows) {
-      this.onWindowOpened(win);
-    }
-  },
-
-  uninit() {
-    if (!this._initialized) {
-      return;
-    }
-    for (const win of CustomizableUI.windows) {
-      const item = win.document.getElementById(this.ITEM_ID);
-      if (item) {
-        item.remove();
-      }
-    }
-    CustomizableUI.removeListener(this);
-    this._initialized = false;
-  },
-
-  onWindowOpened(win) {
-    const libraryViewInsertionPoint = win.document.getElementById("appMenu-library-remotetabs-button");
-    // If the library view doesn't exist (on non-photon builds, for instance),
-    // this will be null, and we bail out early.
-    if (!libraryViewInsertionPoint) {
-      return;
-    }
-    const parent = libraryViewInsertionPoint.parentNode;
-    const {nextSibling} = libraryViewInsertionPoint;
-    const item = win.document.createElement("toolbarbutton");
-    item.className = "subviewbutton subviewbutton-iconic";
-    item.addEventListener("command", () => win.openWebLinkIn(this.PAGE_TO_OPEN, "tab"));
-    item.id = this.ITEM_ID;
-    const iconURL = this.ICON_URL;
-    item.setAttribute("image", iconURL);
-    item.setAttribute("label", this.LABEL);
-
-    parent.insertBefore(item, nextSibling);
-  },
-};
-
-this.screenshots = class extends ExtensionAPI {
-  getAPI(context) {
-    const {extension} = context;
-    return {
-      experiments: {
-        screenshots: {
-          // If you are checking for 'nightly', also check for 'nightly-try'.
-          //
-          // Otherwise, just use the standard builds, but be aware of the many
-          // non-standard options that also exist (as of August 2018).
-          //
-          // Standard builds:
-          //   'esr' - ESR channel
-          //   'release' - release channel
-          //   'beta' - beta channel
-          //   'nightly' - nightly channel
-          // Non-standard / deprecated builds:
-          //   'aurora' - deprecated aurora channel (still observed in dxr)
-          //   'default' - local builds from source
-          //   'nightly-try' - nightly Try builds (QA may occasionally need to test with these)
-          getUpdateChannel() {
-            return AppConstants.MOZ_UPDATE_CHANNEL;
-          },
-          isHistoryEnabled() {
-            return Services.prefs.getBoolPref("places.history.enabled", true);
-          },
-          isUploadDisabled() {
-            return Services.prefs.getBoolPref("extensions.screenshots.upload-disabled", false);
-          },
-          initLibraryButton() {
-            context.callOnClose({
-              close: () => {
-                try {
-                  LibraryButton.uninit();
-                } catch (ex) {
-                  Services.console.logStringMessage("Firefox Screenshots LibraryButton shutdown error: ", ex);
-                }
-              },
-            });
-            return LibraryButton.init(extension);
-          },
-        },
-      },
-    };
-  }
-};
deleted file mode 100644
--- a/browser/extensions/screenshots/experiments/screenshots/schema.json
+++ /dev/null
@@ -1,36 +0,0 @@
-[
-  {
-    "namespace": "experiments.screenshots",
-    "description": "Firefox Screenshots internal API",
-    "functions": [
-      {
-        "name": "getUpdateChannel",
-        "type": "function",
-        "description": "Returns the Firefox channel (AppConstants.MOZ_UPDATE_CHANNEL)",
-        "parameters": [],
-        "async": true
-      },
-      {
-        "name": "isHistoryEnabled",
-        "type": "function",
-        "description": "Returns the value of the 'places.history.enabled' preference",
-        "parameters": [],
-        "async": true
-      },
-      {
-        "name": "isUploadDisabled",
-        "type": "function",
-        "description": "Returns the value of the 'extensions.screenshots.upload-disabled' preference",
-        "parameters": [],
-        "async": true
-      },
-      {
-        "name": "initLibraryButton",
-        "type": "function",
-        "description": "Initializes the Photon-based Library menu item for Screenshots",
-        "parameters": [],
-        "async": true
-      }
-    ]
-  }
-]
deleted file mode 100644
index d6dd2e1a08b7033efd0e461ce170e60c5f6913a1..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index b018b22c3b4ff89ec909c4732320eac4f33d2331..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/install.rdf
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+  <Description about="urn:mozilla:install-manifest">
+    <em:id>screenshots@mozilla.org</em:id>
+    <em:name>Firefox Screenshots</em:name>
+    <em:targetApplication>
+      <Description>
+        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!--Firefox-->
+        <em:minVersion>57.0a1</em:minVersion>
+        <em:maxVersion>*</em:maxVersion>
+      </Description>
+    </em:targetApplication>
+    <em:type>2</em:type>
+    <em:version>33.0.0</em:version>
+    <em:bootstrap>true</em:bootstrap>
+    <em:homepageURL>https://screenshots.firefox.com/</em:homepageURL>
+    <em:multiprocessCompatible>true</em:multiprocessCompatible>
+  </Description>
+</RDF>
--- a/browser/extensions/screenshots/moz.build
+++ b/browser/extensions/screenshots/moz.build
@@ -1,473 +1,457 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 with Files("**"):
-    BUG_COMPONENT = ("Firefox", "Screenshots")
+    BUG_COMPONENT = ("Cloud Services", "Screenshots")
+
+FINAL_TARGET_FILES.features['screenshots@mozilla.org'] += [
+  'bootstrap.js',
+  'install.rdf'
+]
 
 # This file list is automatically generated by Screenshots' export scripts.
 # AUTOMATIC INSERTION START
-FINAL_TARGET_FILES.features['screenshots@mozilla.org'] += [
-  'assertIsBlankDocument.js',
-  'assertIsTrusted.js',
-  'blank.html',
-  'blobConverters.js',
-  'catcher.js',
-  'clipboard.js',
-  'domainFromUrl.js',
-  'log.js',
-  'makeUuid.js',
-  'manifest.json',
-  'moz.build',
-  'randomString.js',
-  'sitehelper.js'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"] += [
+  'webextension/assertIsBlankDocument.js',
+  'webextension/assertIsTrusted.js',
+  'webextension/blank.html',
+  'webextension/blobConverters.js',
+  'webextension/catcher.js',
+  'webextension/clipboard.js',
+  'webextension/domainFromUrl.js',
+  'webextension/log.js',
+  'webextension/makeUuid.js',
+  'webextension/manifest.json',
+  'webextension/randomString.js',
+  'webextension/sitehelper.js'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ach"] += [
-  '_locales/ach/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ach"] += [
+  'webextension/_locales/ach/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ar"] += [
-  '_locales/ar/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ar"] += [
+  'webextension/_locales/ar/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ast"] += [
-  '_locales/ast/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ast"] += [
+  'webextension/_locales/ast/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["az"] += [
-  '_locales/az/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["az"] += [
+  'webextension/_locales/az/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["be"] += [
-  '_locales/be/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["be"] += [
+  'webextension/_locales/be/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["bg"] += [
-  '_locales/bg/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["bg"] += [
+  'webextension/_locales/bg/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["bn_BD"] += [
-  '_locales/bn_BD/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["bn_BD"] += [
+  'webextension/_locales/bn_BD/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["br"] += [
-  '_locales/br/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["br"] += [
+  'webextension/_locales/br/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["bs"] += [
-  '_locales/bs/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["bs"] += [
+  'webextension/_locales/bs/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ca"] += [
-  '_locales/ca/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ca"] += [
+  'webextension/_locales/ca/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["cak"] += [
-  '_locales/cak/messages.json'
-]
-
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["crh"] += [
-  '_locales/crh/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["cak"] += [
+  'webextension/_locales/cak/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["cs"] += [
-  '_locales/cs/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["crh"] += [
+  'webextension/_locales/crh/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["cy"] += [
-  '_locales/cy/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["cs"] += [
+  'webextension/_locales/cs/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["da"] += [
-  '_locales/da/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["cy"] += [
+  'webextension/_locales/cy/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["de"] += [
-  '_locales/de/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["da"] += [
+  'webextension/_locales/da/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["dsb"] += [
-  '_locales/dsb/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["de"] += [
+  'webextension/_locales/de/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["el"] += [
-  '_locales/el/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["dsb"] += [
+  'webextension/_locales/dsb/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["en_CA"] += [
-  '_locales/en_CA/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["el"] += [
+  'webextension/_locales/el/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["en_GB"] += [
-  '_locales/en_GB/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["en_GB"] += [
+  'webextension/_locales/en_GB/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["en_US"] += [
-  '_locales/en_US/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["en_US"] += [
+  'webextension/_locales/en_US/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["eo"] += [
-  '_locales/eo/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["eo"] += [
+  'webextension/_locales/eo/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["es_AR"] += [
-  '_locales/es_AR/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_AR"] += [
+  'webextension/_locales/es_AR/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["es_CL"] += [
-  '_locales/es_CL/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_CL"] += [
+  'webextension/_locales/es_CL/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["es_ES"] += [
-  '_locales/es_ES/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_ES"] += [
+  'webextension/_locales/es_ES/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["es_MX"] += [
-  '_locales/es_MX/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["es_MX"] += [
+  'webextension/_locales/es_MX/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["et"] += [
-  '_locales/et/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["et"] += [
+  'webextension/_locales/et/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["eu"] += [
-  '_locales/eu/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["eu"] += [
+  'webextension/_locales/eu/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["fa"] += [
-  '_locales/fa/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fa"] += [
+  'webextension/_locales/fa/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ff"] += [
-  '_locales/ff/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ff"] += [
+  'webextension/_locales/ff/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["fi"] += [
-  '_locales/fi/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fi"] += [
+  'webextension/_locales/fi/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["fr"] += [
-  '_locales/fr/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fr"] += [
+  'webextension/_locales/fr/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["fy_NL"] += [
-  '_locales/fy_NL/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["fy_NL"] += [
+  'webextension/_locales/fy_NL/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ga_IE"] += [
-  '_locales/ga_IE/messages.json'
-]
-
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["gd"] += [
-  '_locales/gd/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ga_IE"] += [
+  'webextension/_locales/ga_IE/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["gl"] += [
-  '_locales/gl/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["gd"] += [
+  'webextension/_locales/gd/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["gn"] += [
-  '_locales/gn/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["gl"] += [
+  'webextension/_locales/gl/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["gu_IN"] += [
-  '_locales/gu_IN/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["gn"] += [
+  'webextension/_locales/gn/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["he"] += [
-  '_locales/he/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["gu_IN"] += [
+  'webextension/_locales/gu_IN/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["hi_IN"] += [
-  '_locales/hi_IN/messages.json'
-]
-
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["hr"] += [
-  '_locales/hr/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["he"] += [
+  'webextension/_locales/he/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["hsb"] += [
-  '_locales/hsb/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hi_IN"] += [
+  'webextension/_locales/hi_IN/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["hu"] += [
-  '_locales/hu/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hr"] += [
+  'webextension/_locales/hr/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["hy_AM"] += [
-  '_locales/hy_AM/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hsb"] += [
+  'webextension/_locales/hsb/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ia"] += [
-  '_locales/ia/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hu"] += [
+  'webextension/_locales/hu/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["id"] += [
-  '_locales/id/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["hy_AM"] += [
+  'webextension/_locales/hy_AM/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["it"] += [
-  '_locales/it/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ia"] += [
+  'webextension/_locales/ia/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ja"] += [
-  '_locales/ja/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["id"] += [
+  'webextension/_locales/id/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ka"] += [
-  '_locales/ka/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["it"] += [
+  'webextension/_locales/it/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["kab"] += [
-  '_locales/kab/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ja"] += [
+  'webextension/_locales/ja/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["kk"] += [
-  '_locales/kk/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ka"] += [
+  'webextension/_locales/ka/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["km"] += [
-  '_locales/km/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["kab"] += [
+  'webextension/_locales/kab/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["kn"] += [
-  '_locales/kn/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["kk"] += [
+  'webextension/_locales/kk/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ko"] += [
-  '_locales/ko/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["km"] += [
+  'webextension/_locales/km/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["lij"] += [
-  '_locales/lij/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["kn"] += [
+  'webextension/_locales/kn/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["lo"] += [
-  '_locales/lo/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ko"] += [
+  'webextension/_locales/ko/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["lt"] += [
-  '_locales/lt/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["lij"] += [
+  'webextension/_locales/lij/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["mai"] += [
-  '_locales/mai/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["lo"] += [
+  'webextension/_locales/lo/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["mk"] += [
-  '_locales/mk/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["lt"] += [
+  'webextension/_locales/lt/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ml"] += [
-  '_locales/ml/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["mai"] += [
+  'webextension/_locales/mai/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["mn"] += [
-  '_locales/mn/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["mk"] += [
+  'webextension/_locales/mk/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["mr"] += [
-  '_locales/mr/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ml"] += [
+  'webextension/_locales/ml/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ms"] += [
-  '_locales/ms/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["mn"] += [
+  'webextension/_locales/mn/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["my"] += [
-  '_locales/my/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["mr"] += [
+  'webextension/_locales/mr/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["nb_NO"] += [
-  '_locales/nb_NO/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ms"] += [
+  'webextension/_locales/ms/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ne_NP"] += [
-  '_locales/ne_NP/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["my"] += [
+  'webextension/_locales/my/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["nl"] += [
-  '_locales/nl/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["nb_NO"] += [
+  'webextension/_locales/nb_NO/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["nn_NO"] += [
-  '_locales/nn_NO/messages.json'
-]
-
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["pa_IN"] += [
-  '_locales/pa_IN/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ne_NP"] += [
+  'webextension/_locales/ne_NP/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["pl"] += [
-  '_locales/pl/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["nl"] += [
+  'webextension/_locales/nl/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["pt_BR"] += [
-  '_locales/pt_BR/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["nn_NO"] += [
+  'webextension/_locales/nn_NO/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["pt_PT"] += [
-  '_locales/pt_PT/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pa_IN"] += [
+  'webextension/_locales/pa_IN/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["rm"] += [
-  '_locales/rm/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pl"] += [
+  'webextension/_locales/pl/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ro"] += [
-  '_locales/ro/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pt_BR"] += [
+  'webextension/_locales/pt_BR/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ru"] += [
-  '_locales/ru/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["pt_PT"] += [
+  'webextension/_locales/pt_PT/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["si"] += [
-  '_locales/si/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["rm"] += [
+  'webextension/_locales/rm/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["sk"] += [
-  '_locales/sk/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ro"] += [
+  'webextension/_locales/ro/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["sl"] += [
-  '_locales/sl/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ru"] += [
+  'webextension/_locales/ru/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["sq"] += [
-  '_locales/sq/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sk"] += [
+  'webextension/_locales/sk/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["sr"] += [
-  '_locales/sr/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sl"] += [
+  'webextension/_locales/sl/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["sv_SE"] += [
-  '_locales/sv_SE/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sq"] += [
+  'webextension/_locales/sq/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ta"] += [
-  '_locales/ta/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sr"] += [
+  'webextension/_locales/sr/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["te"] += [
-  '_locales/te/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["sv_SE"] += [
+  'webextension/_locales/sv_SE/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["th"] += [
-  '_locales/th/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ta"] += [
+  'webextension/_locales/ta/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["tl"] += [
-  '_locales/tl/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["te"] += [
+  'webextension/_locales/te/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["tr"] += [
-  '_locales/tr/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["th"] += [
+  'webextension/_locales/th/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["uk"] += [
-  '_locales/uk/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["tl"] += [
+  'webextension/_locales/tl/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["ur"] += [
-  '_locales/ur/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["tr"] += [
+  'webextension/_locales/tr/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["uz"] += [
-  '_locales/uz/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["uk"] += [
+  'webextension/_locales/uk/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["vi"] += [
-  '_locales/vi/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["ur"] += [
+  'webextension/_locales/ur/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["zh_CN"] += [
-  '_locales/zh_CN/messages.json'
-]
-
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["_locales"]["zh_TW"] += [
-  '_locales/zh_TW/messages.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["uz"] += [
+  'webextension/_locales/uz/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["background"] += [
-  'background/analytics.js',
-  'background/auth.js',
-  'background/communication.js',
-  'background/deviceInfo.js',
-  'background/main.js',
-  'background/selectorLoader.js',
-  'background/senderror.js',
-  'background/startBackground.js',
-  'background/takeshot.js'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["vi"] += [
+  'webextension/_locales/vi/messages.json'
+]
+
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["zh_CN"] += [
+  'webextension/_locales/zh_CN/messages.json'
+]
+
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["zh_TW"] += [
+  'webextension/_locales/zh_TW/messages.json'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["build"] += [
-  'build/buildSettings.js',
-  'build/inlineSelectionCss.js',
-  'build/onboardingCss.js',
-  'build/onboardingHtml.js',
-  'build/raven.js',
-  'build/selection.js',
-  'build/shot.js',
-  'build/thumbnailGenerator.js'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["background"] += [
+  'webextension/background/analytics.js',
+  'webextension/background/auth.js',
+  'webextension/background/communication.js',
+  'webextension/background/deviceInfo.js',
+  'webextension/background/main.js',
+  'webextension/background/selectorLoader.js',
+  'webextension/background/senderror.js',
+  'webextension/background/startBackground.js',
+  'webextension/background/takeshot.js'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["experiments"]["screenshots"] += [
-  'experiments/screenshots/api.js',
-  'experiments/screenshots/schema.json'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["build"] += [
+  'webextension/build/buildSettings.js',
+  'webextension/build/inlineSelectionCss.js',
+  'webextension/build/onboardingCss.js',
+  'webextension/build/onboardingHtml.js',
+  'webextension/build/raven.js',
+  'webextension/build/selection.js',
+  'webextension/build/shot.js',
+  'webextension/build/thumbnailGenerator.js'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["icons"] += [
-  'icons/back-highlight.svg',
-  'icons/back.svg',
-  'icons/cancel.svg',
-  'icons/cloud.svg',
-  'icons/copied-notification.svg',
-  'icons/copy.svg',
-  'icons/done.svg',
-  'icons/download.svg',
-  'icons/help-16.svg',
-  'icons/icon-highlight-32-v2.svg',
-  'icons/icon-v2.svg',
-  'icons/icon-welcome-face-without-eyes.svg',
-  'icons/menu-fullpage.svg',
-  'icons/menu-myshot-white.svg',
-  'icons/menu-myshot.svg',
-  'icons/menu-visible.svg',
-  'icons/onboarding-1.png',
-  'icons/onboarding-2.png',
-  'icons/onboarding-3.png',
-  'icons/onboarding-4.png',
-  'icons/onboarding-5.png',
-  'icons/onboarding-6.png'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["icons"] += [
+  'webextension/icons/back-highlight.svg',
+  'webextension/icons/back.svg',
+  'webextension/icons/cancel.svg',
+  'webextension/icons/cloud.svg',
+  'webextension/icons/copied-notification.svg',
+  'webextension/icons/copy.svg',
+  'webextension/icons/done.svg',
+  'webextension/icons/download.svg',
+  'webextension/icons/help-16.svg',
+  'webextension/icons/icon-highlight-32-v2.svg',
+  'webextension/icons/icon-v2.svg',
+  'webextension/icons/icon-welcome-face-without-eyes.svg',
+  'webextension/icons/menu-fullpage.svg',
+  'webextension/icons/menu-myshot-white.svg',
+  'webextension/icons/menu-myshot.svg',
+  'webextension/icons/menu-visible.svg',
+  'webextension/icons/onboarding-1.png',
+  'webextension/icons/onboarding-2.png',
+  'webextension/icons/onboarding-3.png',
+  'webextension/icons/onboarding-4.png',
+  'webextension/icons/onboarding-5.png'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["onboarding"] += [
-  'onboarding/slides.html',
-  'onboarding/slides.js'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["onboarding"] += [
+  'webextension/onboarding/slides.html',
+  'webextension/onboarding/slides.js'
 ]
 
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["selector"] += [
-  'selector/callBackground.js',
-  'selector/documentMetadata.js',
-  'selector/shooter.js',
-  'selector/ui.js',
-  'selector/uicontrol.js',
-  'selector/util.js'
-]
-
-FINAL_TARGET_FILES.features['screenshots@mozilla.org']["test"]["browser"] += [
-  'test/browser/.eslintrc.yml',
-  'test/browser/browser.ini',
-  'test/browser/browser_screenshots_ui_check.js'
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["selector"] += [
+  'webextension/selector/callBackground.js',
+  'webextension/selector/documentMetadata.js',
+  'webextension/selector/shooter.js',
+  'webextension/selector/ui.js',
+  'webextension/selector/uicontrol.js',
+  'webextension/selector/util.js'
 ]
 
 # AUTOMATIC INSERTION END
 
 BROWSER_CHROME_MANIFESTS += [
     'test/browser/browser.ini'
 ]
--- a/browser/extensions/screenshots/test/browser/browser.ini
+++ b/browser/extensions/screenshots/test/browser/browser.ini
@@ -1,2 +1,6 @@
+[DEFAULT]
+support-files =
+  head.js
+
 [browser_screenshots_ui_check.js]
 skip-if = os == 'win' && debug # Bug 1394967
--- a/browser/extensions/screenshots/test/browser/browser_screenshots_ui_check.js
+++ b/browser/extensions/screenshots/test/browser/browser_screenshots_ui_check.js
@@ -1,34 +1,32 @@
 "use strict";
 
-ChromeUtils.defineModuleGetter(this, "AddonManager",
-                               "resource://gre/modules/AddonManager.jsm");
-
 const BUTTON_ID = "pageAction-panel-screenshots_mozilla_org";
 
 function checkElements(expectPresent, l) {
   for (const id of l) {
     is(!!document.getElementById(id), expectPresent, "element " + id + (expectPresent ? " is" : " is not") + " present");
   }
 }
 
 async function togglePageActionPanel() {
   await promiseOpenPageActionPanel();
   EventUtils.synthesizeMouseAtCenter(BrowserPageActions.mainButtonNode, {});
   await promisePageActionPanelEvent("popuphidden");
 }
 
 function promiseOpenPageActionPanel() {
+  const dwu = window.windowUtils;
   return BrowserTestUtils.waitForCondition(() => {
     // Wait for the main page action button to become visible.  It's hidden for
     // some URIs, so depending on when this is called, it may not yet be quite
     // visible.  It's up to the caller to make sure it will be visible.
     info("Waiting for main page action button to have non-0 size");
-    const bounds = window.windowUtils.getBoundsWithoutFlushing(BrowserPageActions.mainButtonNode);
+    const bounds = dwu.getBoundsWithoutFlushing(BrowserPageActions.mainButtonNode);
     return bounds.width > 0 && bounds.height > 0;
   }).then(() => {
     // Wait for the panel to become open, by clicking the button if necessary.
     info("Waiting for main page action panel to be open");
     if (BrowserPageActions.panelNode.state === "open") {
       return Promise.resolve();
     }
     const shownPromise = promisePageActionPanelEvent("popupshown");
@@ -51,38 +49,35 @@ function promisePageActionPanelEvent(eve
     panel.addEventListener(eventType, () => {
       executeSoon(resolve);
     }, { once: true });
   });
 }
 
 function promisePageActionViewChildrenVisible(panelViewNode) {
   info("promisePageActionViewChildrenVisible waiting for a child node to be visible");
+  const dwu = window.windowUtils;
   return BrowserTestUtils.waitForCondition(() => {
-    const bodyNode = panelViewNode.firstChild;
-    for (const childNode of bodyNode.childNodes) {
-      const bounds = window.windowUtils.getBoundsWithoutFlushing(childNode);
+    const bodyNode = panelViewNode.firstElementChild;
+    for (const childNode of bodyNode.children) {
+      const bounds = dwu.getBoundsWithoutFlushing(childNode);
       if (bounds.width > 0 && bounds.height > 0) {
         return true;
       }
     }
     return false;
   });
 }
 
 add_task(async function() {
-  // If Screenshots was disabled, enable it just for this test.
-  const addon = await AddonManager.getAddonByID("screenshots@mozilla.org");
-  const isEnabled = addon.enabled;
-  if (!isEnabled) {
-    await addon.enable({allowSystemAddons: true});
-    registerCleanupFunction(async () => {
-      await addon.disable({allowSystemAddons: true});
-    });
-  }
+  await promiseScreenshotsEnabled();
+
+  registerCleanupFunction(async function() {
+    await promiseScreenshotsReset();
+  });
 
   // Toggle the page action panel to get it to rebuild itself.  An actionable
   // page must be opened first.
   const url = "http://example.com/browser_screenshots_ui_check";
   await BrowserTestUtils.withNewTab(url, async () => { // eslint-disable-line space-before-function-paren
     await togglePageActionPanel();
 
     await BrowserTestUtils.waitForCondition(
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/test/browser/head.js
@@ -0,0 +1,57 @@
+/* globals PageActions */
+
+// Currently Screenshots is disabled in tests.  We want these tests to work under
+// either case that Screenshots is disabled or enabled on startup of the browser,
+// and that at the end we're reset to the correct state.
+let enabledOnStartup = false;
+
+// ScreenshotsEnabled/Disabled promises return true if it was already
+// Enabled/Disabled, and false if it need to Enable/Disable.
+function promiseScreenshotsEnabled() {
+  if (!Services.prefs.getBoolPref("extensions.screenshots.disabled", false)) {
+    info("Screenshots was already enabled, assuming enabled by default for tests");
+    enabledOnStartup = true;
+    return Promise.resolve(true);
+  }
+  info("Screenshots is not enabled");
+  return new Promise((resolve, reject) => {
+    const interval = setInterval(() => {
+      const action = PageActions.actionForID("screenshots_mozilla_org");
+      if (action) {
+        info("screenshots page action created");
+        clearInterval(interval);
+        resolve(false);
+      }
+    }, 100);
+    info("Set Screenshots disabled pref to false.");
+    Services.prefs.setBoolPref("extensions.screenshots.disabled", false);
+  });
+}
+
+function promiseScreenshotsDisabled() {
+  if (Services.prefs.getBoolPref("extensions.screenshots.disabled", false)) {
+    info("Screenshots already disabled");
+    return Promise.resolve(true);
+  }
+  return new Promise((resolve, reject) => {
+    const interval = setInterval(() => {
+      const action = PageActions.actionForID("screenshots");
+      if (!action) {
+        info("screenshots page action removed");
+        clearInterval(interval);
+        resolve(false);
+      }
+    }, 100);
+    info("Set Screenshots disabled pref to true.");
+    Services.prefs.setBoolPref("extensions.screenshots.disabled", true);
+  });
+}
+
+function promiseScreenshotsReset() { // eslint-disable-line no-unused-vars
+  if (enabledOnStartup) {
+    info("Reset is enabling Screenshots addon");
+    return promiseScreenshotsEnabled();
+  }
+  info("Reset is disabling Screenshots addon");
+  return promiseScreenshotsDisabled();
+}
rename from browser/extensions/screenshots/_locales/ach/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ach/messages.json
--- a/browser/extensions/screenshots/_locales/ach/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ach/messages.json
@@ -24,19 +24,16 @@
     "message": "Gwok potbuk weng"
   },
   "cancelScreenshot": {
     "message": "Juki"
   },
   "downloadScreenshot": {
     "message": "Gam"
   },
-  "downloadOnlyNotice": {
-    "message": "Kombedi itye i kit me gam keken."
-  },
   "downloadOnlyDetailsESR": {
     "message": "Itye ka tic ki Firefox pi ESR."
   },
   "notificationLinkCopiedTitle": {
     "message": "Ki loko kakube"
   },
   "notificationLinkCopiedDetails": {
     "message": "Ki loko kakube me cal mamegi i bao me coc. Dii $META_KEY$-V me mwono ne.",
@@ -44,16 +41,24 @@
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "copyScreenshot": {
     "message": "Loki"
   },
+  "imageCroppedWarning": {
+    "message": "Ki ngolo cal ma odoko $PIXELS$px.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
+  },
   "requestErrorTitle": {
     "message": "Pe tye katic."
   },
   "requestErrorDetails": {
     "message": "Timwa kica! Pe onongo wa twero gwoko cal mamegi. Tim ber item doki lacen."
   },
   "connectionErrorTitle": {
     "message": "Pe watwero kube ki cal me wang kio mamegi."
rename from browser/extensions/screenshots/_locales/ar/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ar/messages.json
--- a/browser/extensions/screenshots/_locales/ar/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ar/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "نُسخت اللقطة إلى الحافظة. اضغط $META_KEY$-V للصقها.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "ستُقص الصورة المحفوظة ليصبح ارتفاعها $PIXELS$بكسل.",
+  "imageCroppedWarning": {
+    "message": "اقتُصّت هذه الصورة لتصبح $PIXELS$بكسل.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "خارج الخدمة."
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/ast/messages.json
@@ -0,0 +1,68 @@
+{
+  "addonAuthorsList": {
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "Facer una captura"
+  },
+  "myShotsLink": {
+    "message": "Les mios captures"
+  },
+  "screenshotInstructions": {
+    "message": "Arrastra o primi na páxina pa esbillar una rexón. Primi ESC pa encaboxar."
+  },
+  "saveScreenshotSelectedArea": {
+    "message": "Guardar"
+  },
+  "saveScreenshotVisibleArea": {
+    "message": "Guardar lo visible"
+  },
+  "saveScreenshotFullPage": {
+    "message": "Guardar la páxina completa"
+  },
+  "cancelScreenshot": {
+    "message": "Encaboxar"
+  },
+  "downloadScreenshot": {
+    "message": "Baxar"
+  },
+  "notificationLinkCopiedTitle": {
+    "message": "Copióse l'enllaz"
+  },
+  "requestErrorDetails": {
+    "message": "¡Perdón, pero nun pudimos guardar la to captura! Volvi tentalo más sero, por favor."
+  },
+  "unshootablePageErrorTitle": {
+    "message": "Nun pue capturase esta páxina."
+  },
+  "unshootablePageErrorDetails": {
+    "message": "Esta páxina web nun ye estándar, asina que nun pues capturala."
+  },
+  "emptySelectionErrorTitle": {
+    "message": "La esbilla ye perpequeña"
+  },
+  "privateWindowErrorTitle": {
+    "message": "Les captures de pantalla tán desactivaes nel mou Restolar en privao"
+  },
+  "privateWindowErrorDetails": {
+    "message": "Perdón poles molesties. Tamos trabayando nesta carauterística pa llanzamientos futuros."
+  },
+  "tourHeaderClickAndDrag": {
+    "message": "Captura lo que quies"
+  },
+  "tourHeaderDownloadUpload": {
+    "message": "Como te preste"
+  },
+  "tourSkip": {
+    "message": "SALTAR"
+  },
+  "tourDone": {
+    "message": "Fecho"
+  },
+  "termsAndPrivacyNoticeTermsLink": {
+    "message": "Términos"
+  },
+  "libraryLabel": {
+    "message": "Captures de pantalla"
+  }
+}
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/az/messages.json
rename to browser/extensions/screenshots/webextension/_locales/az/messages.json
--- a/browser/extensions/screenshots/_locales/az/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/az/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Görüntünüz mübadilə buferinə köçürüldü. Yapışdırmaq üçün $META_KEY$-V basın.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Saxlanmış şəkil hündürlüyü $PIXELS$px olaraq kəsiləcək.",
+  "imageCroppedWarning": {
+    "message": "Şəkil $PIXELS$px ölçülərinə kəsildi.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Xəta baş verdi."
@@ -144,22 +144,16 @@
     "message": "Sadəcə pəncərədə görünən hissəni və ya bütün səhifəni çəkmək üçün sağ üstdəki düymələrdən birini seçin."
   },
   "tourHeaderDownloadUpload": {
     "message": "İstədiyiniz kimi"
   },
   "tourBodyDownloadUpload": {
     "message": "Kəsdiyiniz hissələri rahat paylaşmaq üçün internetdə saxlayın və ya kompüterinizə endirin. Həmçinin Ekran Görüntülərim düyməsinə basaraq çəkdiyiniz bütün ekran görüntülərini görə bilərsiz."
   },
-  "tourHeaderAccounts": {
-    "message": "Ekran Görüntülərin həmişə yanında"
-  },
-  "tourBodyAccounts": {
-    "message": "Firefox Hesabınız ilə daxil olun və istənilən yerdə bütün alətlərinizdən görüntülərinizi görün və seçdiklərinizi daimi olaraq saxlayın."
-  },
   "tourSkip": {
     "message": "Ötür"
   },
   "tourNext": {
     "message": "Növbəti Slayd"
   },
   "tourPrevious": {
     "message": "Əvvəlki Slayd"
rename from browser/extensions/screenshots/_locales/be/messages.json
rename to browser/extensions/screenshots/webextension/_locales/be/messages.json
--- a/browser/extensions/screenshots/_locales/be/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/be/messages.json
@@ -70,26 +70,26 @@
   "notificationImageCopiedDetails": {
     "message": "Скрыншот скапіраваны ў буфер абмену. Націсніце $META_KEY$-V, каб уставіць.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Захаваны відарыс будзе абрэзаны да $PIXELS$ пкс па вышыні.",
+  "imageCroppedWarning": {
+    "message": "Гэта выява была абрэзана да $PIXELS$пікселяў.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
-    "message": "Здарылася памылка."
+    "message": "Адбылася памылка."
   },
   "requestErrorDetails": {
     "message": "Выбачайце! Нам не ўдалося захаваць ваш здымак. Паспрабуйце пазней."
   },
   "connectionErrorTitle": {
     "message": "Мы не можам атрымаць доступ да вашых скрыншотаў."
   },
   "connectionErrorDetails": {
@@ -144,24 +144,18 @@
     "message": "З дапамогай кнопак у верхнім правым куце выбірайце захоп бачнай вобласці акна або старонкі цалкам."
   },
   "tourHeaderDownloadUpload": {
     "message": "Як вам падабаецца"
   },
   "tourBodyDownloadUpload": {
     "message": "Захоўваеце свае здымкі ў Інтэрнэце, каб лёгка імі дзяліцца, або загружайце іх на свой камп'ютар. Вы таксама можаце прагледзець усе захаваныя здымкі, націснуўшы на кнопку Мае здымкі."
   },
-  "tourHeaderAccounts": {
-    "message": "Здымкі экрана на вынас"
-  },
-  "tourBodyAccounts": {
-    "message": "Увайдзіце ў уліковы запіс Firefox, каб мець доступ да сваіх здымкаў экрана на ўсіх вашых прыладах і захоўваць улюбёныя здымкі безтэрмінова."
-  },
   "tourSkip": {
-    "message": "Прапусціць"
+    "message": "Прапусьціць"
   },
   "tourNext": {
     "message": "Наступны слайд"
   },
   "tourPrevious": {
     "message": "Папярэдні слайд"
   },
   "tourDone": {
rename from browser/extensions/screenshots/_locales/bg/messages.json
rename to browser/extensions/screenshots/webextension/_locales/bg/messages.json
--- a/browser/extensions/screenshots/_locales/bg/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/bg/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Снимката е копирана в системния буфер. За да я поставите натиснете $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Запазеното изображение ще бъде отрязано до височина $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Изображението е отрязано до $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Повреда."
rename from browser/extensions/screenshots/_locales/bn_BD/messages.json
rename to browser/extensions/screenshots/webextension/_locales/bn_BD/messages.json
--- a/browser/extensions/screenshots/_locales/bn_BD/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/bn_BD/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "আপনার শট ক্লিপবোর্ডে অনুলিপি করা হয়েছে। প্রতিলেপন করতে $META_KEY$-V চাপুন।",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "সংরক্ষিত ইমেজ $PIXELS$পিক্সেল উচ্চতায় ক্রপ করা হবে।",
+  "imageCroppedWarning": {
+    "message": "ইমেজটিকে $PIXELS$পিক্সেলে ক্রপ করা হয়েছে।",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "বিকল।"
rename from browser/extensions/screenshots/_locales/br/messages.json
rename to browser/extensions/screenshots/webextension/_locales/br/messages.json
--- a/browser/extensions/screenshots/_locales/br/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/br/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Eilet eo bet ho tapadenn er golver. Pouezit war $META_KEY$-V evit pegañ.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Ar skeudenn enrollet a vo krennet eus $PIXELS$ px en uhelder.",
+  "imageCroppedWarning": {
+    "message": "Digresket eo bet ho skeudenn da $PIXELS$ piksel.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Degouezhet ez eus bet ur fazi."
@@ -144,22 +144,16 @@
     "message": "Diuzit an afelloù a-us a-zehou evit skeudenniñ ar vaezienn welus er prenestr pe evit skeudenniñ ar bajenn a-bezh."
   },
   "tourHeaderDownloadUpload": {
     "message": "Evel ma fell deoc'h"
   },
   "tourBodyDownloadUpload": {
     "message": "Enrollit ho tapadennoù didroc'het evit ar web evit skignañ aesoc'h, pe pellgargit anezho war ho urzhiataer. Gallout a rit ivez klikañ war an afell Ma zapadennoù evit kavout an holl dapadennoù kemeret ganeoc'h."
   },
-  "tourHeaderAccounts": {
-    "message": "Tapadennoù da gas ganeoc'h"
-  },
-  "tourBodyAccounts": {
-    "message": "Kennaskit gant ho kont Firefox evit haeziñ ho tapadennoù war ho holl trevnadoù hag enrollañ pennrolloù da viken."
-  },
   "tourSkip": {
     "message": "TREMEN"
   },
   "tourNext": {
     "message": "Treyonenn da-heul"
   },
   "tourPrevious": {
     "message": "Treyonenn gent"
rename from browser/extensions/screenshots/_locales/bs/messages.json
rename to browser/extensions/screenshots/webextension/_locales/bs/messages.json
--- a/browser/extensions/screenshots/_locales/bs/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/bs/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Vaš snimak je kopiran u međuspremnik. Pritisnite $META_KEY$-V da zalijepite.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Sačuvana slika će biti izrezana na $PIXELS$px u visinu.",
+  "imageCroppedWarning": {
+    "message": "Slika je isječena na $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Nije u funkciji."
rename from browser/extensions/screenshots/_locales/ca/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ca/messages.json
--- a/browser/extensions/screenshots/_locales/ca/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ca/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "La captura s'ha copiat al porta-retalls. Premeu $META_KEY$-V per enganxar-la.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La imatge desada es retallarà a $PIXELS$ px d'alçada.",
+  "imageCroppedWarning": {
+    "message": "Aquesta imatge s'ha retallat a $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "No funciona."
@@ -118,17 +118,17 @@
   },
   "genericErrorTitle": {
     "message": "El Firefox Screenshots ha tingut un problema."
   },
   "genericErrorDetails": {
     "message": "S'ha produït un error inesperat. Torneu-ho a provar o captureu una altra pàgina."
   },
   "tourBodyIntro": {
-    "message": "Feu captures de pantalla, deseu-les i compartiu-les sense sortir del Firefox."
+    "message": "Feu, deseu i compartiu captures de pantalla sense sortir del Firefox."
   },
   "tourHeaderPageAction": {
     "message": "Una forma nova de desar les captures"
   },
   "tourBodyPageAction": {
     "message": "Amplieu el menú d'accions de la pàgina de la barra d'adreces quan vulgueu fer una captura de pantalla."
   },
   "tourHeaderClickAndDrag": {
@@ -144,22 +144,16 @@
     "message": "Seleccioneu amb els botons de la part superior dreta si voleu capturar l'àrea visible de la finestra o la pàgina sencera."
   },
   "tourHeaderDownloadUpload": {
     "message": "Com vulgueu"
   },
   "tourBodyDownloadUpload": {
     "message": "Deseu les vostres captures al web per compartir-les fàcilment o baixeu-les a l'ordinador. També podeu fer clic al botó «Les meves captures» per veure totes les captures que heu fet."
   },
-  "tourHeaderAccounts": {
-    "message": "Les vostres captures, a tot arreu"
-  },
-  "tourBodyAccounts": {
-    "message": "Inicieu la sessió amb el compte del Firefox per accedir a les vostres captures en tots els dispositius i conservar les vostres preferides per sempre."
-  },
   "tourSkip": {
     "message": "OMET"
   },
   "tourNext": {
     "message": "Diapositiva següent"
   },
   "tourPrevious": {
     "message": "Diapositiva anterior"
rename from browser/extensions/screenshots/_locales/cak/messages.json
rename to browser/extensions/screenshots/webextension/_locales/cak/messages.json
--- a/browser/extensions/screenshots/_locales/cak/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/cak/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Xwachib'ëx pa molwuj ri ruchapoj awachib'al. Tapitz'a' $META_KEY$-V richin natz'äm.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Ri wachib'äl xyak xtiqupïx rik'in $PIXELS$px rupalem.",
+  "imageCroppedWarning": {
+    "message": "Re wachib'äl re' xqupïx pa $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Man nisamäj ta."
rename from browser/extensions/screenshots/_locales/crh/messages.json
rename to browser/extensions/screenshots/webextension/_locales/crh/messages.json
rename from browser/extensions/screenshots/_locales/cs/messages.json
rename to browser/extensions/screenshots/webextension/_locales/cs/messages.json
--- a/browser/extensions/screenshots/_locales/cs/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/cs/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Váš snímek byl zkopírován do schránky. Pro vložení stiskněte $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Uložený obrázek bude oříznut na maximální výšku $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Tento obrázek byl oříznutý na $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Mimo provoz."
@@ -144,22 +144,16 @@
     "message": "Pomocí tlačítek vpravo nahoře můžete pořídit snímek jen viditelné části nebo úplně celé stránky."
   },
   "tourHeaderDownloadUpload": {
     "message": "Jak sami chcete"
   },
   "tourBodyDownloadUpload": {
     "message": "Uložte si oříznutý snímek stránky na web pro rychlejší sdílení, nebo si ho stáhněte do počítače. Pro zobrazení všech snímků stačí klepnout na tlačítko Mé snímky."
   },
-  "tourHeaderAccounts": {
-    "message": "Snímky stránek vždy s sebou"
-  },
-  "tourBodyAccounts": {
-    "message": "Pro přístup ke snímkům z jiných zařízení nebo jejich ukládání se prosím přihlaste svým účtem Firefoxu."
-  },
   "tourSkip": {
     "message": "Přeskočit"
   },
   "tourNext": {
     "message": "Další snímek"
   },
   "tourPrevious": {
     "message": "Předchozí snímek"
rename from browser/extensions/screenshots/_locales/cy/messages.json
rename to browser/extensions/screenshots/webextension/_locales/cy/messages.json
--- a/browser/extensions/screenshots/_locales/cy/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/cy/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Mae eich llun wedi ei gopïo i'r clipfwrdd. Pwyswch $META_KEY$-V i'w ludo.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Bydd y ddelwedd wedi ei chadw'n cael ei thocio i uchder o $PIXELS$ px.",
+  "imageCroppedWarning": {
+    "message": "Mae'r ddelwedd wedi ei thocio i $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ddim yn gweithio."
@@ -144,22 +144,16 @@
     "message": "Dewiswch y botymau ar y dde uchod i gipio ardal gweladwy mewn ffenestr neu i gipio tudalen gyfan."
   },
   "tourHeaderDownloadUpload": {
     "message": "Yn Ôl eich Dewis"
   },
   "tourBodyDownloadUpload": {
     "message": "Cadwch eich lluniau wedi eu golygu i'r We ar gyfer rhannu haws, neu eu llwytho i lawr i'ch cyfrifiadur. Gallwch hefyd glicio ar Fy Lluniau i weld pob llun sydd gennych."
   },
-  "tourHeaderAccounts": {
-    "message": "Lluniau i Fynd"
-  },
-  "tourBodyAccounts": {
-    "message": "Mewngofnodwch gyda'ch Cyfrif Firefox i gael mynediad i'ch lluniau ar eich holl ddyfeisiau a chadw eich hoff luniau am byth."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Sleid Nesaf"
   },
   "tourPrevious": {
     "message": "Sleid Flaenorol"
rename from browser/extensions/screenshots/_locales/da/messages.json
rename to browser/extensions/screenshots/webextension/_locales/da/messages.json
--- a/browser/extensions/screenshots/_locales/da/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/da/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Dit skærmbillede er blevet kopieret til udklipsholderen. Tryk $META_KEY$-V for at indsætte.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Gemt billede vil blive beskåret til $PIXELS$px i højden.",
+  "imageCroppedWarning": {
+    "message": "Billedet er blevet beskåret til $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ude af funktion"
@@ -144,22 +144,16 @@
     "message": "Brug knapperne øverst til højre for at tage et skærmbillede af det synlige område i vinduet eller for at tage et skærmbillede af hele siden."
   },
   "tourHeaderDownloadUpload": {
     "message": "Som du vil have det."
   },
   "tourBodyDownloadUpload": {
     "message": "Gem dine beskårne skærmbilleder på nettet for nemmere at dele dem - eller hent dem ned på din computer. Du kan også klikke på knappen \"Mine skærmbilleder\" for at finde de skærmbilleder, du har taget."
   },
-  "tourHeaderAccounts": {
-    "message": "Skærmbilleder på farten"
-  },
-  "tourBodyAccounts": {
-    "message": "Log ind med din Firefox-konto for at få adgang til dine skærmbilleder på alle dine enheder, og gem dine favoritter for evigt."
-  },
   "tourSkip": {
     "message": "SPRING OVER"
   },
   "tourNext": {
     "message": "Næste side"
   },
   "tourPrevious": {
     "message": "Forrige side"
rename from browser/extensions/screenshots/_locales/de/messages.json
rename to browser/extensions/screenshots/webextension/_locales/de/messages.json
--- a/browser/extensions/screenshots/_locales/de/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/de/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Ihr Bildschirmfoto wurde in die Zwischenablage kopiert. Drücken Sie Strg-V zum Einfügen.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Gespeicherte Grafik wird auf eine Höhe von $PIXELS$ Pixel zugeschnitten.",
+  "imageCroppedWarning": {
+    "message": "Diese Grafik wurde auf $PIXELS$ px zugeschnitten.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Außer Betrieb."
@@ -144,22 +144,16 @@
     "message": "Nutzen Sie die Schaltflächen rechts oben, um den sichtbaren Bereich im Fenster oder eine ganze Seite zu speichern."
   },
   "tourHeaderDownloadUpload": {
     "message": "Wie Sie möchten"
   },
   "tourBodyDownloadUpload": {
     "message": "Speichern Sie Ihre zugeschnittenen Bildschirmfotos im Internet, sodass sie leicht zu teilen sind, oder laden Sie sie auf Ihren Computer herunter. Sie können auch auf die Schaltfläche „Meine Bildschirmfotos“ klicken, um alle Ihre Bildschirmfotos zu finden."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots zum Mitnehmen"
-  },
-  "tourBodyAccounts": {
-    "message": "Melden Sie sich mit Ihrem Firefox-Konto an, um auf all Ihren Geräten auf Ihre Bildschirmfotos zuzugreifen und Ihre Favoriten dauerhaft zu speichern."
-  },
   "tourSkip": {
     "message": "Überspringen"
   },
   "tourNext": {
     "message": "Nächste Folie"
   },
   "tourPrevious": {
     "message": "Vorherige Folie"
rename from browser/extensions/screenshots/_locales/dsb/messages.json
rename to browser/extensions/screenshots/webextension/_locales/dsb/messages.json
--- a/browser/extensions/screenshots/_locales/dsb/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/dsb/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Wašo foto jo se do mjezywótkłada kopěrowało. Tłocćo $META_KEY$-V, aby jo zasajźił.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Skłaźony wobraz buźo se na wusokosć $PIXELS$ px pśirězowaś.",
+  "imageCroppedWarning": {
+    "message": "Toś ten wobraz jo se na $PIXELS$px pśirězał.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Njeźěła."
@@ -144,22 +144,16 @@
     "message": "Wubjeŕśo tłocašk górjejce napšawo, aby widobny wobcerk we woknje abo ceły bok fotografěrowaś."
   },
   "tourHeaderDownloadUpload": {
     "message": "Tak, kaž se wam spódoba"
   },
   "tourBodyDownloadUpload": {
     "message": "Składujśo swóje pśirězane fota wobrazowki w interneśe, aby je lažcej źělił, abo ześěgniśo je na swójo licadło. Móžośo teke na tłocašk „Móje fota wobrazowki“ kliknuś, abye wšě fota wobrazowki namakał, kótarež sćo gótował."
   },
-  "tourHeaderAccounts": {
-    "message": "Fota wobrazowki za drogu"
-  },
-  "tourBodyAccounts": {
-    "message": "Pśizjawśo se pla swójogo konta Firefox, aby pśistup k swójim fotam wobrazowki na wšych wašych rědach měł a składujśo swóje nejlubše fota wobrazowki na pśecej."
-  },
   "tourSkip": {
     "message": "Pśeskócyś"
   },
   "tourNext": {
     "message": "Pśiduce foto"
   },
   "tourPrevious": {
     "message": "Pjerwjejšne foto"
rename from browser/extensions/screenshots/_locales/el/messages.json
rename to browser/extensions/screenshots/webextension/_locales/el/messages.json
--- a/browser/extensions/screenshots/_locales/el/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/el/messages.json
@@ -24,31 +24,22 @@
     "message": "Αποθήκευση ολόκληρης σελίδας"
   },
   "cancelScreenshot": {
     "message": "Ακύρωση"
   },
   "downloadScreenshot": {
     "message": "Λήψη"
   },
-  "downloadOnlyNotice": {
-    "message": "Αυτή τη στιγμή βρίσκεστε σε λειτουργία \"Μόνο-λήψη\"."
-  },
-  "downloadOnlyDetails": {
-    "message": "Το Firefox Screenshots αλλάζει αυτόματα σε λειτουργία \"Μόνο-λήψη\" σε αυτές τις περιπτώσεις:"
-  },
   "downloadOnlyDetailsPrivate": {
     "message": "Σε ένα παράθυρο ιδιωτικής περιήγησης."
   },
   "downloadOnlyDetailsThirdParty": {
     "message": "Τα cookies τρίτων είναι απενεργοποιημένα."
   },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "Είναι ενεργή η επιλογή “Να μην αποθηκεύεται ποτέ το ιστορικό”."
-  },
   "downloadOnlyDetailsESR": {
     "message": "Χρησιμοποιείτε το Firefox ESR."
   },
   "downloadOnlyDetailsNoUploadPref": {
     "message": "Οι μεταφορτώσεις έχουν απενεργοποιηθεί."
   },
   "notificationLinkCopiedTitle": {
     "message": "Ο σύνδεσμος αντιγράφηκε"
@@ -62,26 +53,18 @@
     }
   },
   "copyScreenshot": {
     "message": "Αντιγραφή"
   },
   "notificationImageCopiedTitle": {
     "message": "Το στιγμιότυπο αντιγράφηκε"
   },
-  "notificationImageCopiedDetails": {
-    "message": "Το στιγμιότυπο έχει αντιγραφεί στο πρόχειρο. Πατήστε $META_KEY$-V για επικόλληση.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCropPopupWarning": {
-    "message": "Η αποθηκευμένη εικόνα θα περικοπεί σε $PIXELS$px στο ύψος.",
+  "imageCroppedWarning": {
+    "message": "Αυτή η εικόνα έχει περικοπεί σε $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Εκτός λειτουργίας."
@@ -123,19 +106,16 @@
     "message": "Δεν είμαστε σίγουροι για το τι ακριβώς συνέβη. Προσπαθήστε ξανά ή κάντε λήψη σε μια άλλη σελίδα."
   },
   "tourBodyIntro": {
     "message": "Λήψη, αποθήκευση και διαμοιρασμός στιγμιοτύπων μέσα από το Firefox."
   },
   "tourHeaderPageAction": {
     "message": "Ένας νέος τρόπος αποθήκευσης"
   },
-  "tourBodyPageAction": {
-    "message": "Αναπτύξτε το μενού ενεργειών σελίδας στη γραμμή διευθύνσεων όποτε θέλετε να κάνετε λήψη στιγμιότυπου."
-  },
   "tourHeaderClickAndDrag": {
     "message": "Καταγράψτε αυτό που εσείς επιθυμείτε"
   },
   "tourBodyClickAndDrag": {
     "message": "Κάντε κλικ και σύρετε για την καταγραφή ενός τμήματος της σελίδας. Μπορείτε να επισημάνετε την επιλογή σας μετακινώντας τον ποντίκι σας επάνω της."
   },
   "tourHeaderFullPage": {
     "message": "Λήψη παραθύρων ή ολόκληρων σελίδων"
rename from browser/extensions/screenshots/_locales/en_GB/messages.json
rename to browser/extensions/screenshots/webextension/_locales/en_GB/messages.json
--- a/browser/extensions/screenshots/_locales/en_GB/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/en_GB/messages.json
@@ -65,17 +65,22 @@
     "message": "Your shot has been copied to the clipboard. Press $META_KEY$-V to paste.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "imageCroppedWarning": {
-    "message": "This image has been cropped to {pixels}px."
+    "message": "This image has been cropped to $PIXELS$px.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
   },
   "requestErrorTitle": {
     "message": "Out of order."
   },
   "requestErrorDetails": {
     "message": "Sorry! We couldn’t save your shot. Please try again later."
   },
   "connectionErrorTitle": {
rename from browser/extensions/screenshots/_locales/en_US/messages.json
rename to browser/extensions/screenshots/webextension/_locales/en_US/messages.json
--- a/browser/extensions/screenshots/_locales/en_US/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/en_US/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Your shot has been copied to the clipboard. Press $META_KEY$-V to paste.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Saved image will be cropped to $PIXELS$px in height.",
+  "imageCroppedWarning": {
+    "message": "This image has been cropped to $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Out of order."
@@ -144,22 +144,16 @@
     "message": "Select the buttons in the upper right to capture the visible area in the window or to capture an entire page."
   },
   "tourHeaderDownloadUpload": {
     "message": "As You Like It"
   },
   "tourBodyDownloadUpload": {
     "message": "Save your cropped shots to the web for easier sharing, or download them to your computer. You also can click on the My Shots button to find all the shots you’ve taken."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "Sign in with your Firefox Account to access your shots on all of your devices and save your favorite shots forever."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Next Slide"
   },
   "tourPrevious": {
     "message": "Previous Slide"
rename from browser/extensions/screenshots/_locales/eo/messages.json
rename to browser/extensions/screenshots/webextension/_locales/eo/messages.json
--- a/browser/extensions/screenshots/_locales/eo/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/eo/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Via ekrankopio estis kopiita al la tondujo. Premu $META_KEY$-V por alglui.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La konservita bildo estos tondita alte je $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Tiu ĉi bildo estis pritondita je $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ne funkcianta."
rename from browser/extensions/screenshots/_locales/es_AR/messages.json
rename to browser/extensions/screenshots/webextension/_locales/es_AR/messages.json
--- a/browser/extensions/screenshots/_locales/es_AR/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_AR/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tu captura ha sido copiada al portapapeles. Presioná $META_KEY$-V para pegar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La imagen guardada será recortada a $PIXELS$px de alto.",
+  "imageCroppedWarning": {
+    "message": "Esta imagen ha sido recortada a $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "No funciona."
@@ -144,22 +144,16 @@
     "message": "Seleccioná los botones arriba a la derecha para capturar el área visible en la ventana o la página completa."
   },
   "tourHeaderDownloadUpload": {
     "message": "Como te guste"
   },
   "tourBodyDownloadUpload": {
     "message": "Guardá tus capturas recortadas a la web para compartir o descargarlas más fácilmente a tu computadora. También podés hacer clic en el botón Mis capturas para encontrar todas las capturas hechas."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots siempre con vos"
-  },
-  "tourBodyAccounts": {
-    "message": "Iniciá sesión con tu cuenta de Firefox para acceder a tus fotos en todos los dispositivos y guardar tus fotos favoritas para siempre."
-  },
   "tourSkip": {
     "message": "SALTEAR"
   },
   "tourNext": {
     "message": "Próxima diapositiva"
   },
   "tourPrevious": {
     "message": "Diapositiva anterior"
rename from browser/extensions/screenshots/_locales/es_CL/messages.json
rename to browser/extensions/screenshots/webextension/_locales/es_CL/messages.json
--- a/browser/extensions/screenshots/_locales/es_CL/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_CL/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tu captura ha sido copiada al portapapeles. Presiona $META_KEY$-V para pegarla.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La imagen guardada será recortada a $PIXELS$px de altura.",
+  "imageCroppedWarning": {
+    "message": "Esta imagen ha sido recortada a $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Fuera de orden."
@@ -144,22 +144,16 @@
     "message": "Selecciona los botones en la parte superior derecha para capturar el área visible ne la ventana o para capturar una página completa."
   },
   "tourHeaderDownloadUpload": {
     "message": "Como tu quieras"
   },
   "tourBodyDownloadUpload": {
     "message": "Guarda tus capturas recortadas en la Web para compartirlas fácilmente o descargarlas a tu computador. También puedes hacer clic en el botón Mis capturas para encontrar todas las que hayas tomado."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots en todas partes"
-  },
-  "tourBodyAccounts": {
-    "message": "Conéctate con tu cuenta de Firefox para acceder a tus capturas en todos tus dispositivos y guardar tus favoritas para siempre."
-  },
   "tourSkip": {
     "message": "SALTAR"
   },
   "tourNext": {
     "message": "Siguiente diapositiva"
   },
   "tourPrevious": {
     "message": "Diapositiva anterior"
rename from browser/extensions/screenshots/_locales/es_ES/messages.json
rename to browser/extensions/screenshots/webextension/_locales/es_ES/messages.json
--- a/browser/extensions/screenshots/_locales/es_ES/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_ES/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tu captura ha ido copiada al portapapeles. Presiona $META_KEY$-V para pegar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La imagen guardada será recortada a $PIXELS$px de altura.",
+  "imageCroppedWarning": {
+    "message": "Se recortó la imagen a $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "No funciona."
rename from browser/extensions/screenshots/_locales/es_MX/messages.json
rename to browser/extensions/screenshots/webextension/_locales/es_MX/messages.json
--- a/browser/extensions/screenshots/_locales/es_MX/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_MX/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tu captura ha sido copiada al portapapeles. Presiona $META_KEY$-V para pegar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La imagen guardada será recortada a $PIXELS$px de alto.",
+  "imageCroppedWarning": {
+    "message": "Esta imagen ha sido recortada a $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Fuera de orden."
@@ -144,22 +144,16 @@
     "message": "Selecciona los botones en la parte superior derecha para capturar el área visible en la ventana o para capturar una página completa."
   },
   "tourHeaderDownloadUpload": {
     "message": "Como te gusta"
   },
   "tourBodyDownloadUpload": {
     "message": "Guarda tus capturas recortadas en la Web para compartirlas más fácilmente o descárgalas en tu computadora. También puedes hacer clic en el botón Mis Capturas para encontrar todas las fotos que has tomado."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "Inicia sesión con tu cuenta de Firefox para acceder a tus capturas en todos tus dispositivos y guarda tus capturas favoritas para siempre."
-  },
   "tourSkip": {
     "message": "Ignorar"
   },
   "tourNext": {
     "message": "Siguiente diapositiva"
   },
   "tourPrevious": {
     "message": "Diapositiva anterior"
rename from browser/extensions/screenshots/_locales/et/messages.json
rename to browser/extensions/screenshots/webextension/_locales/et/messages.json
--- a/browser/extensions/screenshots/_locales/et/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/et/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Sinu pilt kopeeriti vahemällu. Asetamiseks vajuta $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Salvestatud pildi kõrgus kärbitakse $PIXELS$ piksli peale.",
+  "imageCroppedWarning": {
+    "message": "See pilt on vähendatud $PIXELS$-le pikslile.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Tekkis viga."
@@ -144,22 +144,16 @@
     "message": "Kasuta nuppe ülal paremal aknas nähtava ala või terve lehe salvestamiseks."
   },
   "tourHeaderDownloadUpload": {
     "message": "Nii, kuidas sulle meeldib"
   },
   "tourBodyDownloadUpload": {
     "message": "Salvesta kärbitud pilte lihtsamaks jagamiseks veebi või laadi need alla enda arvutisse. Võid ka klõpsata Minu pildid nupul kõigi tehtud piltide vaatamiseks."
   },
-  "tourHeaderAccounts": {
-    "message": "Ekraanipildid"
-  },
-  "tourBodyAccounts": {
-    "message": "Logi sisse oma Firefoxi kontoga, et pääseda ligi ekraanipiltidele kõigist oma seadmetest ning salvestada lemmikud jäädavalt."
-  },
   "tourSkip": {
     "message": "Jäta vahele"
   },
   "tourNext": {
     "message": "Järgmine slaid"
   },
   "tourPrevious": {
     "message": "Eelmine slaid"
rename from browser/extensions/screenshots/_locales/eu/messages.json
rename to browser/extensions/screenshots/webextension/_locales/eu/messages.json
--- a/browser/extensions/screenshots/_locales/eu/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/eu/messages.json
@@ -35,19 +35,16 @@
   "notificationLinkCopiedDetails": {
     "message": "Zure argazkirako lotura arbelean kopiatu da. Itsasteko, sakatu $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "copyScreenshot": {
-    "message": "Kopiatu"
-  },
   "requestErrorTitle": {
     "message": "Zerbitzuz kanpo."
   },
   "requestErrorDetails": {
     "message": "Barkatu! Ezin izan dugu zure argazkia gorde. Saiatu berriro geroago."
   },
   "connectionErrorTitle": {
     "message": "Ezin gara zure pantaila-argazkietara konektatu."
rename from browser/extensions/screenshots/_locales/fa/messages.json
rename to browser/extensions/screenshots/webextension/_locales/fa/messages.json
--- a/browser/extensions/screenshots/_locales/fa/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fa/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "عکس شما در کلیپ‌بورد رونوشت شد. $META_KEY$-V را برای جای‌گذاری فشار دهید.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "تصویر ذخیره شده با اندازهٔ ارتفاعِ $PIXELS$ پیکسل بریده خواهد شد.",
+  "imageCroppedWarning": {
+    "message": "این تصویر برید شده است به $PIXELS$ پیکسل.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "خارج از سرویس."
rename from browser/extensions/screenshots/_locales/ff/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ff/messages.json
rename from browser/extensions/screenshots/_locales/fi/messages.json
rename to browser/extensions/screenshots/webextension/_locales/fi/messages.json
--- a/browser/extensions/screenshots/_locales/fi/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fi/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Kaappauksesi on kopioitu leikepöydälle. Liitä se painamalla $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Tallennetun kuvan korkeus rajautuu $PIXELS$ kuvapisteeseen.",
+  "imageCroppedWarning": {
+    "message": "Tämä kuva on rajattu $PIXELS$ kuvapisteeseen.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Epäkunnossa."
rename from browser/extensions/screenshots/_locales/fr/messages.json
rename to browser/extensions/screenshots/webextension/_locales/fr/messages.json
--- a/browser/extensions/screenshots/_locales/fr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fr/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Votre capture a été copiée dans le presse-papiers. Appuyez sur $META_KEY$-V pour la coller.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "La hauteur de l’image sauvegardée sera limitée à $PIXELS$ px.",
+  "imageCroppedWarning": {
+    "message": "Cette image a été rognée à $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Impossible d’effectuer cette action."
@@ -144,22 +144,16 @@
     "message": "Utilisez les boutons en haut à droite pour capturer au choix la zone visible dans la fenêtre ou la page entière."
   },
   "tourHeaderDownloadUpload": {
     "message": "À votre guise"
   },
   "tourBodyDownloadUpload": {
     "message": "Sauvegardez en ligne vos captures recadrées pour les partager plus facilement, ou téléchargez-les sur votre ordinateur. Vous pouvez aussi cliquer sur « Mes captures d’écran » pour retrouver toutes vos captures."
   },
-  "tourHeaderAccounts": {
-    "message": "Captures à emporter"
-  },
-  "tourBodyAccounts": {
-    "message": "Connectez-vous avec votre compte Firefox pour accéder à vos captures sur tous vos appareils et enregistrer définitivement vos préférées."
-  },
   "tourSkip": {
     "message": "IGNORER"
   },
   "tourNext": {
     "message": "Écran suivant"
   },
   "tourPrevious": {
     "message": "Écran précédent"
rename from browser/extensions/screenshots/_locales/fy_NL/messages.json
rename to browser/extensions/screenshots/webextension/_locales/fy_NL/messages.json
--- a/browser/extensions/screenshots/_locales/fy_NL/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fy_NL/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Jo ôfbylding is nei it klamboerd kopiearre. Druk op $META_KEY$-V om te plakken.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Bewarre ôfbylding wurdt nei $PIXELS$px yn hichte bysnien.",
+  "imageCroppedWarning": {
+    "message": "Dizze ôfbylding is ferlytse nei $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Bûten tsjinst."
@@ -144,22 +144,16 @@
     "message": "Selektearje knoppen rjochts boppe-oan om it sichtbere gebiet yn it finster te fetsjen, of fetsje in folsleine side."
   },
   "tourHeaderDownloadUpload": {
     "message": "Nei jo winsk"
   },
   "tourBodyDownloadUpload": {
     "message": "Bewarje jo byknippe skermôfdrukken nei it web om se maklik te dielen, of download se nei jo kompjûter. Jo kinne ek op de knop Myn skermôfdrukken klikke om al jo makke skermôfdrukken te finen."
   },
-  "tourHeaderAccounts": {
-    "message": "Skermôfbyldingen om mei te nimmen"
-  },
-  "tourBodyAccounts": {
-    "message": "Meld jo oan mei jo Firefox-account om jo ôfbyldingen op al jo apparaten te besjen en jo favorite ôfbyldingen foar altyd te bewarjen."
-  },
   "tourSkip": {
     "message": "Oerslaan"
   },
   "tourNext": {
     "message": "Folgjende ôfbylding"
   },
   "tourPrevious": {
     "message": "Foarige ôfbylding"
rename from browser/extensions/screenshots/_locales/ga_IE/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ga_IE/messages.json
rename from browser/extensions/screenshots/_locales/gd/messages.json
rename to browser/extensions/screenshots/webextension/_locales/gd/messages.json
--- a/browser/extensions/screenshots/_locales/gd/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/gd/messages.json
@@ -71,17 +71,22 @@
     "message": "Chaidh lethbhreac dhen ghlacadh agad a chur air an stòr-bhòrd. Brùth $META_KEY$-V airson a chur ann.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "imageCroppedWarning": {
-    "message": "Chaidh an dealbh a bhearradh is tha e {pixels}px a-nis."
+    "message": "Chaidh an dealbh a bhearradh is tha e $PIXELS$px a-nis.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
   },
   "requestErrorTitle": {
     "message": "Tuibriste."
   },
   "requestErrorDetails": {
     "message": "Tha sinn duilich! Cha b’ urrainn dhuinn an glacadh agad a shàbhaladh. Feuch ris a-rithist an ceann greis."
   },
   "connectionErrorTitle": {
rename from browser/extensions/screenshots/_locales/gl/messages.json
rename to browser/extensions/screenshots/webextension/_locales/gl/messages.json
rename from browser/extensions/screenshots/_locales/gn/messages.json
rename to browser/extensions/screenshots/webextension/_locales/gn/messages.json
--- a/browser/extensions/screenshots/_locales/gn/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/gn/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Nde japyhypy ohóma kuatiajokohápe. Ejopy $META_KEY$ -V emboja hag̃ua.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Pe ta’anga ñongatupyre oñekytĩta $PIXELS$px yvatekue.",
+  "imageCroppedWarning": {
+    "message": "Ko ta'anga oñekytĩkuri $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ndoikói hína."
@@ -144,22 +144,16 @@
     "message": "Eiporavo umi votõ yvate akatúa gotyogua ejapyhy hag̃ua ovetãme térã kuatiarogue tuichaháicha."
   },
   "tourHeaderDownloadUpload": {
     "message": "Nde eipotaháicha"
   },
   "tourBodyDownloadUpload": {
     "message": "Eñongatu nde japyhypy kytĩmbyre ñandutígui moherakuãrã térã ñemboguejyrã ne mohendahápe. Ikatu avei ehesakutu pe votõ Che japyhypy ejuhu hag̃ua opaite japyhypy ejapova'kue."
   },
-  "tourHeaderAccounts": {
-    "message": "Ejapyhy mba'erechaha eho hag̃ua"
-  },
-  "tourBodyAccounts": {
-    "message": "Emoñepyrũ tembiapo ne mba’ete Firefox pegua ndive ehecha hag̃ua ne ra’anga opaite mba’e’okápe ha eñongatu ne ra’anga eguerohoryvéva opa árape g̃uarã."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Ta’angarechaha tenondegua"
   },
   "tourPrevious": {
     "message": "Ta’angarechaha mboyvegua"
rename from browser/extensions/screenshots/_locales/gu_IN/messages.json
rename to browser/extensions/screenshots/webextension/_locales/gu_IN/messages.json
--- a/browser/extensions/screenshots/_locales/gu_IN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/gu_IN/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "તમારા શોટ ક્લિપબોર્ડ પર નકલ કરવામાં આવ્યાં છે. પેસ્ટ કરવા માટે $META_KEY$-V દબાવો.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "સાચવેલી ઇમેજ $PIXELS$px ઊંચાઈ પર કાપવામાં આવશે.",
+  "imageCroppedWarning": {
+    "message": "આ છબીને $PIXELS$px પર કાપવામાં આવી છે.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "હુકમ બહાર."
rename from browser/extensions/screenshots/_locales/he/messages.json
rename to browser/extensions/screenshots/webextension/_locales/he/messages.json
--- a/browser/extensions/screenshots/_locales/he/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/he/messages.json
@@ -71,17 +71,22 @@
     "message": "צילום המסך שלך הועתק ללוח העריכה. יש ללחוץ על $META_KEY$-V כדי להדביק.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "imageCroppedWarning": {
-    "message": "תמונה זו נחתכה לגודל של {pixels} פיקסלים."
+    "message": "תמונה זו נחתכה לגודל של $PIXELS$ פיקסלים.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
   },
   "requestErrorTitle": {
     "message": "לא תקין."
   },
   "requestErrorDetails": {
     "message": "אנו מצטערים, אך לא ניתן היה לשמור את התמונה. נא לנסות שוב מאוחר יותר."
   },
   "connectionErrorTitle": {
rename from browser/extensions/screenshots/_locales/hi_IN/messages.json
rename to browser/extensions/screenshots/webextension/_locales/hi_IN/messages.json
--- a/browser/extensions/screenshots/_locales/hi_IN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hi_IN/messages.json
@@ -27,19 +27,16 @@
     "message": "रद्द करें"
   },
   "downloadScreenshot": {
     "message": "डाउनलोड करें"
   },
   "downloadOnlyNotice": {
     "message": "आप अभी केवल-डाउनलोड मोड में हैं."
   },
-  "downloadOnlyDetails": {
-    "message": "Firefox स्क्रीनशॉट स्वचालित रूप से इन स्थितियों में डाउनलोड-केवल मोड में बदल देता हैं:"
-  },
   "downloadOnlyDetailsPrivate": {
     "message": "एक निजी ब्राउज़िंग विंडो में."
   },
   "downloadOnlyDetailsThirdParty": {
     "message": "तृतीय-पक्ष कुकीज़ अक्षम हैं."
   },
   "downloadOnlyDetailsNeverRemember": {
     "message": "“कभी इतिहास याद न रखें” सक्षम है."
@@ -70,18 +67,18 @@
   "notificationImageCopiedDetails": {
     "message": "आपके शॉट के लिंक क्लिपबोर्ड पर कॉपी किए गए हैं. पेस्ट करने के लिए $META_KEY$-V दबाएँ.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "सहेजी गई छवि को ऊंचाई में $PIXELS$पिक्सेल तक काट दिया जाएगा।",
+  "imageCroppedWarning": {
+    "message": "इस छवि को $PIXELS$px में छोटा किया गया है.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "कार्यरत नहीं है."
@@ -123,19 +120,16 @@
     "message": "हम सुनिश्चित नहीं हैं कि अभी क्या हुआ. पुन: प्रयास या एक भिन्न पृष्ठ का एक शॉट लेना चाहते हैं?"
   },
   "tourBodyIntro": {
     "message": "Firefox छोड़े बिना स्क्रीनशॉट लें, सहेजें, और साझा करें."
   },
   "tourHeaderPageAction": {
     "message": "सहेजने का एक नया तरीका"
   },
-  "tourBodyPageAction": {
-    "message": "किसी भी समय आप स्क्रीनशॉट लेना चाहते हैं तो पता पट्टी में पृष्ठ क्रियाएँ मेनू का विस्तार करें।"
-  },
   "tourHeaderClickAndDrag": {
     "message": "जो आप चाहते हैं उसे कैद करें"
   },
   "tourBodyClickAndDrag": {
     "message": "पृष्ठ के बस एक हिस्से को कैद करने के लिए क्लिक करें और खींचें. आप अपने चयन को हाइलाइट करने के लिए भी जा सकते हैं."
   },
   "tourHeaderFullPage": {
     "message": "विंडोज़ या संपूर्ण पृष्ठों को कैद करें"
@@ -144,19 +138,16 @@
     "message": "विंडो में दिखाई देने वाले क्षेत्र या एक पूरे पृष्ठ को कैद करने के लिए ऊपर में दाहिनी तरफ़ के बटन का चयन करें."
   },
   "tourHeaderDownloadUpload": {
     "message": "जैसा आप इसे चाहते हैं"
   },
   "tourBodyDownloadUpload": {
     "message": "आसानी से साझा करने या उन्हें अपने कंप्यूटर पर डाउनलोड करने के लिए अपने क्रॉप किये गये शॉट को वेब पर सहेजें. आपके द्वारा लिए गये सभी शॉट्स को ढूंढने के लिए आप मेरे शॉट्स बटन पर भी क्लिक कर सकते हैं."
   },
-  "tourBodyAccounts": {
-    "message": "हमेशा के लिए पसंदीदा स्क्रीनशॉटों को सहेजने तथा सभी उपकरणों पर अपने स्क्रीनशॉट एक्सेस करने हेतु अपने Firefox खाते में साइन इन करें।"
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "अगली स्लाइड"
   },
   "tourPrevious": {
     "message": "पिछली स्लाइड"
rename from browser/extensions/screenshots/_locales/hr/messages.json
rename to browser/extensions/screenshots/webextension/_locales/hr/messages.json
rename from browser/extensions/screenshots/_locales/hsb/messages.json
rename to browser/extensions/screenshots/webextension/_locales/hsb/messages.json
--- a/browser/extensions/screenshots/_locales/hsb/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hsb/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Waše foto je so do mjezyskłada kopěrowało. Tłóčće $META_KEY$-V, zo byšće jo zasadźił.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Składowany wobraz budźe so na wysokosć $PIXELS$ px přitřihować.",
+  "imageCroppedWarning": {
+    "message": "Tutón wobraz je so na $PIXELS$px přitřihał.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Skóncowany."
@@ -144,22 +144,16 @@
     "message": "Wubjerće tłóčatka horjeka naprawo, zo byšće widźomny wobwod we woknje abo cyłu stronu fotografować."
   },
   "tourHeaderDownloadUpload": {
     "message": "Tak, kaž so wam spodoba"
   },
   "tourBodyDownloadUpload": {
     "message": "Składujće swoje přitřihane fota wobrazowki w interneće, zo byšće je lóšo dźělił, abo sćehńće je na swój ličak. Móžeće tež na tłóčatko „Moje fota wobrazowki“ kliknyć, zo byšće wšě fota wobrazowki namakał, kotrež sće činił."
   },
-  "tourHeaderAccounts": {
-    "message": "Fota wobrazowki za puć"
-  },
-  "tourBodyAccounts": {
-    "message": "Přizjewće so pola swojeho konta Firefox, zo byšće přistup na swoje fota wobrazowki na wšěch wašich gratach měł a składujće swoje najlubše fota wobrazowki na přeco."
-  },
   "tourSkip": {
     "message": "Přeskočić"
   },
   "tourNext": {
     "message": "Přichodne foto"
   },
   "tourPrevious": {
     "message": "Předchadne foto"
rename from browser/extensions/screenshots/_locales/hu/messages.json
rename to browser/extensions/screenshots/webextension/_locales/hu/messages.json
--- a/browser/extensions/screenshots/_locales/hu/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hu/messages.json
@@ -1,29 +1,29 @@
 {
   "addonDescription": {
     "message": "Készítsen videoklipeket és képernyőképeket a webről, és mentse őket ideiglenesen vagy véglegesen."
   },
   "addonAuthorsList": {
     "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
-    "message": "Képernyőkép készítése"
+    "message": "Készítsen képernyőképet"
   },
   "myShotsLink": {
     "message": "Az Ön képei"
   },
   "screenshotInstructions": {
-    "message": "Húzza, vagy kattintson a lapra a terület kiválasztásához. A megszakításhoz nyomja meg az ESC billentyűt."
+    "message": "Húzza, vagy kattintson a lapra a terület kiválasztásához. Nyomjon ESC-t a megszakításhoz."
   },
   "saveScreenshotSelectedArea": {
     "message": "Mentés"
   },
   "saveScreenshotVisibleArea": {
-    "message": "Látható rész mentése"
+    "message": "Láthatóak mentése"
   },
   "saveScreenshotFullPage": {
     "message": "Teljes oldal mentése"
   },
   "cancelScreenshot": {
     "message": "Mégse"
   },
   "downloadScreenshot": {
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "A képernyőkép a vágólapra lett másolva. Nyomjon $META_KEY$-V-t a beillesztéshez.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "A mentett képek $PIXELS$ képpont magasra lesznek vágva.",
+  "imageCroppedWarning": {
+    "message": "A kép $PIXELS$px méretűre lett vágva.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Nem működik."
@@ -144,22 +144,16 @@
     "message": "Válassza a jobb felső sarokban lévő gombokat, hogy egy látható területet mentsen az ablakból, vagy elmentsen egy teljes oldalt."
   },
   "tourHeaderDownloadUpload": {
     "message": "Ahogy tetszik"
   },
   "tourBodyDownloadUpload": {
     "message": "Mentse a kivágott képeket a webre a könnyebb megosztáshoz, vagy töltse le a számítógépére. Rá is kattinthat a Képernyőképek gombra, hogy megtalálja az összes képét."
   },
-  "tourHeaderAccounts": {
-    "message": "Hordozható képernyőképek"
-  },
-  "tourBodyAccounts": {
-    "message": "Jelentkezzen be a Firefox fiókjával, hogy elérje az összes képernyőképét az összes eszközén, és örökre elmentse a kedvenceit."
-  },
   "tourSkip": {
     "message": "Kihagyás"
   },
   "tourNext": {
     "message": "Következő dia"
   },
   "tourPrevious": {
     "message": "Előző dia"
rename from browser/extensions/screenshots/_locales/hy_AM/messages.json
rename to browser/extensions/screenshots/webextension/_locales/hy_AM/messages.json
rename from browser/extensions/screenshots/_locales/ia/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ia/messages.json
--- a/browser/extensions/screenshots/_locales/ia/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ia/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tu instantaneo ha essite copiate al area de transferentia. Pulsa $META_KEY$-V pro collar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Le imagine salvate essera retaliate pro $PIXELS$px in altitude.",
+  "imageCroppedWarning": {
+    "message": "Iste imagine ha essite retaliate a $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Foras de servicio."
@@ -144,22 +144,16 @@
     "message": "Elige le buttones in alto a dextra pro capturar le area visibile in le fenestra o pro capturar un pagina integre."
   },
   "tourHeaderDownloadUpload": {
     "message": "Como tu lo agrada"
   },
   "tourBodyDownloadUpload": {
     "message": "Salvar tu instantaneos retaliate al web pro los compartir plus facilemente, o los discargar a tu computator. Tu alsi pote cliccar sur le button Mi Instantaneos pro trovar tote le instantaneos que tu ha prendite."
   },
-  "tourHeaderAccounts": {
-    "message": "Tu instantaneos sempre con te"
-  },
-  "tourBodyAccounts": {
-    "message": "Authentica te con tu conto Firefox pro acceder a tu instantaneos sur tote tu apparatos e salva per sempre tu instantaneos favorite."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Diapositiva sequente"
   },
   "tourPrevious": {
     "message": "Previe diapositiva"
rename from browser/extensions/screenshots/_locales/id/messages.json
rename to browser/extensions/screenshots/webextension/_locales/id/messages.json
--- a/browser/extensions/screenshots/_locales/id/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/id/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tangkapan Anda telah disalin ke papan klip. Tekan $META_KEY$-V untuk menempelkan.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Lebar gambar yang disimpan akan dipotong menjadi $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Gambar ini telah dipotong menjadi $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Tak dapat digunakan."
@@ -144,22 +144,16 @@
     "message": "Pilih tombol di kanan atas untuk merekam area yang terlihat pada jendela atau rekam seluruh laman."
   },
   "tourHeaderDownloadUpload": {
     "message": "Sesuka Anda"
   },
   "tourBodyDownloadUpload": {
     "message": "Simpan potongan tangkapan Anda ke Web agar mudah dibagikan, atau unduh ke komputer. Anda pun dapat mengeklik pada tombol Gambar Saya untuk menemukan semua tangkapan yang pernah Anda rekam."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "Masuk dengan Firefox Account untuk mengakses tangkapan Anda di semua peranti Anda dan menyimpan tangkapan favorit Anda selamanya."
-  },
   "tourSkip": {
     "message": "LEWATI"
   },
   "tourNext": {
     "message": "Salindia Selanjutnya"
   },
   "tourPrevious": {
     "message": "Salindia Sebelumnya"
rename from browser/extensions/screenshots/_locales/it/messages.json
rename to browser/extensions/screenshots/webextension/_locales/it/messages.json
--- a/browser/extensions/screenshots/_locales/it/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/it/messages.json
@@ -1,20 +1,20 @@
 {
   "addonDescription": {
-    "message": "Cattura schermate di contenuti sul Web e salvali, per un periodo di tempo limitato o in modo permanente."
+    "message": "Crea screenshot di contenuti sul Web e salvali, solo per un periodo di tempo o in modo permanente."
   },
   "addonAuthorsList": {
     "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
-    "message": "Cattura schermata"
+    "message": "Cattura screenshot"
   },
   "myShotsLink": {
-    "message": "Le mie immagini"
+    "message": "I miei screenshot"
   },
   "screenshotInstructions": {
     "message": "Trascina o fai clic su una pagina per selezionare un’area della pagina. Premi ESC per annullare."
   },
   "saveScreenshotSelectedArea": {
     "message": "Salva"
   },
   "saveScreenshotVisibleArea": {
@@ -70,47 +70,47 @@
   "notificationImageCopiedDetails": {
     "message": "L’immagine è stata copiata negli appunti. Premi $META_KEY$-V per incollarla.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "L’immagine salvata verrà ritagliata a $PIXELS$px in altezza.",
+  "imageCroppedWarning": {
+    "message": "Questa immagine è stata ritagliata a $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Fuori servizio"
   },
   "requestErrorDetails": {
     "message": "Siamo spiacenti, non è stato possibile salvare l’immagine. Riprova più tardi."
   },
   "connectionErrorTitle": {
-    "message": "Non è possibile accedere alle immagini salvate."
+    "message": "Non è possibile accedere agli screenshot salvati."
   },
   "connectionErrorDetails": {
     "message": "Verifica che la connessione a Internet stia funzionando correttamente. Se è possibile accedere ad altri siti, potrebbe trattarsi di un problema temporaneo con il servizio Firefox Screenshots."
   },
   "loginErrorDetails": {
     "message": "Non è stato possibile salvare l’immagine in quanto si è verificato un problema con il servizio Firefox Screenshots. Riprova più tardi."
   },
   "unshootablePageErrorTitle": {
-    "message": "Non è possibile catturare una schermata di questa pagina."
+    "message": "Non è possibile salvare uno screenshot di questa pagina."
   },
   "unshootablePageErrorDetails": {
-    "message": "Non è possibile catturare una schermata in quanto non si tratta di una normale pagina web."
+    "message": "Non è possibile salvare uno screenshot in quanto non si tratta di una normale pagina web."
   },
   "selfScreenshotErrorTitle": {
-    "message": "Non è possibile catturare una schermata di una pagina di Firefox Screenshots"
+    "message": "Non è possibile salvare uno screenshot di una pagina di Firefox Screenshots"
   },
   "emptySelectionErrorTitle": {
     "message": "L’area selezionata è troppo piccola"
   },
   "privateWindowErrorTitle": {
     "message": "Screenshots è disattivato in navigazione anonima."
   },
   "privateWindowErrorDetails": {
@@ -118,17 +118,17 @@
   },
   "genericErrorTitle": {
     "message": "Wow! Firefox Screenshots è andato in tilt"
   },
   "genericErrorDetails": {
     "message": "Non sappiamo che cosa sia successo. Riprova, magari con una pagina diversa."
   },
   "tourBodyIntro": {
-    "message": "Cattura, salva e condividi schermate senza mai uscire da Firefox."
+    "message": "Cattura, salva e condividi screenshot senza mai uscire da Firefox."
   },
   "tourHeaderPageAction": {
     "message": "Un nuovo modo per salvare informazioni"
   },
   "tourBodyPageAction": {
     "message": "Hai bisogno di catturare un’istantanea della pagina? Ti basta aprire il menu nella barra degli indirizzi."
   },
   "tourHeaderClickAndDrag": {
@@ -142,23 +142,17 @@
   },
   "tourBodyFullPage": {
     "message": "Utilizza i pulsanti in alto a destra per catturare una parte della finestra o l’intera pagina."
   },
   "tourHeaderDownloadUpload": {
     "message": "Come piace a te"
   },
   "tourBodyDownloadUpload": {
-    "message": "Cattura una schermata di una pagina web, ritagliala e salvala online per condividerla in modo più veloce, oppure scaricala sul tuo computer. Puoi anche utilizzare il pulsante “Le mie immagini” per ritrovare tutte le immagini che hai salvato."
-  },
-  "tourHeaderAccounts": {
-    "message": "I tuoi screenshot, sempre con te"
-  },
-  "tourBodyAccounts": {
-    "message": "Accedi al tuo account Firefox per avere sempre a disposizione gli screenshot salvati su tutti i tuoi dispositivi e conservare le tue immagini preferite senza limiti di tempo."
+    "message": "Cattura lo screenshot di una pagina web, ritaglialo e salvalo online per condividerlo in modo più veloce, oppure scaricalo sul tuo computer. Puoi anche utilizzare il pulsante “I miei screenshot” per ritrovare tutte le immagini che hai salvato."
   },
   "tourSkip": {
     "message": "Ignora"
   },
   "tourNext": {
     "message": "Schermata successiva"
   },
   "tourPrevious": {
@@ -180,11 +174,11 @@
   },
   "termsAndPrivacyNoticeTermsLink": {
     "message": "condizioni di utilizzo"
   },
   "termsAndPrivacyNoticyPrivacyLink": {
     "message": "informativa sulla privacy"
   },
   "libraryLabel": {
-    "message": "Schermate"
+    "message": "Screenshot"
   }
 }
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/ja/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ja/messages.json
--- a/browser/extensions/screenshots/_locales/ja/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ja/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "ショットがクリップボードへコピーされました。$META_KEY$+V キーで貼り付けられます。",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "保存される画像は高さ $PIXELS$px で切り落とされます。",
+  "imageCroppedWarning": {
+    "message": "この画像は $PIXELS$px にトリミングされました。",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "問題が発生しました。"
rename from browser/extensions/screenshots/_locales/ka/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ka/messages.json
--- a/browser/extensions/screenshots/_locales/ka/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ka/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "თქვენი სურათი დაკოპირებულია. ჩასმისთვის დააწექით $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "შენახული სურათები მოიჭრება $PIXELS$px სიმაღლით.",
+  "imageCroppedWarning": {
+    "message": "სურათი მოიჭრა $PIXELS$ პიქსელამდე.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "გაფუჭებულია."
@@ -144,22 +144,16 @@
     "message": "მარჯვენა ზედა კუთხეში არსებული ღილაკების საშუალებით, შეგიძლიათ გადაუღოთ სურათი ხილულ ნაწილს ან მთლიან გვერდს."
   },
   "tourHeaderDownloadUpload": {
     "message": "როგორც გენებოთ"
   },
   "tourBodyDownloadUpload": {
     "message": "ამოჭრილი სურათები შეგიძლიათ განათავსოთ ინტერნეტში, მარტივად გასაზიარებლად, ან ჩამოტვირთოთ კომპიუტერში. ასევე, „ჩემი გადაღებულების“ ღილაკზე დაწკაპებით, იხილავთ თქვენ მიერ გადაღებულ ყველა სურათს."
   },
-  "tourHeaderAccounts": {
-    "message": "თან წაიყოლეთ Screenshots"
-  },
-  "tourBodyAccounts": {
-    "message": "შედით Firefox-ანგარიშზე თქვენს გადაღებულ სურათებთან წვდომის მისაღებად ყველა თქვენი მოწყობილობიდან და სასურველი სურათების სამუდამოდ შესანახად."
-  },
   "tourSkip": {
     "message": "გამოტოვება"
   },
   "tourNext": {
     "message": "შემდეგი"
   },
   "tourPrevious": {
     "message": "წინა"
rename from browser/extensions/screenshots/_locales/kab/messages.json
rename to browser/extensions/screenshots/webextension/_locales/kab/messages.json
--- a/browser/extensions/screenshots/_locales/kab/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/kab/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tuṭṭfa-inek tettwanγel yer ufus. Senned yef $META_KEY$-V akken ad tsenṭḍeḍ.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Tugna yettwakelsen ad tuɣal ar $PIXELS$ px di teɣzi.",
+  "imageCroppedWarning": {
+    "message": "Tugna-agi tettwaẓreg ɣer $PIXELS$ ipiksilen.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Yeffeγ i talast."
@@ -144,22 +144,16 @@
     "message": "Fren tiqeffalin s afella ayeffus akken ad teṭṭfeḍ tamnaṭ yettbanen deg usfaylu neɣ asebter i meṛṛa."
   },
   "tourHeaderDownloadUpload": {
     "message": "Akken tebγiḍ"
   },
   "tourBodyDownloadUpload": {
     "message": "Sekles tuṭṭfiwin-ik ar Web i beṭṭu fessusen, neɣ sider-itent-id ar uselkim-ik. Tzemr€d daɣen ad tiseḍ ɣef tqeffalt Tiṭṭfiwin-iw akken ad tafeḍ akk tuṭṭfiwin n ugdil i teggid."
   },
-  "tourHeaderAccounts": {
-    "message": "Tuṭṭfiwin n wegdil ara yeddun"
-  },
-  "tourBodyAccounts": {
-    "message": "Jerred s umiḍan-ik n Firefox akken ad tkecmeḍ ɣer tuṭṭfiwin-inek deg ibenkan-ik meṛṛa  wa ad tkelseḍ tuṭṭfiwin-inek i tḥemleḍ i lebda."
-  },
   "tourSkip": {
     "message": "Zgel"
   },
   "tourNext": {
     "message": "Tigri n zdat"
   },
   "tourPrevious": {
     "message": "Tigri n deffir"
rename from browser/extensions/screenshots/_locales/kk/messages.json
rename to browser/extensions/screenshots/webextension/_locales/kk/messages.json
--- a/browser/extensions/screenshots/_locales/kk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/kk/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Сіздің скриншотыңыз алмасу буферіне көшірілді. Кірістіру үшін $META_KEY$-V басыңыз.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Сақталатын сурет биіктігі бойынша $PIXELS$ пиксельге дейін қиылады.",
+  "imageCroppedWarning": {
+    "message": "Бұл сурет $PIXELS$ пиксельге дейін қиылды.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Жұмыс істемейді."
@@ -144,22 +144,16 @@
     "message": "Жоғарғы оң жақта орналасқан батырмаларды терезенің көрінетін аймағын, немесе толық бетті түсіру үшін қолданыңыз."
   },
   "tourHeaderDownloadUpload": {
     "message": "Өзіңізге керек түрде"
   },
   "tourBodyDownloadUpload": {
     "message": "Қиылған скриншоттармен оңай бөлісу үшін оларды интернетте сақтауға, немесе сіздің компьютеріңізге жүктеп алуға болады. Сонымен қатар, сіз жасаған барлық скриншоттарды табу үшін Менің скриншоттарым батырмасына шерте аласыз."
   },
-  "tourHeaderAccounts": {
-    "message": "Ұстап жүретін скриншоттар"
-  },
-  "tourBodyAccounts": {
-    "message": "Барлық құрылғыларыңыздаға скриншоттарға қатынау және таңдамалы скриншоттарыңызды мәңгі сақтау үшін өз Firefox тіркелгіңізге кіріңіз."
-  },
   "tourSkip": {
     "message": "Аттап кету"
   },
   "tourNext": {
     "message": "Келесі слайд"
   },
   "tourPrevious": {
     "message": "Алдыңғы слайд"
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/km/messages.json
@@ -0,0 +1,5 @@
+{
+  "saveScreenshotSelectedArea": {
+    "message": "រក្សា​ទុក"
+  }
+}
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/kn/messages.json
rename to browser/extensions/screenshots/webextension/_locales/kn/messages.json
--- a/browser/extensions/screenshots/_locales/kn/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/kn/messages.json
@@ -1,24 +1,12 @@
 {
-  "myShotsLink": {
-    "message": "ನನ್ನ ಫೋಟೋಗಳು‍"
-  },
   "saveScreenshotSelectedArea": {
     "message": "ಉಳಿಸು"
   },
-  "cancelScreenshot": {
-    "message": "ರದ್ದುಗೊಳಿಸು"
-  },
-  "downloadScreenshot": {
-    "message": "ಡೌನ್‌ಲೋಡ್"
-  },
-  "copyScreenshot": {
-    "message": "ನಕಲಿಸು"
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourDone": {
     "message": "ಆಯಿತು"
   },
   "termsAndPrivacyNoticeTermsLink": {
     "message": "ನಿಯಮಗಳು"
rename from browser/extensions/screenshots/_locales/ko/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ko/messages.json
--- a/browser/extensions/screenshots/_locales/ko/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ko/messages.json
@@ -71,17 +71,22 @@
     "message": "스크린샷이 클립보드에 복사되었습니다. 붙여넣으려면 $META_KEY$-V를 누르세요.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "imageCroppedWarning": {
-    "message": "이 이미지는 {pixels}px로 잘렸습니다."
+    "message": "이 이미지는 $PIXELS$px로 잘렸습니다.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
   },
   "requestErrorTitle": {
     "message": "문제가 발생했습니다."
   },
   "requestErrorDetails": {
     "message": "죄송합니다. 스크린샷을 저장하지 못했습니다. 잠시 후에 다시 시도해주세요."
   },
   "connectionErrorTitle": {
rename from browser/extensions/screenshots/_locales/lij/messages.json
rename to browser/extensions/screenshots/webextension/_locales/lij/messages.json
rename from browser/extensions/screenshots/_locales/lo/messages.json
rename to browser/extensions/screenshots/webextension/_locales/lo/messages.json
rename from browser/extensions/screenshots/_locales/lt/messages.json
rename to browser/extensions/screenshots/webextension/_locales/lt/messages.json
--- a/browser/extensions/screenshots/_locales/lt/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/lt/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Jūsų nuotrauka nukopijuota į iškarpinę. Spustelėkite $META_KEY$-V, norėdami įdėti.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Įrašytas paveikslas bus apkirptas iki $PIXELS$ taškų aukščio.",
+  "imageCroppedWarning": {
+    "message": "Ši nuotrauka buvo apkirpta iki $PIXELS$ taškų.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Neveikia."
@@ -144,22 +144,16 @@
     "message": "Pasirinkite mygtukus aukščiau dešinėje, norėdami užfiksuoti matomą lango dalį arba visą tinklalapį."
   },
   "tourHeaderDownloadUpload": {
     "message": "Kaip jums patogiau"
   },
   "tourBodyDownloadUpload": {
     "message": "Įrašykite padarytas nuotraukas saityne patogesniam dalinimuisi, arba atsisiųskite jas į savo kompiuterį. Spustelėję mygtuką „Mano nuotraukos“, matysite visas savo padarytas nuotraukas."
   },
-  "tourHeaderAccounts": {
-    "message": "Nuotraukos visur"
-  },
-  "tourBodyAccounts": {
-    "message": "Prisijungę su savo „Firefox“ paskyra, nuotraukas galėsite pasiekti visuose savo įrenginiuose, ir visam laikui įrašyti patinkančias."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Kita skaidrė"
   },
   "tourPrevious": {
     "message": "Buvusi skaidrė"
@@ -174,17 +168,17 @@
         "content": "$1"
       },
       "termsandprivacynoticeprivacylink": {
         "content": "$2"
       }
     }
   },
   "termsAndPrivacyNoticeTermsLink": {
-    "message": "Sąlygomis"
+    "message": "sąlygomis"
   },
   "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "Privatumo pranešimu"
+    "message": "privatumo nuostatais"
   },
   "libraryLabel": {
     "message": "Ekrano nuotraukos"
   }
 }
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/mai/messages.json
rename to browser/extensions/screenshots/webextension/_locales/mai/messages.json
--- a/browser/extensions/screenshots/_locales/mai/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/mai/messages.json
@@ -68,17 +68,22 @@
     "message": "अहाँक शॉट क्लिपबोर्ड पर नकल कएल गेल. साटबाक लेल $META_KEY$ दाबू.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "imageCroppedWarning": {
-    "message": "ई छवि केँ {pixels}px छोट बनाएल गेल."
+    "message": "ई छवि केँ $PIXELS$px छोट बनाएल गेल.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
   },
   "requestErrorTitle": {
     "message": "कार्यरत नहि अछि."
   },
   "requestErrorDetails": {
     "message": "माफ करू! हम अहाँक शॉट नहि सहेज सकलहुँ. कृपया बाद मे फेन प्रयास करू."
   },
   "connectionErrorTitle": {
rename from browser/extensions/screenshots/_locales/mk/messages.json
rename to browser/extensions/screenshots/webextension/_locales/mk/messages.json
--- a/browser/extensions/screenshots/_locales/mk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/mk/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Вашата слика беше ископирана во меморија. Притиснете $META_KEY$-V за да ја вметнете.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Снимените слики ќе бидат пресечени на висина од $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Оваа слика е скратена до $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Не работи."
rename from browser/extensions/screenshots/_locales/ml/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ml/messages.json
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/mn/messages.json
@@ -0,0 +1,5 @@
+{
+  "addonDescription": {
+    "message": "Вэбээс авсан клип болон дэлгэцийн зургийг аваад тэдгээрийг түр эсвэл бүрмөсөн хадгал."
+  }
+}
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/mr/messages.json
rename to browser/extensions/screenshots/webextension/_locales/mr/messages.json
--- a/browser/extensions/screenshots/_locales/mr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/mr/messages.json
@@ -24,70 +24,27 @@
     "message": "संपूर्ण पृष्ठ साठवा"
   },
   "cancelScreenshot": {
     "message": "रद्द करा"
   },
   "downloadScreenshot": {
     "message": "डाउनलोड करा"
   },
-  "downloadOnlyNotice": {
-    "message": "आपण सध्या केवळ-डाउनलोड मोडमध्ये आहात."
-  },
-  "downloadOnlyDetails": {
-    "message": "या स्थितींमध्ये Firefox स्क्रीनशॉट आपोआप फक्त-डाउनलोड या मोड वर बदलते:"
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "खाजगी ब्राउझिंग विंडोमध्ये."
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "तृतीय-पक्षाच्या कुकीज निष्क्रीय आहेत."
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "“इतिहास कधीच लक्षात ठेवु नका” कार्यान्वित आहे."
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "आपण Firefox ESR वापरात आहात."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "अपलोड निष्क्रिय आहेत."
-  },
   "notificationLinkCopiedTitle": {
     "message": "दुवा कॉपी केला"
   },
   "notificationLinkCopiedDetails": {
     "message": "आपल्या शॉटचा दुवा क्लिपबोर्डवर कॉपी झाला आहे. चिटकवण्यासाठी $META_KEY$ -V दाबा.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "copyScreenshot": {
-    "message": "प्रत बनवा"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "शॉट प्रतिकृत केला"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "आपला शॉट क्लिपबोर्डवर कॉपी झाला आहे. चिटकवण्यासाठी $META_KEY$ -V दाबा.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCropPopupWarning": {
-    "message": "साठवलेल्या प्रतिमा $PIXELS$px उंचीला कापल्या जातील.",
-    "placeholders": {
-      "pixels": {
-        "content": "$1"
-      }
-    }
-  },
   "requestErrorTitle": {
     "message": "नादुरुस्त."
   },
   "requestErrorDetails": {
     "message": "क्षमस्व! आम्ही आपला शॉट साठवु शकलो नाही. कृपया नंतर प्रयत्न करा."
   },
   "connectionErrorTitle": {
     "message": "आम्ही आपल्या स्क्रीनशॉटशी जोडणी करु शकत नाही."
@@ -120,22 +77,16 @@
     "message": "हुअ! Firefox स्क्रीनशॉट अव्यवस्थित झाले आहे."
   },
   "genericErrorDetails": {
     "message": "काय घडले याची आम्हाला खात्री नाही. पुन्हा प्रयत्न करा किंवा भिन्न पृष्ठाचा शॉट घ्या?"
   },
   "tourBodyIntro": {
     "message": "Firefox न सोडता स्क्रीनशॉट घ्या, जतन करा आणि सामायिक करा."
   },
-  "tourHeaderPageAction": {
-    "message": "जतन करण्याचा एक नवीन मार्ग"
-  },
-  "tourBodyPageAction": {
-    "message": "जेव्हा आपल्याला स्क्रीनशॉट घ्यायचा असेल तेव्हा पत्ता पट्टीवरील पृष्ठ क्रिया मेनू वाढवा."
-  },
   "tourHeaderClickAndDrag": {
     "message": "आपल्याला पाहिजे असलेल्या गोष्टी फक्त कॅप्चर करा"
   },
   "tourBodyClickAndDrag": {
     "message": "पृष्ठाचा फक्त एक भाग कॅप्चर करण्यासाठी क्लिक आणि ड्रॅग करा. आपण आपल्या निवडीवर ठळकपणे होव्हर देखील करू शकता."
   },
   "tourHeaderFullPage": {
     "message": "Windows किंवा संपूर्ण पृष्ठे कॅप्चर करा"
rename from browser/extensions/screenshots/_locales/ms/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ms/messages.json
--- a/browser/extensions/screenshots/_locales/ms/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ms/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Syot anda telah disalin ke klipbod. Tekan $META_KEY$-V untuk tampal.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Ketinggian imej yang disimpan akan dipangkas ke $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Imej ini akan dipangkas menjadi $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Tidak berfungsi."
@@ -144,22 +144,16 @@
     "message": "Pilih butang di bahagian atas kanan untuk merakam kawasan paparan dalam tetingkap atau untuk merakamkan keseluruhan halaman."
   },
   "tourHeaderDownloadUpload": {
     "message": "Seperti Yang Anda Suka"
   },
   "tourBodyDownloadUpload": {
     "message": "Simpan rakaman yang dipotong ke Web, cara yang lebih mudah untuk berkongsi, atau memuat turun ke komputer anda. Anda juga boleh klik pada butang Syot Saya untuk mencari semua rakaman yang telah dibuat."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "Daftar masuk dengan Akaun Firefox untuk mengakses semua syot dalam semua peranti dan simpan syot kegemaran anda selama-lamanya."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Slaid Seterusnya"
   },
   "tourPrevious": {
     "message": "Slaid Dahulu"
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/my/messages.json
@@ -0,0 +1,74 @@
+{
+  "addonDescription": {
+    "message": "ဝဘ်ထံမှ ဓါတ်ပုံများနှင့် မျက်နှာပြင်ပုံဖမ်းချက်များကို ရိုက်ယူပြီး ယာယီ သို့မဟုတ် အမြဲတမ်းသိုလှောင်ရာတွင် သိမ်းဆည်းပါ။"
+  },
+  "addonAuthorsList": {
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "မျက်နှာပြင်ပုံရိပ် ဖမ်းယူပါ"
+  },
+  "myShotsLink": {
+    "message": "ရိုက်ကူးထားသော ပုံများ"
+  },
+  "saveScreenshotSelectedArea": {
+    "message": "သိမ်းရန်"
+  },
+  "saveScreenshotVisibleArea": {
+    "message": "မြင်ရသည်များကို သိမ်းပါ"
+  },
+  "saveScreenshotFullPage": {
+    "message": "စာမျက်နှာတစ်ခုလုံးကို သိမ်းပါ"
+  },
+  "cancelScreenshot": {
+    "message": "မဆောင်ရွက်တော့ပါ"
+  },
+  "downloadScreenshot": {
+    "message": "ဆွဲယူရန်"
+  },
+  "notificationLinkCopiedTitle": {
+    "message": "လင့်ခ်ကို ကူယူပြီး"
+  },
+  "requestErrorTitle": {
+    "message": "ပျက်နေသည်"
+  },
+  "requestErrorDetails": {
+    "message": "စိတ်မကောင်းပါ၊ သင်ရိုက်ကူးထားသော ပုံကို မသိမ်းနိုင်ပါ။ နောင်တွင် ပြန်စမ်းကြည့်ပါ။"
+  },
+  "connectionErrorTitle": {
+    "message": "သင်ရိုက်ကူးထားသော မျက်နှာပြင်ပုံရိပ်များထံ မချိတ်ဆက်နိုင်ပါ။"
+  },
+  "unshootablePageErrorTitle": {
+    "message": "ဒီစာမျက်နှာ၏ မျက်နှာပြင်ပုံရိပ်ကို မရိုက်ကူးနိုင်ပါ။"
+  },
+  "tourBodyIntro": {
+    "message": "Firefox ကနေ ထွက်ခွာရန် မလိုဘဲ မျက်နှာပြင်ပုံရိပ်များကို ရိုက်ကူး၊ သိမ်းဆည်း၊ မျှဝေပါ။"
+  },
+  "tourHeaderClickAndDrag": {
+    "message": "ကိုယ်နှစ်သက်ရာ စာမျက်နှာများကို ဖမ်းယူပါ"
+  },
+  "tourHeaderFullPage": {
+    "message": "ဝင်ဒိုးများ သို့မဟုတ် စာမျက်နှာတစ်ခုလုံးကို ဖမ်းယူပါ"
+  },
+  "tourHeaderDownloadUpload": {
+    "message": "နှစ်သက်သလို"
+  },
+  "tourSkip": {
+    "message": "SKIP"
+  },
+  "tourNext": {
+    "message": "နောက်ဆလိုက်"
+  },
+  "tourPrevious": {
+    "message": "အရင်ကဆလိုက်"
+  },
+  "tourDone": {
+    "message": "ပြီးပြီ"
+  },
+  "termsAndPrivacyNoticeTermsLink": {
+    "message": "စကားရပ်များ"
+  },
+  "termsAndPrivacyNoticyPrivacyLink": {
+    "message": "ကိုယ်ရေးကာကွယ်မှု သတိပေးချက်"
+  }
+}
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/nb_NO/messages.json
rename to browser/extensions/screenshots/webextension/_locales/nb_NO/messages.json
--- a/browser/extensions/screenshots/_locales/nb_NO/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/nb_NO/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Bildet ditt er kopiert til utklippstavlen. Trykk på $META_KEY$-V for å lime det inn.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Det lagrede bildet vil bli beskåret til $PIXELS$px i høyden.",
+  "imageCroppedWarning": {
+    "message": "Dette bildet har blitt beskåret til $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "I ustand."
@@ -144,22 +144,16 @@
     "message": "Bruk knappene i det øvre høyre hjørnet for å ta skjermbilde av det synlige området i vinduet eller for å ta skjermbilde av en hel side."
   },
   "tourHeaderDownloadUpload": {
     "message": "Som du vil ha det"
   },
   "tourBodyDownloadUpload": {
     "message": "Lagre de beskjærte skjermbildene dine på nettet for enklere deling, eller last de ned til din datamaskin. Du kan også klikke på knappen Mine skjermbilde for å finne alle skjermbildene du har tatt."
   },
-  "tourHeaderAccounts": {
-    "message": "Skjermbilder til å ta med"
-  },
-  "tourBodyAccounts": {
-    "message": "Logg på med din Firefox-konto for å få tilgang til bildene dine på alle enhetene dine og lagre favorittbildene dine for alltid."
-  },
   "tourSkip": {
     "message": "Hopp over"
   },
   "tourNext": {
     "message": "Neste slide"
   },
   "tourPrevious": {
     "message": "Forrige slide"
rename from browser/extensions/screenshots/_locales/ne_NP/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ne_NP/messages.json
rename from browser/extensions/screenshots/_locales/nl/messages.json
rename to browser/extensions/screenshots/webextension/_locales/nl/messages.json
--- a/browser/extensions/screenshots/_locales/nl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/nl/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Uw afbeelding is naar het klembord gekopieerd. Druk op $META_KEY$-V om te plakken.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Opgeslagen afbeelding wordt naar $PIXELS$px in hoogte bijgesneden.",
+  "imageCroppedWarning": {
+    "message": "Deze afbeelding is bijgesneden naar $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Buiten werking."
@@ -94,17 +94,17 @@
   },
   "connectionErrorDetails": {
     "message": "Controleer uw internetverbinding. Als u verbinding met het internet kunt maken, kan er sprake zijn van een tijdelijk probleem met de Firefox Screenshots-service."
   },
   "loginErrorDetails": {
     "message": "Uw afbeelding kon niet worden opgeslagen, omdat er een probleem is met de Firefox Screenshots-service. Probeer het later opnieuw."
   },
   "unshootablePageErrorTitle": {
-    "message": "Een schermafbeelding van deze pagina is niet mogelijk."
+    "message": "Van deze pagina kan geen schermafbeelding worden gemaakt."
   },
   "unshootablePageErrorDetails": {
     "message": "Dit is geen standaardwebpagina, dus u kunt er geen schermafbeelding van maken."
   },
   "selfScreenshotErrorTitle": {
     "message": "U kunt geen afbeelding van een Firefox Screenshots-pagina maken!"
   },
   "emptySelectionErrorTitle": {
@@ -144,22 +144,16 @@
     "message": "Selecteer de knoppen rechtsboven om het zichtbare gebied in het venster vast te leggen, of om een hele pagina vast te leggen."
   },
   "tourHeaderDownloadUpload": {
     "message": "Zoals u wilt"
   },
   "tourBodyDownloadUpload": {
     "message": "Bewaar uw bijgesneden afbeeldingen op het web voor makkelijker delen, of download ze naar uw computer. U kunt ook op de knop Mijn afbeeldingen klikken om al uw gemaakte afbeeldingen te vinden."
   },
-  "tourHeaderAccounts": {
-    "message": "Schermafbeeldingen om mee te nemen"
-  },
-  "tourBodyAccounts": {
-    "message": "Meld u aan met uw Firefox-account om uw afbeeldingen op al uw apparaten te bekijken en uw favoriete afbeeldingen voor altijd te bewaren."
-  },
   "tourSkip": {
     "message": "Overslaan"
   },
   "tourNext": {
     "message": "Volgende slide"
   },
   "tourPrevious": {
     "message": "Vorige slide"
rename from browser/extensions/screenshots/_locales/nn_NO/messages.json
rename to browser/extensions/screenshots/webextension/_locales/nn_NO/messages.json
--- a/browser/extensions/screenshots/_locales/nn_NO/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/nn_NO/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Bildet ditt er kopiert til utklippstavla. Trykk på $META_KEY$-V for å lime det inn.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Lagra bilde vil bli skore til, til dei er $PIXELS$px i høgda.",
+  "imageCroppedWarning": {
+    "message": "Dette bildet har vorte skore til til $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "I ustand."
@@ -142,23 +142,17 @@
   },
   "tourBodyFullPage": {
     "message": "Vel knappane i det øvre høgre hjørnet for å knipse det synlege området i vindauget eller for å knipse ei heil side."
   },
   "tourHeaderDownloadUpload": {
     "message": "Som du vil ha det"
   },
   "tourBodyDownloadUpload": {
-    "message": "Lagre dei tilskorne bilda dine på nettet for enklare deling, eller last dei ned til datamaskina di. Du kan også klikke på knappen Mine skjermbilde for å finne alle bilda du har tatt."
-  },
-  "tourHeaderAccounts": {
-    "message": "Skjermbilde til å ta med"
-  },
-  "tourBodyAccounts": {
-    "message": "Logg på med Firefox-kontoen din for å få tilgang til bilda dine på alle einingane dine og lagre favorittbilda dine for alltid."
+    "message": "Lagre dei tilskjerte bilda dine på nettet for enklare deling, eller last dei ned til datamaskina di. Du kan også klikke på knappen Mine skjermbilde for å finne alle bilda du har tatt."
   },
   "tourSkip": {
     "message": "Hopp over"
   },
   "tourNext": {
     "message": "Neste slide"
   },
   "tourPrevious": {
rename from browser/extensions/screenshots/_locales/pa_IN/messages.json
rename to browser/extensions/screenshots/webextension/_locales/pa_IN/messages.json
--- a/browser/extensions/screenshots/_locales/pa_IN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pa_IN/messages.json
@@ -92,18 +92,12 @@
     "message": "ਅਗਲੀ ਸਲਾਈਡ"
   },
   "tourPrevious": {
     "message": "ਪਿਛਲੀ ਸਲਾਈਡ"
   },
   "tourDone": {
     "message": "ਮੁਕੰਮਲ"
   },
-  "termsAndPrivacyNoticeTermsLink": {
-    "message": "ਸ਼ਰਤਾਂ"
-  },
   "termsAndPrivacyNoticyPrivacyLink": {
     "message": "ਨਿੱਜੀ ਨੋਟਿਸ"
-  },
-  "libraryLabel": {
-    "message": "ਸਕਰੀਨਸ਼ਾੱਟ"
   }
 }
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/pl/messages.json
rename to browser/extensions/screenshots/webextension/_locales/pl/messages.json
--- a/browser/extensions/screenshots/_locales/pl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pl/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Zrzut został skopiowany do schowka. Naciśnij $META_KEY$-V, aby go wkleić.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Zapisany obraz zostanie przycięty do $PIXELS$ px wysokości.",
+  "imageCroppedWarning": {
+    "message": "Ten obraz został przycięty do $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Awaria."
@@ -144,22 +144,16 @@
     "message": "Kliknij przycisk w górnym prawym rogu, aby zapisać obszar widoczny w oknie lub całą stronę."
   },
   "tourHeaderDownloadUpload": {
     "message": "Tak, jak lubisz"
   },
   "tourBodyDownloadUpload": {
     "message": "Zapisuj przycięte zrzuty w Internecie, aby łatwiej je udostępniać, albo pobierz je na swój komputer. Możesz też kliknąć przycisk „Moje zrzuty”, aby przeglądać wszystkie wykonane zrzuty."
   },
-  "tourHeaderAccounts": {
-    "message": "Zrzuty ekranu na wynos"
-  },
-  "tourBodyAccounts": {
-    "message": "Zaloguj się na konto Firefoksa, aby mieć dostęp do swoich zrzutów na wszystkich urządzeniach i zachować ulubione na zawsze."
-  },
   "tourSkip": {
     "message": "Pomiń"
   },
   "tourNext": {
     "message": "Dalej"
   },
   "tourPrevious": {
     "message": "Wstecz"
rename from browser/extensions/screenshots/_locales/pt_BR/messages.json
rename to browser/extensions/screenshots/webextension/_locales/pt_BR/messages.json
--- a/browser/extensions/screenshots/_locales/pt_BR/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pt_BR/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Sua captura de tela foi copiada para a área de transferência. Pressione $META_KEY$-V para colar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "As imagens salvas serão cortadas em $PIXELS$px de altura.",
+  "imageCroppedWarning": {
+    "message": "Esta imagem foi recortada para $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Oops! Fora do ar."
rename from browser/extensions/screenshots/_locales/pt_PT/messages.json
rename to browser/extensions/screenshots/webextension/_locales/pt_PT/messages.json
--- a/browser/extensions/screenshots/_locales/pt_PT/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pt_PT/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "A sua captura foi copiada para a área de transferência. Pressione $META_KEY$-V para colar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "A imagem guardada será recortada para $PIXELS$px de altura.",
+  "imageCroppedWarning": {
+    "message": "Esta imagem foi recortada para $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Fora de serviço."
@@ -144,19 +144,16 @@
     "message": "Selecione os botões no canto superior direito para capturar a área visível na janela ou para capturar uma página inteira."
   },
   "tourHeaderDownloadUpload": {
     "message": "Como você gosta"
   },
   "tourBodyDownloadUpload": {
     "message": "Guarde as suas capturas na web para partilhar mais facilmente ou transfira-as para o seu computador. Pode também clicar no botão Minhas capturas para encontrar todas as capturas que tirou."
   },
-  "tourBodyAccounts": {
-    "message": "Inicie sessão com a sua Conta Firefox para aceder às suas capturas em todos os seus dispositivos e guardar as suas capturas favoritas para sempre."
-  },
   "tourSkip": {
     "message": "SALTAR"
   },
   "tourNext": {
     "message": "Diapositivo seguinte"
   },
   "tourPrevious": {
     "message": "Diapositivo anterior"
rename from browser/extensions/screenshots/_locales/rm/messages.json
rename to browser/extensions/screenshots/webextension/_locales/rm/messages.json
--- a/browser/extensions/screenshots/_locales/rm/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/rm/messages.json
@@ -39,22 +39,16 @@
     "message": "Sche ti navigheschas en il modus privat."
   },
   "downloadOnlyDetailsThirdParty": {
     "message": "Sche cookies da terzs èn deactivads."
   },
   "downloadOnlyDetailsNeverRemember": {
     "message": "Sche l'opziun «Mai memorisar la cronologia» è activada."
   },
-  "downloadOnlyDetailsESR": {
-    "message": "Ti utiliseschas Firefox ESR."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "La transmissiun da datotecas è deactivada."
-  },
   "notificationLinkCopiedTitle": {
     "message": "Copià la colliaziun"
   },
   "notificationLinkCopiedDetails": {
     "message": "La colliaziun tar tes maletg da visur è vegnida copiada en l'archiv provisoric. Smatga $META_KEY$-V per l'encollar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
@@ -70,18 +64,18 @@
   "notificationImageCopiedDetails": {
     "message": "Tes maletg dal visur è vegnì copià en l'archiv provisoric. Smatga $META_KEY$-V per l'encollar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Il maletg memorisà vegn retaglià ad ina autezza da $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Quest maletg è vegnì retaglià a $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ord funcziun."
rename from browser/extensions/screenshots/_locales/ro/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ro/messages.json
--- a/browser/extensions/screenshots/_locales/ro/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ro/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Captura a fost copiată în clipboard. Apasă $META_KEY$-V pentru a lipi.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Imaginea salvată va fi decupată la înălțimea de $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Imaginea a fost decupată la $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Nefuncțional."
@@ -144,22 +144,16 @@
     "message": "Selectează butoanele din partea dreaptă sus pentru a captura zona vizibilă din fereastră sau pentru a captura o pagină întreagă."
   },
   "tourHeaderDownloadUpload": {
     "message": "Pe placul tău"
   },
   "tourBodyDownloadUpload": {
     "message": "Salvează capturile decupate pe web pentru a le împărtăși mai ușor, sau descarcă-le pe calculator. Mai poți face clic pe butonul My Shots (capturile mele) pentru a găsi toate capturile luate."
   },
-  "tourHeaderAccounts": {
-    "message": "Capturi de ecran de luat cu tine"
-  },
-  "tourBodyAccounts": {
-    "message": "Autentifică-te în contul Firefox pentru accesarea capturilor de pe toate dispozitivele și salvează definitiv capturile favorite."
-  },
   "tourSkip": {
     "message": "OMITE"
   },
   "tourNext": {
     "message": "Diapozitivul următor"
   },
   "tourPrevious": {
     "message": "Diapozitivul anterior"
rename from browser/extensions/screenshots/_locales/ru/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ru/messages.json
--- a/browser/extensions/screenshots/_locales/ru/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ru/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Ваш снимок был скопирован в буфер обмена. Нажмите $META_KEY$-V для его вставки.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Сохранённое изображение будет обрезано до $PIXELS$ пикселей в высоту.",
+  "imageCroppedWarning": {
+    "message": "Это изображение было обрезано до $PIXELS$ пикселей.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Произошла ошибка."
@@ -144,22 +144,16 @@
     "message": "С помощью кнопок в верхнем правом углу выбирайте захват видимой области окна или страницы целиком."
   },
   "tourHeaderDownloadUpload": {
     "message": "Как вам нравится"
   },
   "tourBodyDownloadUpload": {
     "message": "Сохраняйте свои снимки в Интернете, чтобы легко ими делиться, или загружайте их на свой компьютер. Вы также можете просмотреть все сохранённые снимки, нажав на кнопку Мои снимки."
   },
-  "tourHeaderAccounts": {
-    "message": "Скриншоты на ходу"
-  },
-  "tourBodyAccounts": {
-    "message": "Войдите в свой Аккаунт Firefox, чтобы получить доступ к вашим снимкам на всех ваших устройствах и сохраняйте любимые вами навсегда."
-  },
   "tourSkip": {
     "message": "Пропустить"
   },
   "tourNext": {
     "message": "Следующий слайд"
   },
   "tourPrevious": {
     "message": "Предыдущий слайд"
rename from browser/extensions/screenshots/_locales/sk/messages.json
rename to browser/extensions/screenshots/webextension/_locales/sk/messages.json
--- a/browser/extensions/screenshots/_locales/sk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sk/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Vaša snímka bola skopírovaná do schránky. Stlačením $META_KEY$-V ju prilepíte.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Uložený obrázok bude orezaný na výšku $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Tento obrázok bol orezaný na $PIXELS$ px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Mimo prevádzky."
@@ -144,22 +144,16 @@
     "message": "Kliknutím na tlačidlo v pravom hornom rohu môžete zachytiť viditeľnú časť stránky. Pomocou ďalšieho tlačidla zachytíte celú stránku."
   },
   "tourHeaderDownloadUpload": {
     "message": "Urobte to, čo chcete"
   },
   "tourBodyDownloadUpload": {
     "message": "Uložte si orezanú snímku na web, aby ste ju mohli ľahšie zdieľať alebo si ju prevziať do počítača. Môžete si taktiež pozrieť všetky vaše snímky - stačí, ak kliknete na tlačidlo Moje snímky."
   },
-  "tourHeaderAccounts": {
-    "message": "Snímky stránok vždy so sebou"
-  },
-  "tourBodyAccounts": {
-    "message": "Prihláste sa so svojím účtom Firefox a majte prístup ku všetkým svojich snímkam zo všetkých vašich zariadení."
-  },
   "tourSkip": {
     "message": "Preskočiť"
   },
   "tourNext": {
     "message": "Ďalšia snímka"
   },
   "tourPrevious": {
     "message": "Predchádzajúca snímka"
rename from browser/extensions/screenshots/_locales/sl/messages.json
rename to browser/extensions/screenshots/webextension/_locales/sl/messages.json
--- a/browser/extensions/screenshots/_locales/sl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sl/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Posnetek zaslona je bil kopiran na odložišče. Pritisnite $META_KEY$-V, da ga prilepite.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Shranjena slika bo obrezana na $PIXELS$ pik v višino.",
+  "imageCroppedWarning": {
+    "message": "Ta slika je bila obrezana na $PIXELS$ pikslov.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ne dela."
@@ -144,22 +144,16 @@
     "message": "V zgornjem desnem kotu izberite gumb za zajem vidnega območja v oknu ali celotne strani."
   },
   "tourHeaderDownloadUpload": {
     "message": "Kot vi želite"
   },
   "tourBodyDownloadUpload": {
     "message": "Shranite obrezane posnetke na splet za lažje deljenje ali jih prenesite na svoj računalnik. Vse zajete posnetke lahko najdete s klikom na gumb Moji posnetki."
   },
-  "tourHeaderAccounts": {
-    "message": "Posnetki za na pot"
-  },
-  "tourBodyAccounts": {
-    "message": "Prijavite se s Firefox Računom za dostop do posnetkov na vseh svojih napravah in trajno shranjevanje priljubljenih posnetkov."
-  },
   "tourSkip": {
     "message": "Preskoči"
   },
   "tourNext": {
     "message": "Naslednji diapozitiv"
   },
   "tourPrevious": {
     "message": "Prejšnji diapozitiv"
rename from browser/extensions/screenshots/_locales/sq/messages.json
rename to browser/extensions/screenshots/webextension/_locales/sq/messages.json
--- a/browser/extensions/screenshots/_locales/sq/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sq/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Fotoja juaj u kopjua në të papastër. Për ta ngjitur diku, shtypni $META_KEY$-V.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Figura e ruajtur do të qethet në lartësinë $PIXELS$px.",
+  "imageCroppedWarning": {
+    "message": "Kjo figurë është qethur në $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "S’ka gjendje."
@@ -144,22 +144,16 @@
     "message": "Përzgjidhni butonat në cepin e sipërm djathtas që të fotografoni zonën e dukshme te dritarja ose një faqe të tërë."
   },
   "tourHeaderDownloadUpload": {
     "message": "Si T’ju Pëlqejë"
   },
   "tourBodyDownloadUpload": {
     "message": "Ruajini fotot tuaja në web, për ndarje më të lehtë me të tjerët, ose shkarkojini në kompjuterin tuaj. Mund edhe të klikoni te butoni Shkrepjet e Mia që të gjeni krejt shkrepjet që keni bërë."
   },
-  "tourHeaderAccounts": {
-    "message": "Foto ekrani Kudo Me Vete"
-  },
-  "tourBodyAccounts": {
-    "message": "Hyni në Llogarinë tuaj Firefox që të përdorni shkrepjet tuaja në krejt pajisjet tuaja dhe t’i ruani shkrepjet e parapëlqyera përgjithmonë."
-  },
   "tourSkip": {
     "message": "ANASHKALOJE"
   },
   "tourNext": {
     "message": "Diapozitivi Pasues"
   },
   "tourPrevious": {
     "message": "Diapozitivi i Mëparshëm"
rename from browser/extensions/screenshots/_locales/sr/messages.json
rename to browser/extensions/screenshots/webextension/_locales/sr/messages.json
--- a/browser/extensions/screenshots/_locales/sr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sr/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Ваш снимак је копиран. Притисните $META_KEY$-V да налепите.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Сачуване слике ће бити исечене на $PIXELS$px у висину.",
+  "imageCroppedWarning": {
+    "message": "Слика је исечена на $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Не ради."
rename from browser/extensions/screenshots/_locales/sv_SE/messages.json
rename to browser/extensions/screenshots/webextension/_locales/sv_SE/messages.json
--- a/browser/extensions/screenshots/_locales/sv_SE/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sv_SE/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Din bild har kopierats till urklipp. Tryck på $META_KEY$-V för att klistra in.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Den sparade bilden kommer att beskäras till $PIXELS$ pixlar i höjd.",
+  "imageCroppedWarning": {
+    "message": "Den här bilden har beskurits till $PIXELS$px.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Ur funktion."
@@ -144,22 +144,16 @@
     "message": "Välj knapparna i det övre högra hörnet för att fånga det synliga området i fönstret eller för att fånga en hel sida."
   },
   "tourHeaderDownloadUpload": {
     "message": "Som du vill ha det"
   },
   "tourBodyDownloadUpload": {
     "message": "Spara dina beskurna bilder till webben för enklare delning, eller hämta dem till datorn. Du kan också klicka på knappen Mina skärmbilder för att hitta alla bilder du tagit."
   },
-  "tourHeaderAccounts": {
-    "message": "Skärmbilder att ta med"
-  },
-  "tourBodyAccounts": {
-    "message": "Logga in med ditt Firefox-konto för att komma åt dina bilder på alla dina enheter och spara dina favoritbilder för alltid."
-  },
   "tourSkip": {
     "message": "Hoppa över"
   },
   "tourNext": {
     "message": "Nästa sida"
   },
   "tourPrevious": {
     "message": "Föregående sida"
rename from browser/extensions/screenshots/_locales/ta/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ta/messages.json
--- a/browser/extensions/screenshots/_locales/ta/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ta/messages.json
@@ -24,65 +24,27 @@
     "message": "முழு பக்கத்தைச் சேமி"
   },
   "cancelScreenshot": {
     "message": "இரத்து"
   },
   "downloadScreenshot": {
     "message": "பதிவிறக்கு"
   },
-  "downloadOnlyNotice": {
-    "message": "நீங்கள் தற்போது பதிவிறக்க முறையில் உள்ளீர்கள்."
-  },
-  "downloadOnlyDetails": {
-    "message": "இந்த சூழ்நிலைகளில் பயர்பாக்சு திரைப்பிடிப்பு தானாகவே பதிவிறக்க-முறைக்கு மாறும்:"
-  },
-  "downloadOnlyDetailsPrivate": {
-    "message": "அந்தரங்க உலாவல் சாளரத்தில்."
-  },
-  "downloadOnlyDetailsThirdParty": {
-    "message": "மூன்றாம் தரப்பு நினைவிகள் முடக்கப்பட்டுள்ளன."
-  },
-  "downloadOnlyDetailsNeverRemember": {
-    "message": "“வரலாற்றை ஒருபோதும் நினைவு கொள்ளாதே” செயல்படுத்தப்பட்டது."
-  },
-  "downloadOnlyDetailsESR": {
-    "message": "நீங்கள் பயர்பாக்சு ESR பயன்படுத்துகிறீர்கள்."
-  },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "பதிவேற்றங்கள் முடக்கப்பட்டுள்ளன."
-  },
   "notificationLinkCopiedTitle": {
     "message": "தொடுப்பு நகலெடுக்கப்பட்டது"
   },
   "notificationLinkCopiedDetails": {
     "message": "நீங்கள் எடுத்த திரைப்பிடிப்பிற்கான தொடுப்பு ஒட்டுபலகைக்கு நகலெடுக்கப்பட்டது. ஒட்ட $META_KEY$ விசையை அழுத்தவும்.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "copyScreenshot": {
-    "message": "நகலெடு"
-  },
-  "notificationImageCopiedTitle": {
-    "message": "ஷாட் நகலெடுக்கப்பட்டது"
-  },
-  "notificationImageCopiedDetails": {
-    "message": "நீங்கள் எடுத்த திரைப்பிடிப்பிற்கான தொடுப்பு ஒட்டுபலகைக்கு நகலெடுக்கப்பட்டது. ஒட்ட $META_KEY$-V விசையை அழுத்தவும்.",
-    "placeholders": {
-      "meta_key": {
-        "content": "$1"
-      }
-    }
-  },
-  "imageCroppedWarning": {
-    "message": "இந்த படம் {pixels}px அளவுக்கு கத்தரிக்கப்பட்டது."
-  },
   "requestErrorTitle": {
     "message": "சேவை இணைப்பில் இல்லை."
   },
   "requestErrorDetails": {
     "message": "மன்னிக்க! உங்களின் திரைப்பிடிப்பைச் சேமிக்க முடியவில்லை. மீண்டும் முயற்சிக்கவும்."
   },
   "connectionErrorTitle": {
     "message": "உங்களின் திரைப்பிடிப்பு சேவையகத்தை அணுக முடியவில்லை."
@@ -118,19 +80,16 @@
     "message": "என்ன நடந்தது என எங்களுக்குத் தெரியவில்லை. முடிந்தால் மீண்டும் முயற்சியுங்கள் (அ) வேறொரு பக்கத்தில் முயற்சியுங்கள்?"
   },
   "tourBodyIntro": {
     "message": "பயர்பாஃசை விட்டு வெளியேறாமல் திரைப்பிடிப்புகளை எடுக்கலாம், சேமித்து மற்றவருடன் பகிர்ந்துக்கொள்ளலாம்."
   },
   "tourHeaderPageAction": {
     "message": "சேமிப்பதற்கானபுதியவழி"
   },
-  "tourBodyPageAction": {
-    "message": "நீங்கள் திரைப்பிடிப்பு எடுக்க விரும்பும் வேளையில் முகவரி பட்டையின் பக்க செயல்பாடுகள் பட்டியலை விரியுங்கள்."
-  },
   "tourHeaderClickAndDrag": {
     "message": "உங்களுக்கு என்ன வேண்டுமோ அதைக் கைப்பற்றுங்கள்"
   },
   "tourBodyClickAndDrag": {
     "message": "சொடுக்கி இழுத்து சும்மா ஒரு பகுதியைத் தேர்வுச்செய்க. நீங்கள் இங்கும் அங்குமாக நகர்த்திக் கூட நீங்கள் தேர்வுச்செய்த பக்கத்தை மிளிர்க்கச் செய்யலாம்."
   },
   "tourHeaderFullPage": {
     "message": "சாளரங்களை (அ) முழுப் பக்கங்களை கைப்பற்றவும்"
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/te/messages.json
@@ -0,0 +1,107 @@
+{
+  "addonAuthorsList": {
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "ఒక తెరపట్టు తీసుకోండి"
+  },
+  "myShotsLink": {
+    "message": "నా తెరపట్లు"
+  },
+  "saveScreenshotSelectedArea": {
+    "message": "భద్రపరచు"
+  },
+  "saveScreenshotVisibleArea": {
+    "message": "కనిపించే దానిని బద్రపరచండి"
+  },
+  "saveScreenshotFullPage": {
+    "message": "పూర్తి పేజీని భద్రపరచు"
+  },
+  "cancelScreenshot": {
+    "message": "రద్దుచేయి"
+  },
+  "downloadScreenshot": {
+    "message": "దింపుకోండి"
+  },
+  "downloadOnlyNotice": {
+    "message": "మీరు ప్రస్తుతం దింపుకోలు-మాత్రమే రీతిలో ఉన్నారు."
+  },
+  "downloadOnlyDetailsPrivate": {
+    "message": "అంతరంగిక విహారణ కిటికీలో."
+  },
+  "downloadOnlyDetailsThirdParty": {
+    "message": "మూడవ-పక్ష కుకీలు అచేతనమయ్యాయి."
+  },
+  "downloadOnlyDetailsESR": {
+    "message": "మీరు Firefox ESR ఉపయోగిస్తున్నారు."
+  },
+  "downloadOnlyDetailsNoUploadPref": {
+    "message": "ఎక్కింపులు అచేతమై ఉన్నాయి."
+  },
+  "notificationLinkCopiedTitle": {
+    "message": "లంకె కాపీ అయింది"
+  },
+  "copyScreenshot": {
+    "message": "కాపీచెయ్యి"
+  },
+  "notificationImageCopiedTitle": {
+    "message": "పట్టు కాపీఅయ్యింది"
+  },
+  "requestErrorTitle": {
+    "message": "పని చెయుట లేదు."
+  },
+  "requestErrorDetails": {
+    "message": "క్షమిచండి! మీ తెరను భద్రపరచలేకపోయాం. దయచేసి కాసేపాగి మళ్ళీ ప్రయత్నించండి."
+  },
+  "connectionErrorTitle": {
+    "message": "మేము మీ స్క్రీన్షాట్లకు కనెక్ట్ చేయలేము."
+  },
+  "unshootablePageErrorTitle": {
+    "message": "మేము ఈ పేజీని స్క్రీన్షాట్ చేయలేము."
+  },
+  "unshootablePageErrorDetails": {
+    "message": "ఇది ప్రామాణిక వెబ్ పేజీ కాదు, కాబట్టి దాని యొక్క స్క్రీన్షాట్ని మీరు తీసుకోలేరు."
+  },
+  "selfScreenshotErrorTitle": {
+    "message": "మీరు Firefox స్క్రీన్షాట్స్ పేజీ యొక్క షాట్ ను తీసుకోలేరు!"
+  },
+  "emptySelectionErrorTitle": {
+    "message": "మీ ఎంపిక చాలా చిన్న్దగా ఉంది"
+  },
+  "genericErrorTitle": {
+    "message": "అయ్యో! Firefox స్క్రీన్షాట్లు haywire వెళ్ళింది."
+  },
+  "tourBodyIntro": {
+    "message": "Firefoxను వదలకుండానే తెరపట్లు తీసుకోండి, భద్రపరచుకోండి, పంచుకోండి."
+  },
+  "tourHeaderPageAction": {
+    "message": "భద్రపరచుకోడానికి కొత్త మార్గం"
+  },
+  "tourHeaderClickAndDrag": {
+    "message": ""
+  },
+  "tourHeaderDownloadUpload": {
+    "message": "మీకు నచ్చినట్టుగా"
+  },
+  "tourSkip": {
+    "message": "దాటవేయి"
+  },
+  "tourNext": {
+    "message": "తర్వాతి ఫలకం"
+  },
+  "tourPrevious": {
+    "message": "మునుపటి ఫలకం"
+  },
+  "tourDone": {
+    "message": "పూర్తయింది"
+  },
+  "termsAndPrivacyNoticeTermsLink": {
+    "message": "నియమాలు"
+  },
+  "termsAndPrivacyNoticyPrivacyLink": {
+    "message": "గోప్యతా నోటీసు"
+  },
+  "libraryLabel": {
+    "message": "తెరపట్లు"
+  }
+}
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/th/messages.json
rename to browser/extensions/screenshots/webextension/_locales/th/messages.json
--- a/browser/extensions/screenshots/_locales/th/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/th/messages.json
@@ -4,17 +4,17 @@
   },
   "addonAuthorsList": {
     "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "จับภาพหน้าจอ"
   },
   "myShotsLink": {
-    "message": "ภาพหน้าจอของฉัน"
+    "message": "ภาพของฉัน"
   },
   "screenshotInstructions": {
     "message": "ลากหรือคลิกที่หน้าเพื่อเลือกบริเวณ กด ESC เพื่อยกเลิก"
   },
   "saveScreenshotSelectedArea": {
     "message": "บันทึก"
   },
   "saveScreenshotVisibleArea": {
@@ -40,67 +40,75 @@
   },
   "downloadOnlyDetailsESR": {
     "message": "คุณกำลังใช้ Firefox ESR"
   },
   "notificationLinkCopiedTitle": {
     "message": "คัดลอกลิงก์แล้ว"
   },
   "notificationLinkCopiedDetails": {
-    "message": "คัดลอกลิงก์ไปยังภาพหน้าจอของคุณไปยังคลิปบอร์ดแล้ว กด $META_KEY$-V เพื่อวาง",
+    "message": "คัดลอกลิงก์ไปยังภาพของคุณไปยังคลิปบอร์ดแล้ว กด $META_KEY$-V เพื่อวาง",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "copyScreenshot": {
     "message": "คัดลอก"
   },
   "notificationImageCopiedTitle": {
-    "message": "คัดลอกภาพหน้าจอแล้ว"
+    "message": "คัดลอกภาพแล้ว"
+  },
+  "imageCroppedWarning": {
+    "message": "ภาพนี้ถูกตัดเป็น $PIXELS$ พิกเซล",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
   },
   "requestErrorTitle": {
     "message": "ใช้งานไม่ได้"
   },
   "requestErrorDetails": {
-    "message": "ขออภัย! เราไม่สามารถบันทึกภาพหน้าจอของคุณ โปรดลองอีกครั้งในภายหลัง"
+    "message": "ขออภัย! เราไม่สามารถบันทึกภาพของคุณ โปรดลองอีกครั้งในภายหลัง"
   },
   "connectionErrorTitle": {
     "message": "เราไม่สามารถเชื่อมต่อกับภาพหน้าจอของคุณ"
   },
   "connectionErrorDetails": {
     "message": "โปรดตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ หากคุณสามารถเชื่อมต่ออินเทอร์เน็ต บริการ Firefox Screenshots อาจมีปัญหาชั่วคราว"
   },
   "loginErrorDetails": {
-    "message": "เราไม่สามารถบันทึกภาพหน้าจอของคุณเนื่องจากบริการ Firefox Screenshots มีปัญหา โปรดลองอีกครั้งในภายหลัง"
+    "message": "เราไม่สามารถบันทึกภาพของคุณเนื่องจากบริการ Firefox Screenshots มีปัญหา โปรดลองอีกครั้งในภายหลัง"
   },
   "unshootablePageErrorTitle": {
     "message": "เราไม่สามารถจับภาพหน้าจอหน้านี้"
   },
   "unshootablePageErrorDetails": {
     "message": "นี่ไม่ใช่หน้าเว็บมาตรฐาน คุณจึงไม่สามารถจับภาพหน้าจอได้"
   },
   "selfScreenshotErrorTitle": {
-    "message": "คุณไม่สามารถจับภาพหน้าจอของหน้า Firefox Screenshots!"
+    "message": "คุณไม่สามารถจับภาพของหน้า Firefox Screenshots!"
   },
   "emptySelectionErrorTitle": {
     "message": "การเลือกของคุณเล็กเกินไป"
   },
   "privateWindowErrorTitle": {
     "message": "Screenshots ถูกปิดใช้งานในโหมดการท่องเว็บแบบส่วนตัว"
   },
   "privateWindowErrorDetails": {
     "message": "ขออภัยในความไม่สะดวก เรากำลังพัฒนาคุณลักษณะนี้สำหรับรุ่นในอนาคต"
   },
   "genericErrorTitle": {
     "message": "โอ๊ย! Firefox Screenshots รวน"
   },
   "genericErrorDetails": {
-    "message": "เราไม่แน่ใจว่าเกิดอะไรขึ้น ต้องการลองอีกครั้งหรือจับภาพหน้าจอของหน้าอื่น?"
+    "message": "เราไม่แน่ใจว่าเกิดอะไรขึ้น ต้องการลองอีกครั้งหรือจับภาพของหน้าอื่น?"
   },
   "tourBodyIntro": {
     "message": "จับ บันทึก และแบ่งปันภาพหน้าจอโดยไม่ต้องออกจาก Firefox"
   },
   "tourHeaderPageAction": {
     "message": "หนทางใหม่ในการบันทึก"
   },
   "tourHeaderClickAndDrag": {
@@ -114,17 +122,17 @@
   },
   "tourBodyFullPage": {
     "message": "คลิกที่ปุ่มด้านบนขวาเพื่อจับภาพพื้นที่ที่มองเห็นในหน้าต่างหรือเพื่อจับภาพทั้งหน้า"
   },
   "tourHeaderDownloadUpload": {
     "message": "ตามใจชอบ"
   },
   "tourBodyDownloadUpload": {
-    "message": "บันทึกภาพหน้าจอที่ครอบตัดของคุณไปยังเว็บเพื่อการแบ่งปันที่ง่ายขึ้น หรือดาวน์โหลดไปยังคอมพิวเตอร์ของคุณ คุณยังสามารถคลิกที่ปุ่ม ภาพหน้าจอของฉัน เพื่อค้นหาภาพหน้าจอทั้งหมดที่คุณได้จับไว้"
+    "message": "บันทึกภาพที่ครอบตัดของคุณไปยังเว็บเพื่อการแบ่งปันที่ง่ายขึ้น หรือดาวน์โหลดไปยังคอมพิวเตอร์ของคุณ คุณยังสามารถคลิกที่ปุ่ม ภาพของฉัน เพื่อค้นหาภาพทั้งหมดที่คุณจับไว้"
   },
   "tourSkip": {
     "message": "ข้าม"
   },
   "tourNext": {
     "message": "ภาพนิ่งถัดไป"
   },
   "tourPrevious": {
rename from browser/extensions/screenshots/_locales/tl/messages.json
rename to browser/extensions/screenshots/webextension/_locales/tl/messages.json
rename from browser/extensions/screenshots/_locales/tr/messages.json
rename to browser/extensions/screenshots/webextension/_locales/tr/messages.json
--- a/browser/extensions/screenshots/_locales/tr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/tr/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Ekran görüntünüz panoya kopyalandı. Yapıştırmak için $META_KEY$-V tuşlarına basabilirsiniz.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Kaydedilen resmin yüksekliği $PIXELS$ olarak kırpılacaktır.",
+  "imageCroppedWarning": {
+    "message": "Resim $PIXELS$ piksele kırpıldı.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Arıza var."
@@ -144,22 +144,16 @@
     "message": "Yalnızca pencerede gördüğünüz alanı veya sayfanın tamamını yakalamak için sağ üstteki düğmelerden uygun olanı seçin."
   },
   "tourHeaderDownloadUpload": {
     "message": "İstediğin gibi yakala"
   },
   "tourBodyDownloadUpload": {
     "message": "Ekran görüntülerinizi daha kolay paylaşmak web’e kaydedebilir veya bilgisayarınıza indirebilirsiniz. Kaydettiğiniz tüm görüntüleri bulmak için “Ekran görüntülerim” düğmesine tıklayabilirsiniz."
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots her yerde"
-  },
-  "tourBodyAccounts": {
-    "message": "Ekran görüntülerinize tüm cihazlarınızdan erişmek ve favori görüntülerinizi sonsuza dek saklamak için Firefox Hesabınıza giriş yapın."
-  },
   "tourSkip": {
     "message": "GEÇ"
   },
   "tourNext": {
     "message": "Sonraki slayt"
   },
   "tourPrevious": {
     "message": "Önceki slayt"
rename from browser/extensions/screenshots/_locales/uk/messages.json
rename to browser/extensions/screenshots/webextension/_locales/uk/messages.json
--- a/browser/extensions/screenshots/_locales/uk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/uk/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "Ваш знімок був скопійований в буфер обміну. Натисніть $META_KEY$-V, щоб вставити.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "Збережене зображення буде обрізано до $PIXELS$ пікселів по висоті.",
+  "imageCroppedWarning": {
+    "message": "Зображення було обрізано до $PIXELS$ пікселів.",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Сталася помилка."
@@ -144,22 +144,16 @@
     "message": "За допомогою кнопок у верхній правій частині обирайте захоплення видимої області вікна, або сторінки повністю."
   },
   "tourHeaderDownloadUpload": {
     "message": "Як вам подобається"
   },
   "tourBodyDownloadUpload": {
     "message": "Зберігайте свої знімки в Інтернеті, щоб легко ними ділитися, або завантажуйте їх на свій комп'ютер. Ви також можете переглянути всі збережені знімки, натиснувши на кнопку Мої знімки."
   },
-  "tourHeaderAccounts": {
-    "message": "Знімки екрану на ходу"
-  },
-  "tourBodyAccounts": {
-    "message": "Увійдіть в обліковий запис Firefox, щоб отримати доступ до своїх знімків на всіх пристроях і зберігати обрані знімки без обмежень."
-  },
   "tourSkip": {
     "message": "Пропустити"
   },
   "tourNext": {
     "message": "Наступний слайд"
   },
   "tourPrevious": {
     "message": "Попередній слайд"
rename from browser/extensions/screenshots/_locales/ur/messages.json
rename to browser/extensions/screenshots/webextension/_locales/ur/messages.json
--- a/browser/extensions/screenshots/_locales/ur/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ur/messages.json
@@ -24,42 +24,33 @@
     "message": "پورا صفحہ محفوظ کریں"
   },
   "cancelScreenshot": {
     "message": "منسوخ کریں"
   },
   "downloadScreenshot": {
     "message": "ڈاؤن لوڈ"
   },
-  "downloadOnlyDetailsPrivate": {
-    "message": "اایک نجی برائوزنگ دریچہ میں۔"
-  },
   "downloadOnlyDetailsESR": {
     "message": "آپ Firefox ESR استعمال کر رہے ہیں۔"
   },
-  "downloadOnlyDetailsNoUploadPref": {
-    "message": "اپلوڈ کو نا اہل بنا دیا گیا ہے۔"
-  },
   "notificationLinkCopiedTitle": {
     "message": "تبط نقل کر دیا گیا"
   },
   "notificationLinkCopiedDetails": {
     "message": "آُپ کی شاٹس کا ربط و تختہ تراشہ پر نقل کر دیا گیا ہے۔ چسپاں کرنے کے لیئے $META_KEY$-V دبائِں۔",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "copyScreenshot": {
     "message": "نقل کریں"
   },
-  "notificationImageCopiedTitle": {
-    "message": "نقل شدہ شاٹ"
-  },
   "requestErrorTitle": {
     "message": "خراب ہے۔"
   },
   "requestErrorDetails": {
     "message": "معاف کیجیئے گا! ہم آپ کی شاٹ محفوظ نہیں کر سکے۔ براہ مہربانی کچھ دیر بعد کوشش کریں۔"
   },
   "connectionErrorTitle": {
     "message": "ہم آپ کی اسکرین شاٹس سے نہیں جڑ سکتے۔"
@@ -77,19 +68,16 @@
     "message": "یہ ایک میعاری صفحہ نہہیں، تو آپ اسکی اسکرین شاٹ نہیں لے سکتے۔"
   },
   "selfScreenshotErrorTitle": {
     "message": "آپ Firefox اسکرین شاٹس صفحے! کی ایک شاٹ نہیں لے سکت"
   },
   "emptySelectionErrorTitle": {
     "message": "آپ کا انتخاب بہت چھوٹا ہے"
   },
-  "privateWindowErrorTitle": {
-    "message": "اسکرین شاٹ نجی برائوزنگ موڈ مییں نااہل بنایا گیا ہے"
-  },
   "genericErrorTitle": {
     "message": "لاجواب! Firefox Screenshots بہت مشہور ہو گیا۔"
   },
   "genericErrorDetails": {
     "message": "ہمیں یقین نہیں کہ کیا ہوا تھا۔ خیال رکھ کر پھر کوشش کریں یا بھر مختلف صفحہ کی تصویرلیں؟"
   },
   "tourBodyIntro": {
     "message": "۔Firefox کو چھوڑے بغیر اسکرینشاٹس لیں، محفوظ کریں اور شیئر کریں۔"
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/uz/messages.json
@@ -0,0 +1,90 @@
+{
+  "addonAuthorsList": {
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "Rasmini olish"
+  },
+  "myShotsLink": {
+    "message": "Rasmlarim"
+  },
+  "screenshotInstructions": {
+    "message": "Hududni belgilash uchun sahifa ustiga tashlang yoki bosing. Chiqish uchun “ESC” tugmasidan foydalaning."
+  },
+  "saveScreenshotSelectedArea": {
+    "message": "Saqlash"
+  },
+  "saveScreenshotVisibleArea": {
+    "message": "Ko‘rinadiganini saqlash"
+  },
+  "saveScreenshotFullPage": {
+    "message": "To‘liq sahifani saqlash"
+  },
+  "cancelScreenshot": {
+    "message": "Bekor qilish"
+  },
+  "downloadScreenshot": {
+    "message": "Yuklab olish"
+  },
+  "notificationLinkCopiedTitle": {
+    "message": "Havoladan nusxa olindi"
+  },
+  "notificationLinkCopiedDetails": {
+    "message": "Rasm havolasidan vaqtinchalik xotiraga nusxa olindi. Qo‘yish uchun $META_KEY$-V tugmalarini bosing.",
+    "placeholders": {
+      "meta_key": {
+        "content": "$1"
+      }
+    }
+  },
+  "imageCroppedWarning": {
+    "message": "Bu rasm $PIXELS$px hajmida kesildi.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
+  },
+  "requestErrorTitle": {
+    "message": "Xizmat hozircha ishlamayapti."
+  },
+  "requestErrorDetails": {
+    "message": "Uzr! Rasmni saqlay olmaymiz. Keyinroq urinib ko‘ring."
+  },
+  "connectionErrorTitle": {
+    "message": "Ekran rasmiga ulana olmadik."
+  },
+  "connectionErrorDetails": {
+    "message": "Internetga ulanishni tekshiring. Ulana olsangiz, demak Firefox Screenshot xizmatida vaqtinchalik muammo bo‘lishi mumkin."
+  },
+  "loginErrorDetails": {
+    "message": "Olingan rasmni saqlay olmaymiz, chunki Firefox Screenshot xizmatida muammo mavjud. Keyinroq urinib ko‘ring."
+  },
+  "unshootablePageErrorTitle": {
+    "message": "Bu sahifani rasmga tushira olmaymiz."
+  },
+  "unshootablePageErrorDetails": {
+    "message": "Bu sahifa standart sahifa emas, shuning uchun uni rasmga tushira olmaymiz."
+  },
+  "selfScreenshotErrorTitle": {
+    "message": "Firefox Screenshot sahifasini rasmga tushirish mumkin emas!"
+  },
+  "emptySelectionErrorTitle": {
+    "message": "Tanlangan hudud juda kichik"
+  },
+  "privateWindowErrorTitle": {
+    "message": "Maxfiy ko‘rish rejimida rasmga olib bo‘lmaydi"
+  },
+  "privateWindowErrorDetails": {
+    "message": "Noqulaylik uchun uzr. Biz keyingi versiyalar uchun bu funksiya ustida ishlayapmiz."
+  },
+  "tourBodyIntro": {
+    "message": "Firefox brauzeridan chiqmasdan sahifalarni rasmga olish, saqlash va bo‘lishish mumkin."
+  },
+  "tourHeaderPageAction": {
+    "message": "Saqlashning yangi usuli"
+  },
+  "libraryLabel": {
+    "message": "Rasmlar"
+  }
+}
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/vi/messages.json
rename to browser/extensions/screenshots/webextension/_locales/vi/messages.json
--- a/browser/extensions/screenshots/_locales/vi/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/vi/messages.json
@@ -28,17 +28,17 @@
   },
   "downloadScreenshot": {
     "message": "Tải xuống"
   },
   "downloadOnlyNotice": {
     "message": "Bạn hiện đang ở chế độ chỉ tải về."
   },
   "downloadOnlyDetails": {
-    "message": "Firefox Screenshots sẽ tự động chuyển sang chế độ chỉ tải về trong các tình huống:"
+    "message": "Ảnh chụp màn hình của Firefox sẽ tự động chuyển sang chế độ chỉ tải về trong các tình huống:"
   },
   "downloadOnlyDetailsPrivate": {
     "message": "Trong một cửa sổ duyệt web riêng tư."
   },
   "downloadOnlyDetailsThirdParty": {
     "message": "Cookies của bên thứ ba đã bị vô hiệu hóa."
   },
   "downloadOnlyDetailsNeverRemember": {
@@ -70,16 +70,24 @@
   "notificationImageCopiedDetails": {
     "message": "Ảnh chụp màn hình của bạn đã được sao chép vào clipboard. Nhấn $META_KEY$-V để dán.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
+  "imageCroppedWarning": {
+    "message": "Ảnh này đã được cắt đến $PIXELS$px.",
+    "placeholders": {
+      "pixels": {
+        "content": "$1"
+      }
+    }
+  },
   "requestErrorTitle": {
     "message": "Không sử dụng được."
   },
   "requestErrorDetails": {
     "message": "Xin lỗi! Chúng tôi không thể sao lưu ảnh chụp của bạn. Vui lòng thử lại sau."
   },
   "connectionErrorTitle": {
     "message": "Chúng tôi không thể kết nối với ảnh chụp màn hình của bạn."
@@ -92,29 +100,29 @@
   },
   "unshootablePageErrorTitle": {
     "message": "Chúng tôi không thể chụp màn hình trang này."
   },
   "unshootablePageErrorDetails": {
     "message": "Đây không phải là trang Web bình thường, bạn không thể chụp ảnh màn hình nó."
   },
   "selfScreenshotErrorTitle": {
-    "message": "Bạn không thể chụp một trang của Firefox Screenshots!"
+    "message": "Bạn không thể chụp một trang của Ảnh chụp màn hình Firefox !"
   },
   "emptySelectionErrorTitle": {
     "message": "Vùng chọn của bạn quá nhỏ"
   },
   "privateWindowErrorTitle": {
     "message": "Ảnh chụp màn hình đã bị vô hiệu hóa ở chế độ duyệt Web riêng tư"
   },
   "privateWindowErrorDetails": {
     "message": "Xin lỗi vì sự bất tiện này. Chúng tôi đang làm việc trên các tính năng này cho bản phát hành trong tương lai."
   },
   "genericErrorTitle": {
-    "message": "Whoa! Firefox Screenshots đã bị hoãn."
+    "message": "Whoa! Ảnh chụp màn hình của Firefox đã bị hoãn."
   },
   "genericErrorDetails": {
     "message": "Chúng tôi không chắc những gì vừa xảy ra. Thử lại hoặc chụp một trang khác?"
   },
   "tourBodyIntro": {
     "message": "Tạo, lưu và chia sẻ ảnh chụp màn hình mà không rời khỏi Firefox."
   },
   "tourHeaderPageAction": {
@@ -136,33 +144,30 @@
     "message": "Chọn các nút ở phía trên bên phải để chụp khu vực nhìn thấy được trong cửa sổ hoặc để chụp toàn bộ trang."
   },
   "tourHeaderDownloadUpload": {
     "message": "Như bạn thích"
   },
   "tourBodyDownloadUpload": {
     "message": "Lưu ảnh đã cắt của bạn lên web để chia sẻ dễ dàng hơn hoặc tải chúng xuống máy tính của bạn. Bạn cũng có thể nhấp vào nút Ảnh chụp của tôi để tìm tất cả ảnh bạn đã chụp."
   },
-  "tourBodyAccounts": {
-    "message": "Đăng nhập bằng tài khoản Firefox của bạn để truy cập các bức ảnh trên tất cả các thiết bị và lưu bức ảnh yêu thích của bạn mãi mãi."
-  },
   "tourSkip": {
     "message": "SKIP"
   },
   "tourNext": {
     "message": "Slide tiếp theo"
   },
   "tourPrevious": {
     "message": "Slide trước đó"
   },
   "tourDone": {
     "message": "Xong"
   },
   "termsAndPrivacyNotice2": {
-    "message": "Bằng cách sử dụng Firefox Screenshots, bạn đồng ý với $TERMSANDPRIVACYNOTICETERMSLINK$ và $TERMSANDPRIVACYNOTICEPRIVACYLINK$ của chúng tôi.",
+    "message": "Bằng cách sử dụng Ảnh chụp màn hình Firefox, bạn đồng ý với $TERMSANDPRIVACYNOTICETERMSLINK$ và $TERMSANDPRIVACYNOTICEPRIVACYLINK$ của chúng tôi.",
     "placeholders": {
       "termsandprivacynoticetermslink": {
         "content": "$1"
       },
       "termsandprivacynoticeprivacylink": {
         "content": "$2"
       }
     }
rename from browser/extensions/screenshots/_locales/zh_CN/messages.json
rename to browser/extensions/screenshots/webextension/_locales/zh_CN/messages.json
--- a/browser/extensions/screenshots/_locales/zh_CN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/zh_CN/messages.json
@@ -49,39 +49,39 @@
   },
   "downloadOnlyDetailsNoUploadPref": {
     "message": "上传已被禁用。"
   },
   "notificationLinkCopiedTitle": {
     "message": "链接已复制"
   },
   "notificationLinkCopiedDetails": {
-    "message": "已将您的截图的链接复制到剪贴板。按 $META_KEY$-V 即可粘贴。",
+    "message": "您的截图的链接已复制到剪贴板。按 $META_KEY$-V 可粘贴。",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "copyScreenshot": {
     "message": "复制"
   },
   "notificationImageCopiedTitle": {
     "message": "截图已复制"
   },
   "notificationImageCopiedDetails": {
-    "message": "已将您的截图复制到剪贴板。按 $META_KEY$-V 即可粘贴。",
+    "message": "您的截图已复制到剪贴板。按 $META_KEY$+-V 粘贴。",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "保存的图片高度将被裁剪至 $PIXELS$ 像素。",
+  "imageCroppedWarning": {
+    "message": "此图片已裁剪为 $PIXELS$px。",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "出故障了。"
@@ -144,22 +144,16 @@
     "message": "选择右上角的按钮可以截取窗口中的可见区域或者整个页面。"
   },
   "tourHeaderDownloadUpload": {
     "message": "做您所想"
   },
   "tourBodyDownloadUpload": {
     "message": "将您裁剪后的截图保存到网上以便共享,或者下载到您的计算机。您也可以点击“我的截图”按钮找到您截取的所有截图。"
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "登录您的 Firefox 账户,即可访问您在所有设备上的截图,并永久保存您收藏的截图。"
-  },
   "tourSkip": {
     "message": "跳过"
   },
   "tourNext": {
     "message": "下一页"
   },
   "tourPrevious": {
     "message": "上一页"
@@ -174,17 +168,17 @@
         "content": "$1"
       },
       "termsandprivacynoticeprivacylink": {
         "content": "$2"
       }
     }
   },
   "termsAndPrivacyNoticeTermsLink": {
-    "message": "使用条款"
+    "message": "条款"
   },
   "termsAndPrivacyNoticyPrivacyLink": {
     "message": "隐私声明"
   },
   "libraryLabel": {
     "message": "屏幕截图"
   }
 }
\ No newline at end of file
rename from browser/extensions/screenshots/_locales/zh_TW/messages.json
rename to browser/extensions/screenshots/webextension/_locales/zh_TW/messages.json
--- a/browser/extensions/screenshots/_locales/zh_TW/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/zh_TW/messages.json
@@ -70,18 +70,18 @@
   "notificationImageCopiedDetails": {
     "message": "已將擷圖複製到剪貼簿,按下 $META_KEY$-V 即可貼上。",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
-  "imageCropPopupWarning": {
-    "message": "儲存的圖片高度將被裁切至 $PIXELS$px。",
+  "imageCroppedWarning": {
+    "message": "已將圖片裁切為 $PIXELS$px 大小。",
     "placeholders": {
       "pixels": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "系統維護中。"
@@ -144,22 +144,16 @@
     "message": "透過右上角的不同按鈕來選擇只拍攝視窗中的可見區域,或是整張網頁。"
   },
   "tourHeaderDownloadUpload": {
     "message": "用您想要的方式分享"
   },
   "tourBodyDownloadUpload": {
     "message": "裁切過的擷圖,可直接傳到網路上方便分享,也能下載到電腦裡;也可以點擊「我的擷圖」按鈕,尋找拍過的所有擷圖。"
   },
-  "tourHeaderAccounts": {
-    "message": "Screenshots to Go"
-  },
-  "tourBodyAccounts": {
-    "message": "使用您的 Firefox 帳號登入,即可存取您在所有裝置上拍攝的擷取圖,並永久保留您最愛的擷取圖。"
-  },
   "tourSkip": {
     "message": "略過"
   },
   "tourNext": {
     "message": "下一頁"
   },
   "tourPrevious": {
     "message": "上一頁"
rename from browser/extensions/screenshots/assertIsBlankDocument.js
rename to browser/extensions/screenshots/webextension/assertIsBlankDocument.js
rename from browser/extensions/screenshots/assertIsTrusted.js
rename to browser/extensions/screenshots/webextension/assertIsTrusted.js
rename from browser/extensions/screenshots/background/analytics.js
rename to browser/extensions/screenshots/webextension/background/analytics.js
--- a/browser/extensions/screenshots/background/analytics.js
+++ b/browser/extensions/screenshots/webextension/background/analytics.js
@@ -1,9 +1,9 @@
-/* globals main, auth, browser, catcher, deviceInfo, communication, log */
+/* globals main, auth, catcher, deviceInfo, communication, log */
 
 "use strict";
 
 this.analytics = (function() {
   const exports = {};
 
   let telemetryPrefKnown = false;
   let telemetryEnabled;
@@ -11,17 +11,17 @@ this.analytics = (function() {
   const EVENT_BATCH_DURATION = 1000; // ms for setTimeout
   let pendingEvents = [];
   let pendingTimings = [];
   let eventsTimeoutHandle, timingsTimeoutHandle;
   const fetchOptions = {
     method: "POST",
     mode: "cors",
     headers: { "content-type": "application/json" },
-    credentials: "include",
+    credentials: "include"
   };
 
   function flushEvents() {
     if (pendingEvents.length === 0) {
       return;
     }
 
     const eventsUrl = `${main.getBackend()}/event`;
@@ -58,17 +58,17 @@ this.analytics = (function() {
   function sendTiming(timingLabel, timingVar, timingValue) {
     // sendTiming is only called in response to sendEvent, so no need to check
     // the telemetry pref again here.
     const timingCategory = "addon";
     pendingTimings.push({
       timingCategory,
       timingLabel,
       timingVar,
-      timingValue,
+      timingValue
     });
     if (!timingsTimeoutHandle) {
       timingsTimeoutHandle = setTimeout(() => {
         timingsTimeoutHandle = null;
         flushTimings();
       }, EVENT_BATCH_DURATION);
     }
   }
@@ -110,45 +110,37 @@ this.analytics = (function() {
     for (const [gaField, value] of Object.entries(abTests)) {
       options[gaField] = value;
     }
     pendingEvents.push({
       eventTime: Date.now(),
       event: eventCategory,
       action,
       label,
-      options,
+      options
     });
     if (!eventsTimeoutHandle) {
       eventsTimeoutHandle = setTimeout(() => {
         eventsTimeoutHandle = null;
         flushEvents();
       }, EVENT_BATCH_DURATION);
     }
     // This function used to return a Promise that was not used at any of the
     // call sites; doing this simply maintains that interface.
     return Promise.resolve();
   };
 
-  exports.incrementCount = function(scalar) {
-    const allowedScalars = ["download", "upload", "copy"];
-    if (!allowedScalars.includes(scalar)) {
-      const err = `incrementCount passed an unrecognized scalar ${scalar}`;
-      log.warn(err);
-      return Promise.resolve();
-    }
-    return browser.telemetry.scalarAdd(`screenshots.${scalar}`, 1).catch(err => {
-      log.warn(`incrementCount failed with error: ${err}`);
-    });
-  };
-
   exports.refreshTelemetryPref = function() {
-    return browser.telemetry.canUpload().then((result) => {
+    return communication.sendToBootstrap("isTelemetryEnabled").then((result) => {
       telemetryPrefKnown = true;
-      telemetryEnabled = result;
+      if (result === communication.NO_BOOTSTRAP) {
+        telemetryEnabled = true;
+      } else {
+        telemetryEnabled = result;
+      }
     }, (error) => {
       // If there's an error reading the pref, we should assume that we shouldn't send data
       telemetryPrefKnown = true;
       telemetryEnabled = false;
       throw error;
     });
   };
 
@@ -168,121 +160,121 @@ this.analytics = (function() {
   // is deleted.
   const rules = [{
     name: "page-action",
     start: { action: "start-shot", label: "toolbar-button" },
     end: { action: "internal", label: "unhide-preselection-frame" },
     cancel: [
       { action: "cancel-shot" },
       { action: "internal", label: "document-hidden" },
-      { action: "internal", label: "unhide-onboarding-frame" },
-    ],
+      { action: "internal", label: "unhide-onboarding-frame" }
+    ]
   }, {
     name: "context-menu",
     start: { action: "start-shot", label: "context-menu" },
     end: { action: "internal", label: "unhide-preselection-frame" },
     cancel: [
       { action: "cancel-shot" },
       { action: "internal", label: "document-hidden" },
-      { action: "internal", label: "unhide-onboarding-frame" },
-    ],
+      { action: "internal", label: "unhide-onboarding-frame" }
+    ]
   }, {
     name: "page-action-onboarding",
     start: { action: "start-shot", label: "toolbar-button" },
     end: { action: "internal", label: "unhide-onboarding-frame" },
     cancel: [
       { action: "cancel-shot" },
       { action: "internal", label: "document-hidden" },
-      { action: "internal", label: "unhide-preselection-frame" },
-    ],
+      { action: "internal", label: "unhide-preselection-frame" }
+    ]
   }, {
     name: "context-menu-onboarding",
     start: { action: "start-shot", label: "context-menu" },
     end: { action: "internal", label: "unhide-onboarding-frame" },
     cancel: [
       { action: "cancel-shot" },
       { action: "internal", label: "document-hidden" },
-      { action: "internal", label: "unhide-preselection-frame" },
-    ],
+      { action: "internal", label: "unhide-preselection-frame" }
+    ]
   }, {
     name: "capture-full-page",
     start: { action: "capture-full-page" },
     end: { action: "internal", label: "unhide-preview-frame" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }, {
     name: "capture-visible",
     start: { action: "capture-visible" },
     end: { action: "internal", label: "unhide-preview-frame" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }, {
     name: "make-selection",
     start: { action: "make-selection" },
     end: { action: "internal", label: "unhide-selection-frame" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }, {
     name: "save-shot",
     start: { action: "save-shot" },
     end: { action: "internal", label: "open-shot-tab" },
-    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }],
+    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }]
   }, {
     name: "save-visible",
     start: { action: "save-visible" },
     end: { action: "internal", label: "open-shot-tab" },
-    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }],
+    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }]
   }, {
     name: "save-full-page",
     start: { action: "save-full-page" },
     end: { action: "internal", label: "open-shot-tab" },
-    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }],
+    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }]
   }, {
     name: "save-full-page-truncated",
     start: { action: "save-full-page-truncated" },
     end: { action: "internal", label: "open-shot-tab" },
-    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }],
+    cancel: [{ action: "cancel-shot" }, { action: "upload-failed" }]
   }, {
     name: "download-shot",
     start: { action: "download-shot" },
     end: { action: "internal", label: "deactivate" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }, {
     name: "download-full-page",
     start: { action: "download-full-page" },
     end: { action: "internal", label: "deactivate" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }, {
     name: "download-full-page-truncated",
     start: { action: "download-full-page-truncated" },
     end: { action: "internal", label: "deactivate" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }, {
     name: "download-visible",
     start: { action: "download-visible" },
     end: { action: "internal", label: "deactivate" },
     cancel: [
       { action: "cancel-shot" },
-      { action: "internal", label: "document-hidden" },
-    ],
+      { action: "internal", label: "document-hidden" }
+    ]
   }];
 
   // Match a filter (action and optional label) against an action and label.
   function match(filter, action, label) {
     return filter.label ?
       filter.action === action && filter.label === label :
       filter.action === action;
   }
rename from browser/extensions/screenshots/background/auth.js
rename to browser/extensions/screenshots/webextension/background/auth.js
--- a/browser/extensions/screenshots/background/auth.js
+++ b/browser/extensions/screenshots/webextension/background/auth.js
@@ -6,46 +6,39 @@
 this.auth = (function() {
   const exports = {};
 
   let registrationInfo;
   let initialized = false;
   let authHeader = null;
   let sentryPublicDSN = null;
   let abTests = {};
-  let accountId = null;
 
-  const fetchStoredInfo = catcher.watchPromise(
-    browser.storage.local.get(["registrationInfo", "abTests"]).then((result) => {
-      if (result.abTests) {
-        abTests = result.abTests;
-      }
-      if (result.registrationInfo) {
-        registrationInfo = result.registrationInfo;
-      }
-  }));
-
-  function getRegistrationInfo() {
-    if (!registrationInfo) {
+  const registrationInfoFetched = catcher.watchPromise(browser.storage.local.get(["registrationInfo", "abTests"]).then((result) => {
+    if (result.abTests) {
+      abTests = result.abTests;
+    }
+    if (result.registrationInfo) {
+      registrationInfo = result.registrationInfo;
+    } else {
       registrationInfo = generateRegistrationInfo();
       log.info("Generating new device authentication ID", registrationInfo);
       browser.storage.local.set({registrationInfo});
     }
-    return registrationInfo;
-  }
+  }));
 
   exports.getDeviceId = function() {
     return registrationInfo && registrationInfo.deviceId;
   };
 
   function generateRegistrationInfo() {
     const info = {
       deviceId: `anon${makeUuid()}`,
       secret: makeUuid(),
-      registered: false,
+      registered: false
     };
     return info;
   }
 
   function register() {
     return new Promise((resolve, reject) => {
       const registerUrl = main.getBackend() + "/api/register";
       // TODO: replace xhr with Fetch #2261
@@ -71,103 +64,95 @@ this.auth = (function() {
         analytics.sendEvent("register-failed", "connection-error");
         const exc = new Error("Error contacting server");
         exc.popupMessage = "LOGIN_CONNECTION_ERROR";
         reject(exc);
       });
       req.send(JSON.stringify({
         deviceId: registrationInfo.deviceId,
         secret: registrationInfo.secret,
-        deviceInfo: JSON.stringify(deviceInfo()),
+        deviceInfo: JSON.stringify(deviceInfo())
       }));
     });
   }
 
   function login(options) {
     const { ownershipCheck, noRegister } = options || {};
     return new Promise((resolve, reject) => {
-      return fetchStoredInfo.then(() => {
-        const registrationInfo = getRegistrationInfo();
-        const loginUrl = main.getBackend() + "/api/login";
-        // TODO: replace xhr with Fetch #2261
-        const req = new XMLHttpRequest();
-        req.open("POST", loginUrl);
-        req.onload = catcher.watchFunction(() => {
-          if (req.status === 404) {
-            if (noRegister) {
-              resolve(false);
-            } else {
-              resolve(register());
-            }
-          } else if (req.status >= 300) {
-            log.warn("Error in response:", req.responseText);
-            const exc = new Error("Could not log in: " + req.status);
-            exc.popupMessage = "LOGIN_ERROR";
-            analytics.sendEvent("login-failed", `bad-response-${req.status}`);
-            reject(exc);
-          } else if (req.status === 0) {
-            const error = new Error("Could not log in, server unavailable");
-            error.popupMessage = "LOGIN_CONNECTION_ERROR";
-            analytics.sendEvent("login-failed", "connection-error");
-            reject(error);
+      const loginUrl = main.getBackend() + "/api/login";
+      // TODO: replace xhr with Fetch #2261
+      const req = new XMLHttpRequest();
+      req.open("POST", loginUrl);
+      req.onload = catcher.watchFunction(() => {
+        if (req.status === 404) {
+          if (noRegister) {
+            resolve(false);
           } else {
-            initialized = true;
-            const jsonResponse = JSON.parse(req.responseText);
-            log.info("Screenshots logged in");
-            analytics.sendEvent("login");
-            saveAuthInfo(jsonResponse);
-            if (ownershipCheck) {
-              resolve({isOwner: jsonResponse.isOwner});
-            } else {
-              resolve(true);
-            }
+            resolve(register());
           }
-        });
-        req.onerror = catcher.watchFunction(() => {
+        } else if (req.status >= 300) {
+          log.warn("Error in response:", req.responseText);
+          const exc = new Error("Could not log in: " + req.status);
+          exc.popupMessage = "LOGIN_ERROR";
+          analytics.sendEvent("login-failed", `bad-response-${req.status}`);
+          reject(exc);
+        } else if (req.status === 0) {
+          const error = new Error("Could not log in, server unavailable");
+          error.popupMessage = "LOGIN_CONNECTION_ERROR";
           analytics.sendEvent("login-failed", "connection-error");
-          const exc = new Error("Connection failed");
-          exc.url = loginUrl;
-          exc.popupMessage = "CONNECTION_ERROR";
-          reject(exc);
-        });
-        req.setRequestHeader("content-type", "application/json");
-        req.send(JSON.stringify({
-          deviceId: registrationInfo.deviceId,
-          secret: registrationInfo.secret,
-          deviceInfo: JSON.stringify(deviceInfo()),
-          ownershipCheck,
-        }));
+          reject(error);
+        } else {
+          initialized = true;
+          const jsonResponse = JSON.parse(req.responseText);
+          log.info("Screenshots logged in");
+          analytics.sendEvent("login");
+          saveAuthInfo(jsonResponse);
+          if (ownershipCheck) {
+            resolve({isOwner: jsonResponse.isOwner});
+          } else {
+            resolve(true);
+          }
+        }
       });
+      req.onerror = catcher.watchFunction(() => {
+        analytics.sendEvent("login-failed", "connection-error");
+        const exc = new Error("Connection failed");
+        exc.url = loginUrl;
+        exc.popupMessage = "CONNECTION_ERROR";
+        reject(exc);
+      });
+      req.setRequestHeader("content-type", "application/json");
+      req.send(JSON.stringify({
+        deviceId: registrationInfo.deviceId,
+        secret: registrationInfo.secret,
+        deviceInfo: JSON.stringify(deviceInfo()),
+        ownershipCheck
+      }));
     });
   }
 
   function saveAuthInfo(responseJson) {
-    accountId = responseJson.accountId;
     if (responseJson.sentryPublicDSN) {
       sentryPublicDSN = responseJson.sentryPublicDSN;
     }
     if (responseJson.authHeader) {
       authHeader = responseJson.authHeader;
       if (!registrationInfo.registered) {
         registrationInfo.registered = true;
         catcher.watchPromise(browser.storage.local.set({registrationInfo}));
       }
     }
     if (responseJson.abTests) {
       abTests = responseJson.abTests;
       catcher.watchPromise(browser.storage.local.set({abTests}));
     }
   }
 
-  exports.maybeLogin = function() {
-    if (!registrationInfo) {
-      return Promise.resolve();
-    }
-
-    return exports.authHeaders();
+  exports.getDeviceId = function() {
+    return registrationInfo.deviceId;
   };
 
   exports.authHeaders = function() {
     let initPromise = Promise.resolve();
     if (!initialized) {
       initPromise = login();
     }
     return initPromise.then(() => {
@@ -183,38 +168,32 @@ this.auth = (function() {
     return sentryPublicDSN || buildSettings.defaultSentryDsn;
   };
 
   exports.getAbTests = function() {
     return abTests;
   };
 
   exports.isRegistered = function() {
-    return registrationInfo && registrationInfo.registered;
+    return registrationInfo.registered;
   };
 
   communication.register("getAuthInfo", (sender, ownershipCheck) => {
-    return fetchStoredInfo.then(() => {
-      // If a device id was never generated, report back accordingly.
-      if (!registrationInfo) {
-        return null;
+    return registrationInfoFetched.then(() => {
+      return exports.authHeaders();
+    }).then((authHeaders) => {
+      let info = registrationInfo;
+      if (info.registered) {
+        return login({ownershipCheck}).then((result) => {
+          return {
+            isOwner: result && result.isOwner,
+            deviceId: registrationInfo.deviceId,
+            authHeaders
+          };
+        });
       }
-
-      return exports.authHeaders().then((authHeaders) => {
-        let info = registrationInfo;
-        if (info.registered) {
-          return login({ownershipCheck}).then((result) => {
-            return {
-              isOwner: result && result.isOwner,
-              deviceId: registrationInfo.deviceId,
-              accountId,
-              authHeaders,
-            };
-          });
-        }
-        info = Object.assign({authHeaders}, info);
-        return info;
-      });
+      info = Object.assign({authHeaders}, info);
+      return info;
+    });
   });
-});
 
   return exports;
 })();
rename from browser/extensions/screenshots/background/communication.js
rename to browser/extensions/screenshots/webextension/background/communication.js
--- a/browser/extensions/screenshots/background/communication.js
+++ b/browser/extensions/screenshots/webextension/background/communication.js
@@ -40,10 +40,39 @@ this.communication = (function() {
     }
     sendResponse({type: "success", value: result});
   });
 
   exports.register = function(name, func) {
     registeredFunctions[name] = func;
   };
 
+  /** Send a message to bootstrap.js
+      Technically any worker can listen to this.  If the bootstrap wrapper is not in place, then this
+      will *not* fail, and will return a value of exports.NO_BOOTSTRAP  */
+  exports.sendToBootstrap = function(funcName, ...args) {
+    return browser.runtime.sendMessage({funcName, args}).then((result) => {
+      if (result.type === "success") {
+        return result.value;
+      }
+      throw new Error(`Error in ${funcName}: ${result.name || "unknown"}`);
+    }, (error) => {
+      if (isBootstrapMissingError(error)) {
+        return exports.NO_BOOTSTRAP;
+      }
+      throw error;
+    });
+  };
+
+  function isBootstrapMissingError(error) {
+    if (!error) {
+      return false;
+    }
+    return ("errorCode" in error && error.errorCode === "NO_RECEIVING_END") ||
+      (!error.errorCode && error.message === "Could not establish connection. Receiving end does not exist.");
+  }
+
+
+  // A singleton/sentinel (with a name):
+  exports.NO_BOOTSTRAP = {name: "communication.NO_BOOTSTRAP"};
+
   return exports;
 })();
rename from browser/extensions/screenshots/background/deviceInfo.js
rename to browser/extensions/screenshots/webextension/background/deviceInfo.js
--- a/browser/extensions/screenshots/background/deviceInfo.js
+++ b/browser/extensions/screenshots/webextension/background/deviceInfo.js
@@ -22,13 +22,13 @@ this.deviceInfo = (function() {
       platform: platformInfo.os,
       architecture: platformInfo.arch,
       version: firefoxVersion || chromeVersion,
       // These don't seem to apply to Chrome:
       // build: system.build,
       // platformVersion: system.platformVersion,
       userAgent: navigator.userAgent,
       appVendor: appName,
-      appName,
+      appName
     };
   };
 
 })();
rename from browser/extensions/screenshots/background/main.js
rename to browser/extensions/screenshots/webextension/background/main.js
--- a/browser/extensions/screenshots/background/main.js
+++ b/browser/extensions/screenshots/webextension/background/main.js
@@ -1,17 +1,17 @@
 /* globals selectorLoader, analytics, communication, catcher, log, makeUuid, auth, senderror, startBackground, blobConverters buildSettings */
 
 "use strict";
 
 this.main = (function() {
   const exports = {};
 
   const pasteSymbol = (window.navigator.platform.match(/Mac/i)) ? "\u2318" : "Ctrl";
-  const { sendEvent, incrementCount } = analytics;
+  const { sendEvent } = analytics;
 
   const manifest = browser.runtime.getManifest();
   let backend;
 
   let hasSeenOnboarding = browser.storage.local.get(["hasSeenOnboarding"]).then((result) => {
     const onboarded = !!result.hasSeenOnboarding;
     hasSeenOnboarding = Promise.resolve(onboarded);
     return hasSeenOnboarding;
@@ -66,17 +66,17 @@ this.main = (function() {
 
   function startSelectionWithOnboarding(tab) {
     return analytics.refreshTelemetryPref().then(() => {
       return selectorLoader.testIfLoaded(tab.id);
     }).then((isLoaded) => {
       if (!isLoaded) {