--- 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/settings/blocklists/",
"resource://app/defaults/settings/main/",
"resource://app/defaults/settings/pinning/",
"resource://app/defaults/preferences/",
"resource://gre/modules/commonjs/",
"resource://gre/defaults/pref/",
// These resources are referenced using relative paths from html files.
@@ -31,16 +30,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 = [
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -112,9 +112,8 @@ browser.jar:
content/browser/blockedSite.xhtml (content/blockedSite.xhtml)
% override chrome://global/content/netError.xhtml chrome://browser/content/aboutNetError.xhtml
# L10n resources and overrides.
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
% override chrome://mozapps/locale/downloads/settingsChange.dtd chrome://browser/locale/downloads/settingsChange.dtd
-% resource search-plugins chrome://browser/locale/searchplugins/
--- a/browser/components/search/content/search.xml
+++ b/browser/components/search/content/search.xml
@@ -62,16 +62,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)
@@ -109,16 +110,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)
@@ -178,17 +180,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")) {
// Make sure the engine list is refetched next time it's needed
this._engines = null;
// Update the popup header and update the display after any modification.
this._textbox.popup.updateHeader();
this.updateDisplay();
}
]]></body>
@@ -1301,16 +1304,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
--- a/browser/components/search/jar.mn
+++ b/browser/components/search/jar.mn
@@ -1,8 +1,12 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
browser.jar:
content/browser/search/search.xml (content/search.xml)
content/browser/search/searchReset.xhtml (content/searchReset.xhtml)
content/browser/search/searchReset.js (content/searchReset.js)
+
+ searchplugins/ (searchplugins/**)
+
+% resource search-plugins %searchplugins/
rename from browser/locales/searchplugins/allaannonser-sv-SE.xml
rename to browser/components/search/searchplugins/allaannonser-sv-SE.xml
rename from browser/locales/searchplugins/allegro-pl.xml
rename to browser/components/search/searchplugins/allegro-pl.xml
rename from browser/locales/searchplugins/amazon-au.xml
rename to browser/components/search/searchplugins/amazon-au.xml
rename from browser/locales/searchplugins/amazon-br.xml
rename to browser/components/search/searchplugins/amazon-br.xml
rename from browser/locales/searchplugins/amazon-ca.xml
rename to browser/components/search/searchplugins/amazon-ca.xml
rename from browser/locales/searchplugins/amazon-en-GB.xml
rename to browser/components/search/searchplugins/amazon-en-GB.xml
rename from browser/locales/searchplugins/amazon-france.xml
rename to browser/components/search/searchplugins/amazon-france.xml
rename from browser/locales/searchplugins/amazon-in.xml
rename to browser/components/search/searchplugins/amazon-in.xml
rename from browser/locales/searchplugins/amazon-it.xml
rename to browser/components/search/searchplugins/amazon-it.xml
rename from browser/locales/searchplugins/amazon-jp.xml
rename to browser/components/search/searchplugins/amazon-jp.xml
rename from browser/locales/searchplugins/amazon-mx.xml
rename to browser/components/search/searchplugins/amazon-mx.xml
rename from browser/locales/searchplugins/amazon-nl.xml
rename to browser/components/search/searchplugins/amazon-nl.xml
rename from browser/locales/searchplugins/amazondotcn.xml
rename to browser/components/search/searchplugins/amazondotcn.xml
rename from browser/locales/searchplugins/amazondotcom-de.xml
rename to browser/components/search/searchplugins/amazondotcom-de.xml
rename from browser/locales/searchplugins/amazondotcom.xml
rename to browser/components/search/searchplugins/amazondotcom.xml
rename from browser/locales/searchplugins/atlas-sk.xml
rename to browser/components/search/searchplugins/atlas-sk.xml
rename from browser/locales/searchplugins/azerdict.xml
rename to browser/components/search/searchplugins/azerdict.xml
rename from browser/locales/searchplugins/azet-sk.xml
rename to browser/components/search/searchplugins/azet-sk.xml
rename from browser/locales/searchplugins/baidu.xml
rename to browser/components/search/searchplugins/baidu.xml
rename from browser/locales/searchplugins/bbc-alba.xml
rename to browser/components/search/searchplugins/bbc-alba.xml
rename from browser/locales/searchplugins/bing.xml
rename to browser/components/search/searchplugins/bing.xml
rename from browser/locales/searchplugins/bok-NO.xml
rename to browser/components/search/searchplugins/bok-NO.xml
rename from browser/locales/searchplugins/bolcom-fy-NL.xml
rename to browser/components/search/searchplugins/bolcom-fy-NL.xml
rename from browser/locales/searchplugins/bolcom-nl.xml
rename to browser/components/search/searchplugins/bolcom-nl.xml
rename from browser/locales/searchplugins/bookplus-fi.xml
rename to browser/components/search/searchplugins/bookplus-fi.xml
rename from browser/locales/searchplugins/buscape.xml
rename to browser/components/search/searchplugins/buscape.xml
rename from browser/locales/searchplugins/ceneji.xml
rename to browser/components/search/searchplugins/ceneji.xml
rename from browser/locales/searchplugins/chambers-en-GB.xml
rename to browser/components/search/searchplugins/chambers-en-GB.xml
rename from browser/locales/searchplugins/cnrtl-tlfi-fr.xml
rename to browser/components/search/searchplugins/cnrtl-tlfi-fr.xml
rename from browser/locales/searchplugins/coccoc.xml
rename to browser/components/search/searchplugins/coccoc.xml
rename from browser/locales/searchplugins/danawa-kr.xml
rename to browser/components/search/searchplugins/danawa-kr.xml
rename from browser/locales/searchplugins/daum-kr.xml
rename to browser/components/search/searchplugins/daum-kr.xml
rename from browser/locales/searchplugins/ddg.xml
rename to browser/components/search/searchplugins/ddg.xml
rename from browser/locales/searchplugins/diccionariu-alla.xml
rename to browser/components/search/searchplugins/diccionariu-alla.xml
rename from browser/locales/searchplugins/dict-enlv.xml
rename to browser/components/search/searchplugins/dict-enlv.xml
rename from browser/locales/searchplugins/diec2.xml
rename to browser/components/search/searchplugins/diec2.xml
rename from browser/locales/searchplugins/drae.xml
rename to browser/components/search/searchplugins/drae.xml
rename from browser/locales/searchplugins/ebay-at.xml
rename to browser/components/search/searchplugins/ebay-at.xml
rename from browser/locales/searchplugins/ebay-au.xml
rename to browser/components/search/searchplugins/ebay-au.xml
rename from browser/locales/searchplugins/ebay-be.xml
rename to browser/components/search/searchplugins/ebay-be.xml
rename from browser/locales/searchplugins/ebay-ca.xml
rename to browser/components/search/searchplugins/ebay-ca.xml
rename from browser/locales/searchplugins/ebay-ch.xml
rename to browser/components/search/searchplugins/ebay-ch.xml
rename from browser/locales/searchplugins/ebay-de.xml
rename to browser/components/search/searchplugins/ebay-de.xml
rename from browser/locales/searchplugins/ebay-es.xml
rename to browser/components/search/searchplugins/ebay-es.xml
rename from browser/locales/searchplugins/ebay-fr.xml
rename to browser/components/search/searchplugins/ebay-fr.xml
rename from browser/locales/searchplugins/ebay-ie.xml
rename to browser/components/search/searchplugins/ebay-ie.xml
rename from browser/locales/searchplugins/ebay-it.xml
rename to browser/components/search/searchplugins/ebay-it.xml
rename from browser/locales/searchplugins/ebay-nl.xml
rename to browser/components/search/searchplugins/ebay-nl.xml
rename from browser/locales/searchplugins/ebay-uk.xml
rename to browser/components/search/searchplugins/ebay-uk.xml
rename from browser/locales/searchplugins/ebay.xml
rename to browser/components/search/searchplugins/ebay.xml
rename from browser/locales/searchplugins/ecosia.xml
rename to browser/components/search/searchplugins/ecosia.xml
rename from browser/locales/searchplugins/eki-ee.xml
rename to browser/components/search/searchplugins/eki-ee.xml
rename from browser/locales/searchplugins/elebila.xml
rename to browser/components/search/searchplugins/elebila.xml
rename from browser/locales/searchplugins/eudict.xml
rename to browser/components/search/searchplugins/eudict.xml
rename from browser/locales/searchplugins/faclair-beag.xml
rename to browser/components/search/searchplugins/faclair-beag.xml
rename from browser/locales/searchplugins/flip.xml
rename to browser/components/search/searchplugins/flip.xml
rename from browser/locales/searchplugins/freelang.xml
rename to browser/components/search/searchplugins/freelang.xml
rename from browser/locales/searchplugins/google-2018.xml
rename to browser/components/search/searchplugins/google-2018.xml
rename from browser/locales/searchplugins/google.xml
rename to browser/components/search/searchplugins/google.xml
rename from browser/locales/searchplugins/gujaratilexicon.xml
rename to browser/components/search/searchplugins/gujaratilexicon.xml
rename from browser/locales/searchplugins/gulesider-NO.xml
rename to browser/components/search/searchplugins/gulesider-NO.xml
rename from browser/locales/searchplugins/heureka-cz.xml
rename to browser/components/search/searchplugins/heureka-cz.xml
rename from browser/locales/searchplugins/hoepli.xml
rename to browser/components/search/searchplugins/hoepli.xml
rename from browser/locales/searchplugins/hotline-ua.xml
rename to browser/components/search/searchplugins/hotline-ua.xml
rename from browser/locales/searchplugins/images/amazon.ico
rename to browser/components/search/searchplugins/images/amazon.ico
rename from browser/locales/searchplugins/images/ebay.ico
rename to browser/components/search/searchplugins/images/ebay.ico
rename from browser/locales/searchplugins/images/wikipedia.ico
rename to browser/components/search/searchplugins/images/wikipedia.ico
rename from browser/locales/searchplugins/images/yandex-en.ico
rename to browser/components/search/searchplugins/images/yandex-en.ico
rename from browser/locales/searchplugins/images/yandex-ru.ico
rename to browser/components/search/searchplugins/images/yandex-ru.ico
rename from browser/locales/searchplugins/kannadastore.xml
rename to browser/components/search/searchplugins/kannadastore.xml
rename from browser/locales/searchplugins/kaz-kk.xml
rename to browser/components/search/searchplugins/kaz-kk.xml
rename from browser/locales/searchplugins/klask.xml
rename to browser/components/search/searchplugins/klask.xml
rename from browser/locales/searchplugins/leit-is.xml
rename to browser/components/search/searchplugins/leit-is.xml
rename from browser/locales/searchplugins/leo_ende_de-rm.xml
rename to browser/components/search/searchplugins/leo_ende_de-rm.xml
rename from browser/locales/searchplugins/leo_ende_de.xml
rename to browser/components/search/searchplugins/leo_ende_de.xml
rename from browser/locales/searchplugins/list-am.xml
rename to browser/components/search/searchplugins/list-am.xml
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
@@ -442,17 +442,17 @@
},
"it": {
"default": {
"visibleDefaultEngines": [
"google", "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", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg"
]
}
},
"ja": {
rename from browser/locales/searchplugins/longdo.xml
rename to browser/components/search/searchplugins/longdo.xml
rename from browser/locales/searchplugins/mailru.xml
rename to browser/components/search/searchplugins/mailru.xml
rename from browser/locales/searchplugins/mapy-cz.xml
rename to browser/components/search/searchplugins/mapy-cz.xml
rename from browser/locales/searchplugins/marktplaats-fy-NL.xml
rename to browser/components/search/searchplugins/marktplaats-fy-NL.xml
rename from browser/locales/searchplugins/marktplaats-nl.xml
rename to browser/components/search/searchplugins/marktplaats-nl.xml
rename from browser/locales/searchplugins/mercadolibre-ar.xml
rename to browser/components/search/searchplugins/mercadolibre-ar.xml
rename from browser/locales/searchplugins/mercadolibre-cl.xml
rename to browser/components/search/searchplugins/mercadolibre-cl.xml
rename from browser/locales/searchplugins/mercadolibre-mx.xml
rename to browser/components/search/searchplugins/mercadolibre-mx.xml
rename from browser/locales/searchplugins/mercadolivre.xml
rename to browser/components/search/searchplugins/mercadolivre.xml
rename from browser/locales/searchplugins/meta-ua.xml
rename to browser/components/search/searchplugins/meta-ua.xml
rename from browser/locales/searchplugins/morfix-dic.xml
rename to browser/components/search/searchplugins/morfix-dic.xml
rename from browser/locales/searchplugins/najdi-si.xml
rename to browser/components/search/searchplugins/najdi-si.xml
rename from browser/locales/searchplugins/naver-kr.xml
rename to browser/components/search/searchplugins/naver-kr.xml
rename from browser/locales/searchplugins/neti-ee.xml
rename to browser/components/search/searchplugins/neti-ee.xml
rename from browser/locales/searchplugins/odpiralni.xml
rename to browser/components/search/searchplugins/odpiralni.xml
rename from browser/locales/searchplugins/olx.xml
rename to browser/components/search/searchplugins/olx.xml
rename from browser/locales/searchplugins/oshiete-goo.xml
rename to browser/components/search/searchplugins/oshiete-goo.xml
rename from browser/locales/searchplugins/osta-ee.xml
rename to browser/components/search/searchplugins/osta-ee.xml
rename from browser/locales/searchplugins/ozonru.xml
rename to browser/components/search/searchplugins/ozonru.xml
rename from browser/locales/searchplugins/palasprint.xml
rename to browser/components/search/searchplugins/palasprint.xml
rename from browser/locales/searchplugins/paroledigenova-lij.xml
rename to browser/components/search/searchplugins/paroledigenova-lij.xml
rename from browser/locales/searchplugins/pazaruvaj.xml
rename to browser/components/search/searchplugins/pazaruvaj.xml
rename from browser/locales/searchplugins/pledarigrond.xml
rename to browser/components/search/searchplugins/pledarigrond.xml
rename from browser/locales/searchplugins/pogodak.xml
rename to browser/components/search/searchplugins/pogodak.xml
rename from browser/locales/searchplugins/portalbgdict.xml
rename to browser/components/search/searchplugins/portalbgdict.xml
rename from browser/locales/searchplugins/priberam.xml
rename to browser/components/search/searchplugins/priberam.xml
rename from browser/locales/searchplugins/priceru.xml
rename to browser/components/search/searchplugins/priceru.xml
rename from browser/locales/searchplugins/prisjakt-sv-SE.xml
rename to browser/components/search/searchplugins/prisjakt-sv-SE.xml
rename from browser/locales/searchplugins/pwn-pl.xml
rename to browser/components/search/searchplugins/pwn-pl.xml
rename from browser/locales/searchplugins/qwant.xml
rename to browser/components/search/searchplugins/qwant.xml
rename from browser/locales/searchplugins/qxl-NO.xml
rename to browser/components/search/searchplugins/qxl-NO.xml
rename from browser/locales/searchplugins/rakuten.xml
rename to browser/components/search/searchplugins/rakuten.xml
rename from browser/locales/searchplugins/readmoo.xml
rename to browser/components/search/searchplugins/readmoo.xml
rename from browser/locales/searchplugins/rediff.xml
rename to browser/components/search/searchplugins/rediff.xml
rename from browser/locales/searchplugins/reta-vortaro.xml
rename to browser/components/search/searchplugins/reta-vortaro.xml
rename from browser/locales/searchplugins/salidzinilv.xml
rename to browser/components/search/searchplugins/salidzinilv.xml
rename from browser/locales/searchplugins/sapo.xml
rename to browser/components/search/searchplugins/sapo.xml
rename from browser/locales/searchplugins/seznam-cz.xml
rename to browser/components/search/searchplugins/seznam-cz.xml
rename from browser/locales/searchplugins/slovnik-sk.xml
rename to browser/components/search/searchplugins/slovnik-sk.xml
rename from browser/locales/searchplugins/sslv.xml
rename to browser/components/search/searchplugins/sslv.xml
rename from browser/locales/searchplugins/sztaki-en-hu.xml
rename to browser/components/search/searchplugins/sztaki-en-hu.xml
rename from browser/locales/searchplugins/tearma.xml
rename to browser/components/search/searchplugins/tearma.xml
rename from browser/locales/searchplugins/termau.xml
rename to browser/components/search/searchplugins/termau.xml
rename from browser/locales/searchplugins/twitter-ja.xml
rename to browser/components/search/searchplugins/twitter-ja.xml
rename from browser/locales/searchplugins/twitter.xml
rename to browser/components/search/searchplugins/twitter.xml
rename from browser/locales/searchplugins/tyda-sv-SE.xml
rename to browser/components/search/searchplugins/tyda-sv-SE.xml
rename from browser/locales/searchplugins/vatera.xml
rename to browser/components/search/searchplugins/vatera.xml
rename from browser/locales/searchplugins/webdunia.xml
rename to browser/components/search/searchplugins/webdunia.xml
rename from browser/locales/searchplugins/wikipedia-NN.xml
rename to browser/components/search/searchplugins/wikipedia-NN.xml
rename from browser/locales/searchplugins/wikipedia-NO.xml
rename to browser/components/search/searchplugins/wikipedia-NO.xml
rename from browser/locales/searchplugins/wikipedia-af.xml
rename to browser/components/search/searchplugins/wikipedia-af.xml
rename from browser/locales/searchplugins/wikipedia-an.xml
rename to browser/components/search/searchplugins/wikipedia-an.xml
rename from browser/locales/searchplugins/wikipedia-ar.xml
rename to browser/components/search/searchplugins/wikipedia-ar.xml
rename from browser/locales/searchplugins/wikipedia-as.xml
rename to browser/components/search/searchplugins/wikipedia-as.xml
rename from browser/locales/searchplugins/wikipedia-ast.xml
rename to browser/components/search/searchplugins/wikipedia-ast.xml
rename from browser/locales/searchplugins/wikipedia-az.xml
rename to browser/components/search/searchplugins/wikipedia-az.xml
rename from browser/locales/searchplugins/wikipedia-be-tarask.xml
rename to browser/components/search/searchplugins/wikipedia-be-tarask.xml
rename from browser/locales/searchplugins/wikipedia-be.xml
rename to browser/components/search/searchplugins/wikipedia-be.xml
rename from browser/locales/searchplugins/wikipedia-bg.xml
rename to browser/components/search/searchplugins/wikipedia-bg.xml
rename from browser/locales/searchplugins/wikipedia-bn.xml
rename to browser/components/search/searchplugins/wikipedia-bn.xml
rename from browser/locales/searchplugins/wikipedia-br.xml
rename to browser/components/search/searchplugins/wikipedia-br.xml
rename from browser/locales/searchplugins/wikipedia-bs.xml
rename to browser/components/search/searchplugins/wikipedia-bs.xml
rename from browser/locales/searchplugins/wikipedia-ca.xml
rename to browser/components/search/searchplugins/wikipedia-ca.xml
rename from browser/locales/searchplugins/wikipedia-crh.xml
rename to browser/components/search/searchplugins/wikipedia-crh.xml
rename from browser/locales/searchplugins/wikipedia-cy.xml
rename to browser/components/search/searchplugins/wikipedia-cy.xml
rename from browser/locales/searchplugins/wikipedia-cz.xml
rename to browser/components/search/searchplugins/wikipedia-cz.xml
rename from browser/locales/searchplugins/wikipedia-da.xml
rename to browser/components/search/searchplugins/wikipedia-da.xml
rename from browser/locales/searchplugins/wikipedia-de.xml
rename to browser/components/search/searchplugins/wikipedia-de.xml
rename from browser/locales/searchplugins/wikipedia-dsb.xml
rename to browser/components/search/searchplugins/wikipedia-dsb.xml
rename from browser/locales/searchplugins/wikipedia-el.xml
rename to browser/components/search/searchplugins/wikipedia-el.xml
rename from browser/locales/searchplugins/wikipedia-eo.xml
rename to browser/components/search/searchplugins/wikipedia-eo.xml
rename from browser/locales/searchplugins/wikipedia-es.xml
rename to browser/components/search/searchplugins/wikipedia-es.xml
rename from browser/locales/searchplugins/wikipedia-et.xml
rename to browser/components/search/searchplugins/wikipedia-et.xml
rename from browser/locales/searchplugins/wikipedia-eu.xml
rename to browser/components/search/searchplugins/wikipedia-eu.xml
rename from browser/locales/searchplugins/wikipedia-fa.xml
rename to browser/components/search/searchplugins/wikipedia-fa.xml
rename from browser/locales/searchplugins/wikipedia-fi.xml
rename to browser/components/search/searchplugins/wikipedia-fi.xml
rename from browser/locales/searchplugins/wikipedia-fr.xml
rename to browser/components/search/searchplugins/wikipedia-fr.xml
rename from browser/locales/searchplugins/wikipedia-fy-NL.xml
rename to browser/components/search/searchplugins/wikipedia-fy-NL.xml
rename from browser/locales/searchplugins/wikipedia-ga-IE.xml
rename to browser/components/search/searchplugins/wikipedia-ga-IE.xml
rename from browser/locales/searchplugins/wikipedia-gd.xml
rename to browser/components/search/searchplugins/wikipedia-gd.xml
rename from browser/locales/searchplugins/wikipedia-gl.xml
rename to browser/components/search/searchplugins/wikipedia-gl.xml
rename from browser/locales/searchplugins/wikipedia-gn.xml
rename to browser/components/search/searchplugins/wikipedia-gn.xml
rename from browser/locales/searchplugins/wikipedia-gu.xml
rename to browser/components/search/searchplugins/wikipedia-gu.xml
rename from browser/locales/searchplugins/wikipedia-he.xml
rename to browser/components/search/searchplugins/wikipedia-he.xml
rename from browser/locales/searchplugins/wikipedia-hi.xml
rename to browser/components/search/searchplugins/wikipedia-hi.xml
rename from browser/locales/searchplugins/wikipedia-hr.xml
rename to browser/components/search/searchplugins/wikipedia-hr.xml
rename from browser/locales/searchplugins/wikipedia-hsb.xml
rename to browser/components/search/searchplugins/wikipedia-hsb.xml
rename from browser/locales/searchplugins/wikipedia-hu.xml
rename to browser/components/search/searchplugins/wikipedia-hu.xml
rename from browser/locales/searchplugins/wikipedia-hy.xml
rename to browser/components/search/searchplugins/wikipedia-hy.xml
rename from browser/locales/searchplugins/wikipedia-ia.xml
rename to browser/components/search/searchplugins/wikipedia-ia.xml
rename from browser/locales/searchplugins/wikipedia-id.xml
rename to browser/components/search/searchplugins/wikipedia-id.xml
rename from browser/locales/searchplugins/wikipedia-is.xml
rename to browser/components/search/searchplugins/wikipedia-is.xml
rename from browser/locales/searchplugins/wikipedia-it.xml
rename to browser/components/search/searchplugins/wikipedia-it.xml
rename from browser/locales/searchplugins/wikipedia-ja.xml
rename to browser/components/search/searchplugins/wikipedia-ja.xml
rename from browser/locales/searchplugins/wikipedia-ka.xml
rename to browser/components/search/searchplugins/wikipedia-ka.xml
rename from browser/locales/searchplugins/wikipedia-kab.xml
rename to browser/components/search/searchplugins/wikipedia-kab.xml
rename from browser/locales/searchplugins/wikipedia-kk.xml
rename to browser/components/search/searchplugins/wikipedia-kk.xml
rename from browser/locales/searchplugins/wikipedia-km.xml
rename to browser/components/search/searchplugins/wikipedia-km.xml
rename from browser/locales/searchplugins/wikipedia-kn.xml
rename to browser/components/search/searchplugins/wikipedia-kn.xml
rename from browser/locales/searchplugins/wikipedia-kr.xml
rename to browser/components/search/searchplugins/wikipedia-kr.xml
rename from browser/locales/searchplugins/wikipedia-lij.xml
rename to browser/components/search/searchplugins/wikipedia-lij.xml
rename from browser/locales/searchplugins/wikipedia-lo.xml
rename to browser/components/search/searchplugins/wikipedia-lo.xml
rename from browser/locales/searchplugins/wikipedia-lt.xml
rename to browser/components/search/searchplugins/wikipedia-lt.xml
rename from browser/locales/searchplugins/wikipedia-ltg.xml
rename to browser/components/search/searchplugins/wikipedia-ltg.xml
rename from browser/locales/searchplugins/wikipedia-lv.xml
rename to browser/components/search/searchplugins/wikipedia-lv.xml
rename from browser/locales/searchplugins/wikipedia-mk.xml
rename to browser/components/search/searchplugins/wikipedia-mk.xml
rename from browser/locales/searchplugins/wikipedia-ml.xml
rename to browser/components/search/searchplugins/wikipedia-ml.xml
rename from browser/locales/searchplugins/wikipedia-mr.xml
rename to browser/components/search/searchplugins/wikipedia-mr.xml
rename from browser/locales/searchplugins/wikipedia-ms.xml
rename to browser/components/search/searchplugins/wikipedia-ms.xml
rename from browser/locales/searchplugins/wikipedia-my.xml
rename to browser/components/search/searchplugins/wikipedia-my.xml
rename from browser/locales/searchplugins/wikipedia-ne.xml
rename to browser/components/search/searchplugins/wikipedia-ne.xml
rename from browser/locales/searchplugins/wikipedia-nl.xml
rename to browser/components/search/searchplugins/wikipedia-nl.xml
rename from browser/locales/searchplugins/wikipedia-oc.xml
rename to browser/components/search/searchplugins/wikipedia-oc.xml
rename from browser/locales/searchplugins/wikipedia-or.xml
rename to browser/components/search/searchplugins/wikipedia-or.xml
rename from browser/locales/searchplugins/wikipedia-pa.xml
rename to browser/components/search/searchplugins/wikipedia-pa.xml
rename from browser/locales/searchplugins/wikipedia-pl.xml
rename to browser/components/search/searchplugins/wikipedia-pl.xml
rename from browser/locales/searchplugins/wikipedia-pt.xml
rename to browser/components/search/searchplugins/wikipedia-pt.xml
rename from browser/locales/searchplugins/wikipedia-rm.xml
rename to browser/components/search/searchplugins/wikipedia-rm.xml
rename from browser/locales/searchplugins/wikipedia-ro.xml
rename to browser/components/search/searchplugins/wikipedia-ro.xml
rename from browser/locales/searchplugins/wikipedia-ru.xml
rename to browser/components/search/searchplugins/wikipedia-ru.xml
rename from browser/locales/searchplugins/wikipedia-si.xml
rename to browser/components/search/searchplugins/wikipedia-si.xml
rename from browser/locales/searchplugins/wikipedia-sk.xml
rename to browser/components/search/searchplugins/wikipedia-sk.xml
rename from browser/locales/searchplugins/wikipedia-sl.xml
rename to browser/components/search/searchplugins/wikipedia-sl.xml
rename from browser/locales/searchplugins/wikipedia-sq.xml
rename to browser/components/search/searchplugins/wikipedia-sq.xml
rename from browser/locales/searchplugins/wikipedia-sr.xml
rename to browser/components/search/searchplugins/wikipedia-sr.xml
rename from browser/locales/searchplugins/wikipedia-sv-SE.xml
rename to browser/components/search/searchplugins/wikipedia-sv-SE.xml
rename from browser/locales/searchplugins/wikipedia-ta.xml
rename to browser/components/search/searchplugins/wikipedia-ta.xml
rename from browser/locales/searchplugins/wikipedia-te.xml
rename to browser/components/search/searchplugins/wikipedia-te.xml
rename from browser/locales/searchplugins/wikipedia-th.xml
rename to browser/components/search/searchplugins/wikipedia-th.xml
rename from browser/locales/searchplugins/wikipedia-tl.xml
rename to browser/components/search/searchplugins/wikipedia-tl.xml
rename from browser/locales/searchplugins/wikipedia-tr.xml
rename to browser/components/search/searchplugins/wikipedia-tr.xml
rename from browser/locales/searchplugins/wikipedia-uk.xml
rename to browser/components/search/searchplugins/wikipedia-uk.xml
rename from browser/locales/searchplugins/wikipedia-ur.xml
rename to browser/components/search/searchplugins/wikipedia-ur.xml
rename from browser/locales/searchplugins/wikipedia-uz.xml
rename to browser/components/search/searchplugins/wikipedia-uz.xml
rename from browser/locales/searchplugins/wikipedia-vi.xml
rename to browser/components/search/searchplugins/wikipedia-vi.xml
rename from browser/locales/searchplugins/wikipedia-wo.xml
rename to browser/components/search/searchplugins/wikipedia-wo.xml
rename from browser/locales/searchplugins/wikipedia-zh-CN.xml
rename to browser/components/search/searchplugins/wikipedia-zh-CN.xml
rename from browser/locales/searchplugins/wikipedia-zh-TW.xml
rename to browser/components/search/searchplugins/wikipedia-zh-TW.xml
rename from browser/locales/searchplugins/wikipedia.xml
rename to browser/components/search/searchplugins/wikipedia.xml
rename from browser/locales/searchplugins/wiktionary-oc.xml
rename to browser/components/search/searchplugins/wiktionary-oc.xml
rename from browser/locales/searchplugins/wiktionary-te.xml
rename to browser/components/search/searchplugins/wiktionary-te.xml
rename from browser/locales/searchplugins/wolnelektury-pl.xml
rename to browser/components/search/searchplugins/wolnelektury-pl.xml
rename from browser/locales/searchplugins/yahoo-jp-auctions.xml
rename to browser/components/search/searchplugins/yahoo-jp-auctions.xml
rename from browser/locales/searchplugins/yahoo-jp.xml
rename to browser/components/search/searchplugins/yahoo-jp.xml
rename from browser/locales/searchplugins/yandex-az.xml
rename to browser/components/search/searchplugins/yandex-az.xml
rename from browser/locales/searchplugins/yandex-by.xml
rename to browser/components/search/searchplugins/yandex-by.xml
rename from browser/locales/searchplugins/yandex-en.xml
rename to browser/components/search/searchplugins/yandex-en.xml
rename from browser/locales/searchplugins/yandex-kk.xml
rename to browser/components/search/searchplugins/yandex-kk.xml
rename from browser/locales/searchplugins/yandex-ru.xml
rename to browser/components/search/searchplugins/yandex-ru.xml
rename from browser/locales/searchplugins/yandex-tr.xml
rename to browser/components/search/searchplugins/yandex-tr.xml
rename from browser/locales/searchplugins/zoznam-sk.xml
rename to browser/components/search/searchplugins/zoznam-sk.xml
--- a/browser/components/search/test/browser.ini
+++ b/browser/components/search/test/browser.ini
@@ -19,21 +19,18 @@ support-files =
[browser_addEngine.js]
[browser_amazon.js]
[browser_bing.js]
[browser_contextmenu.js]
[browser_contextSearchTabPosition.js]
skip-if = os == "mac" # bug 967013
[browser_ddg.js]
[browser_eBay.js]
-skip-if = artifact # bug 1315953
[browser_google.js]
-skip-if = artifact # bug 1315953
[browser_google_behavior.js]
-skip-if = artifact # bug 1315953
[browser_healthreport.js]
[browser_hiddenOneOffs_cleanup.js]
[browser_hiddenOneOffs_diacritics.js]
[browser_oneOffContextMenu.js]
[browser_oneOffContextMenu_setDefault.js]
[browser_oneOffHeader.js]
skip-if = os == "mac" #1421238
[browser_private_search_perwindowpb.js]
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -34,58 +34,39 @@ ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOL
MOZ_PKG_MAC_DSSTORE=$(ABS_DIST)/branding/dsstore
MOZ_PKG_MAC_BACKGROUND=$(ABS_DIST)/branding/background.png
MOZ_PKG_MAC_ICON=$(ABS_DIST)/branding/disk.icns
MOZ_PKG_MAC_EXTRA=--symlink '/Applications:/ '
endif
MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
-SEARCHPLUGINS_FILENAMES := $(or $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD))), $(error Missing search plugins))
-SEARCHPLUGINS_PATH := .deps/generated_$(AB_CD)
-SEARCHPLUGINS_TARGET := libs searchplugins
-SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_FILENAMES)),$(or $(wildcard $(srcdir)/searchplugins/$(plugin)),$(error Missing searchplugin: $(plugin))))
-# Some locale-specific search plugins may have preprocessor directives, but the
-# default en-US ones do not.
-SEARCHPLUGINS_FLAGS := --silence-missing-directive-warnings
-PP_TARGETS += SEARCHPLUGINS
-
-list-json = $(SEARCHPLUGINS_PATH)/list.json
-GARBAGE += $(list-json)
-
-libs:: searchplugins
-
# Required for l10n.mk - defines a list of app sub dirs that should
# be included in langpack xpis.
DIST_SUBDIRS = $(DIST_SUBDIR)
include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/toolkit/locales/l10n.mk
-$(list-json): $(call mkdir_deps,$(SEARCHPLUGINS_PATH)) $(if $(IS_LANGUAGE_REPACK),FORCE)
- $(call py_action,generate_searchjson,$(srcdir)/search/list.json $(AB_CD) $(list-json))
-searchplugins:: $(list-json)
-
libs-%: AB_CD=$*
libs-%:
$(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
$(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C ../../toolkit/locales libs-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
ifneq (,$(wildcard ../extensions/formautofill/locales))
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
endif
@$(MAKE) -C ../extensions/onboarding/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../extensions/pocket/locale AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../extensions/webcompat-reporter/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
- @$(MAKE) -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-$*)
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -55,28 +55,16 @@
locale/browser/feeds/subscribe.dtd (%chrome/browser/feeds/subscribe.dtd)
locale/browser/feeds/subscribe.properties (%chrome/browser/feeds/subscribe.properties)
locale/browser/migration/migration.dtd (%chrome/browser/migration/migration.dtd)
locale/browser/migration/migration.properties (%chrome/browser/migration/migration.properties)
locale/browser/preferences/preferences.properties (%chrome/browser/preferences/preferences.properties)
locale/browser/preferences/security.dtd (%chrome/browser/preferences/security.dtd)
locale/browser/syncBrand.dtd (%chrome/browser/syncBrand.dtd)
locale/browser/syncSetup.properties (%chrome/browser/syncSetup.properties)
-#if BUILD_FASTER
- locale/browser/searchplugins/ (searchplugins/*.xml)
- locale/browser/searchplugins/list.json (search/list.json)
-#else
- locale/browser/searchplugins/ (.deps/generated_@AB_CD@/*.xml)
- locale/browser/searchplugins/list.json (.deps/generated_@AB_CD@/list.json)
-#endif
- locale/browser/searchplugins/images/amazon.ico (searchplugins/images/amazon.ico)
- locale/browser/searchplugins/images/ebay.ico (searchplugins/images/ebay.ico)
- locale/browser/searchplugins/images/wikipedia.ico (searchplugins/images/wikipedia.ico)
- locale/browser/searchplugins/images/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)
--- a/browser/locales/moz.build
+++ b/browser/locales/moz.build
@@ -39,16 +39,10 @@ with Files("**"):
BUG_COMPONENT = ("Firefox Build System", "General")
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")
--- a/browser/modules/ContentSearch.jsm
+++ b/browser/modules/ContentSearch.jsm
@@ -102,16 +102,17 @@ var ContentSearch = {
_destroyedPromise: null,
// The current controller and browser in _onMessageGetSuggestions. Allows
// fetch cancellation from _cancelSuggestions.
_currentSuggestion: null,
init() {
Services.obs.addObserver(this, "browser-search-engine-modified");
+ Services.obs.addObserver(this, "browser-search-service");
Services.obs.addObserver(this, "shutdown-leaks-before-check");
Services.prefs.addObserver("browser.search.hiddenOneOffs", this);
this._stringBundle = Services.strings.createBundle("chrome://global/locale/autocomplete.properties");
},
get searchSuggestionUIStrings() {
if (this._searchSuggestionUIStrings) {
return this._searchSuggestionUIStrings;
@@ -128,16 +129,17 @@ var ContentSearch = {
},
destroy() {
if (this._destroyedPromise) {
return this._destroyedPromise;
}
Services.obs.removeObserver(this, "browser-search-engine-modified");
+ Services.obs.removeObserver(this, "browser-search-service");
Services.obs.removeObserver(this, "shutdown-leaks-before-check");
this._eventQueue.length = 0;
this._destroyedPromise = Promise.resolve(this._currentEventPromise);
return this._destroyedPromise;
},
/**
@@ -179,16 +181,20 @@ var ContentSearch = {
type: "Message",
data: msg,
});
this._processEventQueue();
},
observe(subj, topic, data) {
switch (topic) {
+ case "browser-search-service":
+ if (data != "init-complete") {
+ break;
+ }
case "nsPref:changed":
case "browser-search-engine-modified":
this._eventQueue.push({
type: "Observe",
data,
});
this._processEventQueue();
break;
--- a/mobile/android/chrome/jar.mn
+++ b/mobile/android/chrome/jar.mn
@@ -82,10 +82,8 @@ chrome.jar:
% override chrome://global/locale/global.dtd chrome://browser/locale/overrides/global.dtd
% override chrome://global/locale/AccessFu.properties chrome://browser/locale/overrides/AccessFu.properties
% override chrome://global/locale/dom/dom.properties chrome://browser/locale/overrides/dom/dom.properties
% override chrome://global/locale/plugins.properties chrome://browser/locale/overrides/plugins.properties
# mobile/locales/jar.mn resources and overrides
% override chrome://global/locale/netError.dtd chrome://browser/locale/netError.dtd
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
-% resource search-plugins chrome://browser/locale/searchplugins/
-
--- a/mobile/android/components/moz.build
+++ b/mobile/android/components/moz.build
@@ -46,9 +46,10 @@ EXTRA_COMPONENTS += [
EXTRA_PP_COMPONENTS += [
'MobileComponents.manifest',
]
DIRS += [
'extensions',
'build',
'geckoview',
+ 'search',
]
new file mode 100644
--- /dev/null
+++ b/mobile/android/components/search/jar.mn
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chrome.jar:
+ searchplugins/ (searchplugins/**)
+
+% resource search-plugins %searchplugins/
new file mode 100644
--- /dev/null
+++ b/mobile/android/components/search/moz.build
@@ -0,0 +1,10 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
+
+with Files('**'):
+ BUG_COMPONENT = ('Firefox for Android', 'Awesomescreen')
rename from mobile/locales/searchplugins/amazon-au.xml
rename to mobile/android/components/search/searchplugins/amazon-au.xml
rename from mobile/locales/searchplugins/amazon-br.xml
rename to mobile/android/components/search/searchplugins/amazon-br.xml
rename from mobile/locales/searchplugins/amazon-ca.xml
rename to mobile/android/components/search/searchplugins/amazon-ca.xml
rename from mobile/locales/searchplugins/amazon-co-uk.xml
rename to mobile/android/components/search/searchplugins/amazon-co-uk.xml
rename from mobile/locales/searchplugins/amazon-de.xml
rename to mobile/android/components/search/searchplugins/amazon-de.xml
rename from mobile/locales/searchplugins/amazon-fr.xml
rename to mobile/android/components/search/searchplugins/amazon-fr.xml
rename from mobile/locales/searchplugins/amazon-in.xml
rename to mobile/android/components/search/searchplugins/amazon-in.xml
rename from mobile/locales/searchplugins/amazon-it.xml
rename to mobile/android/components/search/searchplugins/amazon-it.xml
rename from mobile/locales/searchplugins/amazon-jp.xml
rename to mobile/android/components/search/searchplugins/amazon-jp.xml
rename from mobile/locales/searchplugins/amazon-mx.xml
rename to mobile/android/components/search/searchplugins/amazon-mx.xml
rename from mobile/locales/searchplugins/amazon-nl.xml
rename to mobile/android/components/search/searchplugins/amazon-nl.xml
rename from mobile/locales/searchplugins/amazondotcom.xml
rename to mobile/android/components/search/searchplugins/amazondotcom.xml
rename from mobile/locales/searchplugins/azerdict.xml
rename to mobile/android/components/search/searchplugins/azerdict.xml
rename from mobile/locales/searchplugins/azet-sk.xml
rename to mobile/android/components/search/searchplugins/azet-sk.xml
rename from mobile/locales/searchplugins/baidu.xml
rename to mobile/android/components/search/searchplugins/baidu.xml
rename from mobile/locales/searchplugins/bing.xml
rename to mobile/android/components/search/searchplugins/bing.xml
rename from mobile/locales/searchplugins/bolcom-fy-NL.xml
rename to mobile/android/components/search/searchplugins/bolcom-fy-NL.xml
rename from mobile/locales/searchplugins/bolcom-nl.xml
rename to mobile/android/components/search/searchplugins/bolcom-nl.xml
rename from mobile/locales/searchplugins/ceneje.xml
rename to mobile/android/components/search/searchplugins/ceneje.xml
rename from mobile/locales/searchplugins/coccoc.xml
rename to mobile/android/components/search/searchplugins/coccoc.xml
rename from mobile/locales/searchplugins/danawa-kr.xml
rename to mobile/android/components/search/searchplugins/danawa-kr.xml
rename from mobile/locales/searchplugins/daum-kr.xml
rename to mobile/android/components/search/searchplugins/daum-kr.xml
rename from mobile/locales/searchplugins/ddg.xml
rename to mobile/android/components/search/searchplugins/ddg.xml
rename from mobile/locales/searchplugins/diec2.xml
rename to mobile/android/components/search/searchplugins/diec2.xml
rename from mobile/locales/searchplugins/drae.xml
rename to mobile/android/components/search/searchplugins/drae.xml
rename from mobile/locales/searchplugins/duckduckgo.xml
rename to mobile/android/components/search/searchplugins/duckduckgo.xml
rename from mobile/locales/searchplugins/elebila.xml
rename to mobile/android/components/search/searchplugins/elebila.xml
rename from mobile/locales/searchplugins/faclair-beag.xml
rename to mobile/android/components/search/searchplugins/faclair-beag.xml
rename from mobile/locales/searchplugins/google-2018.xml
rename to mobile/android/components/search/searchplugins/google-2018.xml
rename from mobile/locales/searchplugins/google.xml
rename to mobile/android/components/search/searchplugins/google.xml
rename from mobile/locales/searchplugins/gulesider-mobile-NO.xml
rename to mobile/android/components/search/searchplugins/gulesider-mobile-NO.xml
rename from mobile/locales/searchplugins/heureka-cz.xml
rename to mobile/android/components/search/searchplugins/heureka-cz.xml
rename from mobile/locales/searchplugins/hotline-ua.xml
rename to mobile/android/components/search/searchplugins/hotline-ua.xml
rename from mobile/locales/searchplugins/leit-is.xml
rename to mobile/android/components/search/searchplugins/leit-is.xml
rename from mobile/locales/searchplugins/leo_ende_de.xml
rename to mobile/android/components/search/searchplugins/leo_ende_de.xml
rename from mobile/locales/searchplugins/list-am.xml
rename to mobile/android/components/search/searchplugins/list-am.xml
rename from mobile/locales/search/list.json
rename to mobile/android/components/search/searchplugins/list.json
rename from mobile/locales/searchplugins/mapy-cz.xml
rename to mobile/android/components/search/searchplugins/mapy-cz.xml
rename from mobile/locales/searchplugins/mercadolibre-ar.xml
rename to mobile/android/components/search/searchplugins/mercadolibre-ar.xml
rename from mobile/locales/searchplugins/mercadolibre-cl.xml
rename to mobile/android/components/search/searchplugins/mercadolibre-cl.xml
rename from mobile/locales/searchplugins/mercadolibre-mx.xml
rename to mobile/android/components/search/searchplugins/mercadolibre-mx.xml
rename from mobile/locales/searchplugins/naver-kr.xml
rename to mobile/android/components/search/searchplugins/naver-kr.xml
rename from mobile/locales/searchplugins/odpiralni.xml
rename to mobile/android/components/search/searchplugins/odpiralni.xml
rename from mobile/locales/searchplugins/pazaruvaj.xml
rename to mobile/android/components/search/searchplugins/pazaruvaj.xml
rename from mobile/locales/searchplugins/pledarigrond.xml
rename to mobile/android/components/search/searchplugins/pledarigrond.xml
rename from mobile/locales/searchplugins/prisjakt-sv-SE.xml
rename to mobile/android/components/search/searchplugins/prisjakt-sv-SE.xml
rename from mobile/locales/searchplugins/qwant.xml
rename to mobile/android/components/search/searchplugins/qwant.xml
rename from mobile/locales/searchplugins/rediff.xml
rename to mobile/android/components/search/searchplugins/rediff.xml
rename from mobile/locales/searchplugins/reta-vortaro.xml
rename to mobile/android/components/search/searchplugins/reta-vortaro.xml
rename from mobile/locales/searchplugins/salidzinilv.xml
rename to mobile/android/components/search/searchplugins/salidzinilv.xml
rename from mobile/locales/searchplugins/seznam-cz.xml
rename to mobile/android/components/search/searchplugins/seznam-cz.xml
rename from mobile/locales/searchplugins/skroutz.xml
rename to mobile/android/components/search/searchplugins/skroutz.xml
rename from mobile/locales/searchplugins/slovnik-sk.xml
rename to mobile/android/components/search/searchplugins/slovnik-sk.xml
rename from mobile/locales/searchplugins/sslv.xml
rename to mobile/android/components/search/searchplugins/sslv.xml
rename from mobile/locales/searchplugins/sztaki-en-hu.xml
rename to mobile/android/components/search/searchplugins/sztaki-en-hu.xml
rename from mobile/locales/searchplugins/taobao.xml
rename to mobile/android/components/search/searchplugins/taobao.xml
rename from mobile/locales/searchplugins/tearma.xml
rename to mobile/android/components/search/searchplugins/tearma.xml
rename from mobile/locales/searchplugins/twitter-ja.xml
rename to mobile/android/components/search/searchplugins/twitter-ja.xml
rename from mobile/locales/searchplugins/twitter.xml
rename to mobile/android/components/search/searchplugins/twitter.xml
rename from mobile/locales/searchplugins/vatera.xml
rename to mobile/android/components/search/searchplugins/vatera.xml
rename from mobile/locales/searchplugins/wikipedia-NN.xml
rename to mobile/android/components/search/searchplugins/wikipedia-NN.xml
rename from mobile/locales/searchplugins/wikipedia-NO.xml
rename to mobile/android/components/search/searchplugins/wikipedia-NO.xml
rename from mobile/locales/searchplugins/wikipedia-an.xml
rename to mobile/android/components/search/searchplugins/wikipedia-an.xml
rename from mobile/locales/searchplugins/wikipedia-ar.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ar.xml
rename from mobile/locales/searchplugins/wikipedia-as.xml
rename to mobile/android/components/search/searchplugins/wikipedia-as.xml
rename from mobile/locales/searchplugins/wikipedia-ast.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ast.xml
rename from mobile/locales/searchplugins/wikipedia-az.xml
rename to mobile/android/components/search/searchplugins/wikipedia-az.xml
rename from mobile/locales/searchplugins/wikipedia-be.xml
rename to mobile/android/components/search/searchplugins/wikipedia-be.xml
rename from mobile/locales/searchplugins/wikipedia-bg.xml
rename to mobile/android/components/search/searchplugins/wikipedia-bg.xml
rename from mobile/locales/searchplugins/wikipedia-bn.xml
rename to mobile/android/components/search/searchplugins/wikipedia-bn.xml
rename from mobile/locales/searchplugins/wikipedia-br.xml
rename to mobile/android/components/search/searchplugins/wikipedia-br.xml
rename from mobile/locales/searchplugins/wikipedia-bs.xml
rename to mobile/android/components/search/searchplugins/wikipedia-bs.xml
rename from mobile/locales/searchplugins/wikipedia-ca.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ca.xml
rename from mobile/locales/searchplugins/wikipedia-cy.xml
rename to mobile/android/components/search/searchplugins/wikipedia-cy.xml
rename from mobile/locales/searchplugins/wikipedia-cz.xml
rename to mobile/android/components/search/searchplugins/wikipedia-cz.xml
rename from mobile/locales/searchplugins/wikipedia-da.xml
rename to mobile/android/components/search/searchplugins/wikipedia-da.xml
rename from mobile/locales/searchplugins/wikipedia-de.xml
rename to mobile/android/components/search/searchplugins/wikipedia-de.xml
rename from mobile/locales/searchplugins/wikipedia-dsb.xml
rename to mobile/android/components/search/searchplugins/wikipedia-dsb.xml
rename from mobile/locales/searchplugins/wikipedia-el.xml
rename to mobile/android/components/search/searchplugins/wikipedia-el.xml
rename from mobile/locales/searchplugins/wikipedia-eo.xml
rename to mobile/android/components/search/searchplugins/wikipedia-eo.xml
rename from mobile/locales/searchplugins/wikipedia-es.xml
rename to mobile/android/components/search/searchplugins/wikipedia-es.xml
rename from mobile/locales/searchplugins/wikipedia-et.xml
rename to mobile/android/components/search/searchplugins/wikipedia-et.xml
rename from mobile/locales/searchplugins/wikipedia-eu.xml
rename to mobile/android/components/search/searchplugins/wikipedia-eu.xml
rename from mobile/locales/searchplugins/wikipedia-fa.xml
rename to mobile/android/components/search/searchplugins/wikipedia-fa.xml
rename from mobile/locales/searchplugins/wikipedia-fi.xml
rename to mobile/android/components/search/searchplugins/wikipedia-fi.xml
rename from mobile/locales/searchplugins/wikipedia-fr.xml
rename to mobile/android/components/search/searchplugins/wikipedia-fr.xml
rename from mobile/locales/searchplugins/wikipedia-fy-NL.xml
rename to mobile/android/components/search/searchplugins/wikipedia-fy-NL.xml
rename from mobile/locales/searchplugins/wikipedia-ga-IE.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ga-IE.xml
rename from mobile/locales/searchplugins/wikipedia-gd.xml
rename to mobile/android/components/search/searchplugins/wikipedia-gd.xml
rename from mobile/locales/searchplugins/wikipedia-gl.xml
rename to mobile/android/components/search/searchplugins/wikipedia-gl.xml
rename from mobile/locales/searchplugins/wikipedia-gn.xml
rename to mobile/android/components/search/searchplugins/wikipedia-gn.xml
rename from mobile/locales/searchplugins/wikipedia-gu.xml
rename to mobile/android/components/search/searchplugins/wikipedia-gu.xml
rename from mobile/locales/searchplugins/wikipedia-he.xml
rename to mobile/android/components/search/searchplugins/wikipedia-he.xml
rename from mobile/locales/searchplugins/wikipedia-hi.xml
rename to mobile/android/components/search/searchplugins/wikipedia-hi.xml
rename from mobile/locales/searchplugins/wikipedia-hr.xml
rename to mobile/android/components/search/searchplugins/wikipedia-hr.xml
rename from mobile/locales/searchplugins/wikipedia-hsb.xml
rename to mobile/android/components/search/searchplugins/wikipedia-hsb.xml
rename from mobile/locales/searchplugins/wikipedia-hu.xml
rename to mobile/android/components/search/searchplugins/wikipedia-hu.xml
rename from mobile/locales/searchplugins/wikipedia-hy-AM.xml
rename to mobile/android/components/search/searchplugins/wikipedia-hy-AM.xml
rename from mobile/locales/searchplugins/wikipedia-ia.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ia.xml
rename from mobile/locales/searchplugins/wikipedia-id.xml
rename to mobile/android/components/search/searchplugins/wikipedia-id.xml
rename from mobile/locales/searchplugins/wikipedia-is.xml
rename to mobile/android/components/search/searchplugins/wikipedia-is.xml
rename from mobile/locales/searchplugins/wikipedia-it.xml
rename to mobile/android/components/search/searchplugins/wikipedia-it.xml
rename from mobile/locales/searchplugins/wikipedia-ja.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ja.xml
rename from mobile/locales/searchplugins/wikipedia-ka.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ka.xml
rename from mobile/locales/searchplugins/wikipedia-kab.xml
rename to mobile/android/components/search/searchplugins/wikipedia-kab.xml
rename from mobile/locales/searchplugins/wikipedia-kk.xml
rename to mobile/android/components/search/searchplugins/wikipedia-kk.xml
rename from mobile/locales/searchplugins/wikipedia-km.xml
rename to mobile/android/components/search/searchplugins/wikipedia-km.xml
rename from mobile/locales/searchplugins/wikipedia-kn.xml
rename to mobile/android/components/search/searchplugins/wikipedia-kn.xml
rename from mobile/locales/searchplugins/wikipedia-lij.xml
rename to mobile/android/components/search/searchplugins/wikipedia-lij.xml
rename from mobile/locales/searchplugins/wikipedia-lo.xml
rename to mobile/android/components/search/searchplugins/wikipedia-lo.xml
rename from mobile/locales/searchplugins/wikipedia-lt.xml
rename to mobile/android/components/search/searchplugins/wikipedia-lt.xml
rename from mobile/locales/searchplugins/wikipedia-ltg.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ltg.xml
rename from mobile/locales/searchplugins/wikipedia-lv.xml
rename to mobile/android/components/search/searchplugins/wikipedia-lv.xml
rename from mobile/locales/searchplugins/wikipedia-ml.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ml.xml
rename from mobile/locales/searchplugins/wikipedia-mr.xml
rename to mobile/android/components/search/searchplugins/wikipedia-mr.xml
rename from mobile/locales/searchplugins/wikipedia-ms.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ms.xml
rename from mobile/locales/searchplugins/wikipedia-my.xml
rename to mobile/android/components/search/searchplugins/wikipedia-my.xml
rename from mobile/locales/searchplugins/wikipedia-ne.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ne.xml
rename from mobile/locales/searchplugins/wikipedia-nl.xml
rename to mobile/android/components/search/searchplugins/wikipedia-nl.xml
rename from mobile/locales/searchplugins/wikipedia-oc.xml
rename to mobile/android/components/search/searchplugins/wikipedia-oc.xml
rename from mobile/locales/searchplugins/wikipedia-or.xml
rename to mobile/android/components/search/searchplugins/wikipedia-or.xml
rename from mobile/locales/searchplugins/wikipedia-pa.xml
rename to mobile/android/components/search/searchplugins/wikipedia-pa.xml
rename from mobile/locales/searchplugins/wikipedia-pl.xml
rename to mobile/android/components/search/searchplugins/wikipedia-pl.xml
rename from mobile/locales/searchplugins/wikipedia-pt.xml
rename to mobile/android/components/search/searchplugins/wikipedia-pt.xml
rename from mobile/locales/searchplugins/wikipedia-rm.xml
rename to mobile/android/components/search/searchplugins/wikipedia-rm.xml
rename from mobile/locales/searchplugins/wikipedia-ro.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ro.xml
rename from mobile/locales/searchplugins/wikipedia-ru.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ru.xml
rename from mobile/locales/searchplugins/wikipedia-sk.xml
rename to mobile/android/components/search/searchplugins/wikipedia-sk.xml
rename from mobile/locales/searchplugins/wikipedia-sl.xml
rename to mobile/android/components/search/searchplugins/wikipedia-sl.xml
rename from mobile/locales/searchplugins/wikipedia-sq.xml
rename to mobile/android/components/search/searchplugins/wikipedia-sq.xml
rename from mobile/locales/searchplugins/wikipedia-sr.xml
rename to mobile/android/components/search/searchplugins/wikipedia-sr.xml
rename from mobile/locales/searchplugins/wikipedia-sv-SE.xml
rename to mobile/android/components/search/searchplugins/wikipedia-sv-SE.xml
rename from mobile/locales/searchplugins/wikipedia-ta.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ta.xml
rename from mobile/locales/searchplugins/wikipedia-te.xml
rename to mobile/android/components/search/searchplugins/wikipedia-te.xml
rename from mobile/locales/searchplugins/wikipedia-th.xml
rename to mobile/android/components/search/searchplugins/wikipedia-th.xml
rename from mobile/locales/searchplugins/wikipedia-tr.xml
rename to mobile/android/components/search/searchplugins/wikipedia-tr.xml
rename from mobile/locales/searchplugins/wikipedia-uk.xml
rename to mobile/android/components/search/searchplugins/wikipedia-uk.xml
rename from mobile/locales/searchplugins/wikipedia-ur.xml
rename to mobile/android/components/search/searchplugins/wikipedia-ur.xml
rename from mobile/locales/searchplugins/wikipedia-uz.xml
rename to mobile/android/components/search/searchplugins/wikipedia-uz.xml
rename from mobile/locales/searchplugins/wikipedia-vi.xml
rename to mobile/android/components/search/searchplugins/wikipedia-vi.xml
rename from mobile/locales/searchplugins/wikipedia-wo.xml
rename to mobile/android/components/search/searchplugins/wikipedia-wo.xml
rename from mobile/locales/searchplugins/wikipedia-zh-CN.xml
rename to mobile/android/components/search/searchplugins/wikipedia-zh-CN.xml
rename from mobile/locales/searchplugins/wikipedia-zh-TW.xml
rename to mobile/android/components/search/searchplugins/wikipedia-zh-TW.xml
rename from mobile/locales/searchplugins/wikipedia.xml
rename to mobile/android/components/search/searchplugins/wikipedia.xml
rename from mobile/locales/searchplugins/wiktionary-kn.xml
rename to mobile/android/components/search/searchplugins/wiktionary-kn.xml
rename from mobile/locales/searchplugins/wiktionary-oc.xml
rename to mobile/android/components/search/searchplugins/wiktionary-oc.xml
rename from mobile/locales/searchplugins/wiktionary-or.xml
rename to mobile/android/components/search/searchplugins/wiktionary-or.xml
rename from mobile/locales/searchplugins/wiktionary-ta.xml
rename to mobile/android/components/search/searchplugins/wiktionary-ta.xml
rename from mobile/locales/searchplugins/wiktionary-te.xml
rename to mobile/android/components/search/searchplugins/wiktionary-te.xml
rename from mobile/locales/searchplugins/yahoo-jp.xml
rename to mobile/android/components/search/searchplugins/yahoo-jp.xml
rename from mobile/locales/searchplugins/yandex-en.xml
rename to mobile/android/components/search/searchplugins/yandex-en.xml
rename from mobile/locales/searchplugins/yandex-ru.xml
rename to mobile/android/components/search/searchplugins/yandex-ru.xml
rename from mobile/locales/searchplugins/yandex-tr.xml
rename to mobile/android/components/search/searchplugins/yandex-tr.xml
rename from mobile/locales/searchplugins/yandex.by.xml
rename to mobile/android/components/search/searchplugins/yandex.by.xml
rename from mobile/locales/searchplugins/yandex.xml
rename to mobile/android/components/search/searchplugins/yandex.xml
--- a/mobile/android/installer/allowed-dupes.mn
+++ b/mobile/android/installer/allowed-dupes.mn
@@ -43,8 +43,12 @@ res/table-remove-column-active.gif
res/table-remove-column-hover.gif
res/table-remove-column.gif
res/table-remove-row-active.gif
res/table-remove-row-hover.gif
res/table-remove-row.gif
res/multilocale.txt
modules/commonjs/index.js
update.locale
+chrome/chrome/searchplugins/bolcom-fy-NL.xml
+chrome/chrome/searchplugins/bolcom-nl.xml
+chrome/chrome/searchplugins/ddg.xml
+chrome/chrome/searchplugins/duckduckgo.xml
--- a/mobile/locales/Makefile.in
+++ b/mobile/locales/Makefile.in
@@ -1,144 +1,30 @@
# -*- makefile -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#####################################################################################
-# Dependency build overhead:
-# o always create/update/hard link targets boomkarks.json & searchplugins
-# o latest symlink will be correct for the current locale / local build.
-# o logic is essentially FORCE for language packs w/o all the build overhead
-# o phase 2: replace hard links with a user function able to derive path
-# based on current locale.
-#####################################################################################
-
include $(topsrcdir)/config/config.mk
USE_AUTOTARGETS_MK=1
include $(topsrcdir)/config/makefiles/makeutils.mk
-# Separate items of contention
-tgt-gendir = .deps/generated_$(AB_CD)
-
-GENERATED_DIRS += .deps
-
$(call errorIfEmpty,MOZ_BRANDING_DIRECTORY)
SUBMAKEFILES += \
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
$(NULL)
-###########################################################################
-# Default target, preserve existing functionality for:
-# gmake -C $obj/mobile/locales
-###########################################################################
-search-jar-default: search-jar
-
-
-###########################################################################
-## Searchlist plugin config
-plugin-file-array = \
- $(srcdir)/search/list.json \
- $(NULL)
-
-###########################################################################
-plugin_file = $(firstword $(plugin-file-array))
-plugin-file-ts = $(tgt-gendir)/$(subst $(topsrcdir)/,$(NULL),$(plugin_file)).ts
-
-GARBAGE += $(plugin-file-ts)
-# ---------------------------------------------------------------------------
-# plugin-file-ts track searchlist file used ($path/list.json)
-# and time when the file was last modified.
-###########################################################################
-plugin-file-ts-preqs = \
- $(call mkdir_deps,$(dir $(plugin-file-ts))) \
- $(plugin_file) \
- $(NULL)
-
-###########################################################################
-# Detect locale changes. Force stale deps when searchlist file
-# or content has changed.
-$(plugin-file-ts): $(plugin-file-ts-preqs)
- @touch $@
-
-
-###########################################################################
-search-jar-common = tmp-search.jar.mn
-search-jar = $(tgt-gendir)/$(search-jar-common)
-search-jar-ts = $(search-jar).ts
-
-GARBAGE += $(search-jar) $(search-jar-ts) $(search-jar-common)
-# ---------------------------------------------------------------------------
-# search-jar contains a list of providers for the search plugin
-###########################################################################
-SEARCH_PLUGINS := $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD)))
-$(call errorIfEmpty,SEARCH_PLUGINS)
-
-search-jar-preqs = \
- $(plugin-file-ts) \
- $(if $(IS_LANGUAGE_REPACK),FORCE) \
- $(NULL)
-
-.PHONY: search-jar
-search-jar: $(search-jar)
-$(search-jar): $(search-jar-preqs)
- @echo '\nGenerating: search-jar'
- printf '$(AB_CD).jar:' > $@
- ln -fn $@ .
- printf '$(foreach plugin,$(SEARCH_PLUGINS),$(subst __PLUGIN_SUBST__,$(plugin), \n locale/$(AB_CD)/browser/searchplugins/__PLUGIN_SUBST__.xml (__PLUGIN_SUBST__.xml)))' >> $@
- printf '\n locale/$(AB_CD)/browser/searchplugins/list.json (list.json)' >> $@
- @echo >> $@
-
-###################
-search-dir-deps = \
- $(plugin-file) \
- $(dir-chrome) \
- $(NULL)
-
-search-preqs =\
- $(call mkdir_deps,$(dir $(search-jar-ts))) \
- $(call mkdir_deps,$(FINAL_TARGET)/chrome) \
- $(search-jar) \
- $(search-dir-deps) \
- $(if $(IS_LANGUAGE_REPACK),FORCE) \
- $(GLOBAL_DEPS) \
- $(NULL)
-
-.PHONY: searchplugins
-searchplugins: $(search-preqs)
- $(call py_action,generate_searchjson,$(srcdir)/search/list.json $(AB_CD) $(tgt-gendir)/list.json)
- $(call py_action,jar_maker,\
- $(QUIET) -d $(FINAL_TARGET) \
- -s $(topsrcdir)/$(relativesrcdir)/searchplugins \
- -s $(tgt-gendir) \
- $(MAKE_JARS_FLAGS) $(search-jar))
- $(TOUCH) $@
-
include $(topsrcdir)/config/rules.mk
-
-#############
-libs-preqs =\
- $(call mkdir-deps,$(DIST)/install) \
- $(NULL)
-
libs-%: AB_CD=$*
-libs-%: $(libs-preqs)
- $(display-deps)
+libs-%:
+ $(NSINSTALL) -D $(DIST)/install
@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$*
- @$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*
# Tailored target to just add the chrome processing for multi-locale builds
chrome-%: AB_CD=$*
chrome-%:
- $(display-deps)
- @$(MAKE) -B searchplugins AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
-
-NO_JA_JP_MAC_AB_CD := $(if $(filter ja-JP-mac, $(AB_CD)),ja,$(AB_CD))
-
-
-export:: searchplugins
--- a/toolkit/components/search/nsSearchService.js
+++ b/toolkit/components/search/nsSearchService.js
@@ -57,17 +57,17 @@ const NS_APP_DISTRIBUTION_SEARCH_DIR_LIS
const NS_APP_USER_PROFILE_50_DIR = "ProfD";
// We load plugins from APP_SEARCH_PREFIX, where a list.json
// 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";
@@ -3004,19 +3004,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");
}
})();
},
@@ -3401,24 +3401,41 @@ SearchService.prototype = {
request.send();
});
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) {
@@ -3460,48 +3477,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;
}
},
_saveSortedEngineList: function SRCH_SVC_saveSortedEngineList() {
LOG("SRCH_SVC_saveSortedEngineList: starting");
// Set the useDB pref to indicate that from now on we should use the order
// information stored in the database.
@@ -4416,19 +4451,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");
@@ -4473,20 +4509,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
@@ -4518,20 +4551,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: ChromeUtils.generateQI([
Ci.nsIBrowserSearchService,
Ci.nsIObserver,
Ci.nsITimerCallback
])
};
--- 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"
+ ]
+ }
+ }
}
}
--- a/toolkit/components/search/tests/xpcshell/head_search.js
+++ b/toolkit/components/search/tests/xpcshell/head_search.js
@@ -227,17 +227,17 @@ function isUSTimezone() {
// Hawaii-Aleutian Standard Time (http://www.timeanddate.com/time/zones/hast)
let UTCOffset = (new Date()).getTimezoneOffset();
return UTCOffset >= 150 && UTCOffset <= 600;
}
const kDefaultenginenamePref = "browser.search.defaultenginename";
const kTestEngineName = "Test search engine";
-const REQ_LOCALES_CHANGED_TOPIC = "intl:requested-locales-changed";
+const TOPIC_LOCALES_CHANGE = "intl:app-locales-changed";
function getDefaultEngineName(isUS) {
// The list of visibleDefaultEngines needs to match or the cache will be ignored.
let chan = NetUtil.newChannel({
uri: "resource://search-plugins/list.json",
loadUsingSystemPrincipal: true
});
let searchSettings = parseJsonFromStream(chan.open2());
@@ -458,17 +458,17 @@ function asyncInit() {
});
});
}
function asyncReInit() {
let promise = waitForSearchNotification("reinit-complete");
Services.search.QueryInterface(Ci.nsIObserver)
- .observe(null, REQ_LOCALES_CHANGED_TOPIC, null);
+ .observe(null, TOPIC_LOCALES_CHANGE, null);
return promise;
}
// This "enum" from nsSearchService.js
const TELEMETRY_RESULT_ENUM = {
SUCCESS: 0,
SUCCESS_WITHOUT_DATA: 1,
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");
+});
--- a/toolkit/components/search/tests/xpcshell/xpcshell.ini
+++ b/toolkit/components/search/tests/xpcshell/xpcshell.ini
@@ -35,16 +35,17 @@ support-files =
[test_bug930456_child.js]
[test_engine_set_alias.js]
[test_hasEngineWithURL.js]
[test_identifiers.js]
[test_invalid_engine_from_dir.js]
[test_init_async_multiple.js]
[test_init_async_multiple_then_sync.js]
[test_json_cache.js]
+[test_list_json_locale.js]
[test_list_json_searchdefault.js]
[test_list_json_searchorder.js]
[test_location.js]
[test_location_error.js]
[test_location_malformed_json.js]
[test_location_partner.js]
[test_location_funnelcake.js]
[test_location_sync.js]
--- a/toolkit/mozapps/installer/l10n-repack.py
+++ b/toolkit/mozapps/installer/l10n-repack.py
@@ -10,25 +10,23 @@ directory.
from mozpack.packager import l10n
from argparse import ArgumentParser
import buildconfig
# Set of files or directories not listed in a chrome.manifest but that are
# localized.
NON_CHROME = set([
'**/crashreporter*.ini',
- 'searchplugins',
'dictionaries',
'defaults/profile',
'defaults/pref*/*-l10n.js',
'update.locale',
'updater.ini',
'extensions/langpack-*@*',
'distribution/extensions/langpack-*@*',
- 'chrome/**/searchplugins/*.xml',
'**/multilocale.txt'
])
def valid_extra_l10n(arg):
if '=' not in arg:
raise ValueError('Invalid value')
return tuple(arg.split('=', 1))