Fixes bug 1488813 - Migrating Pocket off any bootstrap code r=ursula,k88hudson
authorScottDowne <scott.downe@gmail.com>
Fri, 12 Oct 2018 19:38:10 +0000
changeset 489434 474b2a78d4fac1f3006c198ad063449ded904e8d
parent 489433 d545a48c1bfd7863036e179312f9fff45e335cff
child 489435 7584ce8674c21dfedc59ecc712eabb94306a2ba2
push id247
push userfmarier@mozilla.com
push dateSat, 27 Oct 2018 01:06:44 +0000
reviewersursula, k88hudson
bugs1488813
milestone64.0a1
Fixes bug 1488813 - Migrating Pocket off any bootstrap code r=ursula,k88hudson Differential Revision: https://phabricator.services.mozilla.com/D6849
.eslintignore
CLOBBER
browser/base/content/browser-places.js
browser/components/moz.build
browser/components/nsBrowserGlue.js
browser/components/pocket/content/AboutPocket.jsm
browser/components/pocket/content/Pocket.jsm
browser/components/pocket/content/SaveToPocket.jsm
browser/components/pocket/content/main.js
browser/components/pocket/content/panels/css/normalize.css
browser/components/pocket/content/panels/css/saved.css
browser/components/pocket/content/panels/css/sendtomobile.css
browser/components/pocket/content/panels/css/signup.css
browser/components/pocket/content/panels/fonts/FiraSans-Regular.woff
browser/components/pocket/content/panels/img/app_store_dowload_apple.svg
browser/components/pocket/content/panels/img/pocket-outline.svg
browser/components/pocket/content/panels/img/pocketerror@1x.png
browser/components/pocket/content/panels/img/pocketerror@2x.png
browser/components/pocket/content/panels/img/pocketlogo@1x.png
browser/components/pocket/content/panels/img/pocketlogo@2x.png
browser/components/pocket/content/panels/img/pocketlogosolo@1x.png
browser/components/pocket/content/panels/img/pocketlogosolo@2x.png
browser/components/pocket/content/panels/img/pocketsignup_button@1x.png
browser/components/pocket/content/panels/img/pocketsignup_button@2x.png
browser/components/pocket/content/panels/img/pocketsignup_devices@1x.png
browser/components/pocket/content/panels/img/pocketsignup_devices@2x.png
browser/components/pocket/content/panels/img/pocketsignup_hero@1x.png
browser/components/pocket/content/panels/img/pocketsignup_hero@2x.png
browser/components/pocket/content/panels/img/signup_firefoxlogo@1x.png
browser/components/pocket/content/panels/img/signup_firefoxlogo@2x.png
browser/components/pocket/content/panels/img/signup_help@1x.png
browser/components/pocket/content/panels/img/signup_help@2x.png
browser/components/pocket/content/panels/img/tag_close@1x.png
browser/components/pocket/content/panels/img/tag_close@2x.png
browser/components/pocket/content/panels/img/tag_closeactive@1x.png
browser/components/pocket/content/panels/img/tag_closeactive@2x.png
browser/components/pocket/content/panels/js/messages.js
browser/components/pocket/content/panels/js/saved.js
browser/components/pocket/content/panels/js/sendtomobile.js
browser/components/pocket/content/panels/js/signup.js
browser/components/pocket/content/panels/js/tmpl.js
browser/components/pocket/content/panels/js/vendor/handlebars.runtime.js
browser/components/pocket/content/panels/js/vendor/jquery-2.1.1.min.js
browser/components/pocket/content/panels/js/vendor/jquery.tokeninput.min.js
browser/components/pocket/content/panels/license.txt
browser/components/pocket/content/panels/saved.html
browser/components/pocket/content/panels/signup.html
browser/components/pocket/content/panels/tmpl/ho2/ho2_articleinfo.handlebars
browser/components/pocket/content/panels/tmpl/ho2/ho2_download.handlebars
browser/components/pocket/content/panels/tmpl/ho2/ho2_download_error.handlebars
browser/components/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v1.handlebars
browser/components/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v2.handlebars
browser/components/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v3.handlebars
browser/components/pocket/content/panels/tmpl/saved_premiumextras.handlebars
browser/components/pocket/content/panels/tmpl/saved_premiumshell.handlebars
browser/components/pocket/content/panels/tmpl/saved_shell.handlebars
browser/components/pocket/content/panels/tmpl/saved_tmplogin.handlebars
browser/components/pocket/content/panels/tmpl/signup_shell.handlebars
browser/components/pocket/content/panels/tmpl/signupstoryboard_shell.handlebars
browser/components/pocket/content/pktApi.jsm
browser/components/pocket/content/pocket-content-process.js
browser/components/pocket/jar.mn
browser/components/pocket/locale/ach/pocket.properties
browser/components/pocket/locale/ar/pocket.properties
browser/components/pocket/locale/ast/pocket.properties
browser/components/pocket/locale/az/pocket.properties
browser/components/pocket/locale/be/pocket.properties
browser/components/pocket/locale/bg/pocket.properties
browser/components/pocket/locale/bn-BD/pocket.properties
browser/components/pocket/locale/bn-IN/pocket.properties
browser/components/pocket/locale/br/pocket.properties
browser/components/pocket/locale/bs/pocket.properties
browser/components/pocket/locale/ca/pocket.properties
browser/components/pocket/locale/cak/pocket.properties
browser/components/pocket/locale/cs/pocket.properties
browser/components/pocket/locale/cy/pocket.properties
browser/components/pocket/locale/da/pocket.properties
browser/components/pocket/locale/de/pocket.properties
browser/components/pocket/locale/dsb/pocket.properties
browser/components/pocket/locale/el/pocket.properties
browser/components/pocket/locale/en-GB/pocket.properties
browser/components/pocket/locale/en-US/pocket.properties
browser/components/pocket/locale/eo/pocket.properties
browser/components/pocket/locale/es-AR/pocket.properties
browser/components/pocket/locale/es-CL/pocket.properties
browser/components/pocket/locale/es-ES/pocket.properties
browser/components/pocket/locale/es-MX/pocket.properties
browser/components/pocket/locale/et/pocket.properties
browser/components/pocket/locale/eu/pocket.properties
browser/components/pocket/locale/fa/pocket.properties
browser/components/pocket/locale/ff/pocket.properties
browser/components/pocket/locale/fi/pocket.properties
browser/components/pocket/locale/fr/pocket.properties
browser/components/pocket/locale/fy-NL/pocket.properties
browser/components/pocket/locale/ga-IE/pocket.properties
browser/components/pocket/locale/gd/pocket.properties
browser/components/pocket/locale/gl/pocket.properties
browser/components/pocket/locale/gu-IN/pocket.properties
browser/components/pocket/locale/he/pocket.properties
browser/components/pocket/locale/hi-IN/pocket.properties
browser/components/pocket/locale/hr/pocket.properties
browser/components/pocket/locale/hsb/pocket.properties
browser/components/pocket/locale/hu/pocket.properties
browser/components/pocket/locale/hy-AM/pocket.properties
browser/components/pocket/locale/id/pocket.properties
browser/components/pocket/locale/is/pocket.properties
browser/components/pocket/locale/it/pocket.properties
browser/components/pocket/locale/ja/pocket.properties
browser/components/pocket/locale/jar.mn
browser/components/pocket/locale/ka/pocket.properties
browser/components/pocket/locale/kab/pocket.properties
browser/components/pocket/locale/kk/pocket.properties
browser/components/pocket/locale/km/pocket.properties
browser/components/pocket/locale/kn/pocket.properties
browser/components/pocket/locale/ko/pocket.properties
browser/components/pocket/locale/lij/pocket.properties
browser/components/pocket/locale/lt/pocket.properties
browser/components/pocket/locale/ltg/pocket.properties
browser/components/pocket/locale/lv/pocket.properties
browser/components/pocket/locale/mk/pocket.properties
browser/components/pocket/locale/ml/pocket.properties
browser/components/pocket/locale/moz.build
browser/components/pocket/locale/mr/pocket.properties
browser/components/pocket/locale/ms/pocket.properties
browser/components/pocket/locale/my/pocket.properties
browser/components/pocket/locale/nb-NO/pocket.properties
browser/components/pocket/locale/ne-NP/pocket.properties
browser/components/pocket/locale/nl/pocket.properties
browser/components/pocket/locale/nn-NO/pocket.properties
browser/components/pocket/locale/oc/pocket.properties
browser/components/pocket/locale/or/pocket.properties
browser/components/pocket/locale/pa-IN/pocket.properties
browser/components/pocket/locale/pl/pocket.properties
browser/components/pocket/locale/pt-BR/pocket.properties
browser/components/pocket/locale/pt-PT/pocket.properties
browser/components/pocket/locale/rm/pocket.properties
browser/components/pocket/locale/ro/pocket.properties
browser/components/pocket/locale/ru/pocket.properties
browser/components/pocket/locale/sk/pocket.properties
browser/components/pocket/locale/sl/pocket.properties
browser/components/pocket/locale/sq/pocket.properties
browser/components/pocket/locale/sr/pocket.properties
browser/components/pocket/locale/sv-SE/pocket.properties
browser/components/pocket/locale/ta/pocket.properties
browser/components/pocket/locale/te/pocket.properties
browser/components/pocket/locale/th/pocket.properties
browser/components/pocket/locale/tl/pocket.properties
browser/components/pocket/locale/tr/pocket.properties
browser/components/pocket/locale/uk/pocket.properties
browser/components/pocket/locale/ur/pocket.properties
browser/components/pocket/locale/vi/pocket.properties
browser/components/pocket/locale/zh-CN/pocket.properties
browser/components/pocket/locale/zh-TW/pocket.properties
browser/components/pocket/moz.build
browser/components/pocket/skin/library-pocket-animation.svg
browser/components/pocket/skin/pocket-animation.svg
browser/components/pocket/skin/pocket-outline.svg
browser/components/pocket/skin/pocket.css
browser/components/pocket/skin/pocket.svg
browser/components/pocket/test/.eslintrc.js
browser/components/pocket/test/browser.ini
browser/components/pocket/test/browser_pocket_ui_check.js
browser/components/pocket/test/head.js
browser/components/pocket/test/test.html
browser/extensions/moz.build
browser/extensions/pocket/bootstrap.js
browser/extensions/pocket/content/AboutPocket.jsm
browser/extensions/pocket/content/Pocket.jsm
browser/extensions/pocket/content/main.js
browser/extensions/pocket/content/panels/css/normalize.css
browser/extensions/pocket/content/panels/css/saved.css
browser/extensions/pocket/content/panels/css/sendtomobile.css
browser/extensions/pocket/content/panels/css/signup.css
browser/extensions/pocket/content/panels/fonts/FiraSans-Regular.woff
browser/extensions/pocket/content/panels/img/app_store_dowload_apple.svg
browser/extensions/pocket/content/panels/img/pocket-outline.svg
browser/extensions/pocket/content/panels/img/pocketerror@1x.png
browser/extensions/pocket/content/panels/img/pocketerror@2x.png
browser/extensions/pocket/content/panels/img/pocketlogo@1x.png
browser/extensions/pocket/content/panels/img/pocketlogo@2x.png
browser/extensions/pocket/content/panels/img/pocketlogosolo@1x.png
browser/extensions/pocket/content/panels/img/pocketlogosolo@2x.png
browser/extensions/pocket/content/panels/img/pocketsignup_button@1x.png
browser/extensions/pocket/content/panels/img/pocketsignup_button@2x.png
browser/extensions/pocket/content/panels/img/pocketsignup_devices@1x.png
browser/extensions/pocket/content/panels/img/pocketsignup_devices@2x.png
browser/extensions/pocket/content/panels/img/pocketsignup_hero@1x.png
browser/extensions/pocket/content/panels/img/pocketsignup_hero@2x.png
browser/extensions/pocket/content/panels/img/signup_firefoxlogo@1x.png
browser/extensions/pocket/content/panels/img/signup_firefoxlogo@2x.png
browser/extensions/pocket/content/panels/img/signup_help@1x.png
browser/extensions/pocket/content/panels/img/signup_help@2x.png
browser/extensions/pocket/content/panels/img/tag_close@1x.png
browser/extensions/pocket/content/panels/img/tag_close@2x.png
browser/extensions/pocket/content/panels/img/tag_closeactive@1x.png
browser/extensions/pocket/content/panels/img/tag_closeactive@2x.png
browser/extensions/pocket/content/panels/js/messages.js
browser/extensions/pocket/content/panels/js/saved.js
browser/extensions/pocket/content/panels/js/sendtomobile.js
browser/extensions/pocket/content/panels/js/signup.js
browser/extensions/pocket/content/panels/js/tmpl.js
browser/extensions/pocket/content/panels/js/vendor/handlebars.runtime.js
browser/extensions/pocket/content/panels/js/vendor/jquery-2.1.1.min.js
browser/extensions/pocket/content/panels/js/vendor/jquery.tokeninput.min.js
browser/extensions/pocket/content/panels/license.txt
browser/extensions/pocket/content/panels/saved.html
browser/extensions/pocket/content/panels/signup.html
browser/extensions/pocket/content/panels/tmpl/ho2/ho2_articleinfo.handlebars
browser/extensions/pocket/content/panels/tmpl/ho2/ho2_download.handlebars
browser/extensions/pocket/content/panels/tmpl/ho2/ho2_download_error.handlebars
browser/extensions/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v1.handlebars
browser/extensions/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v2.handlebars
browser/extensions/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v3.handlebars
browser/extensions/pocket/content/panels/tmpl/saved_premiumextras.handlebars
browser/extensions/pocket/content/panels/tmpl/saved_premiumshell.handlebars
browser/extensions/pocket/content/panels/tmpl/saved_shell.handlebars
browser/extensions/pocket/content/panels/tmpl/saved_tmplogin.handlebars
browser/extensions/pocket/content/panels/tmpl/signup_shell.handlebars
browser/extensions/pocket/content/panels/tmpl/signupstoryboard_shell.handlebars
browser/extensions/pocket/content/pktApi.jsm
browser/extensions/pocket/content/pocket-content-process.js
browser/extensions/pocket/install.rdf.in
browser/extensions/pocket/jar.mn
browser/extensions/pocket/locale/ach/pocket.properties
browser/extensions/pocket/locale/ar/pocket.properties
browser/extensions/pocket/locale/ast/pocket.properties
browser/extensions/pocket/locale/az/pocket.properties
browser/extensions/pocket/locale/be/pocket.properties
browser/extensions/pocket/locale/bg/pocket.properties
browser/extensions/pocket/locale/bn-BD/pocket.properties
browser/extensions/pocket/locale/bn-IN/pocket.properties
browser/extensions/pocket/locale/br/pocket.properties
browser/extensions/pocket/locale/bs/pocket.properties
browser/extensions/pocket/locale/ca/pocket.properties
browser/extensions/pocket/locale/cak/pocket.properties
browser/extensions/pocket/locale/cs/pocket.properties
browser/extensions/pocket/locale/cy/pocket.properties
browser/extensions/pocket/locale/da/pocket.properties
browser/extensions/pocket/locale/de/pocket.properties
browser/extensions/pocket/locale/dsb/pocket.properties
browser/extensions/pocket/locale/el/pocket.properties
browser/extensions/pocket/locale/en-GB/pocket.properties
browser/extensions/pocket/locale/en-US/pocket.properties
browser/extensions/pocket/locale/eo/pocket.properties
browser/extensions/pocket/locale/es-AR/pocket.properties
browser/extensions/pocket/locale/es-CL/pocket.properties
browser/extensions/pocket/locale/es-ES/pocket.properties
browser/extensions/pocket/locale/es-MX/pocket.properties
browser/extensions/pocket/locale/et/pocket.properties
browser/extensions/pocket/locale/eu/pocket.properties
browser/extensions/pocket/locale/fa/pocket.properties
browser/extensions/pocket/locale/ff/pocket.properties
browser/extensions/pocket/locale/fi/pocket.properties
browser/extensions/pocket/locale/fr/pocket.properties
browser/extensions/pocket/locale/fy-NL/pocket.properties
browser/extensions/pocket/locale/ga-IE/pocket.properties
browser/extensions/pocket/locale/gd/pocket.properties
browser/extensions/pocket/locale/gl/pocket.properties
browser/extensions/pocket/locale/gu-IN/pocket.properties
browser/extensions/pocket/locale/he/pocket.properties
browser/extensions/pocket/locale/hi-IN/pocket.properties
browser/extensions/pocket/locale/hr/pocket.properties
browser/extensions/pocket/locale/hsb/pocket.properties
browser/extensions/pocket/locale/hu/pocket.properties
browser/extensions/pocket/locale/hy-AM/pocket.properties
browser/extensions/pocket/locale/id/pocket.properties
browser/extensions/pocket/locale/is/pocket.properties
browser/extensions/pocket/locale/it/pocket.properties
browser/extensions/pocket/locale/ja/pocket.properties
browser/extensions/pocket/locale/jar.mn
browser/extensions/pocket/locale/ka/pocket.properties
browser/extensions/pocket/locale/kab/pocket.properties
browser/extensions/pocket/locale/kk/pocket.properties
browser/extensions/pocket/locale/km/pocket.properties
browser/extensions/pocket/locale/kn/pocket.properties
browser/extensions/pocket/locale/ko/pocket.properties
browser/extensions/pocket/locale/lij/pocket.properties
browser/extensions/pocket/locale/lt/pocket.properties
browser/extensions/pocket/locale/ltg/pocket.properties
browser/extensions/pocket/locale/lv/pocket.properties
browser/extensions/pocket/locale/mk/pocket.properties
browser/extensions/pocket/locale/ml/pocket.properties
browser/extensions/pocket/locale/moz.build
browser/extensions/pocket/locale/mr/pocket.properties
browser/extensions/pocket/locale/ms/pocket.properties
browser/extensions/pocket/locale/my/pocket.properties
browser/extensions/pocket/locale/nb-NO/pocket.properties
browser/extensions/pocket/locale/ne-NP/pocket.properties
browser/extensions/pocket/locale/nl/pocket.properties
browser/extensions/pocket/locale/nn-NO/pocket.properties
browser/extensions/pocket/locale/oc/pocket.properties
browser/extensions/pocket/locale/or/pocket.properties
browser/extensions/pocket/locale/pa-IN/pocket.properties
browser/extensions/pocket/locale/pl/pocket.properties
browser/extensions/pocket/locale/pt-BR/pocket.properties
browser/extensions/pocket/locale/pt-PT/pocket.properties
browser/extensions/pocket/locale/rm/pocket.properties
browser/extensions/pocket/locale/ro/pocket.properties
browser/extensions/pocket/locale/ru/pocket.properties
browser/extensions/pocket/locale/sk/pocket.properties
browser/extensions/pocket/locale/sl/pocket.properties
browser/extensions/pocket/locale/sq/pocket.properties
browser/extensions/pocket/locale/sr/pocket.properties
browser/extensions/pocket/locale/sv-SE/pocket.properties
browser/extensions/pocket/locale/ta/pocket.properties
browser/extensions/pocket/locale/te/pocket.properties
browser/extensions/pocket/locale/th/pocket.properties
browser/extensions/pocket/locale/tl/pocket.properties
browser/extensions/pocket/locale/tr/pocket.properties
browser/extensions/pocket/locale/uk/pocket.properties
browser/extensions/pocket/locale/ur/pocket.properties
browser/extensions/pocket/locale/vi/pocket.properties
browser/extensions/pocket/locale/zh-CN/pocket.properties
browser/extensions/pocket/locale/zh-TW/pocket.properties
browser/extensions/pocket/moz.build
browser/extensions/pocket/skin/shared/library-pocket-animation.svg
browser/extensions/pocket/skin/shared/pocket-animation.svg
browser/extensions/pocket/skin/shared/pocket-outline.svg
browser/extensions/pocket/skin/shared/pocket.css
browser/extensions/pocket/skin/shared/pocket.svg
browser/extensions/pocket/test/.eslintrc.js
browser/extensions/pocket/test/browser.ini
browser/extensions/pocket/test/browser_pocket_ui_check.js
browser/extensions/pocket/test/head.js
browser/extensions/pocket/test/test.html
browser/locales/Makefile.in
testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json
toolkit/components/normandy/content/AboutPages.jsm
tools/lint/codespell.yml
--- a/.eslintignore
+++ b/.eslintignore
@@ -78,18 +78,18 @@ browser/components/enterprisepolicies/sc
 # generated & special files in cld2
 browser/components/translation/cld2/**
 # Screenshots is imported as a system add-on and has
 # their own lint rules currently.
 browser/extensions/screenshots/**
 browser/extensions/pdfjs/content/build**
 browser/extensions/pdfjs/content/web**
 # generated or library files in pocket
-browser/extensions/pocket/content/panels/js/tmpl.js
-browser/extensions/pocket/content/panels/js/vendor/**
+browser/components/pocket/content/panels/js/tmpl.js
+browser/components/pocket/content/panels/js/vendor/**
 # Activity Stream has incompatible eslintrc. `npm run lint` from its directory
 browser/components/newtab/**
 # The only file in browser/locales/ is pre-processed.
 browser/locales/**
 # imported from chromium
 browser/extensions/mortar/**
 # Generated data files
 browser/extensions/formautofill/phonenumberutils/PhoneNumberMetaData.jsm
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,10 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Bug 1397263 - moving AS to moz.configure will break AS detection
+Bug 1488813 - Migrating Pocket off any bootstrap code
+
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -15,17 +15,17 @@ var StarUI = {
   _isNewBookmark: false,
   _isComposing: false,
   _autoCloseTimer: 0,
   // The autoclose timer is diasbled if the user interacts with the
   // popup, such as making a change through typing or clicking on
   // the popup.
   _autoCloseTimerEnabled: true,
   // The autoclose timeout length. 3500ms matches the timeout that Pocket uses
-  // in browser/extensions/pocket/content/panels/js/saved.js.
+  // in browser/components/pocket/content/panels/js/saved.js.
   _autoCloseTimeout: 3500,
   _removeBookmarksOnPopupHidden: false,
 
   _element(aID) {
     return document.getElementById(aID);
   },
 
   get showForNewBookmarks() {
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -39,16 +39,17 @@ DIRS += [
     'enterprisepolicies',
     'extensions',
     'feeds',
     'library',
     'migration',
     'newtab',
     'originattributes',
     'places',
+    'pocket',
     'preferences',
     'privatebrowsing',
     'resistfingerprinting',
     'search',
     'sessionstore',
     'shell',
     'syncedtabs',
     'uitour',
--- a/browser/components/nsBrowserGlue.js
+++ b/browser/components/nsBrowserGlue.js
@@ -419,16 +419,17 @@ XPCOMUtils.defineLazyModuleGetters(this,
   PluralForm: "resource://gre/modules/PluralForm.jsm",
   PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.jsm",
   ProcessHangMonitor: "resource:///modules/ProcessHangMonitor.jsm",
   ReaderParent: "resource:///modules/ReaderParent.jsm",
   RemotePrompt: "resource:///modules/RemotePrompt.jsm",
   RemoteSettings: "resource://services-settings/remote-settings.js",
   SafeBrowsing: "resource://gre/modules/SafeBrowsing.jsm",
   Sanitizer: "resource:///modules/Sanitizer.jsm",
+  SaveToPocket: "chrome://pocket/content/SaveToPocket.jsm",
   SessionStartup: "resource:///modules/sessionstore/SessionStartup.jsm",
   SessionStore: "resource:///modules/sessionstore/SessionStore.jsm",
   ShellService: "resource:///modules/ShellService.jsm",
   TabCrashHandler: "resource:///modules/ContentCrashHandlers.jsm",
   UIState: "resource://services-sync/UIState.jsm",
   UITour: "resource:///modules/UITour.jsm",
   WebChannel: "resource://gre/modules/WebChannel.jsm",
   WindowsRegistry: "resource://gre/modules/WindowsRegistry.jsm",
@@ -1061,16 +1062,17 @@ BrowserGlue.prototype = {
     // Initialize the default l10n resource sources for L10nRegistry.
     let locales = Services.locale.packagedLocales;
     const greSource = new FileSource("toolkit", locales, "resource://gre/localization/{locale}/");
     L10nRegistry.registerSource(greSource);
 
     const appSource = new FileSource("app", locales, "resource://app/localization/{locale}/");
     L10nRegistry.registerSource(appSource);
 
+    SaveToPocket.init();
     Services.obs.notifyObservers(null, "browser-ui-startup-complete");
   },
 
   _checkForOldBuildUpdates() {
     // check for update if our build is old
     if (AppConstants.MOZ_UPDATER &&
         Services.prefs.getBoolPref("app.update.checkInstallTime")) {
 
@@ -1417,16 +1419,17 @@ BrowserGlue.prototype = {
       this.pingCentre.uninit();
     }
 
     PageThumbs.uninit();
     NewTabUtils.uninit();
     AboutPrivateBrowsingHandler.uninit();
     AutoCompletePopup.uninit();
     DateTimePickerParent.uninit();
+    SaveToPocket.uninit();
 
     // Browser errors are only collected on Nightly, but telemetry for
     // them is collected on all channels.
     if (AppConstants.MOZ_DATA_REPORTING) {
       this.browserErrorReporter.uninit();
     }
 
     Normandy.uninit();
rename from browser/extensions/pocket/content/AboutPocket.jsm
rename to browser/components/pocket/content/AboutPocket.jsm
rename from browser/extensions/pocket/content/Pocket.jsm
rename to browser/components/pocket/content/Pocket.jsm
rename from browser/extensions/pocket/bootstrap.js
rename to browser/components/pocket/content/SaveToPocket.jsm
--- a/browser/extensions/pocket/bootstrap.js
+++ b/browser/components/pocket/content/SaveToPocket.jsm
@@ -1,20 +1,17 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* 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/. */
 
-/* global ADDON_ENABLE:false, ADDON_DISABLE:false, APP_SHUTDOWN: false */
-
-const Cm = Components.manager;
+"use strict";
 
 ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
 ChromeUtils.import("resource://services-common/utils.js");
-ChromeUtils.import("resource://gre/modules/AppConstants.jsm");
 ChromeUtils.defineModuleGetter(this, "AboutPocket",
                                "chrome://pocket/content/AboutPocket.jsm");
 ChromeUtils.defineModuleGetter(this, "AddonManagerPrivate",
                                "resource://gre/modules/AddonManager.jsm");
 ChromeUtils.defineModuleGetter(this, "BrowserUtils",
                                "resource://gre/modules/BrowserUtils.jsm");
 ChromeUtils.defineModuleGetter(this, "PageActions",
                                "resource:///modules/PageActions.jsm");
@@ -23,19 +20,21 @@ ChromeUtils.defineModuleGetter(this, "Po
 ChromeUtils.defineModuleGetter(this, "ReaderMode",
                                "resource://gre/modules/ReaderMode.jsm");
 ChromeUtils.defineModuleGetter(this, "Services",
                                "resource://gre/modules/Services.jsm");
 XPCOMUtils.defineLazyGetter(this, "gPocketBundle", function() {
   return Services.strings.createBundle("chrome://pocket/locale/pocket.properties");
 });
 XPCOMUtils.defineLazyGetter(this, "gPocketStyleURI", function() {
-  return Services.io.newURI("chrome://pocket-shared/skin/pocket.css");
+  return Services.io.newURI("chrome://pocket/skin/pocket.css");
 });
 
+var EXPORTED_SYMBOLS = ["SaveToPocket"];
+
 // Due to bug 1051238 frame scripts are cached forever, so we can't update them
 // as a restartless add-on. The Math.random() is the work around for this.
 const PROCESS_SCRIPT = "chrome://pocket/content/pocket-content-process.js?" + Math.random();
 
 const PREF_BRANCH = "extensions.pocket.";
 const PREFS = {
   enabled: true, // bug 1229937, figure out ui tour support
   api: "api.getpocket.com",
@@ -391,32 +390,32 @@ function pktUIGetter(prop, window) {
       return window[prop];
     },
     configurable: true,
     enumerable: true,
   };
 }
 
 var PocketOverlay = {
-  startup(reason) {
+  startup() {
     let styleSheetService = Cc["@mozilla.org/content/style-sheet-service;1"]
                               .getService(Ci.nsIStyleSheetService);
     this._sheetType = styleSheetService.AUTHOR_SHEET;
     this._cachedSheet = styleSheetService.preloadSheet(gPocketStyleURI,
                                                        this._sheetType);
     Services.ppmm.loadProcessScript(PROCESS_SCRIPT, true);
     Services.obs.addObserver(this, "browser-delayed-startup-finished");
     PocketReader.startup();
     PocketPageAction.init();
     PocketContextMenu.init();
     for (let win of browserWindows()) {
       this.onWindowOpened(win);
     }
   },
-  shutdown(reason) {
+  shutdown() {
     Services.ppmm.broadcastAsyncMessage("PocketShuttingDown");
     Services.obs.removeObserver(this, "browser-delayed-startup-finished");
     // Although the ppmm loads the scripts into the chrome process as well,
     // we need to manually unregister here anyway to ensure these aren't part
     // of the chrome process and avoid errors.
     AboutPocket.aboutSaved.unregister();
     AboutPocket.aboutSignup.unregister();
 
@@ -496,48 +495,42 @@ var PocketOverlay = {
 
 };
 
 // use enabled pref as a way for tests (e.g. test_contextmenu.html) to disable
 // the addon when running.
 function prefObserver(aSubject, aTopic, aData) {
   let enabled = Services.prefs.getBoolPref("extensions.pocket.enabled");
   if (enabled)
-    PocketOverlay.startup(ADDON_ENABLE);
+    PocketOverlay.startup();
   else
-    PocketOverlay.shutdown(ADDON_DISABLE);
-}
-
-function startup(data, reason) {
-  if (AddonManagerPrivate.addonIsActive("isreaditlater@ideashower.com"))
-    return;
-
-  setDefaultPrefs();
-  // migrate enabled pref
-  if (Services.prefs.prefHasUserValue("browser.pocket.enabled")) {
-    Services.prefs.setBoolPref("extensions.pocket.enabled", Services.prefs.getBoolPref("browser.pocket.enabled"));
-    Services.prefs.clearUserPref("browser.pocket.enabled");
-  }
-  // watch pref change and enable/disable if necessary
-  Services.prefs.addObserver("extensions.pocket.enabled", prefObserver);
-  if (!Services.prefs.getBoolPref("extensions.pocket.enabled"))
-    return;
-  PocketOverlay.startup(reason);
-}
-
-function shutdown(data, reason) {
-  // For speed sake, we should only do a shutdown if we're being disabled.
-  // On an app shutdown, just let it fade away...
-  if (reason != APP_SHUTDOWN) {
-    Services.prefs.removeObserver("extensions.pocket.enabled", prefObserver);
-    PocketOverlay.shutdown(reason);
-  }
-}
-
-function install() {
-}
-
-function uninstall() {
+    PocketOverlay.shutdown();
 }
 
 function browserWindows() {
   return Services.wm.getEnumerator("navigator:browser");
 }
+
+var SaveToPocket = {
+  init() {
+    if (AddonManagerPrivate.addonIsActive("isreaditlater@ideashower.com"))
+      return;
+
+    setDefaultPrefs();
+    // migrate enabled pref
+    if (Services.prefs.prefHasUserValue("browser.pocket.enabled")) {
+      Services.prefs.setBoolPref("extensions.pocket.enabled", Services.prefs.getBoolPref("browser.pocket.enabled"));
+      Services.prefs.clearUserPref("browser.pocket.enabled");
+    }
+    // watch pref change and enable/disable if necessary
+    Services.prefs.addObserver("extensions.pocket.enabled", prefObserver);
+    if (!Services.prefs.getBoolPref("extensions.pocket.enabled"))
+      return;
+    PocketOverlay.startup();
+  },
+
+  uninit() {
+    // For speed sake, we should only do a shutdown if we're being disabled.
+    // On an app shutdown, just let it fade away...
+    Services.prefs.removeObserver("extensions.pocket.enabled", prefObserver);
+    PocketOverlay.shutdown();
+  },
+};
rename from browser/extensions/pocket/content/main.js
rename to browser/components/pocket/content/main.js
rename from browser/extensions/pocket/content/panels/css/normalize.css
rename to browser/components/pocket/content/panels/css/normalize.css
rename from browser/extensions/pocket/content/panels/css/saved.css
rename to browser/components/pocket/content/panels/css/saved.css
rename from browser/extensions/pocket/content/panels/css/sendtomobile.css
rename to browser/components/pocket/content/panels/css/sendtomobile.css
rename from browser/extensions/pocket/content/panels/css/signup.css
rename to browser/components/pocket/content/panels/css/signup.css
rename from browser/extensions/pocket/content/panels/fonts/FiraSans-Regular.woff
rename to browser/components/pocket/content/panels/fonts/FiraSans-Regular.woff
rename from browser/extensions/pocket/content/panels/img/app_store_dowload_apple.svg
rename to browser/components/pocket/content/panels/img/app_store_dowload_apple.svg
rename from browser/extensions/pocket/content/panels/img/pocket-outline.svg
rename to browser/components/pocket/content/panels/img/pocket-outline.svg
rename from browser/extensions/pocket/content/panels/img/pocketerror@1x.png
rename to browser/components/pocket/content/panels/img/pocketerror@1x.png
rename from browser/extensions/pocket/content/panels/img/pocketerror@2x.png
rename to browser/components/pocket/content/panels/img/pocketerror@2x.png
rename from browser/extensions/pocket/content/panels/img/pocketlogo@1x.png
rename to browser/components/pocket/content/panels/img/pocketlogo@1x.png
rename from browser/extensions/pocket/content/panels/img/pocketlogo@2x.png
rename to browser/components/pocket/content/panels/img/pocketlogo@2x.png
rename from browser/extensions/pocket/content/panels/img/pocketlogosolo@1x.png
rename to browser/components/pocket/content/panels/img/pocketlogosolo@1x.png
rename from browser/extensions/pocket/content/panels/img/pocketlogosolo@2x.png
rename to browser/components/pocket/content/panels/img/pocketlogosolo@2x.png
rename from browser/extensions/pocket/content/panels/img/pocketsignup_button@1x.png
rename to browser/components/pocket/content/panels/img/pocketsignup_button@1x.png
rename from browser/extensions/pocket/content/panels/img/pocketsignup_button@2x.png
rename to browser/components/pocket/content/panels/img/pocketsignup_button@2x.png
rename from browser/extensions/pocket/content/panels/img/pocketsignup_devices@1x.png
rename to browser/components/pocket/content/panels/img/pocketsignup_devices@1x.png
rename from browser/extensions/pocket/content/panels/img/pocketsignup_devices@2x.png
rename to browser/components/pocket/content/panels/img/pocketsignup_devices@2x.png
rename from browser/extensions/pocket/content/panels/img/pocketsignup_hero@1x.png
rename to browser/components/pocket/content/panels/img/pocketsignup_hero@1x.png
rename from browser/extensions/pocket/content/panels/img/pocketsignup_hero@2x.png
rename to browser/components/pocket/content/panels/img/pocketsignup_hero@2x.png
rename from browser/extensions/pocket/content/panels/img/signup_firefoxlogo@1x.png
rename to browser/components/pocket/content/panels/img/signup_firefoxlogo@1x.png
rename from browser/extensions/pocket/content/panels/img/signup_firefoxlogo@2x.png
rename to browser/components/pocket/content/panels/img/signup_firefoxlogo@2x.png
rename from browser/extensions/pocket/content/panels/img/signup_help@1x.png
rename to browser/components/pocket/content/panels/img/signup_help@1x.png
rename from browser/extensions/pocket/content/panels/img/signup_help@2x.png
rename to browser/components/pocket/content/panels/img/signup_help@2x.png
rename from browser/extensions/pocket/content/panels/img/tag_close@1x.png
rename to browser/components/pocket/content/panels/img/tag_close@1x.png
rename from browser/extensions/pocket/content/panels/img/tag_close@2x.png
rename to browser/components/pocket/content/panels/img/tag_close@2x.png
rename from browser/extensions/pocket/content/panels/img/tag_closeactive@1x.png
rename to browser/components/pocket/content/panels/img/tag_closeactive@1x.png
rename from browser/extensions/pocket/content/panels/img/tag_closeactive@2x.png
rename to browser/components/pocket/content/panels/img/tag_closeactive@2x.png
rename from browser/extensions/pocket/content/panels/js/messages.js
rename to browser/components/pocket/content/panels/js/messages.js
rename from browser/extensions/pocket/content/panels/js/saved.js
rename to browser/components/pocket/content/panels/js/saved.js
rename from browser/extensions/pocket/content/panels/js/sendtomobile.js
rename to browser/components/pocket/content/panels/js/sendtomobile.js
rename from browser/extensions/pocket/content/panels/js/signup.js
rename to browser/components/pocket/content/panels/js/signup.js
rename from browser/extensions/pocket/content/panels/js/tmpl.js
rename to browser/components/pocket/content/panels/js/tmpl.js
rename from browser/extensions/pocket/content/panels/js/vendor/handlebars.runtime.js
rename to browser/components/pocket/content/panels/js/vendor/handlebars.runtime.js
rename from browser/extensions/pocket/content/panels/js/vendor/jquery-2.1.1.min.js
rename to browser/components/pocket/content/panels/js/vendor/jquery-2.1.1.min.js
rename from browser/extensions/pocket/content/panels/js/vendor/jquery.tokeninput.min.js
rename to browser/components/pocket/content/panels/js/vendor/jquery.tokeninput.min.js
rename from browser/extensions/pocket/content/panels/license.txt
rename to browser/components/pocket/content/panels/license.txt
rename from browser/extensions/pocket/content/panels/saved.html
rename to browser/components/pocket/content/panels/saved.html
rename from browser/extensions/pocket/content/panels/signup.html
rename to browser/components/pocket/content/panels/signup.html
rename from browser/extensions/pocket/content/panels/tmpl/ho2/ho2_articleinfo.handlebars
rename to browser/components/pocket/content/panels/tmpl/ho2/ho2_articleinfo.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/ho2/ho2_download.handlebars
rename to browser/components/pocket/content/panels/tmpl/ho2/ho2_download.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/ho2/ho2_download_error.handlebars
rename to browser/components/pocket/content/panels/tmpl/ho2/ho2_download_error.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v1.handlebars
rename to browser/components/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v1.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v2.handlebars
rename to browser/components/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v2.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v3.handlebars
rename to browser/components/pocket/content/panels/tmpl/ho2/ho2_sharebutton_v3.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/saved_premiumextras.handlebars
rename to browser/components/pocket/content/panels/tmpl/saved_premiumextras.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/saved_premiumshell.handlebars
rename to browser/components/pocket/content/panels/tmpl/saved_premiumshell.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/saved_shell.handlebars
rename to browser/components/pocket/content/panels/tmpl/saved_shell.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/saved_tmplogin.handlebars
rename to browser/components/pocket/content/panels/tmpl/saved_tmplogin.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/signup_shell.handlebars
rename to browser/components/pocket/content/panels/tmpl/signup_shell.handlebars
rename from browser/extensions/pocket/content/panels/tmpl/signupstoryboard_shell.handlebars
rename to browser/components/pocket/content/panels/tmpl/signupstoryboard_shell.handlebars
rename from browser/extensions/pocket/content/pktApi.jsm
rename to browser/components/pocket/content/pktApi.jsm
rename from browser/extensions/pocket/content/pocket-content-process.js
rename to browser/components/pocket/content/pocket-content-process.js
rename from browser/extensions/pocket/jar.mn
rename to browser/components/pocket/jar.mn
--- a/browser/extensions/pocket/jar.mn
+++ b/browser/components/pocket/jar.mn
@@ -1,10 +1,10 @@
 # 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/.
 
-[features/firefox@getpocket.com] chrome.jar:
-% content pocket %content/ contentaccessible=yes
-% skin pocket-shared classic/1.0 %skin/shared/
-  content/  (content/*)
-  skin/shared (skin/shared/*)
+browser.jar:
+% content pocket %content/pocket/ contentaccessible=yes
+% skin pocket classic/1.0 %skin/classic/browser/pocket/
+  content/pocket/  (content/*)
+  skin/classic/browser/pocket/ (skin/*)
 
rename from browser/extensions/pocket/locale/ach/pocket.properties
rename to browser/components/pocket/locale/ach/pocket.properties
rename from browser/extensions/pocket/locale/ar/pocket.properties
rename to browser/components/pocket/locale/ar/pocket.properties
rename from browser/extensions/pocket/locale/ast/pocket.properties
rename to browser/components/pocket/locale/ast/pocket.properties
rename from browser/extensions/pocket/locale/az/pocket.properties
rename to browser/components/pocket/locale/az/pocket.properties
rename from browser/extensions/pocket/locale/be/pocket.properties
rename to browser/components/pocket/locale/be/pocket.properties
rename from browser/extensions/pocket/locale/bg/pocket.properties
rename to browser/components/pocket/locale/bg/pocket.properties
rename from browser/extensions/pocket/locale/bn-BD/pocket.properties
rename to browser/components/pocket/locale/bn-BD/pocket.properties
rename from browser/extensions/pocket/locale/bn-IN/pocket.properties
rename to browser/components/pocket/locale/bn-IN/pocket.properties
rename from browser/extensions/pocket/locale/br/pocket.properties
rename to browser/components/pocket/locale/br/pocket.properties
rename from browser/extensions/pocket/locale/bs/pocket.properties
rename to browser/components/pocket/locale/bs/pocket.properties
rename from browser/extensions/pocket/locale/ca/pocket.properties
rename to browser/components/pocket/locale/ca/pocket.properties
rename from browser/extensions/pocket/locale/cak/pocket.properties
rename to browser/components/pocket/locale/cak/pocket.properties
rename from browser/extensions/pocket/locale/cs/pocket.properties
rename to browser/components/pocket/locale/cs/pocket.properties
rename from browser/extensions/pocket/locale/cy/pocket.properties
rename to browser/components/pocket/locale/cy/pocket.properties
rename from browser/extensions/pocket/locale/da/pocket.properties
rename to browser/components/pocket/locale/da/pocket.properties
rename from browser/extensions/pocket/locale/de/pocket.properties
rename to browser/components/pocket/locale/de/pocket.properties
rename from browser/extensions/pocket/locale/dsb/pocket.properties
rename to browser/components/pocket/locale/dsb/pocket.properties
rename from browser/extensions/pocket/locale/el/pocket.properties
rename to browser/components/pocket/locale/el/pocket.properties
rename from browser/extensions/pocket/locale/en-GB/pocket.properties
rename to browser/components/pocket/locale/en-GB/pocket.properties
copy from browser/extensions/pocket/locale/en-GB/pocket.properties
copy to browser/components/pocket/locale/en-US/pocket.properties
rename from browser/extensions/pocket/locale/eo/pocket.properties
rename to browser/components/pocket/locale/eo/pocket.properties
rename from browser/extensions/pocket/locale/es-AR/pocket.properties
rename to browser/components/pocket/locale/es-AR/pocket.properties
rename from browser/extensions/pocket/locale/es-CL/pocket.properties
rename to browser/components/pocket/locale/es-CL/pocket.properties
rename from browser/extensions/pocket/locale/es-ES/pocket.properties
rename to browser/components/pocket/locale/es-ES/pocket.properties
rename from browser/extensions/pocket/locale/es-MX/pocket.properties
rename to browser/components/pocket/locale/es-MX/pocket.properties
rename from browser/extensions/pocket/locale/et/pocket.properties
rename to browser/components/pocket/locale/et/pocket.properties
rename from browser/extensions/pocket/locale/eu/pocket.properties
rename to browser/components/pocket/locale/eu/pocket.properties
rename from browser/extensions/pocket/locale/fa/pocket.properties
rename to browser/components/pocket/locale/fa/pocket.properties
rename from browser/extensions/pocket/locale/ff/pocket.properties
rename to browser/components/pocket/locale/ff/pocket.properties
rename from browser/extensions/pocket/locale/fi/pocket.properties
rename to browser/components/pocket/locale/fi/pocket.properties
rename from browser/extensions/pocket/locale/fr/pocket.properties
rename to browser/components/pocket/locale/fr/pocket.properties
rename from browser/extensions/pocket/locale/fy-NL/pocket.properties
rename to browser/components/pocket/locale/fy-NL/pocket.properties
rename from browser/extensions/pocket/locale/ga-IE/pocket.properties
rename to browser/components/pocket/locale/ga-IE/pocket.properties
rename from browser/extensions/pocket/locale/gd/pocket.properties
rename to browser/components/pocket/locale/gd/pocket.properties
rename from browser/extensions/pocket/locale/gl/pocket.properties
rename to browser/components/pocket/locale/gl/pocket.properties
rename from browser/extensions/pocket/locale/gu-IN/pocket.properties
rename to browser/components/pocket/locale/gu-IN/pocket.properties
rename from browser/extensions/pocket/locale/he/pocket.properties
rename to browser/components/pocket/locale/he/pocket.properties
rename from browser/extensions/pocket/locale/hi-IN/pocket.properties
rename to browser/components/pocket/locale/hi-IN/pocket.properties
rename from browser/extensions/pocket/locale/hr/pocket.properties
rename to browser/components/pocket/locale/hr/pocket.properties
rename from browser/extensions/pocket/locale/hsb/pocket.properties
rename to browser/components/pocket/locale/hsb/pocket.properties
rename from browser/extensions/pocket/locale/hu/pocket.properties
rename to browser/components/pocket/locale/hu/pocket.properties
rename from browser/extensions/pocket/locale/hy-AM/pocket.properties
rename to browser/components/pocket/locale/hy-AM/pocket.properties
rename from browser/extensions/pocket/locale/id/pocket.properties
rename to browser/components/pocket/locale/id/pocket.properties
rename from browser/extensions/pocket/locale/is/pocket.properties
rename to browser/components/pocket/locale/is/pocket.properties
rename from browser/extensions/pocket/locale/it/pocket.properties
rename to browser/components/pocket/locale/it/pocket.properties
rename from browser/extensions/pocket/locale/ja/pocket.properties
rename to browser/components/pocket/locale/ja/pocket.properties
rename from browser/extensions/pocket/locale/jar.mn
rename to browser/components/pocket/locale/jar.mn
--- a/browser/extensions/pocket/locale/jar.mn
+++ b/browser/components/pocket/locale/jar.mn
@@ -23,17 +23,17 @@
 #define nn_NO nn-NO
 #define pa_IN pa-IN
 #define pt_BR pt-BR
 #define pt_PT pt-PT
 #define sv_SE sv-SE
 #define zh_CN zh-CN
 #define zh_TW zh-TW
 
-[features/firefox@getpocket.com] @AB_CD@.jar:
+@AB_CD@.jar:
 % locale pocket @AB_CD@ %locale/@AB_CD@/
   # For locales we support, include the file from the locale's directory in the
   # source tree.
   # For other locales (and en-US) fallback to the en-US directory.
 #if AB_CD == ach || AB_CD == ar || AB_CD == ast || AB_CD == az || AB_CD == be || AB_CD == bg || AB_CD == bn_BD || AB_CD == bn_IN || AB_CD == br || AB_CD == bs || AB_CD == ca || AB_CD == cak || AB_CD == cs || AB_CD == cy || AB_CD == da || AB_CD == de || AB_CD == dsb || AB_CD == el || AB_CD == en_GB || AB_CD == en_US || AB_CD == eo || AB_CD == es_AR || AB_CD == es_CL || AB_CD == es_ES || AB_CD == es_MX || AB_CD == et || AB_CD == eu || AB_CD == fa || AB_CD == ff || AB_CD == fi || AB_CD == fr || AB_CD == fy_NL || AB_CD == ga_IE || AB_CD == gd || AB_CD == gl || AB_CD == gu_IN || AB_CD == he || AB_CD == hi_IN || AB_CD == hr || AB_CD == hsb || AB_CD == hu || AB_CD == hy_AM || AB_CD == id || AB_CD == is || AB_CD == it || AB_CD == ja || AB_CD == ka || AB_CD == kab || AB_CD == kk || AB_CD == km || AB_CD == kn || AB_CD == ko || AB_CD == lij || AB_CD == lt || AB_CD == ltg || AB_CD == lv || AB_CD == mk || AB_CD == ml || AB_CD == mr || AB_CD == ms || AB_CD == my || AB_CD == nb_NO || AB_CD == ne_NP || AB_CD == nl || AB_CD == nn_NO || AB_CD == oc || AB_CD == or || AB_CD == pa_IN || AB_CD == pl || AB_CD == pt_BR || AB_CD == pt_PT || AB_CD == rm || AB_CD == ro || AB_CD == ru || AB_CD == sk || AB_CD == sl || AB_CD == sq || AB_CD == sr || AB_CD == sv_SE || AB_CD == ta || AB_CD == te || AB_CD == th || AB_CD == tl || AB_CD == tr || AB_CD == uk || AB_CD == ur || AB_CD == vi || AB_CD == zh_CN || AB_CD == zh_TW
   locale/@AB_CD@/                (@AB_CD@/*)
 #else
   locale/@AB_CD@/                (en-US/*)
rename from browser/extensions/pocket/locale/ka/pocket.properties
rename to browser/components/pocket/locale/ka/pocket.properties
rename from browser/extensions/pocket/locale/kab/pocket.properties
rename to browser/components/pocket/locale/kab/pocket.properties
rename from browser/extensions/pocket/locale/kk/pocket.properties
rename to browser/components/pocket/locale/kk/pocket.properties
rename from browser/extensions/pocket/locale/km/pocket.properties
rename to browser/components/pocket/locale/km/pocket.properties
rename from browser/extensions/pocket/locale/kn/pocket.properties
rename to browser/components/pocket/locale/kn/pocket.properties
rename from browser/extensions/pocket/locale/ko/pocket.properties
rename to browser/components/pocket/locale/ko/pocket.properties
rename from browser/extensions/pocket/locale/lij/pocket.properties
rename to browser/components/pocket/locale/lij/pocket.properties
rename from browser/extensions/pocket/locale/lt/pocket.properties
rename to browser/components/pocket/locale/lt/pocket.properties
rename from browser/extensions/pocket/locale/ltg/pocket.properties
rename to browser/components/pocket/locale/ltg/pocket.properties
rename from browser/extensions/pocket/locale/lv/pocket.properties
rename to browser/components/pocket/locale/lv/pocket.properties
rename from browser/extensions/pocket/locale/mk/pocket.properties
rename to browser/components/pocket/locale/mk/pocket.properties
rename from browser/extensions/pocket/locale/ml/pocket.properties
rename to browser/components/pocket/locale/ml/pocket.properties
rename from browser/extensions/pocket/locale/moz.build
rename to browser/components/pocket/locale/moz.build
rename from browser/extensions/pocket/locale/mr/pocket.properties
rename to browser/components/pocket/locale/mr/pocket.properties
rename from browser/extensions/pocket/locale/ms/pocket.properties
rename to browser/components/pocket/locale/ms/pocket.properties
rename from browser/extensions/pocket/locale/my/pocket.properties
rename to browser/components/pocket/locale/my/pocket.properties
rename from browser/extensions/pocket/locale/nb-NO/pocket.properties
rename to browser/components/pocket/locale/nb-NO/pocket.properties
rename from browser/extensions/pocket/locale/ne-NP/pocket.properties
rename to browser/components/pocket/locale/ne-NP/pocket.properties
rename from browser/extensions/pocket/locale/nl/pocket.properties
rename to browser/components/pocket/locale/nl/pocket.properties
rename from browser/extensions/pocket/locale/nn-NO/pocket.properties
rename to browser/components/pocket/locale/nn-NO/pocket.properties
rename from browser/extensions/pocket/locale/oc/pocket.properties
rename to browser/components/pocket/locale/oc/pocket.properties
rename from browser/extensions/pocket/locale/or/pocket.properties
rename to browser/components/pocket/locale/or/pocket.properties
rename from browser/extensions/pocket/locale/pa-IN/pocket.properties
rename to browser/components/pocket/locale/pa-IN/pocket.properties
rename from browser/extensions/pocket/locale/pl/pocket.properties
rename to browser/components/pocket/locale/pl/pocket.properties
rename from browser/extensions/pocket/locale/pt-BR/pocket.properties
rename to browser/components/pocket/locale/pt-BR/pocket.properties
rename from browser/extensions/pocket/locale/pt-PT/pocket.properties
rename to browser/components/pocket/locale/pt-PT/pocket.properties
rename from browser/extensions/pocket/locale/rm/pocket.properties
rename to browser/components/pocket/locale/rm/pocket.properties
rename from browser/extensions/pocket/locale/ro/pocket.properties
rename to browser/components/pocket/locale/ro/pocket.properties
rename from browser/extensions/pocket/locale/ru/pocket.properties
rename to browser/components/pocket/locale/ru/pocket.properties
rename from browser/extensions/pocket/locale/sk/pocket.properties
rename to browser/components/pocket/locale/sk/pocket.properties
rename from browser/extensions/pocket/locale/sl/pocket.properties
rename to browser/components/pocket/locale/sl/pocket.properties
rename from browser/extensions/pocket/locale/sq/pocket.properties
rename to browser/components/pocket/locale/sq/pocket.properties
rename from browser/extensions/pocket/locale/sr/pocket.properties
rename to browser/components/pocket/locale/sr/pocket.properties
rename from browser/extensions/pocket/locale/sv-SE/pocket.properties
rename to browser/components/pocket/locale/sv-SE/pocket.properties
rename from browser/extensions/pocket/locale/ta/pocket.properties
rename to browser/components/pocket/locale/ta/pocket.properties
rename from browser/extensions/pocket/locale/te/pocket.properties
rename to browser/components/pocket/locale/te/pocket.properties
rename from browser/extensions/pocket/locale/th/pocket.properties
rename to browser/components/pocket/locale/th/pocket.properties
rename from browser/extensions/pocket/locale/tl/pocket.properties
rename to browser/components/pocket/locale/tl/pocket.properties
rename from browser/extensions/pocket/locale/tr/pocket.properties
rename to browser/components/pocket/locale/tr/pocket.properties
rename from browser/extensions/pocket/locale/uk/pocket.properties
rename to browser/components/pocket/locale/uk/pocket.properties
rename from browser/extensions/pocket/locale/ur/pocket.properties
rename to browser/components/pocket/locale/ur/pocket.properties
rename from browser/extensions/pocket/locale/vi/pocket.properties
rename to browser/components/pocket/locale/vi/pocket.properties
rename from browser/extensions/pocket/locale/zh-CN/pocket.properties
rename to browser/components/pocket/locale/zh-CN/pocket.properties
rename from browser/extensions/pocket/locale/zh-TW/pocket.properties
rename to browser/components/pocket/locale/zh-TW/pocket.properties
rename from browser/extensions/pocket/moz.build
rename to browser/components/pocket/moz.build
--- a/browser/extensions/pocket/moz.build
+++ b/browser/components/pocket/moz.build
@@ -2,24 +2,13 @@
 # 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", "Pocket")
 
-DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
-DEFINES['MOZ_APP_MAXVERSION'] = CONFIG['MOZ_APP_MAXVERSION']
-
 DIRS += ['locale']
 
-FINAL_TARGET_FILES.features['firefox@getpocket.com'] += [
-  'bootstrap.js'
-]
-
-FINAL_TARGET_PP_FILES.features['firefox@getpocket.com'] += [
-  'install.rdf.in'
-]
-
 BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
 
 JAR_MANIFESTS += ['jar.mn']
rename from browser/extensions/pocket/skin/shared/library-pocket-animation.svg
rename to browser/components/pocket/skin/library-pocket-animation.svg
rename from browser/extensions/pocket/skin/shared/pocket-animation.svg
rename to browser/components/pocket/skin/pocket-animation.svg
rename from browser/extensions/pocket/skin/shared/pocket-outline.svg
rename to browser/components/pocket/skin/pocket-outline.svg
rename from browser/extensions/pocket/skin/shared/pocket.css
rename to browser/components/pocket/skin/pocket.css
--- a/browser/extensions/pocket/skin/shared/pocket.css
+++ b/browser/components/pocket/skin/pocket.css
@@ -4,23 +4,23 @@
 }
 
 #pageActionActivatedActionPanel[actionID="pocket"] > .panel-arrowcontainer > .panel-arrowbox > .panel-arrow {
   fill: #fbfbfb;
 }
 
 #pocket-button,
 #pageAction-panel-pocket {
-  list-style-image: url("chrome://pocket-shared/skin/pocket-outline.svg");
+  list-style-image: url("chrome://pocket/skin/pocket-outline.svg");
 }
 
 #appMenu-library-pocket-button,
 #pocket-button-box[open="true"] > #pocket-button,
 #pocket-button-box[pocketed="true"] > #pocket-button {
-  list-style-image: url("chrome://pocket-shared/skin/pocket.svg");
+  list-style-image: url("chrome://pocket/skin/pocket.svg");
 }
 
 #pocket-button-box[animate="true"] > #pocket-button,
 #pocket-button[open="true"][animationsenabled] > .toolbarbutton-icon {
   fill: transparent;
 }
 
 #pocket-button-box[open="true"] > #pocket-button,
@@ -90,27 +90,27 @@
 }
 
 /* Preload pocket-animation.svg and library-pocket-animation.svg to prevent
    a flicker at the start of either animation. The preloading of the library
    animation is triggered off of hovering the pocket button since the pocket
    button always animates before the library button. */
 #pocket-button-box:not([animate="true"]):hover > #pocket-animatable-box > #pocket-animatable-image,
 #pocket-button[animationsenabled][cui-areatype="toolbar"]:not([overflowedItem="true"]):not([open="true"]):hover > .toolbarbutton-animatable-box > .toolbarbutton-animatable-image {
-  background-image: url("chrome://pocket-shared/skin/pocket-animation.svg"),
-                    url("chrome://pocket-shared/skin/library-pocket-animation.svg");
+  background-image: url("chrome://pocket/skin/pocket-animation.svg"),
+                    url("chrome://pocket/skin/library-pocket-animation.svg");
   background-size: 0, 0;
 }
 
 #pocket-button-box[animate="true"] > #pocket-animatable-box > #pocket-animatable-image,
 #pocket-button[open="true"][animationsenabled][cui-areatype="toolbar"]:not([overflowedItem="true"]) > .toolbarbutton-animatable-box > .toolbarbutton-animatable-image {
   animation-name: pocket-animation;
   animation-timing-function: steps(12);
   animation-duration: 200ms;
-  background-image: url("chrome://pocket-shared/skin/pocket-animation.svg");
+  background-image: url("chrome://pocket/skin/pocket-animation.svg");
   fill: #ef4056;
   -moz-context-properties: fill;
   width: 260px;
 }
 
 #pocket-button-box[animate="true"]:-moz-locale-dir(rtl) > #pocket-animatable-box > #pocket-animatable-image,
 #pocket-button[open="true"][animationsenabled][cui-areatype="toolbar"]:not([overflowedItem="true"]):-moz-locale-dir(rtl) > .toolbarbutton-animatable-box > .toolbarbutton-animatable-image {
   animation-name: pocket-animation-rtl;
@@ -159,17 +159,17 @@
     fill: #ef4056;
   }
   to {
     fill: inherit;
   }
 }
 
 .toolbarbutton-animatable-box[animate="pocket"] > .toolbarbutton-animatable-image {
-  background-image: url("chrome://pocket-shared/skin/library-pocket-animation.svg");
+  background-image: url("chrome://pocket/skin/library-pocket-animation.svg");
   width: 1078px;
   animation-name: library-pocket-animation;
   animation-duration: 800ms;
   animation-timing-function: steps(48);
 }
 
 .toolbarbutton-animatable-box[animate="pocket"]:-moz-locale-dir(rtl) > .toolbarbutton-animatable-image {
   animation-name: library-pocket-animation-rtl;
rename from browser/extensions/pocket/skin/shared/pocket.svg
rename to browser/components/pocket/skin/pocket.svg
rename from browser/extensions/pocket/test/.eslintrc.js
rename to browser/components/pocket/test/.eslintrc.js
rename from browser/extensions/pocket/test/browser.ini
rename to browser/components/pocket/test/browser.ini
rename from browser/extensions/pocket/test/browser_pocket_ui_check.js
rename to browser/components/pocket/test/browser_pocket_ui_check.js
--- a/browser/extensions/pocket/test/browser_pocket_ui_check.js
+++ b/browser/components/pocket/test/browser_pocket_ui_check.js
@@ -27,17 +27,17 @@ add_task(async function test_setup() {
 add_task(async function() {
   await promisePocketEnabled();
 
   checkWindowProperties(true, ["Pocket", "pktUI", "pktUIMessaging"]);
   checkElements(true, ["pocket-button", "appMenu-library-pocket-button"]);
 
   // check context menu exists
   info("checking content context menu");
-  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "https://example.com/browser/browser/extensions/pocket/test/test.html");
+  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "https://example.com/browser/browser/components/pocket/test/test.html");
 
   let contextMenu = document.getElementById("contentAreaContextMenu");
   let popupShown = BrowserTestUtils.waitForEvent(contextMenu, "popupshown");
   let popupHidden = BrowserTestUtils.waitForEvent(contextMenu, "popuphidden");
   await BrowserTestUtils.synthesizeMouseAtCenter("body", {
     type: "contextmenu",
     button: 2,
   }, tab.linkedBrowser);
rename from browser/extensions/pocket/test/head.js
rename to browser/components/pocket/test/head.js
rename from browser/extensions/pocket/test/test.html
rename to browser/components/pocket/test/test.html
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -2,17 +2,16 @@
 # 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/.
 
 DIRS += [
     'formautofill',
     'pdfjs',
-    'pocket',
     'screenshots',
     'webcompat',
     'webcompat-reporter'
 ]
 
 # Only include mortar system add-ons if we locally enable it
 if CONFIG['MOZ_MORTAR']:
     DIRS += [
deleted file mode 100644
--- a/browser/extensions/pocket/install.rdf.in
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<!-- 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/. -->
-
-#filter substitution
-
-<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>firefox@getpocket.com</em:id>
-    <em:version>1.0.5</em:version>
-    <em:type>2</em:type>
-    <em:bootstrap>true</em:bootstrap>
-    <em:multiprocessCompatible>true</em:multiprocessCompatible>
-
-    <!-- Target Application this theme can install into,
-        with minimum and maximum supported versions. -->
-    <em:targetApplication>
-      <Description>
-        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
-        <em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
-        <em:maxVersion>@MOZ_APP_MAXVERSION@</em:maxVersion>
-      </Description>
-    </em:targetApplication>
-
-    <!-- Front End MetaData -->
-    <em:name>Pocket</em:name>
-    <em:description>When you find something you want to view later, put it in Pocket.</em:description>
-  </Description>
-</RDF>
deleted file mode 100644
--- a/browser/extensions/pocket/locale/en-US/pocket.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-# 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/.
-
-addtags = Add Tags
-alreadyhaveacct = Already a Pocket user?
-continueff = Continue with Firefox
-errorgeneric = There was an error when trying to save to Pocket.
-learnmore = Learn More
-loginnow = Log in
-maxtaglength = Tags are limited to 25 characters
-mustbeconnected = You must be connected to the Internet in order to save to Pocket. Please check your connection and try again.
-onlylinkssaved = Only links can be saved
-pagenotsaved = Page Not Saved
-pageremoved = Page Removed
-pagesaved = Saved to Pocket
-processingremove = Removing Page…
-processingtags = Adding tags…
-removepage = Remove Page
-save = Save
-saving = Saving…
-signupemail = Sign up with email
-signuptosave = Sign up for Pocket. It’s free.
-suggestedtags = Suggested Tags
-tagline = Save articles and videos from Firefox to view in Pocket on any device, any time.
-taglinestory_one = Click the Pocket Button to save any article, video or page from Firefox.
-taglinestory_two = View in Pocket on any device, any time.
-tagssaved = Tags Added
-tos = By continuing, you agree to Pocket’s <a href="%1$S" target="_blank">Terms of Service</a> and <a href="%2$S" target="_blank">Privacy Policy</a>
-tryitnow = Try It Now
-signinfirefox = Sign in with Firefox
-signupfirefox = Sign up with Firefox
-viewlist = View List
-
-# LOCALIZATION NOTE(pocket-button.label, pocket-button.tooltiptext, saveToPocketCmd.label, saveLinkToPocketCmd.label, pocketMenuitem.label):
-# "Pocket" is a brand name.
-pocket-button.label = Pocket
-pocket-button.tooltiptext = Save to Pocket
-saveToPocketCmd.label = Save Page to Pocket
-saveToPocketCmd.accesskey = k
-saveLinkToPocketCmd.label = Save Link to Pocket
-saveLinkToPocketCmd.accesskey = o
-pocketMenuitem.label = View Pocket List
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -52,17 +52,17 @@ libs-%:
 	$(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
 	$(NSINSTALL) -D $(DIST)/install
 	@$(MAKE) -C ../../toolkit/locales libs-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
 	@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
 ifneq (,$(wildcard ../extensions/formautofill/locales))
 	@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
 endif
-	@$(MAKE) -C ../extensions/pocket/locale AB_CD=$* XPI_NAME=locale-$*
+	@$(MAKE) -C ../components/pocket/locale AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C ../extensions/webcompat-reporter/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
 	@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
 	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
 	@$(MAKE) multilocale.txt-$* AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
 
 chrome-%: AB_CD=$*
@@ -70,17 +70,17 @@ chrome-%: IS_LANGUAGE_REPACK=1
 chrome-%:
 	$(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
 	@$(MAKE) -C ../../toolkit/locales chrome-$*
 	@$(MAKE) -C ../../services/sync/locales chrome AB_CD=$*
 	@$(MAKE) -C ../../extensions/spellcheck/locales chrome AB_CD=$*
 ifneq (,$(wildcard ../extensions/formautofill/locales))
 	@$(MAKE) -C ../extensions/formautofill/locales chrome AB_CD=$*
 endif
-	@$(MAKE) -C ../extensions/pocket/locale chrome AB_CD=$*
+	@$(MAKE) -C ../components/pocket/locale chrome AB_CD=$*
 	@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
 	@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
 	@$(MAKE) chrome AB_CD=$*
 	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
 	@$(MAKE) -C ../extensions/webcompat-reporter/locales chrome AB_CD=$*
 
 package-win32-installer: $(SUBMAKEFILES)
 	$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
--- a/testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json
+++ b/testing/runtimes/mochitest-browser-chrome-e10s.runtimes.json
@@ -775,17 +775,17 @@
     "browser/extensions/formautofill/test/browser/browser_manageCreditCardsDialog.js": 2481,
     "browser/extensions/formautofill/test/browser/browser_privacyPreferences.js": 5291,
     "browser/extensions/formautofill/test/browser/browser_submission_in_private_mode.js": 3202,
     "browser/extensions/formautofill/test/browser/browser_update_doorhanger.js": 22139,
     "browser/extensions/pdfjs/test/browser_pdfjs_main.js": 6022,
     "browser/extensions/pdfjs/test/browser_pdfjs_navigation.js": 6302,
     "browser/extensions/pdfjs/test/browser_pdfjs_views.js": 4247,
     "browser/extensions/pdfjs/test/browser_pdfjs_zoom.js": 6099,
-    "browser/extensions/pocket/test/browser_pocket_ui_check.js": 3070,
+    "browser/components/pocket/test/browser_pocket_ui_check.js": 3070,
     "browser/extensions/shield-recipe-client/test/browser/browser_AddonStudies.js": 5032,
     "browser/extensions/shield-recipe-client/test/browser/browser_Heartbeat.js": 4712,
     "browser/extensions/shield-recipe-client/test/browser/browser_about_studies.js": 7504,
     "browser/extensions/webcompat-reporter/test/browser/browser_button_state.js": 5240,
     "browser/modules/test/browser/browser_BrowserUITelemetry_buckets.js": 4386,
     "browser/modules/test/browser/browser_ContentSearch.js": 5429,
     "browser/modules/test/browser/browser_PageActions.js": 8479,
     "browser/modules/test/browser/browser_PermissionUI.js": 7457,
--- a/toolkit/components/normandy/content/AboutPages.jsm
+++ b/toolkit/components/normandy/content/AboutPages.jsm
@@ -14,17 +14,17 @@ ChromeUtils.defineModuleGetter(this, "Re
 
 var EXPORTED_SYMBOLS = ["AboutPages"];
 
 const SHIELD_LEARN_MORE_URL_PREF = "app.normandy.shieldLearnMoreUrl";
 
 
 /**
  * Class for managing an about: page that Normandy provides. Adapted from
- * browser/extensions/pocket/content/AboutPocket.jsm.
+ * browser/components/pocket/content/AboutPocket.jsm.
  *
  * @implements nsIFactory
  * @implements nsIAboutModule
  */
 class AboutPage {
   constructor({chromeUrl, aboutHost, classID, description, uriFlags}) {
     this.chromeUrl = chromeUrl;
     this.aboutHost = aboutHost;
--- a/tools/lint/codespell.yml
+++ b/tools/lint/codespell.yml
@@ -1,17 +1,17 @@
 ---
 codespell:
     description: Check code for common misspellings
     include:
         - browser/base/content/docs/
         - browser/branding/
         - browser/components/newtab/prerendered/locales/en-US/
         - browser/extensions/formautofill/locales/en-US/
-        - browser/extensions/pocket/locale/en-US/
+        - browser/components/pocket/locale/en-US/
         - browser/extensions/webcompat-reporter/locales/en-US/
         - browser/locales/en-US/
         - build/docs/
         - devtools/client/locales/en-US/
         - devtools/shared/locales/en-US/
         - devtools/startup/locales/en-US/
         - dom/locales/en-US/
         - gfx/docs/