Backed out changeset 510109ce274e (bug 1626410) for browser-chrome failures in test/browser/browser_ContentSearch.js. CLOSED TREE

This commit is contained in:
Dorel Luca 2020-05-05 00:06:49 +03:00
parent 370459bbe6
commit f78087a491
4 changed files with 49 additions and 129 deletions

View File

@ -1,71 +0,0 @@
{
"name": "MozParamsTest",
"manifest_version": 2,
"version": "1.0",
"applications": {
"gecko": {
"id": "test@search.mozilla.org"
}
},
"hidden": true,
"description": "A test search engine (based on Google search)",
"chrome_settings_overrides": {
"search_provider": {
"name": "MozParamsTest",
"search_url": "https://example.com/?q={searchTerms}",
"params": [
{
"name": "test-0",
"condition": "purpose",
"purpose": "contextmenu",
"value": "0"
},
{
"name": "test-1",
"condition": "purpose",
"purpose": "searchbar",
"value": "1"
},
{
"name": "test-2",
"condition": "purpose",
"purpose": "homepage",
"value": "2"
},
{
"name": "test-3",
"condition": "purpose",
"purpose": "keyword",
"value": "3"
},
{
"name": "test-4",
"condition": "purpose",
"purpose": "newtab",
"value": "4"
},
{
"name": "simple",
"value": "5"
},
{
"name": "term",
"value": "{searchTerms}"
},
{
"name": "lang",
"value": "{language}"
},
{
"name": "locale",
"value": "{moz:locale}"
},
{
"name": "prefval",
"condition": "pref",
"pref": "code"
}
]
}
}
}

View File

@ -7,10 +7,6 @@ const { AddonTestUtils } = ChromeUtils.import(
"resource://testing-common/AddonTestUtils.jsm"
);
const { SearchTestUtils } = ChromeUtils.import(
"resource://testing-common/SearchTestUtils.jsm"
);
AddonTestUtils.init(this);
AddonTestUtils.overrideCertDB();
AddonTestUtils.createAppInfo(
@ -25,45 +21,8 @@ Services.prefs.clearUserPref("services.settings.default_bucket");
let { promiseShutdownManager, promiseStartupManager } = AddonTestUtils;
// Note: these lists should be kept in sync with the lists in
// browser/components/extensions/test/xpcshell/data/test/manifest.json
// These params are conditional based on how search is initiated.
const mozParams = [
{
name: "test-0",
condition: "purpose",
purpose: "contextmenu",
value: "0",
},
{ name: "test-1", condition: "purpose", purpose: "searchbar", value: "1" },
{ name: "test-2", condition: "purpose", purpose: "homepage", value: "2" },
{ name: "test-3", condition: "purpose", purpose: "keyword", value: "3" },
{ name: "test-4", condition: "purpose", purpose: "newtab", value: "4" },
];
// These params are always included.
const params = [
{ name: "simple", value: "5" },
{ name: "term", value: "{searchTerms}" },
{ name: "lang", value: "{language}" },
{ name: "locale", value: "{moz:locale}" },
{ name: "prefval", condition: "pref", pref: "code" },
];
add_task(async function setup() {
await promiseStartupManager();
await SearchTestUtils.useTestEngines("data", null, [
{
webExtension: {
id: "test@search.mozilla.org",
},
appliesTo: [
{
included: { everywhere: true },
default: "yes",
},
],
},
]);
await Services.search.init();
registerCleanupFunction(async () => {
await promiseShutdownManager();
@ -74,6 +33,50 @@ add_task(async function setup() {
add_task(async function test_extension_setting_moz_params() {
let defaultBranch = Services.prefs.getDefaultBranch("browser.search.");
defaultBranch.setCharPref("param.code", "good");
Services.prefs.setCharPref(
"extensions.installedDistroAddon.test@mochitest",
"foo"
);
// These params are conditional based on how search is initiated.
let mozParams = [
{
name: "test-0",
condition: "purpose",
purpose: "contextmenu",
value: "0",
},
{ name: "test-1", condition: "purpose", purpose: "searchbar", value: "1" },
{ name: "test-2", condition: "purpose", purpose: "homepage", value: "2" },
{ name: "test-3", condition: "purpose", purpose: "keyword", value: "3" },
{ name: "test-4", condition: "purpose", purpose: "newtab", value: "4" },
];
// These params are always included.
let params = [
{ name: "simple", value: "5" },
{ name: "term", value: "{searchTerms}" },
{ name: "lang", value: "{language}" },
{ name: "locale", value: "{moz:locale}" },
{ name: "prefval", condition: "pref", pref: "code" },
];
let extension = ExtensionTestUtils.loadExtension({
manifest: {
applications: {
gecko: { id: "test@mochitest" },
},
chrome_settings_overrides: {
search_provider: {
name: "MozParamsTest",
search_url: "https://example.com/?q={searchTerms}",
params: [...mozParams, ...params],
},
},
},
useAddonManager: "permanent",
});
await extension.startup();
await AddonTestUtils.waitForSearchProviderStartup(extension);
equal(extension.extension.isPrivileged, true, "extension is priviledged");
let engine = Services.search.getEngineByName("MozParamsTest");
@ -105,6 +108,8 @@ add_task(async function test_extension_setting_moz_params() {
"search url is expected"
);
}
await extension.unload();
});
add_task(async function test_extension_setting_moz_params_fail() {
@ -119,11 +124,11 @@ add_task(async function test_extension_setting_moz_params_fail() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
applications: {
gecko: { id: "test1@mochitest" },
gecko: { id: "test@mochitest" },
},
chrome_settings_overrides: {
search_provider: {
name: "MozParamsTest1",
name: "MozParamsTest",
search_url: "https://example.com/",
params: [
{
@ -147,7 +152,7 @@ add_task(async function test_extension_setting_moz_params_fail() {
false,
"extension is not priviledged"
);
let engine = Services.search.getEngineByName("MozParamsTest1");
let engine = Services.search.getEngineByName("MozParamsTest");
let expectedURL = engine.getSubmission("test", null, "contextmenu").uri.spec;
equal(
expectedURL,

View File

@ -25,7 +25,6 @@ skip-if = tsan # Times out, bug 1612707
[test_ext_pkcs11_management.js]
[test_ext_settings_overrides_search.js]
[test_ext_settings_overrides_search_mozParam.js]
support-files = data/test/manifest.json
[test_ext_settings_overrides_shutdown.js]
[test_ext_settings_validate.js]
[test_ext_topSites.js]

View File

@ -26,13 +26,6 @@ const BinaryInputStream = Components.Constructor(
"setInputStream"
);
XPCOMUtils.defineLazyPreferenceGetter(
this,
"gModernConfig",
SearchUtils.BROWSER_SEARCH_PREF + "modernConfig",
false
);
const SEARCH_BUNDLE = "chrome://global/locale/search/search.properties";
const BRAND_BUNDLE = "chrome://branding/locale/brand.properties";
@ -2040,12 +2033,6 @@ SearchEngine.prototype = {
},
get isAppProvided() {
// For the modern configuration, distribution engines are app-provided as
// well and we don't have xml files as app-provided engines.
if (gModernConfig) {
return this._extensionID && this._isBuiltin;
}
if (this._extensionID) {
return this._isBuiltin || this._isDistribution;
}