commit 3915f574e791c4e627094c5a855da91714faa1ec parent 7b1f82c392e85781e278dc68d62210f67125333e Author: Karl Tomlinson <karlt+@karlt.net> Date: Thu, 2 Oct 2025 18:46:34 +0000 Bug 1991799 Undo SpecialPowers preference changes between each reftest load r=tnikkel,layout-reviewers Differential Revision: https://phabricator.services.mozilla.com/D266936 Diffstat:
| M | layout/tools/reftest/reftest.sys.mjs | | | 12 | ++++++++++-- |
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/layout/tools/reftest/reftest.sys.mjs b/layout/tools/reftest/reftest.sys.mjs @@ -1763,10 +1763,18 @@ function ResetRenderingState() { } async function RestoreChangedPreferences() { - if (!g.prefsToRestore.length) { + // Restore any preferences set via SpecialPowers in a previous test. + // On Android, g.containingWindow typically doesn't doesn't have a + // SpecialPowers property because it was created before SpecialPowers was + // registered. + // Get a parent actor so that there is less waiting than with a child. + let { requiresRefresh } = g.browser.browsingContext.currentWindowGlobal + .getActor("SpecialPowers") + .flushPrefEnv(); + + if (!g.prefsToRestore.length && !requiresRefresh) { return; } - var requiresRefresh = false; g.prefsToRestore.reverse(); g.prefsToRestore.forEach(function (ps) { requiresRefresh = requiresRefresh || ps.requiresRefresh;