Bug 1337975 - Fix intermittent tabs.create test_urlbar_focus
MozReview-Commit-ID: J16ztP81Zov
--- a/browser/components/extensions/test/browser/browser_ext_tabs_create.js
+++ b/browser/components/extensions/test/browser/browser_ext_tabs_create.js
@@ -162,28 +162,37 @@ add_task(function* test_create_options()
yield extension.unload();
yield BrowserTestUtils.removeTab(tab);
});
add_task(function* test_urlbar_focus() {
const extension = ExtensionTestUtils.loadExtension({
background() {
+ browser.tabs.onUpdated.addListener(function onUpdated(_, info) {
+ if (info.status === "complete") {
+ browser.test.sendMessage("complete");
+ browser.tabs.onUpdated.removeListener(onUpdated);
+ }
+ });
browser.test.onMessage.addListener(async (cmd, ...args) => {
const result = await browser.tabs[cmd](...args);
browser.test.sendMessage("result", result);
});
},
});
yield extension.startup();
// Test content is focused after opening a regular url
extension.sendMessage("create", {url: "https://example.com"});
- const tab1 = yield extension.awaitMessage("result");
+ const [tab1] = yield Promise.all([
+ extension.awaitMessage("result"),
+ extension.awaitMessage("complete"),
+ ]);
is(document.activeElement.tagName, "browser", "Content focused after opening a web page");
extension.sendMessage("remove", tab1.id);
yield extension.awaitMessage("result");
// Test urlbar is focused after opening an empty tab
extension.sendMessage("create", {});