Backed out changeset d3302226f71f (bug 1790790) for casuing xpcshell failures on test_defaultEngine_experiments.js. CLOSED TREE

This commit is contained in:
Cosmin Sabou
2022-09-24 00:01:57 +03:00
parent 93f4a54907
commit 87e3afb738
7 changed files with 7 additions and 190 deletions

View File

@@ -29,10 +29,6 @@ support-files =
[browser_contextmenu.js]
[browser_contextmenu_whereToOpenLink.js]
[browser_contextSearchTabPosition.js]
[browser_defaultPrivate_nimbus.js]
support-files =
search-engines/basic/manifest.json
search-engines/private/manifest.json
[browser_google_behavior.js]
skip-if = (os == 'linux') && ccov # Bug 1511273
[browser_healthreport.js]

View File

@@ -1,100 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
const { ExperimentAPI, NimbusFeatures } = ChromeUtils.import(
"resource://nimbus/ExperimentAPI.jsm"
);
const { ExperimentFakes } = ChromeUtils.import(
"resource://testing-common/NimbusTestUtils.jsm"
);
ChromeUtils.defineESModuleGetters(this, {
SearchTestUtils: "resource://testing-common/SearchTestUtils.sys.mjs",
});
const CONFIG_DEFAULT = [
{
webExtension: { id: "basic@search.mozilla.org" },
appliesTo: [{ included: { everywhere: true } }],
default: "yes",
},
{
webExtension: { id: "private@search.mozilla.org" },
appliesTo: [
{
experiment: "testing",
included: { everywhere: true },
},
],
defaultPrivate: "yes",
},
];
SearchTestUtils.init(this);
add_setup(async () => {
// Use engines in test directory
let searchExtensions = getChromeDir(getResolvedURI(gTestPath));
searchExtensions.append("search-engines");
await SearchTestUtils.useMochitestEngines(searchExtensions);
// Current default values.
await SpecialPowers.pushPrefEnv({
set: [
["browser.search.separatePrivateDefault.ui.enabled", false],
["browser.search.separatePrivateDefault.urlbarResult.enabled", false],
["browser.search.separatePrivateDefault", true],
["browser.urlbar.suggest.searches", true],
],
});
SearchTestUtils.useMockIdleService();
await SearchTestUtils.updateRemoteSettingsConfig(CONFIG_DEFAULT);
registerCleanupFunction(async () => {
let settingsWritten = SearchTestUtils.promiseSearchNotification(
"write-settings-to-disk-complete"
);
await SearchTestUtils.updateRemoteSettingsConfig();
await settingsWritten;
});
});
add_task(async function test_nimbus_experiment() {
Assert.equal(
Services.search.defaultPrivateEngine.name,
"basic",
"Should have basic as private default while not in experiment"
);
await ExperimentAPI.ready();
let reloadObserved = SearchTestUtils.promiseSearchNotification(
"engines-reloaded"
);
let doExperimentCleanup = await ExperimentFakes.enrollWithFeatureConfig({
featureId: "search",
value: {
seperatePrivateDefaultUIEnabled: true,
sseperatePrivateDefaultUrlbarResultEnabled: false,
experiment: "testing",
},
});
await reloadObserved;
Assert.equal(
Services.search.defaultPrivateEngine.name,
"private",
"Should have private as private default while in experiment"
);
reloadObserved = SearchTestUtils.promiseSearchNotification(
"engines-reloaded"
);
await doExperimentCleanup();
await reloadObserved;
Assert.equal(
Services.search.defaultPrivateEngine.name,
"basic",
"Should turn off private default and restore default engine after experiment"
);
});

View File

@@ -30,7 +30,7 @@ add_task(async function test_engines_reloaded_nimbus() {
);
Assert.equal(
getVariableSpy.callCount,
4,
2,
"Called by update function to fetch engines and by ParamPreferenceCache"
);
Assert.ok(

View File

@@ -1,19 +0,0 @@
{
"name": "basic",
"manifest_version": 2,
"version": "1.0",
"description": "basic",
"applications": {
"gecko": {
"id": "basic@search.mozilla.org"
}
},
"hidden": true,
"chrome_settings_overrides": {
"search_provider": {
"name": "basic",
"search_url": "https://mochi.test:8888/browser/browser/components/search/test/browser/?search={searchTerms}&foo=1",
"suggest_url": "https://mochi.test:8888/browser/browser/modules/test/browser/usageTelemetrySearchSuggestions.sjs?{searchTerms}"
}
}
}

View File

@@ -1,19 +0,0 @@
{
"name": "private",
"manifest_version": 2,
"version": "1.0",
"description": "A test private engine",
"applications": {
"gecko": {
"id": "private@search.mozilla.org"
}
},
"hidden": true,
"chrome_settings_overrides": {
"search_provider": {
"name": "private",
"search_url": "https://example.com",
"suggest_url": "https://example.com?search={searchTerms}"
}
}
}

View File

@@ -42,12 +42,6 @@ search:
extraParams:
type: json
description: Query parameters values for search engine configurations.
seperatePrivateDefaultUIEnabled:
type: boolean
description: Whether the UI for the separate private default feature is enabled.
seperatePrivateDefaultUrlbarResultEnabled:
type: boolean
description: Whether the urlbar result for the separate private default is shown.
urlbar:
description: The Address Bar
owner: search-and-suggest-program@mozilla.com

View File

@@ -1309,11 +1309,6 @@ export class SearchService {
);
lazy.logConsole.debug("Completed #init");
// It is possible that Nimbus could have called onUpdate before
// we started listening, so do a check on startup.
Services.tm.dispatchToMainThread(() => this.#nimbusSearchUpdated());
return this.#initRV;
}
@@ -3029,39 +3024,6 @@ export class SearchService {
return policy;
}
#nimbusSearchUpdatedFun = null;
async #nimbusSearchUpdated(event, reason) {
await lazy.NimbusFeatures.search.ready();
let nimbusPrivateDefaultUIEnabled = lazy.NimbusFeatures.search.getVariable(
"seperatePrivateDefaultUIEnabled"
);
let nimbusPrivateDefaultUrlbarResultEnabled = lazy.NimbusFeatures.search.getVariable(
"seperatePrivateDefaultUrlbarResultEnabled"
);
if (
this._separatePrivateDefaultEnabledPrefValue !=
nimbusPrivateDefaultUIEnabled
) {
Services.prefs.setBoolPref(
`${lazy.SearchUtils.BROWSER_SEARCH_PREF}separatePrivateDefault.ui.enabled`,
nimbusPrivateDefaultUIEnabled
);
}
if (
this.separatePrivateDefaultUrlbarResultEnabled !=
nimbusPrivateDefaultUrlbarResultEnabled
) {
Services.prefs.setBoolPref(
`${lazy.SearchUtils.BROWSER_SEARCH_PREF}separatePrivateDefaultUrlbarResultEnabled`,
nimbusPrivateDefaultUrlbarResultEnabled
);
}
Services.search.wrappedJSObject._maybeReloadEngines();
}
#addObservers() {
if (this.#observersAdded) {
// There might be a race between synchronous and asynchronous
@@ -3070,8 +3032,9 @@ export class SearchService {
}
this.#observersAdded = true;
this.#nimbusSearchUpdatedFun = this.#nimbusSearchUpdated.bind(this);
lazy.NimbusFeatures.search.onUpdate(this.#nimbusSearchUpdatedFun);
lazy.NimbusFeatures.search.onUpdate(() =>
Services.search.wrappedJSObject._maybeReloadEngines()
);
Services.obs.addObserver(this, lazy.SearchUtils.TOPIC_ENGINE_MODIFIED);
Services.obs.addObserver(this, QUIT_APPLICATION_TOPIC);
@@ -3134,7 +3097,9 @@ export class SearchService {
this._settings.removeObservers();
lazy.NimbusFeatures.search.off(this.#nimbusSearchUpdatedFun);
lazy.NimbusFeatures.search.off(() =>
Services.search.wrappedJSObject._maybeReloadEngines()
);
Services.obs.removeObserver(this, lazy.SearchUtils.TOPIC_ENGINE_MODIFIED);
Services.obs.removeObserver(this, QUIT_APPLICATION_TOPIC);