Browse Source

oops filename typo

Bill Gianopoulos 3 years ago
parent
commit
ba861a8427
2 changed files with 86 additions and 1651 deletions
  1. 86 280
      bug1240930-253/mozilla/1437942-62a1.patch
  2. 0 1371
      bug1240930-253/mozilla/1437943-62a1.patch

+ 86 - 280
bug1240930-253/mozilla/1437942-62a1.patch

@@ -25,34 +25,14 @@ diff --git a/browser/base/content/test/static/browser_all_files_referenced.js b/
    "resource://app/defaults/preferences/",
    "resource://gre/modules/commonjs/",
    "resource://gre/defaults/pref/",
+   "resource://shield-recipe-client/node_modules/jexl/lib/",
  
-   // 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 = [
+   // https://github.com/mozilla/normandy/issues/577
 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)
+@@ -159,9 +159,8 @@ browser.jar:
+ % overlay chrome://browser/content/browser.xul chrome://browser/content/report-phishing-overlay.xul
  
  % override chrome://global/content/netError.xhtml chrome://browser/content/aboutNetError.xhtml
  
@@ -64,7 +44,7 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
 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 @@
+@@ -68,16 +68,17 @@
      </content>
  
      <implementation implements="nsIObserver">
@@ -82,7 +62,7 @@ diff --git a/browser/components/search/content/search.xml b/browser/components/s
              Services.search.init(aStatus => {
                // Bail out if the binding's been destroyed
                if (!this._initialized)
-@@ -113,16 +114,17 @@
+@@ -115,16 +116,17 @@
        ]]></destructor>
  
        <method name="destroy">
@@ -100,7 +80,7 @@ diff --git a/browser/components/search/content/search.xml b/browser/components/s
          // _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 @@
+@@ -184,17 +186,18 @@
          ]]></body>
        </method>
  
@@ -120,7 +100,7 @@ diff --git a/browser/components/search/content/search.xml b/browser/components/s
                this.hideNewEngine(aEngine);
                break;
              case "engine-changed":
-@@ -1377,16 +1380,17 @@
+@@ -1411,16 +1414,17 @@
          menu.addEventListener("popuphidden", aEvent => {
            this._ignoreMouseEvents = false;
            aEvent.stopPropagation();
@@ -160,15 +140,6 @@ 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
@@ -184,12 +155,6 @@ 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
@@ -262,51 +227,12 @@ 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/diribg.xml b/browser/components/search/searchplugins/diribg.xml
+rename from browser/locales/searchplugins/diribg.xml
+rename to browser/components/search/searchplugins/diribg.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
@@ -319,27 +245,15 @@ 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/findbook-zh-TW.xml b/browser/components/search/searchplugins/findbook-zh-TW.xml
+rename from browser/locales/searchplugins/findbook-zh-TW.xml
+rename to browser/components/search/searchplugins/findbook-zh-TW.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
@@ -361,12 +275,12 @@ 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/yahoo.ico b/browser/components/search/searchplugins/images/yahoo.ico
+rename from browser/locales/searchplugins/images/yahoo.ico
+rename to browser/components/search/searchplugins/images/yahoo.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
@@ -394,30 +308,6 @@ 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
@@ -505,18 +395,12 @@ 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
@@ -682,9 +566,6 @@ 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
@@ -724,9 +605,6 @@ 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
@@ -751,9 +629,6 @@ 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
@@ -769,9 +644,6 @@ 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
@@ -832,9 +704,9 @@ 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/wikipediaro.xml b/browser/components/search/searchplugins/wikipediaro.xml
+rename from browser/locales/searchplugins/wikipediaro.xml
+rename to browser/components/search/searchplugins/wikipediaro.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
@@ -940,13 +812,40 @@ 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/zing-mp3.xml b/browser/components/search/searchplugins/zing-mp3.xml
+rename from browser/locales/searchplugins/zing-mp3.xml
+rename to browser/components/search/searchplugins/zing-mp3.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/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
+@@ -404,17 +404,17 @@
+     },
+     "it": {
+       "default": {
+         "visibleDefaultEngines": [
+           "google", "yahoo-it", "bing", "amazon-it", "ddg", "hoepli", "wikipedia-it"
+         ]
+       }
+     },
+-    "ja-JP-mac": {
++    "ja-JP-macos": {
+       "default": {
+         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
+         "visibleDefaultEngines": [
+           "google", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
+         ]
+       }
+     },
+     "ja": {
 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 =
+@@ -19,23 +19,19 @@ support-files =
  [browser_addEngine.js]
  [browser_amazon.js]
  [browser_bing.js]
@@ -954,9 +853,11 @@ diff --git a/browser/components/search/test/browser.ini b/browser/components/sea
  [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_codes.js]
+-skip-if = artifact # bug 1315953
+ [browser_google_nocodes.js]
 -skip-if = artifact # bug 1315953
  [browser_google_behavior.js]
 -skip-if = artifact # bug 1315953
@@ -966,12 +867,12 @@ diff --git a/browser/components/search/test/browser.ini b/browser/components/sea
  [browser_oneOffContextMenu.js]
  [browser_oneOffContextMenu_setDefault.js]
  [browser_oneOffHeader.js]
- skip-if = os == "mac" #1421238
+ skip-if = os == "mac" # bug 1361276
  [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
+@@ -34,55 +34,36 @@ MOZ_PKG_MAC_EXTRA=--symlink '/Applicatio
  endif
  
  ifeq ($(CPU_ARCH), aarch64)
@@ -980,10 +881,10 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
  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_FILENAMES := $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD)))
 -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))))
+-SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_FILENAMES)),$(or $(wildcard $(srcdir)/searchplugins/$(plugin)),$(warning 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
@@ -1014,33 +915,28 @@ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
  	@$(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-$*
+ 	@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
  endif
+ 	@$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$*
  	@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
- 	@$(MAKE) -C ../../devtools/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-$*)
+ 	@$(MAKE) -C ../../toolkit/locales chrome-$*
 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)
+@@ -96,28 +96,16 @@
      locale/browser/preferences/siteDataSettings.dtd     (%chrome/browser/preferences/siteDataSettings.dtd)
+     locale/browser/preferences-old/sync.dtd           (%chrome/browser/preferences-old/sync.dtd)
      locale/browser/preferences/sync.dtd               (%chrome/browser/preferences/sync.dtd)
+     locale/browser/preferences-old/tabs.dtd           (%chrome/browser/preferences-old/tabs.dtd)
+     locale/browser/preferences/tabs.dtd               (%chrome/browser/preferences/tabs.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)
@@ -1052,7 +948,6 @@ diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
 -    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)
@@ -1065,30 +960,10 @@ diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
      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 = {
+@@ -100,16 +100,17 @@ this.ContentSearch = {
    _destroyedPromise: null,
  
    // The current controller and browser in _onMessageGetSuggestions.  Allows
@@ -1106,7 +981,7 @@ diff --git a/browser/modules/ContentSearch.jsm b/browser/modules/ContentSearch.j
    get searchSuggestionUIStrings() {
      if (this._searchSuggestionUIStrings) {
        return this._searchSuggestionUIStrings;
-@@ -128,16 +129,17 @@ var ContentSearch = {
+@@ -126,16 +127,17 @@ this.ContentSearch = {
    },
  
    destroy() {
@@ -1124,7 +999,7 @@ diff --git a/browser/modules/ContentSearch.jsm b/browser/modules/ContentSearch.j
    },
  
    /**
-@@ -179,16 +181,20 @@ var ContentSearch = {
+@@ -177,16 +179,20 @@ this.ContentSearch = {
        type: "Message",
        data: msg,
      });
@@ -1148,11 +1023,11 @@ diff --git a/browser/modules/ContentSearch.jsm b/browser/modules/ContentSearch.j
 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";
+@@ -57,17 +57,17 @@ const NS_APP_USER_PROFILE_50_DIR = "Prof
  
- // We load plugins from APP_SEARCH_PREFIX, where a list.txt
- // file needs to exist to list available engines.
+ // Loading plugins from NS_APP_SEARCH_DIR is no longer supported.
+ // Instead, we now 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.
@@ -1167,7 +1042,7 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
  const SEARCH_ENGINE_LOADED       = "engine-loaded";
  const SEARCH_ENGINE_CURRENT      = "engine-current";
  const SEARCH_ENGINE_DEFAULT      = "engine-default";
-@@ -3064,19 +3064,19 @@ SearchService.prototype = {
+@@ -3171,19 +3171,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.
@@ -1188,15 +1063,15 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
        }
      })();
    },
-@@ -3479,24 +3479,41 @@ SearchService.prototype = {
+@@ -3651,24 +3651,41 @@ SearchService.prototype = {
+       this._parseListTxt(list, uris);
+     } else {
        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 {
@@ -1233,8 +1108,8 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
      if (visibleDefaultEngines) {
        let jarNames = new Set();
        for (let region in searchSettings) {
-@@ -3543,17 +3560,17 @@ SearchService.prototype = {
-         "visibleDefaultEngines" in searchSettings[searchRegion]) {
+@@ -3710,48 +3727,66 @@ SearchService.prototype = {
+           "visibleDefaultEngines" in searchSettings[searchRegion]) {
          engineNames = searchSettings[searchRegion].visibleDefaultEngines;
        } else {
          engineNames = searchSettings.default.visibleDefaultEngines;
@@ -1252,12 +1127,7 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
        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];
-         }
+         engineNames = filteredEngineNames;
        }
      }
  
@@ -1307,7 +1177,7 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
      // 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 = {
+@@ -4674,19 +4709,20 @@ SearchService.prototype = {
              break;
          }
          break;
@@ -1329,7 +1199,7 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
    // nsITimerCallback
    notify: function SRCH_SVC_notify(aTimer) {
      LOG("_notify: checking for updates");
-@@ -4612,20 +4648,17 @@ SearchService.prototype = {
+@@ -4731,20 +4767,17 @@ SearchService.prototype = {
        // There might be a race between synchronous and asynchronous
        // initialization for which we try to register the observers twice.
        return;
@@ -1351,7 +1221,7 @@ diff --git a/toolkit/components/search/nsSearchService.js b/toolkit/components/s
        latestError: {
          message: undefined,
          stack: undefined
-@@ -4657,20 +4690,17 @@ SearchService.prototype = {
+@@ -4776,20 +4809,17 @@ SearchService.prototype = {
        () => shutdownState
      );
    },
@@ -1410,7 +1280,7 @@ diff --git a/toolkit/components/search/tests/xpcshell/data/list.json b/toolkit/c
 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() {
+@@ -248,17 +248,17 @@ function isUSTimezone() {
    // Hawaii-Aleutian Standard Time (http://www.timeanddate.com/time/zones/hast)
  
    let UTCOffset = (new Date()).getTimezoneOffset();
@@ -1429,7 +1299,7 @@ diff --git a/toolkit/components/search/tests/xpcshell/head_search.js b/toolkit/c
      loadUsingSystemPrincipal: true
    });
    let searchSettings = parseJsonFromStream(chan.open2());
-@@ -458,17 +458,17 @@ function asyncInit() {
+@@ -509,17 +509,17 @@ function asyncInit() {
      });
    });
  }
@@ -1448,75 +1318,10 @@ diff --git a/toolkit/components/search/tests/xpcshell/head_search.js b/toolkit/c
  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 =
+@@ -38,16 +38,17 @@ support-files =
  [test_bug930456_child.js]
  [test_engine_set_alias.js]
  [test_hasEngineWithURL.js]
@@ -1537,7 +1342,7 @@ diff --git a/toolkit/components/search/tests/xpcshell/xpcshell.ini b/toolkit/com
 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.
+@@ -10,26 +10,24 @@ directory.
  from mozpack.packager import l10n
  from argparse import ArgumentParser
  import buildconfig
@@ -1548,6 +1353,7 @@ diff --git a/toolkit/mozapps/installer/l10n-repack.py b/toolkit/mozapps/installe
      '**/crashreporter*.ini',
 -    'searchplugins',
      'dictionaries',
+     'hyphenation',
      'defaults/profile',
      'defaults/pref*/*-l10n.js',
      'update.locale',
@@ -1555,7 +1361,6 @@ diff --git a/toolkit/mozapps/installer/l10n-repack.py b/toolkit/mozapps/installe
      'extensions/langpack-*@*',
      'distribution/extensions/langpack-*@*',
 -    'chrome/**/searchplugins/*.xml',
-     '**/multilocale.txt'
  ])
  
  
@@ -1563,3 +1368,4 @@ diff --git a/toolkit/mozapps/installer/l10n-repack.py b/toolkit/mozapps/installe
      if '=' not in arg:
          raise ValueError('Invalid value')
      return tuple(arg.split('=', 1))
+ 

+ 0 - 1371
bug1240930-253/mozilla/1437943-62a1.patch

@@ -1,1371 +0,0 @@
-# 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/",
-   "resource://shield-recipe-client/node_modules/jexl/lib/",
- 
-   // https://github.com/mozilla/normandy/issues/577
-diff --git a/browser/base/jar.mn b/browser/base/jar.mn
---- a/browser/base/jar.mn
-+++ b/browser/base/jar.mn
-@@ -159,9 +159,8 @@ browser.jar:
- % overlay chrome://browser/content/browser.xul chrome://browser/content/report-phishing-overlay.xul
- 
- % 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
-@@ -68,16 +68,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)
-@@ -115,16 +116,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)
-@@ -184,17 +186,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":
-@@ -1411,16 +1414,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-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/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/diribg.xml b/browser/components/search/searchplugins/diribg.xml
-rename from browser/locales/searchplugins/diribg.xml
-rename to browser/components/search/searchplugins/diribg.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/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/findbook-zh-TW.xml b/browser/components/search/searchplugins/findbook-zh-TW.xml
-rename from browser/locales/searchplugins/findbook-zh-TW.xml
-rename to browser/components/search/searchplugins/findbook-zh-TW.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-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/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/yahoo.ico b/browser/components/search/searchplugins/images/yahoo.ico
-rename from browser/locales/searchplugins/images/yahoo.ico
-rename to browser/components/search/searchplugins/images/yahoo.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/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/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/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-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-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-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-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/wikipediaro.xml b/browser/components/search/searchplugins/wikipediaro.xml
-rename from browser/locales/searchplugins/wikipediaro.xml
-rename to browser/components/search/searchplugins/wikipediaro.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/zing-mp3.xml b/browser/components/search/searchplugins/zing-mp3.xml
-rename from browser/locales/searchplugins/zing-mp3.xml
-rename to browser/components/search/searchplugins/zing-mp3.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/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
-@@ -404,17 +404,17 @@
-     },
-     "it": {
-       "default": {
-         "visibleDefaultEngines": [
-           "google", "yahoo-it", "bing", "amazon-it", "ddg", "hoepli", "wikipedia-it"
-         ]
-       }
-     },
--    "ja-JP-mac": {
-+    "ja-JP-macos": {
-       "default": {
-         "searchOrder": ["Google", "Yahoo! JAPAN", "Bing", "Amazon.co.jp", "楽天市場", "ヤフオク!", "教えて!goo", "Twitter", "Wikipedia (ja)"],
-         "visibleDefaultEngines": [
-           "google", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
-         ]
-       }
-     },
-     "ja": {
-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,23 +19,19 @@ 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_google.js]
--skip-if = artifact # bug 1315953
- [browser_google_codes.js]
--skip-if = artifact # bug 1315953
- [browser_google_nocodes.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" # bug 1361276
- [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
-@@ -34,55 +34,36 @@ 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 := $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD)))
--SEARCHPLUGINS_PATH := .deps/generated_$(AB_CD)
--SEARCHPLUGINS_TARGET := libs searchplugins
--SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_FILENAMES)),$(or $(wildcard $(srcdir)/searchplugins/$(plugin)),$(warning 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))
- 	@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
- endif
- 	@$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$*
- 	@$(MAKE) -C ../../devtools/client/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) -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-$*)
- 	@$(MAKE) -C ../../toolkit/locales chrome-$*
-diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
---- a/browser/locales/jar.mn
-+++ b/browser/locales/jar.mn
-@@ -96,28 +96,16 @@
-     locale/browser/preferences/siteDataSettings.dtd     (%chrome/browser/preferences/siteDataSettings.dtd)
-     locale/browser/preferences-old/sync.dtd           (%chrome/browser/preferences-old/sync.dtd)
-     locale/browser/preferences/sync.dtd               (%chrome/browser/preferences/sync.dtd)
-     locale/browser/preferences-old/tabs.dtd           (%chrome/browser/preferences-old/tabs.dtd)
-     locale/browser/preferences/tabs.dtd               (%chrome/browser/preferences/tabs.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/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/modules/ContentSearch.jsm b/browser/modules/ContentSearch.jsm
---- a/browser/modules/ContentSearch.jsm
-+++ b/browser/modules/ContentSearch.jsm
-@@ -100,16 +100,17 @@ this.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;
-@@ -126,16 +127,17 @@ this.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;
-   },
- 
-   /**
-@@ -177,16 +179,20 @@ this.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
-@@ -57,17 +57,17 @@ const NS_APP_USER_PROFILE_50_DIR = "Prof
- 
- // Loading plugins from NS_APP_SEARCH_DIR is no longer supported.
- // Instead, we now 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";
-@@ -3171,19 +3171,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");
-       }
-     })();
-   },
-@@ -3651,24 +3651,41 @@ SearchService.prototype = {
-       this._parseListTxt(list, uris);
-     } else {
-       this._parseListJSON(list, uris);
-     }
-     return uris;
-   },
- 
-   _parseListJSON: function SRCH_SVC_parseListJSON(list, uris) {
--    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) {
-@@ -3710,48 +3727,66 @@ 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) {
-         engineNames = filteredEngineNames;
-       }
-     }
- 
-+    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();
-@@ -4674,19 +4709,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");
-@@ -4731,20 +4767,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
-@@ -4776,20 +4809,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
-@@ -248,17 +248,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());
-@@ -509,17 +509,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/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
-@@ -38,16 +38,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,26 +10,24 @@ 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',
-     'hyphenation',
-     'defaults/profile',
-     'defaults/pref*/*-l10n.js',
-     'update.locale',
-     'updater.ini',
-     'extensions/langpack-*@*',
-     'distribution/extensions/langpack-*@*',
--    'chrome/**/searchplugins/*.xml',
- ])
- 
- 
- def valid_extra_l10n(arg):
-     if '=' not in arg:
-         raise ValueError('Invalid value')
-     return tuple(arg.split('=', 1))
-