commit ee04f679028991831bbd092cbe81a4f6b0894789 parent 5dc0d50b161c25f2f009b33cb5f106ec9b054fb7 Author: Drew Willcoxon <adw@mozilla.com> Date: Fri, 10 Oct 2025 02:15:35 +0000 Bug 1993617 - Fix QuickSuggest._test_reinit and rename it to _test_reset. r=daisuke `_test_reinit` shouldn't fully re-init `QuickSuggest`, since that will recreate all the Suggest features and re-add the `UrlbarPrefs` observer. Instead it only needs to re-init the prefs and update all features. Differential Revision: https://phabricator.services.mozilla.com/D268232 Diffstat:
6 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/browser/components/urlbar/QuickSuggest.sys.mjs b/browser/components/urlbar/QuickSuggest.sys.mjs @@ -998,22 +998,21 @@ class _QuickSuggest { } } - async _test_reinit(testOverrides = null) { + async _test_reset(testOverrides = null) { if (this.#initStarted) { await this.initPromise; - this.#initStarted = false; - this.#initResolvers = Promise.withResolvers(); } if (this.rustBackend) { - // Make sure to await any queued ingests before re-initializing. Otherwise - // there could be a race between when that ingestion finishes and when the - // test finishes and calls `SharedRemoteSettingsService.updateServer()` to - // reset the remote settings server. await this.rustBackend.ingestPromise; } - await this.init(testOverrides); + this.#initDefaultPrefs(testOverrides); + this.#updateAll(); + if (this.rustBackend) { + // `#updateAll()` triggers ingest, so wait for it to finish. + await this.rustBackend.ingestPromise; + } } #initStarted = false; diff --git a/browser/components/urlbar/tests/quicksuggest/browser/browser_quicksuggest_configuration.js b/browser/components/urlbar/tests/quicksuggest/browser/browser_quicksuggest_configuration.js @@ -787,7 +787,7 @@ async function doPolicyTest({ gDefaultBranch.unlockPref(pref); gUserBranch.clearUserPref(pref); - await QuickSuggest._test_reinit(); + await QuickSuggest._test_reset(); Assert.ok( !gDefaultBranch.prefIsLocked(pref), diff --git a/browser/components/urlbar/tests/quicksuggest/browser/browser_telemetry_environment.js b/browser/components/urlbar/tests/quicksuggest/browser/browser_telemetry_environment.js @@ -55,7 +55,8 @@ function doToggleTest(pref) { // and initialization of default Suggest prefs. After startup is done, telemetry // environment should record the correct values for the prefs. add_task(async function telemetryEnvironmentOnStartup() { - await QuickSuggest._test_reinit(); + await TelemetryEnvironment.onInitialized(); + await QuickSuggest._test_reset(); // Restart telemetry environment so we know it's watching its default set of // prefs. @@ -108,7 +109,8 @@ add_task(async function telemetryEnvironmentOnStartup() { // Reinit and force the startup prefs to take on values that are the inverse // of what they are now. - await QuickSuggest._test_reinit({ + await TelemetryEnvironment.onInitialized(); + await QuickSuggest._test_reset({ defaultPrefs: Object.fromEntries( Object.entries(defaultValues).map(([p, value]) => [p, !value]) ), @@ -135,7 +137,8 @@ add_task(async function telemetryEnvironmentOnStartup() { environmentInitPromise = TelemetryEnvironment.testCleanRestart().onInitialized(); - await QuickSuggest._test_reinit(); + await TelemetryEnvironment.onInitialized(); + await QuickSuggest._test_reset(); await environmentInitPromise; diff --git a/browser/components/urlbar/tests/quicksuggest/unit/head.js b/browser/components/urlbar/tests/quicksuggest/unit/head.js @@ -136,7 +136,7 @@ async function doMigrateTest({ info(`Reinitializing Suggest, i=${i}`); // Reinitialize Suggest. - await QuickSuggest._test_reinit({ + await QuickSuggest._test_reset({ ...testOverrides, region: shouldEnable ? "US" : "XX", locale: shouldEnable ? "en-US" : "xx-XX", diff --git a/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_exposures_locales.js b/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_exposures_locales.js @@ -182,7 +182,7 @@ async function doLocaleTest({ // Reinitialize Suggest, which will set default-branch values for // Suggest prefs appropriate to the locale. info("Reinitializing Suggest"); - await QuickSuggest._test_reinit(); + await QuickSuggest._test_reset(); info("Done reinitializing Suggest"); // Sanity-check prefs. At this point, the value of `quickSuggestEnabled` @@ -231,7 +231,7 @@ async function doLocaleTest({ // Reinitialize Suggest so prefs go back to their defaults now that the app is // back to its default locale. - await QuickSuggest._test_reinit(); + await QuickSuggest._test_reset(); } function assertSuggestPrefs(expectedEnabled) { diff --git a/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_offlineDefault.js b/browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_offlineDefault.js @@ -151,7 +151,7 @@ async function doTest({ locale, region, expectSuggestToBeEnabled }) { homeRegion: region, locales: [locale], callback: async () => { - await QuickSuggest._test_reinit(); + await QuickSuggest._test_reset(); for (let [name, value] of Object.entries(expectedPrefs)) { // Check the default-branch value.