# HG changeset patch
# User Michael Kaply <mozilla@kaply.com>
# Date 1528148750 18000
# Node ID 67f15f4455067ee2d85245e5482d7241880911a1
# Parent  bf962e0c8abe9f80d8e20a51a62667b2977d903b
Bug 1437942 - Remove search engines from langpacks. r=adw

MozReview-Commit-ID: GFCIbfmCc5B

diff --git a/browser/base/content/test/static/browser_all_files_referenced.js b/browser/base/content/test/static/browser_all_files_referenced.js
--- a/browser/base/content/test/static/browser_all_files_referenced.js
+++ b/browser/base/content/test/static/browser_all_files_referenced.js
@@ -7,17 +7,16 @@
 
 // Slow on asan builds.
 requestLongerTimeout(5);
 
 var isDevtools = SimpleTest.harnessParameters.subsuite == "devtools";
 
 var gExceptionPaths = [
   "chrome://browser/content/defaultthemes/",
-  "chrome://browser/locale/searchplugins/",
   "resource://app/defaults/blocklists/",
   "resource://app/defaults/pinning/",
   "resource://app/defaults/preferences/",
   "resource://gre/modules/commonjs/",
   "resource://gre/defaults/pref/",
 
   // These resources are referenced using relative paths from html files.
   "resource://payments/",
@@ -30,16 +29,19 @@ var gExceptionPaths = [
   "resource://activity-stream/prerendered/",
 
   // browser/extensions/pdfjs/content/build/pdf.js#1999
   "resource://pdf.js/web/images/",
 
   // Exclude all the metadata paths under the country metadata folder because these
   // paths will be concatenated in FormAutofillUtils.jsm based on different country/region.
   "resource://formautofill/addressmetadata/",
+
+  // Exclude all search-plugins because they aren't referenced by filename
+  "resource://search-plugins/",
 ];
 
 // These are not part of the omni.ja file, so we find them only when running
 // the test on a non-packaged build.
 if (AppConstants.platform == "macosx")
   gExceptionPaths.push("resource://gre/res/cursors/");
 
 var whitelist = [
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -137,9 +137,8 @@ browser.jar:
         content/browser/blockedSite.xhtml               (content/blockedSite.xhtml)
 
 % override chrome://global/content/netError.xhtml chrome://browser/content/aboutNetError.xhtml
 
 # L10n resources and overrides.
 % override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
 % override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
 % override chrome://mozapps/locale/downloads/settingsChange.dtd chrome://browser/locale/downloads/settingsChange.dtd
-% resource search-plugins chrome://browser/locale/searchplugins/
diff --git a/browser/components/search/content/search.xml b/browser/components/search/content/search.xml
--- a/browser/components/search/content/search.xml
+++ b/browser/components/search/content/search.xml
@@ -66,16 +66,17 @@
     </content>
 
     <implementation implements="nsIObserver">
       <constructor><![CDATA[
         if (this.parentNode.parentNode.localName == "toolbarpaletteitem")
           return;
 
         Services.obs.addObserver(this, "browser-search-engine-modified");
+        Services.obs.addObserver(this, "browser-search-service");
 
         this._initialized = true;
 
         (window.delayedStartupPromise || Promise.resolve()).then(() => {
           window.requestIdleCallback(() => {
             Services.search.init(aStatus => {
               // Bail out if the binding's been destroyed
               if (!this._initialized)
@@ -113,16 +114,17 @@
       ]]></destructor>
 
       <method name="destroy">
         <body><![CDATA[
         if (this._initialized) {
           this._initialized = false;
 
           Services.obs.removeObserver(this, "browser-search-engine-modified");
+          Services.obs.removeObserver(this, "browser-search-service");
         }
 
         // Make sure to break the cycle from _textbox to us. Otherwise we leak
         // the world. But make sure it's actually pointing to us.
         // Also make sure the textbox has ever been constructed, otherwise the
         // _textbox getter will cause the textbox constructor to run, add an
         // observer, and leak the world too.
         if (this._textboxInitialized && this._textbox.mController.input == this)
@@ -182,17 +184,18 @@
         ]]></body>
       </method>
 
       <method name="observe">
         <parameter name="aEngine"/>
         <parameter name="aTopic"/>
         <parameter name="aVerb"/>
         <body><![CDATA[
-          if (aTopic == "browser-search-engine-modified") {
+          if (aTopic == "browser-search-engine-modified" ||
+              (aTopic == "browser-search-service" && aVerb == "init-complete")) {
             switch (aVerb) {
             case "engine-removed":
               this.offerNewEngine(aEngine);
               break;
             case "engine-added":
               this.hideNewEngine(aEngine);
               break;
             case "engine-changed":
@@ -1377,16 +1380,17 @@
         menu.addEventListener("popuphidden", aEvent => {
           this._ignoreMouseEvents = false;
           aEvent.stopPropagation();
         });
 
         // Add weak referenced observers to invalidate our cached list of engines.
         Services.prefs.addObserver("browser.search.hiddenOneOffs", this, true);
         Services.obs.addObserver(this, "browser-search-engine-modified", true);
+        Services.obs.addObserver(this, "browser-search-service", true);
 
         // Rebuild the buttons when the theme changes.  See bug 1357800 for
         // details.  Summary: On Linux, switching between themes can cause a row
         // of buttons to disappear.
         Services.obs.addObserver(this, "lightweight-theme-changed", true);
       ]]></constructor>
 
       <!-- This handles events outside the one-off buttons, like on the popup
diff --git a/browser/components/search/jar.mn b/browser/components/search/jar.mn
--- a/browser/components/search/jar.mn
+++ b/browser/components/search/jar.mn
@@ -2,8 +2,12 @@
 # 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/.
 
 browser.jar:
         content/browser/search/search.xml                           (content/search.xml)
         content/browser/search/searchbarBindings.css                (content/searchbarBindings.css)
         content/browser/search/searchReset.xhtml                    (content/searchReset.xhtml)
         content/browser/search/searchReset.js                       (content/searchReset.js)
+
+        searchplugins/                                              (searchplugins/**)
+
+% resource search-plugins %searchplugins/
diff --git a/browser/locales/searchplugins/allaannonser-sv-SE.xml b/browser/components/search/searchplugins/allaannonser-sv-SE.xml
rename from browser/locales/searchplugins/allaannonser-sv-SE.xml
rename to browser/components/search/searchplugins/allaannonser-sv-SE.xml
diff --git a/browser/locales/searchplugins/allegro-pl.xml b/browser/components/search/searchplugins/allegro-pl.xml
rename from browser/locales/searchplugins/allegro-pl.xml
rename to browser/components/search/searchplugins/allegro-pl.xml
diff --git a/browser/locales/searchplugins/amazon-au.xml b/browser/components/search/searchplugins/amazon-au.xml
rename from browser/locales/searchplugins/amazon-au.xml
rename to browser/components/search/searchplugins/amazon-au.xml
diff --git a/browser/locales/searchplugins/amazon-br.xml b/browser/components/search/searchplugins/amazon-br.xml
rename from browser/locales/searchplugins/amazon-br.xml
rename to browser/components/search/searchplugins/amazon-br.xml
diff --git a/browser/locales/searchplugins/amazon-ca.xml b/browser/components/search/searchplugins/amazon-ca.xml
rename from browser/locales/searchplugins/amazon-ca.xml
rename to browser/components/search/searchplugins/amazon-ca.xml
diff --git a/browser/locales/searchplugins/amazon-en-GB.xml b/browser/components/search/searchplugins/amazon-en-GB.xml
rename from browser/locales/searchplugins/amazon-en-GB.xml
rename to browser/components/search/searchplugins/amazon-en-GB.xml
diff --git a/browser/locales/searchplugins/amazon-france.xml b/browser/components/search/searchplugins/amazon-france.xml
rename from browser/locales/searchplugins/amazon-france.xml
rename to browser/components/search/searchplugins/amazon-france.xml
diff --git a/browser/locales/searchplugins/amazon-in.xml b/browser/components/search/searchplugins/amazon-in.xml
rename from browser/locales/searchplugins/amazon-in.xml
rename to browser/components/search/searchplugins/amazon-in.xml
diff --git a/browser/locales/searchplugins/amazon-it.xml b/browser/components/search/searchplugins/amazon-it.xml
rename from browser/locales/searchplugins/amazon-it.xml
rename to browser/components/search/searchplugins/amazon-it.xml
diff --git a/browser/locales/searchplugins/amazon-jp.xml b/browser/components/search/searchplugins/amazon-jp.xml
rename from browser/locales/searchplugins/amazon-jp.xml
rename to browser/components/search/searchplugins/amazon-jp.xml
diff --git a/browser/locales/searchplugins/amazon-mx.xml b/browser/components/search/searchplugins/amazon-mx.xml
rename from browser/locales/searchplugins/amazon-mx.xml
rename to browser/components/search/searchplugins/amazon-mx.xml
diff --git a/browser/locales/searchplugins/amazon-nl.xml b/browser/components/search/searchplugins/amazon-nl.xml
rename from browser/locales/searchplugins/amazon-nl.xml
rename to browser/components/search/searchplugins/amazon-nl.xml
diff --git a/browser/locales/searchplugins/amazondotcn.xml b/browser/components/search/searchplugins/amazondotcn.xml
rename from browser/locales/searchplugins/amazondotcn.xml
rename to browser/components/search/searchplugins/amazondotcn.xml
diff --git a/browser/locales/searchplugins/amazondotcom-de.xml b/browser/components/search/searchplugins/amazondotcom-de.xml
rename from browser/locales/searchplugins/amazondotcom-de.xml
rename to browser/components/search/searchplugins/amazondotcom-de.xml
diff --git a/browser/locales/searchplugins/amazondotcom.xml b/browser/components/search/searchplugins/amazondotcom.xml
rename from browser/locales/searchplugins/amazondotcom.xml
rename to browser/components/search/searchplugins/amazondotcom.xml
diff --git a/browser/locales/searchplugins/atlas-sk.xml b/browser/components/search/searchplugins/atlas-sk.xml
rename from browser/locales/searchplugins/atlas-sk.xml
rename to browser/components/search/searchplugins/atlas-sk.xml
diff --git a/browser/locales/searchplugins/azerdict.xml b/browser/components/search/searchplugins/azerdict.xml
rename from browser/locales/searchplugins/azerdict.xml
rename to browser/components/search/searchplugins/azerdict.xml
diff --git a/browser/locales/searchplugins/azet-sk.xml b/browser/components/search/searchplugins/azet-sk.xml
rename from browser/locales/searchplugins/azet-sk.xml
rename to browser/components/search/searchplugins/azet-sk.xml
diff --git a/browser/locales/searchplugins/baidu.xml b/browser/components/search/searchplugins/baidu.xml
rename from browser/locales/searchplugins/baidu.xml
rename to browser/components/search/searchplugins/baidu.xml
diff --git a/browser/locales/searchplugins/bbc-alba.xml b/browser/components/search/searchplugins/bbc-alba.xml
rename from browser/locales/searchplugins/bbc-alba.xml
rename to browser/components/search/searchplugins/bbc-alba.xml
diff --git a/browser/locales/searchplugins/bing.xml b/browser/components/search/searchplugins/bing.xml
rename from browser/locales/searchplugins/bing.xml
rename to browser/components/search/searchplugins/bing.xml
diff --git a/browser/locales/searchplugins/bok-NO.xml b/browser/components/search/searchplugins/bok-NO.xml
rename from browser/locales/searchplugins/bok-NO.xml
rename to browser/components/search/searchplugins/bok-NO.xml
diff --git a/browser/locales/searchplugins/bolcom-fy-NL.xml b/browser/components/search/searchplugins/bolcom-fy-NL.xml
rename from browser/locales/searchplugins/bolcom-fy-NL.xml
rename to browser/components/search/searchplugins/bolcom-fy-NL.xml
diff --git a/browser/locales/searchplugins/bolcom-nl.xml b/browser/components/search/searchplugins/bolcom-nl.xml
rename from browser/locales/searchplugins/bolcom-nl.xml
rename to browser/components/search/searchplugins/bolcom-nl.xml
diff --git a/browser/locales/searchplugins/bookplus-fi.xml b/browser/components/search/searchplugins/bookplus-fi.xml
rename from browser/locales/searchplugins/bookplus-fi.xml
rename to browser/components/search/searchplugins/bookplus-fi.xml
diff --git a/browser/locales/searchplugins/buscape.xml b/browser/components/search/searchplugins/buscape.xml
rename from browser/locales/searchplugins/buscape.xml
rename to browser/components/search/searchplugins/buscape.xml
diff --git a/browser/locales/searchplugins/ceneji.xml b/browser/components/search/searchplugins/ceneji.xml
rename from browser/locales/searchplugins/ceneji.xml
rename to browser/components/search/searchplugins/ceneji.xml
diff --git a/browser/locales/searchplugins/chambers-en-GB.xml b/browser/components/search/searchplugins/chambers-en-GB.xml
rename from browser/locales/searchplugins/chambers-en-GB.xml
rename to browser/components/search/searchplugins/chambers-en-GB.xml
diff --git a/browser/locales/searchplugins/cnrtl-tlfi-fr.xml b/browser/components/search/searchplugins/cnrtl-tlfi-fr.xml
rename from browser/locales/searchplugins/cnrtl-tlfi-fr.xml
rename to browser/components/search/searchplugins/cnrtl-tlfi-fr.xml
diff --git a/browser/locales/searchplugins/coccoc.xml b/browser/components/search/searchplugins/coccoc.xml
rename from browser/locales/searchplugins/coccoc.xml
rename to browser/components/search/searchplugins/coccoc.xml
diff --git a/browser/locales/searchplugins/danawa-kr.xml b/browser/components/search/searchplugins/danawa-kr.xml
rename from browser/locales/searchplugins/danawa-kr.xml
rename to browser/components/search/searchplugins/danawa-kr.xml
diff --git a/browser/locales/searchplugins/daum-kr.xml b/browser/components/search/searchplugins/daum-kr.xml
rename from browser/locales/searchplugins/daum-kr.xml
rename to browser/components/search/searchplugins/daum-kr.xml
diff --git a/browser/locales/searchplugins/ddg.xml b/browser/components/search/searchplugins/ddg.xml
rename from browser/locales/searchplugins/ddg.xml
rename to browser/components/search/searchplugins/ddg.xml
diff --git a/browser/locales/searchplugins/diccionariu-alla.xml b/browser/components/search/searchplugins/diccionariu-alla.xml
rename from browser/locales/searchplugins/diccionariu-alla.xml
rename to browser/components/search/searchplugins/diccionariu-alla.xml
diff --git a/browser/locales/searchplugins/dict-enlv.xml b/browser/components/search/searchplugins/dict-enlv.xml
rename from browser/locales/searchplugins/dict-enlv.xml
rename to browser/components/search/searchplugins/dict-enlv.xml
diff --git a/browser/locales/searchplugins/diec2.xml b/browser/components/search/searchplugins/diec2.xml
rename from browser/locales/searchplugins/diec2.xml
rename to browser/components/search/searchplugins/diec2.xml
diff --git a/browser/locales/searchplugins/drae.xml b/browser/components/search/searchplugins/drae.xml
rename from browser/locales/searchplugins/drae.xml
rename to browser/components/search/searchplugins/drae.xml
diff --git a/browser/locales/searchplugins/ebay-at.xml b/browser/components/search/searchplugins/ebay-at.xml
rename from browser/locales/searchplugins/ebay-at.xml
rename to browser/components/search/searchplugins/ebay-at.xml
diff --git a/browser/locales/searchplugins/ebay-au.xml b/browser/components/search/searchplugins/ebay-au.xml
rename from browser/locales/searchplugins/ebay-au.xml
rename to browser/components/search/searchplugins/ebay-au.xml
diff --git a/browser/locales/searchplugins/ebay-be.xml b/browser/components/search/searchplugins/ebay-be.xml
rename from browser/locales/searchplugins/ebay-be.xml
rename to browser/components/search/searchplugins/ebay-be.xml
diff --git a/browser/locales/searchplugins/ebay-ca.xml b/browser/components/search/searchplugins/ebay-ca.xml
rename from browser/locales/searchplugins/ebay-ca.xml
rename to browser/components/search/searchplugins/ebay-ca.xml
diff --git a/browser/locales/searchplugins/ebay-ch.xml b/browser/components/search/searchplugins/ebay-ch.xml
rename from browser/locales/searchplugins/ebay-ch.xml
rename to browser/components/search/searchplugins/ebay-ch.xml
diff --git a/browser/locales/searchplugins/ebay-de.xml b/browser/components/search/searchplugins/ebay-de.xml
rename from browser/locales/searchplugins/ebay-de.xml
rename to browser/components/search/searchplugins/ebay-de.xml
diff --git a/browser/locales/searchplugins/ebay-es.xml b/browser/components/search/searchplugins/ebay-es.xml
rename from browser/locales/searchplugins/ebay-es.xml
rename to browser/components/search/searchplugins/ebay-es.xml
diff --git a/browser/locales/searchplugins/ebay-fr.xml b/browser/components/search/searchplugins/ebay-fr.xml
rename from browser/locales/searchplugins/ebay-fr.xml
rename to browser/components/search/searchplugins/ebay-fr.xml
diff --git a/browser/locales/searchplugins/ebay-ie.xml b/browser/components/search/searchplugins/ebay-ie.xml
rename from browser/locales/searchplugins/ebay-ie.xml
rename to browser/components/search/searchplugins/ebay-ie.xml
diff --git a/browser/locales/searchplugins/ebay-it.xml b/browser/components/search/searchplugins/ebay-it.xml
rename from browser/locales/searchplugins/ebay-it.xml
rename to browser/components/search/searchplugins/ebay-it.xml
diff --git a/browser/locales/searchplugins/ebay-nl.xml b/browser/components/search/searchplugins/ebay-nl.xml
rename from browser/locales/searchplugins/ebay-nl.xml
rename to browser/components/search/searchplugins/ebay-nl.xml
diff --git a/browser/locales/searchplugins/ebay-uk.xml b/browser/components/search/searchplugins/ebay-uk.xml
rename from browser/locales/searchplugins/ebay-uk.xml
rename to browser/components/search/searchplugins/ebay-uk.xml
diff --git a/browser/locales/searchplugins/ebay.xml b/browser/components/search/searchplugins/ebay.xml
rename from browser/locales/searchplugins/ebay.xml
rename to browser/components/search/searchplugins/ebay.xml
diff --git a/browser/locales/searchplugins/ecosia.xml b/browser/components/search/searchplugins/ecosia.xml
rename from browser/locales/searchplugins/ecosia.xml
rename to browser/components/search/searchplugins/ecosia.xml
diff --git a/browser/locales/searchplugins/eki-ee.xml b/browser/components/search/searchplugins/eki-ee.xml
rename from browser/locales/searchplugins/eki-ee.xml
rename to browser/components/search/searchplugins/eki-ee.xml
diff --git a/browser/locales/searchplugins/elebila.xml b/browser/components/search/searchplugins/elebila.xml
rename from browser/locales/searchplugins/elebila.xml
rename to browser/components/search/searchplugins/elebila.xml
diff --git a/browser/locales/searchplugins/eudict.xml b/browser/components/search/searchplugins/eudict.xml
rename from browser/locales/searchplugins/eudict.xml
rename to browser/components/search/searchplugins/eudict.xml
diff --git a/browser/locales/searchplugins/faclair-beag.xml b/browser/components/search/searchplugins/faclair-beag.xml
rename from browser/locales/searchplugins/faclair-beag.xml
rename to browser/components/search/searchplugins/faclair-beag.xml
diff --git a/browser/locales/searchplugins/flip.xml b/browser/components/search/searchplugins/flip.xml
rename from browser/locales/searchplugins/flip.xml
rename to browser/components/search/searchplugins/flip.xml
diff --git a/browser/locales/searchplugins/freelang.xml b/browser/components/search/searchplugins/freelang.xml
rename from browser/locales/searchplugins/freelang.xml
rename to browser/components/search/searchplugins/freelang.xml
diff --git a/browser/locales/searchplugins/google-2018.xml b/browser/components/search/searchplugins/google-2018.xml
rename from browser/locales/searchplugins/google-2018.xml
rename to browser/components/search/searchplugins/google-2018.xml
diff --git a/browser/locales/searchplugins/google-b-1-d.xml b/browser/components/search/searchplugins/google-b-1-d.xml
rename from browser/locales/searchplugins/google-b-1-d.xml
rename to browser/components/search/searchplugins/google-b-1-d.xml
diff --git a/browser/locales/searchplugins/google-b-1-e.xml b/browser/components/search/searchplugins/google-b-1-e.xml
rename from browser/locales/searchplugins/google-b-1-e.xml
rename to browser/components/search/searchplugins/google-b-1-e.xml
diff --git a/browser/locales/searchplugins/google-b-d.xml b/browser/components/search/searchplugins/google-b-d.xml
rename from browser/locales/searchplugins/google-b-d.xml
rename to browser/components/search/searchplugins/google-b-d.xml
diff --git a/browser/locales/searchplugins/google-b-e.xml b/browser/components/search/searchplugins/google-b-e.xml
rename from browser/locales/searchplugins/google-b-e.xml
rename to browser/components/search/searchplugins/google-b-e.xml
diff --git a/browser/locales/searchplugins/google-nocodes.xml b/browser/components/search/searchplugins/google-nocodes.xml
rename from browser/locales/searchplugins/google-nocodes.xml
rename to browser/components/search/searchplugins/google-nocodes.xml
diff --git a/browser/locales/searchplugins/google.xml b/browser/components/search/searchplugins/google.xml
rename from browser/locales/searchplugins/google.xml
rename to browser/components/search/searchplugins/google.xml
diff --git a/browser/locales/searchplugins/gujaratilexicon.xml b/browser/components/search/searchplugins/gujaratilexicon.xml
rename from browser/locales/searchplugins/gujaratilexicon.xml
rename to browser/components/search/searchplugins/gujaratilexicon.xml
diff --git a/browser/locales/searchplugins/gulesider-NO.xml b/browser/components/search/searchplugins/gulesider-NO.xml
rename from browser/locales/searchplugins/gulesider-NO.xml
rename to browser/components/search/searchplugins/gulesider-NO.xml
diff --git a/browser/locales/searchplugins/heureka-cz.xml b/browser/components/search/searchplugins/heureka-cz.xml
rename from browser/locales/searchplugins/heureka-cz.xml
rename to browser/components/search/searchplugins/heureka-cz.xml
diff --git a/browser/locales/searchplugins/hoepli.xml b/browser/components/search/searchplugins/hoepli.xml
rename from browser/locales/searchplugins/hoepli.xml
rename to browser/components/search/searchplugins/hoepli.xml
diff --git a/browser/locales/searchplugins/images/amazon.ico b/browser/components/search/searchplugins/images/amazon.ico
rename from browser/locales/searchplugins/images/amazon.ico
rename to browser/components/search/searchplugins/images/amazon.ico
diff --git a/browser/locales/searchplugins/images/ebay.ico b/browser/components/search/searchplugins/images/ebay.ico
rename from browser/locales/searchplugins/images/ebay.ico
rename to browser/components/search/searchplugins/images/ebay.ico
diff --git a/browser/locales/searchplugins/images/wikipedia.ico b/browser/components/search/searchplugins/images/wikipedia.ico
rename from browser/locales/searchplugins/images/wikipedia.ico
rename to browser/components/search/searchplugins/images/wikipedia.ico
diff --git a/browser/locales/searchplugins/images/yandex-en.ico b/browser/components/search/searchplugins/images/yandex-en.ico
rename from browser/locales/searchplugins/images/yandex-en.ico
rename to browser/components/search/searchplugins/images/yandex-en.ico
diff --git a/browser/locales/searchplugins/images/yandex-ru.ico b/browser/components/search/searchplugins/images/yandex-ru.ico
rename from browser/locales/searchplugins/images/yandex-ru.ico
rename to browser/components/search/searchplugins/images/yandex-ru.ico
diff --git a/browser/locales/searchplugins/kannadastore.xml b/browser/components/search/searchplugins/kannadastore.xml
rename from browser/locales/searchplugins/kannadastore.xml
rename to browser/components/search/searchplugins/kannadastore.xml
diff --git a/browser/locales/searchplugins/kaz-kk.xml b/browser/components/search/searchplugins/kaz-kk.xml
rename from browser/locales/searchplugins/kaz-kk.xml
rename to browser/components/search/searchplugins/kaz-kk.xml
diff --git a/browser/locales/searchplugins/klask.xml b/browser/components/search/searchplugins/klask.xml
rename from browser/locales/searchplugins/klask.xml
rename to browser/components/search/searchplugins/klask.xml
diff --git a/browser/locales/searchplugins/leit-is.xml b/browser/components/search/searchplugins/leit-is.xml
rename from browser/locales/searchplugins/leit-is.xml
rename to browser/components/search/searchplugins/leit-is.xml
diff --git a/browser/locales/searchplugins/leo_ende_de-rm.xml b/browser/components/search/searchplugins/leo_ende_de-rm.xml
rename from browser/locales/searchplugins/leo_ende_de-rm.xml
rename to browser/components/search/searchplugins/leo_ende_de-rm.xml
diff --git a/browser/locales/searchplugins/leo_ende_de.xml b/browser/components/search/searchplugins/leo_ende_de.xml
rename from browser/locales/searchplugins/leo_ende_de.xml
rename to browser/components/search/searchplugins/leo_ende_de.xml
diff --git a/browser/locales/searchplugins/list-am.xml b/browser/components/search/searchplugins/list-am.xml
rename from browser/locales/searchplugins/list-am.xml
rename to browser/components/search/searchplugins/list-am.xml
diff --git a/browser/locales/search/list.json b/browser/components/search/searchplugins/list.json
rename from browser/locales/search/list.json
rename to browser/components/search/searchplugins/list.json
--- a/browser/locales/search/list.json
+++ b/browser/components/search/searchplugins/list.json
@@ -440,17 +440,17 @@
     },
     "it": {
       "default": {
         "visibleDefaultEngines": [
           "google-b-d", "bing", "amazon-it", "ddg", "ebay-it", "hoepli", "wikipedia-it"
         ]
       }
     },
-    "ja-JP-mac": {
+    "ja-JP-macos": {
       "default": {
         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて！goo", "Twitter", "Wikipedia (ja)"],
         "visibleDefaultEngines": [
           "google-b-d", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
         ]
       }
     },
     "ja": {
diff --git a/browser/locales/searchplugins/longdo.xml b/browser/components/search/searchplugins/longdo.xml
rename from browser/locales/searchplugins/longdo.xml
rename to browser/components/search/searchplugins/longdo.xml
diff --git a/browser/locales/searchplugins/mailru.xml b/browser/components/search/searchplugins/mailru.xml
rename from browser/locales/searchplugins/mailru.xml
rename to browser/components/search/searchplugins/mailru.xml
diff --git a/browser/locales/searchplugins/mapy-cz.xml b/browser/components/search/searchplugins/mapy-cz.xml
rename from browser/locales/searchplugins/mapy-cz.xml
rename to browser/components/search/searchplugins/mapy-cz.xml
diff --git a/browser/locales/searchplugins/marktplaats-fy-NL.xml b/browser/components/search/searchplugins/marktplaats-fy-NL.xml
rename from browser/locales/searchplugins/marktplaats-fy-NL.xml
rename to browser/components/search/searchplugins/marktplaats-fy-NL.xml
diff --git a/browser/locales/searchplugins/marktplaats-nl.xml b/browser/components/search/searchplugins/marktplaats-nl.xml
rename from browser/locales/searchplugins/marktplaats-nl.xml
rename to browser/components/search/searchplugins/marktplaats-nl.xml
diff --git a/browser/locales/searchplugins/mercadolibre-ar.xml b/browser/components/search/searchplugins/mercadolibre-ar.xml
rename from browser/locales/searchplugins/mercadolibre-ar.xml
rename to browser/components/search/searchplugins/mercadolibre-ar.xml
diff --git a/browser/locales/searchplugins/mercadolibre-cl.xml b/browser/components/search/searchplugins/mercadolibre-cl.xml
rename from browser/locales/searchplugins/mercadolibre-cl.xml
rename to browser/components/search/searchplugins/mercadolibre-cl.xml
diff --git a/browser/locales/searchplugins/mercadolibre-mx.xml b/browser/components/search/searchplugins/mercadolibre-mx.xml
rename from browser/locales/searchplugins/mercadolibre-mx.xml
rename to browser/components/search/searchplugins/mercadolibre-mx.xml
diff --git a/browser/locales/searchplugins/mercadolivre.xml b/browser/components/search/searchplugins/mercadolivre.xml
rename from browser/locales/searchplugins/mercadolivre.xml
rename to browser/components/search/searchplugins/mercadolivre.xml
diff --git a/browser/locales/searchplugins/meta-ua.xml b/browser/components/search/searchplugins/meta-ua.xml
rename from browser/locales/searchplugins/meta-ua.xml
rename to browser/components/search/searchplugins/meta-ua.xml
diff --git a/browser/locales/searchplugins/metamarket.xml b/browser/components/search/searchplugins/metamarket.xml
rename from browser/locales/searchplugins/metamarket.xml
rename to browser/components/search/searchplugins/metamarket.xml
diff --git a/browser/locales/searchplugins/morfix-dic.xml b/browser/components/search/searchplugins/morfix-dic.xml
rename from browser/locales/searchplugins/morfix-dic.xml
rename to browser/components/search/searchplugins/morfix-dic.xml
diff --git a/browser/locales/searchplugins/najdi-si.xml b/browser/components/search/searchplugins/najdi-si.xml
rename from browser/locales/searchplugins/najdi-si.xml
rename to browser/components/search/searchplugins/najdi-si.xml
diff --git a/browser/locales/searchplugins/naver-kr.xml b/browser/components/search/searchplugins/naver-kr.xml
rename from browser/locales/searchplugins/naver-kr.xml
rename to browser/components/search/searchplugins/naver-kr.xml
diff --git a/browser/locales/searchplugins/neti-ee.xml b/browser/components/search/searchplugins/neti-ee.xml
rename from browser/locales/searchplugins/neti-ee.xml
rename to browser/components/search/searchplugins/neti-ee.xml
diff --git a/browser/locales/searchplugins/odpiralni.xml b/browser/components/search/searchplugins/odpiralni.xml
rename from browser/locales/searchplugins/odpiralni.xml
rename to browser/components/search/searchplugins/odpiralni.xml
diff --git a/browser/locales/searchplugins/olx.xml b/browser/components/search/searchplugins/olx.xml
rename from browser/locales/searchplugins/olx.xml
rename to browser/components/search/searchplugins/olx.xml
diff --git a/browser/locales/searchplugins/oshiete-goo.xml b/browser/components/search/searchplugins/oshiete-goo.xml
rename from browser/locales/searchplugins/oshiete-goo.xml
rename to browser/components/search/searchplugins/oshiete-goo.xml
diff --git a/browser/locales/searchplugins/osta-ee.xml b/browser/components/search/searchplugins/osta-ee.xml
rename from browser/locales/searchplugins/osta-ee.xml
rename to browser/components/search/searchplugins/osta-ee.xml
diff --git a/browser/locales/searchplugins/ozonru.xml b/browser/components/search/searchplugins/ozonru.xml
rename from browser/locales/searchplugins/ozonru.xml
rename to browser/components/search/searchplugins/ozonru.xml
diff --git a/browser/locales/searchplugins/palasprint.xml b/browser/components/search/searchplugins/palasprint.xml
rename from browser/locales/searchplugins/palasprint.xml
rename to browser/components/search/searchplugins/palasprint.xml
diff --git a/browser/locales/searchplugins/paroledigenova-lij.xml b/browser/components/search/searchplugins/paroledigenova-lij.xml
rename from browser/locales/searchplugins/paroledigenova-lij.xml
rename to browser/components/search/searchplugins/paroledigenova-lij.xml
diff --git a/browser/locales/searchplugins/pledarigrond.xml b/browser/components/search/searchplugins/pledarigrond.xml
rename from browser/locales/searchplugins/pledarigrond.xml
rename to browser/components/search/searchplugins/pledarigrond.xml
diff --git a/browser/locales/searchplugins/pogodak.xml b/browser/components/search/searchplugins/pogodak.xml
rename from browser/locales/searchplugins/pogodak.xml
rename to browser/components/search/searchplugins/pogodak.xml
diff --git a/browser/locales/searchplugins/portalbgdict.xml b/browser/components/search/searchplugins/portalbgdict.xml
rename from browser/locales/searchplugins/portalbgdict.xml
rename to browser/components/search/searchplugins/portalbgdict.xml
diff --git a/browser/locales/searchplugins/priberam.xml b/browser/components/search/searchplugins/priberam.xml
rename from browser/locales/searchplugins/priberam.xml
rename to browser/components/search/searchplugins/priberam.xml
diff --git a/browser/locales/searchplugins/priceru.xml b/browser/components/search/searchplugins/priceru.xml
rename from browser/locales/searchplugins/priceru.xml
rename to browser/components/search/searchplugins/priceru.xml
diff --git a/browser/locales/searchplugins/prisjakt-sv-SE.xml b/browser/components/search/searchplugins/prisjakt-sv-SE.xml
rename from browser/locales/searchplugins/prisjakt-sv-SE.xml
rename to browser/components/search/searchplugins/prisjakt-sv-SE.xml
diff --git a/browser/locales/searchplugins/pwn-pl.xml b/browser/components/search/searchplugins/pwn-pl.xml
rename from browser/locales/searchplugins/pwn-pl.xml
rename to browser/components/search/searchplugins/pwn-pl.xml
diff --git a/browser/locales/searchplugins/qwant.xml b/browser/components/search/searchplugins/qwant.xml
rename from browser/locales/searchplugins/qwant.xml
rename to browser/components/search/searchplugins/qwant.xml
diff --git a/browser/locales/searchplugins/qxl-NO.xml b/browser/components/search/searchplugins/qxl-NO.xml
rename from browser/locales/searchplugins/qxl-NO.xml
rename to browser/components/search/searchplugins/qxl-NO.xml
diff --git a/browser/locales/searchplugins/rakuten.xml b/browser/components/search/searchplugins/rakuten.xml
rename from browser/locales/searchplugins/rakuten.xml
rename to browser/components/search/searchplugins/rakuten.xml
diff --git a/browser/locales/searchplugins/readmoo.xml b/browser/components/search/searchplugins/readmoo.xml
rename from browser/locales/searchplugins/readmoo.xml
rename to browser/components/search/searchplugins/readmoo.xml
diff --git a/browser/locales/searchplugins/rediff.xml b/browser/components/search/searchplugins/rediff.xml
rename from browser/locales/searchplugins/rediff.xml
rename to browser/components/search/searchplugins/rediff.xml
diff --git a/browser/locales/searchplugins/reta-vortaro.xml b/browser/components/search/searchplugins/reta-vortaro.xml
rename from browser/locales/searchplugins/reta-vortaro.xml
rename to browser/components/search/searchplugins/reta-vortaro.xml
diff --git a/browser/locales/searchplugins/salidzinilv.xml b/browser/components/search/searchplugins/salidzinilv.xml
rename from browser/locales/searchplugins/salidzinilv.xml
rename to browser/components/search/searchplugins/salidzinilv.xml
diff --git a/browser/locales/searchplugins/sapo.xml b/browser/components/search/searchplugins/sapo.xml
rename from browser/locales/searchplugins/sapo.xml
rename to browser/components/search/searchplugins/sapo.xml
diff --git a/browser/locales/searchplugins/seznam-cz.xml b/browser/components/search/searchplugins/seznam-cz.xml
rename from browser/locales/searchplugins/seznam-cz.xml
rename to browser/components/search/searchplugins/seznam-cz.xml
diff --git a/browser/locales/searchplugins/slovnik-sk.xml b/browser/components/search/searchplugins/slovnik-sk.xml
rename from browser/locales/searchplugins/slovnik-sk.xml
rename to browser/components/search/searchplugins/slovnik-sk.xml
diff --git a/browser/locales/searchplugins/sslv.xml b/browser/components/search/searchplugins/sslv.xml
rename from browser/locales/searchplugins/sslv.xml
rename to browser/components/search/searchplugins/sslv.xml
diff --git a/browser/locales/searchplugins/sztaki-en-hu.xml b/browser/components/search/searchplugins/sztaki-en-hu.xml
rename from browser/locales/searchplugins/sztaki-en-hu.xml
rename to browser/components/search/searchplugins/sztaki-en-hu.xml
diff --git a/browser/locales/searchplugins/tearma.xml b/browser/components/search/searchplugins/tearma.xml
rename from browser/locales/searchplugins/tearma.xml
rename to browser/components/search/searchplugins/tearma.xml
diff --git a/browser/locales/searchplugins/termau.xml b/browser/components/search/searchplugins/termau.xml
rename from browser/locales/searchplugins/termau.xml
rename to browser/components/search/searchplugins/termau.xml
diff --git a/browser/locales/searchplugins/twitter-ja.xml b/browser/components/search/searchplugins/twitter-ja.xml
rename from browser/locales/searchplugins/twitter-ja.xml
rename to browser/components/search/searchplugins/twitter-ja.xml
diff --git a/browser/locales/searchplugins/twitter.xml b/browser/components/search/searchplugins/twitter.xml
rename from browser/locales/searchplugins/twitter.xml
rename to browser/components/search/searchplugins/twitter.xml
diff --git a/browser/locales/searchplugins/tyda-sv-SE.xml b/browser/components/search/searchplugins/tyda-sv-SE.xml
rename from browser/locales/searchplugins/tyda-sv-SE.xml
rename to browser/components/search/searchplugins/tyda-sv-SE.xml
diff --git a/browser/locales/searchplugins/vatera.xml b/browser/components/search/searchplugins/vatera.xml
rename from browser/locales/searchplugins/vatera.xml
rename to browser/components/search/searchplugins/vatera.xml
diff --git a/browser/locales/searchplugins/webdunia.xml b/browser/components/search/searchplugins/webdunia.xml
rename from browser/locales/searchplugins/webdunia.xml
rename to browser/components/search/searchplugins/webdunia.xml
diff --git a/browser/locales/searchplugins/wikipedia-NN.xml b/browser/components/search/searchplugins/wikipedia-NN.xml
rename from browser/locales/searchplugins/wikipedia-NN.xml
rename to browser/components/search/searchplugins/wikipedia-NN.xml
diff --git a/browser/locales/searchplugins/wikipedia-NO.xml b/browser/components/search/searchplugins/wikipedia-NO.xml
rename from browser/locales/searchplugins/wikipedia-NO.xml
rename to browser/components/search/searchplugins/wikipedia-NO.xml
diff --git a/browser/locales/searchplugins/wikipedia-af.xml b/browser/components/search/searchplugins/wikipedia-af.xml
rename from browser/locales/searchplugins/wikipedia-af.xml
rename to browser/components/search/searchplugins/wikipedia-af.xml
diff --git a/browser/locales/searchplugins/wikipedia-an.xml b/browser/components/search/searchplugins/wikipedia-an.xml
rename from browser/locales/searchplugins/wikipedia-an.xml
rename to browser/components/search/searchplugins/wikipedia-an.xml
diff --git a/browser/locales/searchplugins/wikipedia-ar.xml b/browser/components/search/searchplugins/wikipedia-ar.xml
rename from browser/locales/searchplugins/wikipedia-ar.xml
rename to browser/components/search/searchplugins/wikipedia-ar.xml
diff --git a/browser/locales/searchplugins/wikipedia-as.xml b/browser/components/search/searchplugins/wikipedia-as.xml
rename from browser/locales/searchplugins/wikipedia-as.xml
rename to browser/components/search/searchplugins/wikipedia-as.xml
diff --git a/browser/locales/searchplugins/wikipedia-ast.xml b/browser/components/search/searchplugins/wikipedia-ast.xml
rename from browser/locales/searchplugins/wikipedia-ast.xml
rename to browser/components/search/searchplugins/wikipedia-ast.xml
diff --git a/browser/locales/searchplugins/wikipedia-az.xml b/browser/components/search/searchplugins/wikipedia-az.xml
rename from browser/locales/searchplugins/wikipedia-az.xml
rename to browser/components/search/searchplugins/wikipedia-az.xml
diff --git a/browser/locales/searchplugins/wikipedia-be-tarask.xml b/browser/components/search/searchplugins/wikipedia-be-tarask.xml
rename from browser/locales/searchplugins/wikipedia-be-tarask.xml
rename to browser/components/search/searchplugins/wikipedia-be-tarask.xml
diff --git a/browser/locales/searchplugins/wikipedia-be.xml b/browser/components/search/searchplugins/wikipedia-be.xml
rename from browser/locales/searchplugins/wikipedia-be.xml
rename to browser/components/search/searchplugins/wikipedia-be.xml
diff --git a/browser/locales/searchplugins/wikipedia-bg.xml b/browser/components/search/searchplugins/wikipedia-bg.xml
rename from browser/locales/searchplugins/wikipedia-bg.xml
rename to browser/components/search/searchplugins/wikipedia-bg.xml
diff --git a/browser/locales/searchplugins/wikipedia-bn.xml b/browser/components/search/searchplugins/wikipedia-bn.xml
rename from browser/locales/searchplugins/wikipedia-bn.xml
rename to browser/components/search/searchplugins/wikipedia-bn.xml
diff --git a/browser/locales/searchplugins/wikipedia-br.xml b/browser/components/search/searchplugins/wikipedia-br.xml
rename from browser/locales/searchplugins/wikipedia-br.xml
rename to browser/components/search/searchplugins/wikipedia-br.xml
diff --git a/browser/locales/searchplugins/wikipedia-bs.xml b/browser/components/search/searchplugins/wikipedia-bs.xml
rename from browser/locales/searchplugins/wikipedia-bs.xml
rename to browser/components/search/searchplugins/wikipedia-bs.xml
diff --git a/browser/locales/searchplugins/wikipedia-ca.xml b/browser/components/search/searchplugins/wikipedia-ca.xml
rename from browser/locales/searchplugins/wikipedia-ca.xml
rename to browser/components/search/searchplugins/wikipedia-ca.xml
diff --git a/browser/locales/searchplugins/wikipedia-cy.xml b/browser/components/search/searchplugins/wikipedia-cy.xml
rename from browser/locales/searchplugins/wikipedia-cy.xml
rename to browser/components/search/searchplugins/wikipedia-cy.xml
diff --git a/browser/locales/searchplugins/wikipedia-cz.xml b/browser/components/search/searchplugins/wikipedia-cz.xml
rename from browser/locales/searchplugins/wikipedia-cz.xml
rename to browser/components/search/searchplugins/wikipedia-cz.xml
diff --git a/browser/locales/searchplugins/wikipedia-da.xml b/browser/components/search/searchplugins/wikipedia-da.xml
rename from browser/locales/searchplugins/wikipedia-da.xml
rename to browser/components/search/searchplugins/wikipedia-da.xml
diff --git a/browser/locales/searchplugins/wikipedia-de.xml b/browser/components/search/searchplugins/wikipedia-de.xml
rename from browser/locales/searchplugins/wikipedia-de.xml
rename to browser/components/search/searchplugins/wikipedia-de.xml
diff --git a/browser/locales/searchplugins/wikipedia-dsb.xml b/browser/components/search/searchplugins/wikipedia-dsb.xml
rename from browser/locales/searchplugins/wikipedia-dsb.xml
rename to browser/components/search/searchplugins/wikipedia-dsb.xml
diff --git a/browser/locales/searchplugins/wikipedia-el.xml b/browser/components/search/searchplugins/wikipedia-el.xml
rename from browser/locales/searchplugins/wikipedia-el.xml
rename to browser/components/search/searchplugins/wikipedia-el.xml
diff --git a/browser/locales/searchplugins/wikipedia-eo.xml b/browser/components/search/searchplugins/wikipedia-eo.xml
rename from browser/locales/searchplugins/wikipedia-eo.xml
rename to browser/components/search/searchplugins/wikipedia-eo.xml
diff --git a/browser/locales/searchplugins/wikipedia-es.xml b/browser/components/search/searchplugins/wikipedia-es.xml
rename from browser/locales/searchplugins/wikipedia-es.xml
rename to browser/components/search/searchplugins/wikipedia-es.xml
diff --git a/browser/locales/searchplugins/wikipedia-et.xml b/browser/components/search/searchplugins/wikipedia-et.xml
rename from browser/locales/searchplugins/wikipedia-et.xml
rename to browser/components/search/searchplugins/wikipedia-et.xml
diff --git a/browser/locales/searchplugins/wikipedia-eu.xml b/browser/components/search/searchplugins/wikipedia-eu.xml
rename from browser/locales/searchplugins/wikipedia-eu.xml
rename to browser/components/search/searchplugins/wikipedia-eu.xml
diff --git a/browser/locales/searchplugins/wikipedia-fa.xml b/browser/components/search/searchplugins/wikipedia-fa.xml
rename from browser/locales/searchplugins/wikipedia-fa.xml
rename to browser/components/search/searchplugins/wikipedia-fa.xml
diff --git a/browser/locales/searchplugins/wikipedia-fi.xml b/browser/components/search/searchplugins/wikipedia-fi.xml
rename from browser/locales/searchplugins/wikipedia-fi.xml
rename to browser/components/search/searchplugins/wikipedia-fi.xml
diff --git a/browser/locales/searchplugins/wikipedia-fr.xml b/browser/components/search/searchplugins/wikipedia-fr.xml
rename from browser/locales/searchplugins/wikipedia-fr.xml
rename to browser/components/search/searchplugins/wikipedia-fr.xml
diff --git a/browser/locales/searchplugins/wikipedia-fy-NL.xml b/browser/components/search/searchplugins/wikipedia-fy-NL.xml
rename from browser/locales/searchplugins/wikipedia-fy-NL.xml
rename to browser/components/search/searchplugins/wikipedia-fy-NL.xml
diff --git a/browser/locales/searchplugins/wikipedia-ga-IE.xml b/browser/components/search/searchplugins/wikipedia-ga-IE.xml
rename from browser/locales/searchplugins/wikipedia-ga-IE.xml
rename to browser/components/search/searchplugins/wikipedia-ga-IE.xml
diff --git a/browser/locales/searchplugins/wikipedia-gd.xml b/browser/components/search/searchplugins/wikipedia-gd.xml
rename from browser/locales/searchplugins/wikipedia-gd.xml
rename to browser/components/search/searchplugins/wikipedia-gd.xml
diff --git a/browser/locales/searchplugins/wikipedia-gl.xml b/browser/components/search/searchplugins/wikipedia-gl.xml
rename from browser/locales/searchplugins/wikipedia-gl.xml
rename to browser/components/search/searchplugins/wikipedia-gl.xml
diff --git a/browser/locales/searchplugins/wikipedia-gn.xml b/browser/components/search/searchplugins/wikipedia-gn.xml
rename from browser/locales/searchplugins/wikipedia-gn.xml
rename to browser/components/search/searchplugins/wikipedia-gn.xml
diff --git a/browser/locales/searchplugins/wikipedia-gu.xml b/browser/components/search/searchplugins/wikipedia-gu.xml
rename from browser/locales/searchplugins/wikipedia-gu.xml
rename to browser/components/search/searchplugins/wikipedia-gu.xml
diff --git a/browser/locales/searchplugins/wikipedia-he.xml b/browser/components/search/searchplugins/wikipedia-he.xml
rename from browser/locales/searchplugins/wikipedia-he.xml
rename to browser/components/search/searchplugins/wikipedia-he.xml
diff --git a/browser/locales/searchplugins/wikipedia-hi.xml b/browser/components/search/searchplugins/wikipedia-hi.xml
rename from browser/locales/searchplugins/wikipedia-hi.xml
rename to browser/components/search/searchplugins/wikipedia-hi.xml
diff --git a/browser/locales/searchplugins/wikipedia-hr.xml b/browser/components/search/searchplugins/wikipedia-hr.xml
rename from browser/locales/searchplugins/wikipedia-hr.xml
rename to browser/components/search/searchplugins/wikipedia-hr.xml
diff --git a/browser/locales/searchplugins/wikipedia-hsb.xml b/browser/components/search/searchplugins/wikipedia-hsb.xml
rename from browser/locales/searchplugins/wikipedia-hsb.xml
rename to browser/components/search/searchplugins/wikipedia-hsb.xml
diff --git a/browser/locales/searchplugins/wikipedia-hu.xml b/browser/components/search/searchplugins/wikipedia-hu.xml
rename from browser/locales/searchplugins/wikipedia-hu.xml
rename to browser/components/search/searchplugins/wikipedia-hu.xml
diff --git a/browser/locales/searchplugins/wikipedia-hy.xml b/browser/components/search/searchplugins/wikipedia-hy.xml
rename from browser/locales/searchplugins/wikipedia-hy.xml
rename to browser/components/search/searchplugins/wikipedia-hy.xml
diff --git a/browser/locales/searchplugins/wikipedia-ia.xml b/browser/components/search/searchplugins/wikipedia-ia.xml
rename from browser/locales/searchplugins/wikipedia-ia.xml
rename to browser/components/search/searchplugins/wikipedia-ia.xml
diff --git a/browser/locales/searchplugins/wikipedia-id.xml b/browser/components/search/searchplugins/wikipedia-id.xml
rename from browser/locales/searchplugins/wikipedia-id.xml
rename to browser/components/search/searchplugins/wikipedia-id.xml
diff --git a/browser/locales/searchplugins/wikipedia-is.xml b/browser/components/search/searchplugins/wikipedia-is.xml
rename from browser/locales/searchplugins/wikipedia-is.xml
rename to browser/components/search/searchplugins/wikipedia-is.xml
diff --git a/browser/locales/searchplugins/wikipedia-it.xml b/browser/components/search/searchplugins/wikipedia-it.xml
rename from browser/locales/searchplugins/wikipedia-it.xml
rename to browser/components/search/searchplugins/wikipedia-it.xml
diff --git a/browser/locales/searchplugins/wikipedia-ja.xml b/browser/components/search/searchplugins/wikipedia-ja.xml
rename from browser/locales/searchplugins/wikipedia-ja.xml
rename to browser/components/search/searchplugins/wikipedia-ja.xml
diff --git a/browser/locales/searchplugins/wikipedia-ka.xml b/browser/components/search/searchplugins/wikipedia-ka.xml
rename from browser/locales/searchplugins/wikipedia-ka.xml
rename to browser/components/search/searchplugins/wikipedia-ka.xml
diff --git a/browser/locales/searchplugins/wikipedia-kab.xml b/browser/components/search/searchplugins/wikipedia-kab.xml
rename from browser/locales/searchplugins/wikipedia-kab.xml
rename to browser/components/search/searchplugins/wikipedia-kab.xml
diff --git a/browser/locales/searchplugins/wikipedia-kk.xml b/browser/components/search/searchplugins/wikipedia-kk.xml
rename from browser/locales/searchplugins/wikipedia-kk.xml
rename to browser/components/search/searchplugins/wikipedia-kk.xml
diff --git a/browser/locales/searchplugins/wikipedia-km.xml b/browser/components/search/searchplugins/wikipedia-km.xml
rename from browser/locales/searchplugins/wikipedia-km.xml
rename to browser/components/search/searchplugins/wikipedia-km.xml
diff --git a/browser/locales/searchplugins/wikipedia-kn.xml b/browser/components/search/searchplugins/wikipedia-kn.xml
rename from browser/locales/searchplugins/wikipedia-kn.xml
rename to browser/components/search/searchplugins/wikipedia-kn.xml
diff --git a/browser/locales/searchplugins/wikipedia-kr.xml b/browser/components/search/searchplugins/wikipedia-kr.xml
rename from browser/locales/searchplugins/wikipedia-kr.xml
rename to browser/components/search/searchplugins/wikipedia-kr.xml
diff --git a/browser/locales/searchplugins/wikipedia-lij.xml b/browser/components/search/searchplugins/wikipedia-lij.xml
rename from browser/locales/searchplugins/wikipedia-lij.xml
rename to browser/components/search/searchplugins/wikipedia-lij.xml
diff --git a/browser/locales/searchplugins/wikipedia-lo.xml b/browser/components/search/searchplugins/wikipedia-lo.xml
rename from browser/locales/searchplugins/wikipedia-lo.xml
rename to browser/components/search/searchplugins/wikipedia-lo.xml
diff --git a/browser/locales/searchplugins/wikipedia-lt.xml b/browser/components/search/searchplugins/wikipedia-lt.xml
rename from browser/locales/searchplugins/wikipedia-lt.xml
rename to browser/components/search/searchplugins/wikipedia-lt.xml
diff --git a/browser/locales/searchplugins/wikipedia-ltg.xml b/browser/components/search/searchplugins/wikipedia-ltg.xml
rename from browser/locales/searchplugins/wikipedia-ltg.xml
rename to browser/components/search/searchplugins/wikipedia-ltg.xml
diff --git a/browser/locales/searchplugins/wikipedia-lv.xml b/browser/components/search/searchplugins/wikipedia-lv.xml
rename from browser/locales/searchplugins/wikipedia-lv.xml
rename to browser/components/search/searchplugins/wikipedia-lv.xml
diff --git a/browser/locales/searchplugins/wikipedia-mk.xml b/browser/components/search/searchplugins/wikipedia-mk.xml
rename from browser/locales/searchplugins/wikipedia-mk.xml
rename to browser/components/search/searchplugins/wikipedia-mk.xml
diff --git a/browser/locales/searchplugins/wikipedia-ml.xml b/browser/components/search/searchplugins/wikipedia-ml.xml
rename from browser/locales/searchplugins/wikipedia-ml.xml
rename to browser/components/search/searchplugins/wikipedia-ml.xml
diff --git a/browser/locales/searchplugins/wikipedia-mr.xml b/browser/components/search/searchplugins/wikipedia-mr.xml
rename from browser/locales/searchplugins/wikipedia-mr.xml
rename to browser/components/search/searchplugins/wikipedia-mr.xml
diff --git a/browser/locales/searchplugins/wikipedia-ms.xml b/browser/components/search/searchplugins/wikipedia-ms.xml
rename from browser/locales/searchplugins/wikipedia-ms.xml
rename to browser/components/search/searchplugins/wikipedia-ms.xml
diff --git a/browser/locales/searchplugins/wikipedia-my.xml b/browser/components/search/searchplugins/wikipedia-my.xml
rename from browser/locales/searchplugins/wikipedia-my.xml
rename to browser/components/search/searchplugins/wikipedia-my.xml
diff --git a/browser/locales/searchplugins/wikipedia-ne.xml b/browser/components/search/searchplugins/wikipedia-ne.xml
rename from browser/locales/searchplugins/wikipedia-ne.xml
rename to browser/components/search/searchplugins/wikipedia-ne.xml
diff --git a/browser/locales/searchplugins/wikipedia-nl.xml b/browser/components/search/searchplugins/wikipedia-nl.xml
rename from browser/locales/searchplugins/wikipedia-nl.xml
rename to browser/components/search/searchplugins/wikipedia-nl.xml
diff --git a/browser/locales/searchplugins/wikipedia-oc.xml b/browser/components/search/searchplugins/wikipedia-oc.xml
rename from browser/locales/searchplugins/wikipedia-oc.xml
rename to browser/components/search/searchplugins/wikipedia-oc.xml
diff --git a/browser/locales/searchplugins/wikipedia-or.xml b/browser/components/search/searchplugins/wikipedia-or.xml
rename from browser/locales/searchplugins/wikipedia-or.xml
rename to browser/components/search/searchplugins/wikipedia-or.xml
diff --git a/browser/locales/searchplugins/wikipedia-pa.xml b/browser/components/search/searchplugins/wikipedia-pa.xml
rename from browser/locales/searchplugins/wikipedia-pa.xml
rename to browser/components/search/searchplugins/wikipedia-pa.xml
diff --git a/browser/locales/searchplugins/wikipedia-pl.xml b/browser/components/search/searchplugins/wikipedia-pl.xml
rename from browser/locales/searchplugins/wikipedia-pl.xml
rename to browser/components/search/searchplugins/wikipedia-pl.xml
diff --git a/browser/locales/searchplugins/wikipedia-pt.xml b/browser/components/search/searchplugins/wikipedia-pt.xml
rename from browser/locales/searchplugins/wikipedia-pt.xml
rename to browser/components/search/searchplugins/wikipedia-pt.xml
diff --git a/browser/locales/searchplugins/wikipedia-rm.xml b/browser/components/search/searchplugins/wikipedia-rm.xml
rename from browser/locales/searchplugins/wikipedia-rm.xml
rename to browser/components/search/searchplugins/wikipedia-rm.xml
diff --git a/browser/locales/searchplugins/wikipedia-ro.xml b/browser/components/search/searchplugins/wikipedia-ro.xml
rename from browser/locales/searchplugins/wikipedia-ro.xml
rename to browser/components/search/searchplugins/wikipedia-ro.xml
diff --git a/browser/locales/searchplugins/wikipedia-ru.xml b/browser/components/search/searchplugins/wikipedia-ru.xml
rename from browser/locales/searchplugins/wikipedia-ru.xml
rename to browser/components/search/searchplugins/wikipedia-ru.xml
diff --git a/browser/locales/searchplugins/wikipedia-si.xml b/browser/components/search/searchplugins/wikipedia-si.xml
rename from browser/locales/searchplugins/wikipedia-si.xml
rename to browser/components/search/searchplugins/wikipedia-si.xml
diff --git a/browser/locales/searchplugins/wikipedia-sk.xml b/browser/components/search/searchplugins/wikipedia-sk.xml
rename from browser/locales/searchplugins/wikipedia-sk.xml
rename to browser/components/search/searchplugins/wikipedia-sk.xml
diff --git a/browser/locales/searchplugins/wikipedia-sl.xml b/browser/components/search/searchplugins/wikipedia-sl.xml
rename from browser/locales/searchplugins/wikipedia-sl.xml
rename to browser/components/search/searchplugins/wikipedia-sl.xml
diff --git a/browser/locales/searchplugins/wikipedia-sq.xml b/browser/components/search/searchplugins/wikipedia-sq.xml
rename from browser/locales/searchplugins/wikipedia-sq.xml
rename to browser/components/search/searchplugins/wikipedia-sq.xml
diff --git a/browser/locales/searchplugins/wikipedia-sr.xml b/browser/components/search/searchplugins/wikipedia-sr.xml
rename from browser/locales/searchplugins/wikipedia-sr.xml
rename to browser/components/search/searchplugins/wikipedia-sr.xml
diff --git a/browser/locales/searchplugins/wikipedia-sv-SE.xml b/browser/components/search/searchplugins/wikipedia-sv-SE.xml
rename from browser/locales/searchplugins/wikipedia-sv-SE.xml
rename to browser/components/search/searchplugins/wikipedia-sv-SE.xml
diff --git a/browser/locales/searchplugins/wikipedia-ta.xml b/browser/components/search/searchplugins/wikipedia-ta.xml
rename from browser/locales/searchplugins/wikipedia-ta.xml
rename to browser/components/search/searchplugins/wikipedia-ta.xml
diff --git a/browser/locales/searchplugins/wikipedia-te.xml b/browser/components/search/searchplugins/wikipedia-te.xml
rename from browser/locales/searchplugins/wikipedia-te.xml
rename to browser/components/search/searchplugins/wikipedia-te.xml
diff --git a/browser/locales/searchplugins/wikipedia-th.xml b/browser/components/search/searchplugins/wikipedia-th.xml
rename from browser/locales/searchplugins/wikipedia-th.xml
rename to browser/components/search/searchplugins/wikipedia-th.xml
diff --git a/browser/locales/searchplugins/wikipedia-tl.xml b/browser/components/search/searchplugins/wikipedia-tl.xml
rename from browser/locales/searchplugins/wikipedia-tl.xml
rename to browser/components/search/searchplugins/wikipedia-tl.xml
diff --git a/browser/locales/searchplugins/wikipedia-tr.xml b/browser/components/search/searchplugins/wikipedia-tr.xml
rename from browser/locales/searchplugins/wikipedia-tr.xml
rename to browser/components/search/searchplugins/wikipedia-tr.xml
diff --git a/browser/locales/searchplugins/wikipedia-uk.xml b/browser/components/search/searchplugins/wikipedia-uk.xml
rename from browser/locales/searchplugins/wikipedia-uk.xml
rename to browser/components/search/searchplugins/wikipedia-uk.xml
diff --git a/browser/locales/searchplugins/wikipedia-ur.xml b/browser/components/search/searchplugins/wikipedia-ur.xml
rename from browser/locales/searchplugins/wikipedia-ur.xml
rename to browser/components/search/searchplugins/wikipedia-ur.xml
diff --git a/browser/locales/searchplugins/wikipedia-uz.xml b/browser/components/search/searchplugins/wikipedia-uz.xml
rename from browser/locales/searchplugins/wikipedia-uz.xml
rename to browser/components/search/searchplugins/wikipedia-uz.xml
diff --git a/browser/locales/searchplugins/wikipedia-vi.xml b/browser/components/search/searchplugins/wikipedia-vi.xml
rename from browser/locales/searchplugins/wikipedia-vi.xml
rename to browser/components/search/searchplugins/wikipedia-vi.xml
diff --git a/browser/locales/searchplugins/wikipedia-wo.xml b/browser/components/search/searchplugins/wikipedia-wo.xml
rename from browser/locales/searchplugins/wikipedia-wo.xml
rename to browser/components/search/searchplugins/wikipedia-wo.xml
diff --git a/browser/locales/searchplugins/wikipedia-zh-CN.xml b/browser/components/search/searchplugins/wikipedia-zh-CN.xml
rename from browser/locales/searchplugins/wikipedia-zh-CN.xml
rename to browser/components/search/searchplugins/wikipedia-zh-CN.xml
diff --git a/browser/locales/searchplugins/wikipedia-zh-TW.xml b/browser/components/search/searchplugins/wikipedia-zh-TW.xml
rename from browser/locales/searchplugins/wikipedia-zh-TW.xml
rename to browser/components/search/searchplugins/wikipedia-zh-TW.xml
diff --git a/browser/locales/searchplugins/wikipedia.xml b/browser/components/search/searchplugins/wikipedia.xml
rename from browser/locales/searchplugins/wikipedia.xml
rename to browser/components/search/searchplugins/wikipedia.xml
diff --git a/browser/locales/searchplugins/wiktionary-oc.xml b/browser/components/search/searchplugins/wiktionary-oc.xml
rename from browser/locales/searchplugins/wiktionary-oc.xml
rename to browser/components/search/searchplugins/wiktionary-oc.xml
diff --git a/browser/locales/searchplugins/wiktionary-te.xml b/browser/components/search/searchplugins/wiktionary-te.xml
rename from browser/locales/searchplugins/wiktionary-te.xml
rename to browser/components/search/searchplugins/wiktionary-te.xml
diff --git a/browser/locales/searchplugins/wolnelektury-pl.xml b/browser/components/search/searchplugins/wolnelektury-pl.xml
rename from browser/locales/searchplugins/wolnelektury-pl.xml
rename to browser/components/search/searchplugins/wolnelektury-pl.xml
diff --git a/browser/locales/searchplugins/yahoo-NO.xml b/browser/components/search/searchplugins/yahoo-NO.xml
rename from browser/locales/searchplugins/yahoo-NO.xml
rename to browser/components/search/searchplugins/yahoo-NO.xml
diff --git a/browser/locales/searchplugins/yahoo-answer-zh-TW.xml b/browser/components/search/searchplugins/yahoo-answer-zh-TW.xml
rename from browser/locales/searchplugins/yahoo-answer-zh-TW.xml
rename to browser/components/search/searchplugins/yahoo-answer-zh-TW.xml
diff --git a/browser/locales/searchplugins/yahoo-ar.xml b/browser/components/search/searchplugins/yahoo-ar.xml
rename from browser/locales/searchplugins/yahoo-ar.xml
rename to browser/components/search/searchplugins/yahoo-ar.xml
diff --git a/browser/locales/searchplugins/yahoo-bid-zh-TW.xml b/browser/components/search/searchplugins/yahoo-bid-zh-TW.xml
rename from browser/locales/searchplugins/yahoo-bid-zh-TW.xml
rename to browser/components/search/searchplugins/yahoo-bid-zh-TW.xml
diff --git a/browser/locales/searchplugins/yahoo-br.xml b/browser/components/search/searchplugins/yahoo-br.xml
rename from browser/locales/searchplugins/yahoo-br.xml
rename to browser/components/search/searchplugins/yahoo-br.xml
diff --git a/browser/locales/searchplugins/yahoo-ch.xml b/browser/components/search/searchplugins/yahoo-ch.xml
rename from browser/locales/searchplugins/yahoo-ch.xml
rename to browser/components/search/searchplugins/yahoo-ch.xml
diff --git a/browser/locales/searchplugins/yahoo-cl.xml b/browser/components/search/searchplugins/yahoo-cl.xml
rename from browser/locales/searchplugins/yahoo-cl.xml
rename to browser/components/search/searchplugins/yahoo-cl.xml
diff --git a/browser/locales/searchplugins/yahoo-de.xml b/browser/components/search/searchplugins/yahoo-de.xml
rename from browser/locales/searchplugins/yahoo-de.xml
rename to browser/components/search/searchplugins/yahoo-de.xml
diff --git a/browser/locales/searchplugins/yahoo-en-CA.xml b/browser/components/search/searchplugins/yahoo-en-CA.xml
rename from browser/locales/searchplugins/yahoo-en-CA.xml
rename to browser/components/search/searchplugins/yahoo-en-CA.xml
diff --git a/browser/locales/searchplugins/yahoo-en-GB.xml b/browser/components/search/searchplugins/yahoo-en-GB.xml
rename from browser/locales/searchplugins/yahoo-en-GB.xml
rename to browser/components/search/searchplugins/yahoo-en-GB.xml
diff --git a/browser/locales/searchplugins/yahoo-es.xml b/browser/components/search/searchplugins/yahoo-es.xml
rename from browser/locales/searchplugins/yahoo-es.xml
rename to browser/components/search/searchplugins/yahoo-es.xml
diff --git a/browser/locales/searchplugins/yahoo-espanol.xml b/browser/components/search/searchplugins/yahoo-espanol.xml
rename from browser/locales/searchplugins/yahoo-espanol.xml
rename to browser/components/search/searchplugins/yahoo-espanol.xml
diff --git a/browser/locales/searchplugins/yahoo-fi.xml b/browser/components/search/searchplugins/yahoo-fi.xml
rename from browser/locales/searchplugins/yahoo-fi.xml
rename to browser/components/search/searchplugins/yahoo-fi.xml
diff --git a/browser/locales/searchplugins/yahoo-france.xml b/browser/components/search/searchplugins/yahoo-france.xml
rename from browser/locales/searchplugins/yahoo-france.xml
rename to browser/components/search/searchplugins/yahoo-france.xml
diff --git a/browser/locales/searchplugins/yahoo-fy-NL.xml b/browser/components/search/searchplugins/yahoo-fy-NL.xml
rename from browser/locales/searchplugins/yahoo-fy-NL.xml
rename to browser/components/search/searchplugins/yahoo-fy-NL.xml
diff --git a/browser/locales/searchplugins/yahoo-id.xml b/browser/components/search/searchplugins/yahoo-id.xml
rename from browser/locales/searchplugins/yahoo-id.xml
rename to browser/components/search/searchplugins/yahoo-id.xml
diff --git a/browser/locales/searchplugins/yahoo-in.xml b/browser/components/search/searchplugins/yahoo-in.xml
rename from browser/locales/searchplugins/yahoo-in.xml
rename to browser/components/search/searchplugins/yahoo-in.xml
diff --git a/browser/locales/searchplugins/yahoo-it.xml b/browser/components/search/searchplugins/yahoo-it.xml
rename from browser/locales/searchplugins/yahoo-it.xml
rename to browser/components/search/searchplugins/yahoo-it.xml
diff --git a/browser/locales/searchplugins/yahoo-jp-auctions.xml b/browser/components/search/searchplugins/yahoo-jp-auctions.xml
rename from browser/locales/searchplugins/yahoo-jp-auctions.xml
rename to browser/components/search/searchplugins/yahoo-jp-auctions.xml
diff --git a/browser/locales/searchplugins/yahoo-jp.xml b/browser/components/search/searchplugins/yahoo-jp.xml
rename from browser/locales/searchplugins/yahoo-jp.xml
rename to browser/components/search/searchplugins/yahoo-jp.xml
diff --git a/browser/locales/searchplugins/yahoo-mx.xml b/browser/components/search/searchplugins/yahoo-mx.xml
rename from browser/locales/searchplugins/yahoo-mx.xml
rename to browser/components/search/searchplugins/yahoo-mx.xml
diff --git a/browser/locales/searchplugins/yahoo-sv-SE.xml b/browser/components/search/searchplugins/yahoo-sv-SE.xml
rename from browser/locales/searchplugins/yahoo-sv-SE.xml
rename to browser/components/search/searchplugins/yahoo-sv-SE.xml
diff --git a/browser/locales/searchplugins/yahoo-tl.xml b/browser/components/search/searchplugins/yahoo-tl.xml
rename from browser/locales/searchplugins/yahoo-tl.xml
rename to browser/components/search/searchplugins/yahoo-tl.xml
diff --git a/browser/locales/searchplugins/yahoo-zh-TW-HK.xml b/browser/components/search/searchplugins/yahoo-zh-TW-HK.xml
rename from browser/locales/searchplugins/yahoo-zh-TW-HK.xml
rename to browser/components/search/searchplugins/yahoo-zh-TW-HK.xml
diff --git a/browser/locales/searchplugins/yahoo-zh-TW.xml b/browser/components/search/searchplugins/yahoo-zh-TW.xml
rename from browser/locales/searchplugins/yahoo-zh-TW.xml
rename to browser/components/search/searchplugins/yahoo-zh-TW.xml
diff --git a/browser/locales/searchplugins/yahoo.xml b/browser/components/search/searchplugins/yahoo.xml
rename from browser/locales/searchplugins/yahoo.xml
rename to browser/components/search/searchplugins/yahoo.xml
diff --git a/browser/locales/searchplugins/yandex-az.xml b/browser/components/search/searchplugins/yandex-az.xml
rename from browser/locales/searchplugins/yandex-az.xml
rename to browser/components/search/searchplugins/yandex-az.xml
diff --git a/browser/locales/searchplugins/yandex-by.xml b/browser/components/search/searchplugins/yandex-by.xml
rename from browser/locales/searchplugins/yandex-by.xml
rename to browser/components/search/searchplugins/yandex-by.xml
diff --git a/browser/locales/searchplugins/yandex-en.xml b/browser/components/search/searchplugins/yandex-en.xml
rename from browser/locales/searchplugins/yandex-en.xml
rename to browser/components/search/searchplugins/yandex-en.xml
diff --git a/browser/locales/searchplugins/yandex-kk.xml b/browser/components/search/searchplugins/yandex-kk.xml
rename from browser/locales/searchplugins/yandex-kk.xml
rename to browser/components/search/searchplugins/yandex-kk.xml
diff --git a/browser/locales/searchplugins/yandex-ru.xml b/browser/components/search/searchplugins/yandex-ru.xml
rename from browser/locales/searchplugins/yandex-ru.xml
rename to browser/components/search/searchplugins/yandex-ru.xml
diff --git a/browser/locales/searchplugins/yandex-tr.xml b/browser/components/search/searchplugins/yandex-tr.xml
rename from browser/locales/searchplugins/yandex-tr.xml
rename to browser/components/search/searchplugins/yandex-tr.xml
diff --git a/browser/locales/searchplugins/yandex-uk.xml b/browser/components/search/searchplugins/yandex-uk.xml
rename from browser/locales/searchplugins/yandex-uk.xml
rename to browser/components/search/searchplugins/yandex-uk.xml
diff --git a/browser/locales/searchplugins/zoznam-sk.xml b/browser/components/search/searchplugins/zoznam-sk.xml
rename from browser/locales/searchplugins/zoznam-sk.xml
rename to browser/components/search/searchplugins/zoznam-sk.xml
diff --git a/browser/components/search/test/browser.ini b/browser/components/search/test/browser.ini
--- a/browser/components/search/test/browser.ini
+++ b/browser/components/search/test/browser.ini
@@ -19,21 +19,18 @@ support-files =
 [browser_addEngine.js]
 [browser_amazon.js]
 [browser_bing.js]
 [browser_contextmenu.js]
 [browser_contextSearchTabPosition.js]
 skip-if = os == "mac" # bug 967013
 [browser_ddg.js]
 [browser_eBay.js]
-skip-if = artifact # bug 1315953
 [browser_google.js]
-skip-if = artifact # bug 1315953
 [browser_google_behavior.js]
-skip-if = artifact # bug 1315953
 [browser_healthreport.js]
 [browser_hiddenOneOffs_cleanup.js]
 [browser_hiddenOneOffs_diacritics.js]
 [browser_oneOffContextMenu.js]
 [browser_oneOffContextMenu_setDefault.js]
 [browser_oneOffHeader.js]
 skip-if = os == "mac" #1421238
 [browser_private_search_perwindowpb.js]
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -38,42 +38,24 @@ MOZ_PKG_MAC_EXTRA=--symlink '/Applicatio
 endif
 
 ifeq ($(CPU_ARCH), aarch64)
 MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.ARM64.sfx
 else
 MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.Win32.sfx
 endif
 
-SEARCHPLUGINS_FILENAMES := $(or $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD))), $(error Missing search plugins))
-SEARCHPLUGINS_PATH := .deps/generated_$(AB_CD)
-SEARCHPLUGINS_TARGET := libs searchplugins
-SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_FILENAMES)),$(or $(wildcard $(srcdir)/searchplugins/$(plugin)),$(error Missing searchplugin: $(plugin))))
-# Some locale-specific search plugins may have preprocessor directives, but the
-# default en-US ones do not.
-SEARCHPLUGINS_FLAGS := --silence-missing-directive-warnings
-PP_TARGETS += SEARCHPLUGINS
-
-list-json = $(SEARCHPLUGINS_PATH)/list.json
-GARBAGE += $(list-json)
-
-libs:: searchplugins
-
 # Required for l10n.mk - defines a list of app sub dirs that should
 # be included in langpack xpis.
 DIST_SUBDIRS = $(DIST_SUBDIR)
 
 include $(topsrcdir)/config/rules.mk
 
 include $(topsrcdir)/toolkit/locales/l10n.mk
 
-$(list-json): $(call mkdir_deps,$(SEARCHPLUGINS_PATH)) $(if $(IS_LANGUAGE_REPACK),FORCE)
-	$(call py_action,generate_searchjson,$(srcdir)/search/list.json $(AB_CD) $(list-json))
-searchplugins:: $(list-json)
-
 libs-%: AB_CD=$*
 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))
@@ -81,17 +63,16 @@ ifneq (,$(wildcard ../extensions/formaut
 endif
 	@$(MAKE) -C ../extensions/jaws-esr/locales AB_CD=$* XPI_NAME=locale-$*
 	@$(MAKE) -C ../extensions/pocket/locale AB_CD=$* XPI_NAME=locale-$*
 ifneq '$(or $(MOZ_DEV_EDITION),$(NIGHTLY_BUILD))' ''
 	@$(MAKE) -C ../extensions/webcompat-reporter/locales AB_CD=$* XPI_NAME=locale-$*
 endif
 	@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
 	@$(MAKE) -C ../../devtools/shim/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
-	@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
 	@$(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=$*
 chrome-%: IS_LANGUAGE_REPACK=1
 chrome-%:
 	$(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -80,29 +80,16 @@
     locale/browser/preferences/search.dtd             (%chrome/browser/preferences/search.dtd)
     locale/browser/preferences/security.dtd           (%chrome/browser/preferences/security.dtd)
     locale/browser/preferences/selectBookmark.dtd     (%chrome/browser/preferences/selectBookmark.dtd)
     locale/browser/preferences/siteDataSettings.dtd     (%chrome/browser/preferences/siteDataSettings.dtd)
     locale/browser/preferences/sync.dtd               (%chrome/browser/preferences/sync.dtd)
     locale/browser/preferences/translation.dtd        (%chrome/browser/preferences/translation.dtd)
     locale/browser/syncBrand.dtd                (%chrome/browser/syncBrand.dtd)
     locale/browser/syncSetup.properties         (%chrome/browser/syncSetup.properties)
-#if BUILD_FASTER
-    locale/browser/searchplugins/               (searchplugins/*.xml)
-    locale/browser/searchplugins/list.json      (search/list.json)
-#else
-    locale/browser/searchplugins/               (.deps/generated_@AB_CD@/*.xml)
-    locale/browser/searchplugins/list.json      (.deps/generated_@AB_CD@/list.json)
-#endif
-    locale/browser/searchplugins/images/amazon.ico     (searchplugins/images/amazon.ico)
-    locale/browser/searchplugins/images/ebay.ico       (searchplugins/images/ebay.ico)
-    locale/browser/searchplugins/images/wikipedia.ico  (searchplugins/images/wikipedia.ico)
-    locale/browser/searchplugins/images/yahoo.ico      (searchplugins/images/yahoo.ico)
-    locale/browser/searchplugins/images/yandex-en.ico  (searchplugins/images/yandex-en.ico)
-    locale/browser/searchplugins/images/yandex-ru.ico  (searchplugins/images/yandex-ru.ico)
 % locale browser-region @AB_CD@ %locale/browser-region/
     locale/browser-region/region.properties        (%chrome/browser-region/region.properties)
 # the following files are browser-specific overrides
     locale/browser/netError.dtd                (%chrome/overrides/netError.dtd)
     locale/browser/appstrings.properties       (%chrome/overrides/appstrings.properties)
     locale/browser/downloads/settingsChange.dtd  (%chrome/overrides/settingsChange.dtd)
 % locale pdf.js @AB_CD@ %locale/pdfviewer/
     locale/pdfviewer/viewer.properties             (%pdfviewer/viewer.properties)
diff --git a/browser/locales/moz.build b/browser/locales/moz.build
--- a/browser/locales/moz.build
+++ b/browser/locales/moz.build
@@ -39,16 +39,10 @@ with Files("**"):
     BUG_COMPONENT = ("Toolkit", "Build Config")
 
 with Files("all-locales"):
     BUG_COMPONENT = ("Core", "Localization")
 
 with Files("en-US/**"):
     BUG_COMPONENT = ("Core", "Localization")
 
-with Files("search/**"):
-    BUG_COMPONENT = ("Firefox", "Search")
-
-with Files("searchplugins/**"):
-    BUG_COMPONENT = ("Firefox", "Search")
-
 with Files("shipped-locales"):
     BUG_COMPONENT = ("Core", "Localization")
diff --git a/browser/modules/ContentSearch.jsm b/browser/modules/ContentSearch.jsm
--- a/browser/modules/ContentSearch.jsm
+++ b/browser/modules/ContentSearch.jsm
@@ -102,16 +102,17 @@ var ContentSearch = {
   _destroyedPromise: null,
 
   // The current controller and browser in _onMessageGetSuggestions.  Allows
   // fetch cancellation from _cancelSuggestions.
   _currentSuggestion: null,
 
   init() {
     Services.obs.addObserver(this, "browser-search-engine-modified");
+    Services.obs.addObserver(this, "browser-search-service");
     Services.obs.addObserver(this, "shutdown-leaks-before-check");
     Services.prefs.addObserver("browser.search.hiddenOneOffs", this);
     this._stringBundle = Services.strings.createBundle("chrome://global/locale/autocomplete.properties");
   },
 
   get searchSuggestionUIStrings() {
     if (this._searchSuggestionUIStrings) {
       return this._searchSuggestionUIStrings;
@@ -128,16 +129,17 @@ var ContentSearch = {
   },
 
   destroy() {
     if (this._destroyedPromise) {
       return this._destroyedPromise;
     }
 
     Services.obs.removeObserver(this, "browser-search-engine-modified");
+    Services.obs.removeObserver(this, "browser-search-service");
     Services.obs.removeObserver(this, "shutdown-leaks-before-check");
 
     this._eventQueue.length = 0;
     this._destroyedPromise = Promise.resolve(this._currentEventPromise);
     return this._destroyedPromise;
   },
 
   /**
@@ -179,16 +181,20 @@ var ContentSearch = {
       type: "Message",
       data: msg,
     });
     this._processEventQueue();
   },
 
   observe(subj, topic, data) {
     switch (topic) {
+    case "browser-search-service":
+      if (data != "init-complete") {
+        break;
+      }
     case "nsPref:changed":
     case "browser-search-engine-modified":
       this._eventQueue.push({
         type: "Observe",
         data,
       });
       this._processEventQueue();
       break;
diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/search/nsSearchService.js
--- a/toolkit/components/search/nsSearchService.js
+++ b/toolkit/components/search/nsSearchService.js
@@ -51,17 +51,17 @@ const NS_APP_DISTRIBUTION_SEARCH_DIR_LIS
 const NS_APP_USER_PROFILE_50_DIR = "ProfD";
 
 // We load plugins from APP_SEARCH_PREFIX, where a list.txt
 // file needs to exist to list available engines.
 const APP_SEARCH_PREFIX = "resource://search-plugins/";
 
 // See documentation in nsIBrowserSearchService.idl.
 const SEARCH_ENGINE_TOPIC        = "browser-search-engine-modified";
-const REQ_LOCALES_CHANGED_TOPIC  = "intl:requested-locales-changed";
+const TOPIC_LOCALES_CHANGE       = "intl:app-locales-changed";
 const QUIT_APPLICATION_TOPIC     = "quit-application";
 
 const SEARCH_ENGINE_REMOVED      = "engine-removed";
 const SEARCH_ENGINE_ADDED        = "engine-added";
 const SEARCH_ENGINE_CHANGED      = "engine-changed";
 const SEARCH_ENGINE_LOADED       = "engine-loaded";
 const SEARCH_ENGINE_CURRENT      = "engine-current";
 const SEARCH_ENGINE_DEFAULT      = "engine-default";
@@ -3064,19 +3064,19 @@ SearchService.prototype = {
         await ensureKnownCountryCode(this);
         // Due to the HTTP requests done by ensureKnownCountryCode, it's possible that
         // at this point a synchronous init has been forced by other code.
         if (!gInitialized)
           await this._asyncLoadEngines(cache);
 
         // Typically we'll re-init as a result of a pref observer,
         // so signal to 'callers' that we're done.
+        gInitialized = true;
         Services.obs.notifyObservers(null, SEARCH_SERVICE_TOPIC, "init-complete");
         this._recordEngineTelemetry();
-        gInitialized = true;
       } catch (err) {
         LOG("Reinit failed: " + err);
         Services.obs.notifyObservers(null, SEARCH_SERVICE_TOPIC, "reinit-failed");
       } finally {
         Services.obs.notifyObservers(null, SEARCH_SERVICE_TOPIC, "reinit-complete");
       }
     })();
   },
@@ -3479,24 +3479,41 @@ SearchService.prototype = {
       this._parseListJSON(list, uris);
     }
     return uris;
   },
 
   _parseListJSON: function SRCH_SVC_parseListJSON(list, uris) {
     let searchRegion =  Services.prefs.getCharPref("browser.search.region", "");
 
-    let searchSettings;
+    let json;
     try {
-      searchSettings = JSON.parse(list);
+      json = JSON.parse(list);
     } catch (e) {
-      LOG("failing to parse list.json: " + e);
+      Cu.reportError("parseListJSON: Failed to parse list.json: " + e);
+      dump("parseListJSON: Failed to parse list.json: " + e + "\n");
       return;
     }
 
+    let searchSettings;
+    let locale = Services.locale.getAppLocaleAsBCP47();
+    if ("locales" in json &&
+        locale in json.locales) {
+      searchSettings = json.locales[locale];
+    } else {
+      // No locales were found, so use the JSON as is.
+      // It should have a default section.
+      if (!("default" in json)) {
+        Cu.reportError("parseListJSON: Missing default in list.json");
+        dump("parseListJSON: Missing default in list.json\n");
+        return;
+      }
+      searchSettings = json;
+    }
+
     // Check if we have a useable country specific list of visible default engines.
     // This will only be set if we got the list from the Mozilla search server;
     // it will not be set for distributions.
     let engineNames;
     let visibleDefaultEngines = this.getVerifiedGlobalAttr("visibleDefaultEngines");
     if (visibleDefaultEngines) {
       let jarNames = new Set();
       for (let region in searchSettings) {
@@ -3543,17 +3560,17 @@ SearchService.prototype = {
         "visibleDefaultEngines" in searchSettings[searchRegion]) {
         engineNames = searchSettings[searchRegion].visibleDefaultEngines;
       } else {
         engineNames = searchSettings.default.visibleDefaultEngines;
       }
     }
 
     // Remove any engine names that are supposed to be ignored.
-    // This pref is only allows in a partner distribution.
+    // This pref is only allowed in a partner distribution.
     let branch = Services.prefs.getDefaultBranch(BROWSER_SEARCH_PREF);
     if (isPartnerBuild() &&
         branch.getPrefType("ignoredJAREngines") == branch.PREF_STRING) {
       let ignoredJAREngines = branch.getCharPref("ignoredJAREngines")
                                     .split(",");
       let filteredEngineNames = engineNames.filter(e => !ignoredJAREngines.includes(e));
       // Don't allow all engines to be hidden
       if (filteredEngineNames.length > 0) {
@@ -3571,35 +3588,53 @@ SearchService.prototype = {
       for (let engine in esrOverrides) {
         let index = engineNames.indexOf(engine);
         if (index > -1) {
           engineNames[index] = esrOverrides[engine];
         }
       }
     }
 
+    if ("regionOverrides" in json &&
+        searchRegion in json.regionOverrides) {
+      for (let engine in json.regionOverrides[searchRegion]) {
+        let index = engineNames.indexOf(engine);
+        if (index > -1) {
+          engineNames[index] = json.regionOverrides[searchRegion][engine];
+        }
+      }
+    }
+
     for (let name of engineNames) {
       uris.push(APP_SEARCH_PREFIX + name + ".xml");
     }
 
     // Store this so that it can be used while writing the cache file.
     this._visibleDefaultEngines = engineNames;
 
     if (searchRegion && searchRegion in searchSettings &&
         "searchDefault" in searchSettings[searchRegion]) {
       this._searchDefault = searchSettings[searchRegion].searchDefault;
+    } else if ("searchDefault" in searchSettings.default) {
+      this._searchDefault = searchSettings.default.searchDefault;
     } else {
-      this._searchDefault = searchSettings.default.searchDefault;
+      this._searchDefault = json.default.searchDefault;
+    }
+
+    if (!this._searchDefault) {
+      Cu.reportError("parseListJSON: No searchDefault");
     }
 
     if (searchRegion && searchRegion in searchSettings &&
         "searchOrder" in searchSettings[searchRegion]) {
       this._searchOrder = searchSettings[searchRegion].searchOrder;
     } else if ("searchOrder" in searchSettings.default) {
       this._searchOrder = searchSettings.default.searchOrder;
+    } else if ("searchOrder" in json.default) {
+      this._searchOrder = json.default.searchOrder;
     }
   },
 
   _parseListTxt: function SRCH_SVC_parseListTxt(list, uris) {
     let names = list.split("\n").filter(n => !!n);
     // This maps the names of our built-in engines to a boolean
     // indicating whether it should be hidden by default.
     let jarNames = new Map();
@@ -4555,19 +4590,20 @@ SearchService.prototype = {
             break;
         }
         break;
 
       case QUIT_APPLICATION_TOPIC:
         this._removeObservers();
         break;
 
-      case REQ_LOCALES_CHANGED_TOPIC:
+      case TOPIC_LOCALES_CHANGE:
         // Locale changed. Re-init. We rely on observers, because we can't
         // return this promise to anyone.
+        // FYI, This is also used by the search tests to do an async reinit.
         this._asyncReInit();
         break;
     }
   },
 
   // nsITimerCallback
   notify: function SRCH_SVC_notify(aTimer) {
     LOG("_notify: checking for updates");
@@ -4612,20 +4648,17 @@ SearchService.prototype = {
       // There might be a race between synchronous and asynchronous
       // initialization for which we try to register the observers twice.
       return;
     }
     this._observersAdded = true;
 
     Services.obs.addObserver(this, SEARCH_ENGINE_TOPIC);
     Services.obs.addObserver(this, QUIT_APPLICATION_TOPIC);
-
-    if (AppConstants.MOZ_BUILD_APP == "mobile/android") {
-      Services.obs.addObserver(this, REQ_LOCALES_CHANGED_TOPIC);
-    }
+    Services.obs.addObserver(this, TOPIC_LOCALES_CHANGE);
 
     // The current stage of shutdown. Used to help analyze crash
     // signatures in case of shutdown timeout.
     let shutdownState = {
       step: "Not started",
       latestError: {
         message: undefined,
         stack: undefined
@@ -4657,20 +4690,17 @@ SearchService.prototype = {
       () => shutdownState
     );
   },
   _observersAdded: false,
 
   _removeObservers: function SRCH_SVC_removeObservers() {
     Services.obs.removeObserver(this, SEARCH_ENGINE_TOPIC);
     Services.obs.removeObserver(this, QUIT_APPLICATION_TOPIC);
-
-    if (AppConstants.MOZ_BUILD_APP == "mobile/android") {
-      Services.obs.removeObserver(this, REQ_LOCALES_CHANGED_TOPIC);
-    }
+    Services.obs.removeObserver(this, TOPIC_LOCALES_CHANGE);
   },
 
   QueryInterface: XPCOMUtils.generateQI([
     Ci.nsIBrowserSearchService,
     Ci.nsIObserver,
     Ci.nsITimerCallback
   ])
 };
diff --git a/toolkit/components/search/tests/xpcshell/data/list.json b/toolkit/components/search/tests/xpcshell/data/list.json
--- a/toolkit/components/search/tests/xpcshell/data/list.json
+++ b/toolkit/components/search/tests/xpcshell/data/list.json
@@ -1,9 +1,30 @@
 {
   "default": {
     "searchDefault": "Test search engine",
     "searchOrder": ["engine-resourceicon", "engine-chromeicon"],
     "visibleDefaultEngines": [
       "engine", "engine-pref", "engine-rel-searchform-purpose", "engine-system-purpose", "engine-chromeicon", "engine-resourceicon"
     ]
+  },
+  "regionOverrides": {
+    "RU": {
+      "engine": "engine-chromeicon"
+    }
+  },
+  "locales": {
+    "de": {
+      "default": {
+        "visibleDefaultEngines": [
+          "engine"
+        ]
+      }
+    },
+    "fr": {
+      "default": {
+        "visibleDefaultEngines": [
+          "engine", "engine-pref"
+        ]
+      }
+    }
   }
 }
diff --git a/toolkit/components/search/tests/xpcshell/head_search.js b/toolkit/components/search/tests/xpcshell/head_search.js
--- a/toolkit/components/search/tests/xpcshell/head_search.js
+++ b/toolkit/components/search/tests/xpcshell/head_search.js
@@ -227,17 +227,17 @@ function isUSTimezone() {
   // Hawaii-Aleutian Standard Time (http://www.timeanddate.com/time/zones/hast)
 
   let UTCOffset = (new Date()).getTimezoneOffset();
   return UTCOffset >= 150 && UTCOffset <= 600;
 }
 
 const kDefaultenginenamePref = "browser.search.defaultenginename";
 const kTestEngineName = "Test search engine";
-const REQ_LOCALES_CHANGED_TOPIC = "intl:requested-locales-changed";
+const TOPIC_LOCALES_CHANGE = "intl:app-locales-changed";
 
 function getDefaultEngineName(isUS) {
   // The list of visibleDefaultEngines needs to match or the cache will be ignored.
   let chan = NetUtil.newChannel({
     uri: "resource://search-plugins/list.json",
     loadUsingSystemPrincipal: true
   });
   let searchSettings = parseJsonFromStream(chan.open2());
@@ -458,17 +458,17 @@ function asyncInit() {
     });
   });
 }
 
 function asyncReInit() {
   let promise = waitForSearchNotification("reinit-complete");
 
   Services.search.QueryInterface(Ci.nsIObserver)
-          .observe(null, REQ_LOCALES_CHANGED_TOPIC, null);
+          .observe(null, TOPIC_LOCALES_CHANGE, null);
 
   return promise;
 }
 
 // This "enum" from nsSearchService.js
 const TELEMETRY_RESULT_ENUM = {
   SUCCESS: 0,
   SUCCESS_WITHOUT_DATA: 1,
diff --git a/toolkit/components/search/tests/xpcshell/test_list_json_locale.js b/toolkit/components/search/tests/xpcshell/test_list_json_locale.js
new file mode 100644
--- /dev/null
+++ b/toolkit/components/search/tests/xpcshell/test_list_json_locale.js
@@ -0,0 +1,60 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/* Check default search engine is picked from list.json searchDefault */
+
+"use strict";
+
+function run_test() {
+  Assert.ok(!Services.search.isInitialized, "search isn't initialized yet");
+
+  run_next_test();
+}
+
+// Override list.json with test data from data/list.json
+// and check that different locale is working
+add_task(async function test_listJSONlocale() {
+  let url = "resource://test/data/";
+  let resProt = Services.io.getProtocolHandler("resource")
+                        .QueryInterface(Ci.nsIResProtocolHandler);
+  resProt.setSubstitution("search-plugins", Services.io.newURI(url));
+
+  Services.locale.setAvailableLocales(["de"]);
+  Services.locale.setRequestedLocales(["de"]);
+
+  await asyncInit();
+
+  Assert.ok(Services.search.isInitialized, "search initialized");
+
+  let sortedEngines = Services.search.getEngines();
+  Assert.equal(sortedEngines.length, 1, "Should have only one engine");
+});
+
+
+// Check that switching locale switches search engines
+add_task(async function test_listJSONlocaleSwitch() {
+  let promise = waitForSearchNotification("reinit-complete");
+
+  Services.locale.setAvailableLocales(["fr"]);
+  Services.locale.setRequestedLocales(["fr"]);
+
+  await promise;
+
+  Assert.ok(Services.search.isInitialized, "search initialized");
+
+  let sortedEngines = Services.search.getEngines();
+  Assert.equal(sortedEngines.length, 2, "Should have two engines");
+});
+
+// Check that region overrides apply
+add_task(async function test_listJSONRegionOverride() {
+  Services.prefs.setCharPref("browser.search.region", "RU");
+
+  await asyncReInit();
+
+  Assert.ok(Services.search.isInitialized, "search initialized");
+
+  let sortedEngines = Services.search.getEngines();
+  Assert.equal(sortedEngines.length, 2, "Should have two engines");
+  Assert.equal(sortedEngines[0].identifier, "engine-chromeicon", "Engine should have been overridden by engine-chromeicon");
+});
diff --git a/toolkit/components/search/tests/xpcshell/xpcshell.ini b/toolkit/components/search/tests/xpcshell/xpcshell.ini
--- a/toolkit/components/search/tests/xpcshell/xpcshell.ini
+++ b/toolkit/components/search/tests/xpcshell/xpcshell.ini
@@ -35,16 +35,17 @@ support-files =
 [test_bug930456_child.js]
 [test_engine_set_alias.js]
 [test_hasEngineWithURL.js]
 [test_identifiers.js]
 [test_invalid_engine_from_dir.js]
 [test_init_async_multiple.js]
 [test_init_async_multiple_then_sync.js]
 [test_json_cache.js]
+[test_list_json_locale.js]
 [test_list_json_searchdefault.js]
 [test_list_json_searchorder.js]
 [test_location.js]
 [test_location_error.js]
 [test_location_malformed_json.js]
 [test_location_migrate_countrycode_isUS.js]
 [test_location_migrate_no_countrycode_isUS.js]
 [test_location_migrate_no_countrycode_notUS.js]
diff --git a/toolkit/mozapps/installer/l10n-repack.py b/toolkit/mozapps/installer/l10n-repack.py
--- a/toolkit/mozapps/installer/l10n-repack.py
+++ b/toolkit/mozapps/installer/l10n-repack.py
@@ -10,25 +10,23 @@ directory.
 from mozpack.packager import l10n
 from argparse import ArgumentParser
 import buildconfig
 
 # Set of files or directories not listed in a chrome.manifest but that are
 # localized.
 NON_CHROME = set([
     '**/crashreporter*.ini',
-    'searchplugins',
     'dictionaries',
     'defaults/profile',
     'defaults/pref*/*-l10n.js',
     'update.locale',
     'updater.ini',
     'extensions/langpack-*@*',
     'distribution/extensions/langpack-*@*',
-    'chrome/**/searchplugins/*.xml',
     '**/multilocale.txt'
 ])
 
 
 def valid_extra_l10n(arg):
     if '=' not in arg:
         raise ValueError('Invalid value')
     return tuple(arg.split('=', 1))
