Skip to content

Commit f905856

Browse files
Bug 1868526 - Add event listener and promise for window resize r=sfoster,sessionstore-reviewers
* Update test_restore_manually marionette test to account for intermittent failure on linux Differential Revision: https://phabricator.services.mozilla.com/D196426
1 parent 7fcf0d7 commit f905856

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

browser/components/sessionstore/test/marionette/test_restore_manually.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,36 @@ def test_restore(self):
5757
2,
5858
msg="Should have 3 windows open.",
5959
)
60-
self.marionette.execute_script(
60+
self.marionette.execute_async_script(
6161
"""
62-
const lazy = {};
63-
ChromeUtils.defineESModuleGetters(lazy, {
64-
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
65-
});
6662
function getAllBrowserWindows() {
6763
return Array.from(Services.wm.getEnumerator("navigator:browser"));
6864
}
65+
function promiseResize(value, win) {
66+
let deferred = PromiseUtils.defer();
67+
let id;
68+
function listener() {
69+
win.clearTimeout(id);
70+
if (win.innerWidth <= value) {
71+
id = win.setTimeout(() => {
72+
win.removeEventListener("resize", listener);
73+
deferred.resolve()
74+
}, 100);
75+
}
76+
}
77+
if (win.innerWidth > value) {
78+
win.addEventListener("resize", listener);
79+
win.resizeTo(value, value);
80+
} else {
81+
deferred.resolve()
82+
}
83+
return deferred.promise;
84+
}
85+
86+
let resolve = arguments[0];
6987
let windows = getAllBrowserWindows();
70-
windows[1].resizeTo(500, 500)
88+
let value = 500;
89+
promiseResize(value, windows[1]).then(resolve);
7190
"""
7291
)
7392

0 commit comments

Comments
 (0)