commit 3fd09935002c86f18678d7d5c914a171aa76040c
parent 1e6d71163523442ca2e84da3c143ba3e08f08ac3
Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
Date: Wed, 19 Nov 2025 00:38:31 +0000
Bug 2000758 - Wait for browser-delayed-startup-finished with valid session id. r=geckoview-reviewers,nalexander
`GeckoViewTabUtil.createNewTab` might not wait for creating new window.
Although this uses `browser-delayed-startup-finished` observer, this
doesn't check new session id is associated by `GeckoView:Test:NewTab`.
If window.name is empty `createNewTab` won't wait for valid window.
So we should check whether session id is set before comparing name.
Differential Revision: https://phabricator.services.mozilla.com/D272989
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mobile/shared/modules/geckoview/GeckoViewTestUtils.sys.mjs b/mobile/shared/modules/geckoview/GeckoViewTestUtils.sys.mjs
@@ -18,10 +18,10 @@ export const GeckoViewTabUtil = {
* @throws {Error} Throws an error if the tab cannot be created.
*/
async createNewTab(url = "about:blank") {
- let sessionId = "";
+ let sessionId = undefined;
const windowPromise = new Promise(resolve => {
const openingObserver = subject => {
- if (subject.name === sessionId) {
+ if (sessionId !== undefined && subject.name === sessionId) {
Services.obs.removeObserver(
openingObserver,
"browser-delayed-startup-finished"