commit 2cc9a69038bc1283487441f3af64cbc6ccad605a
parent 24a9d09796853296d266c7af231df99d4f32ab6c
Author: Tom Schuster <tschuster@mozilla.com>
Date: Fri, 14 Nov 2025 15:42:22 +0000
Bug 1951100 - browser_shortcuts_add_search_engine.js needs to wait for the tab's favicon to be available. r=urlbar-reviewers,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D272460
Diffstat:
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/browser/components/urlbar/tests/browser/browser_shortcuts_add_search_engine.js b/browser/components/urlbar/tests/browser/browser_shortcuts_add_search_engine.js
@@ -73,7 +73,22 @@ add_task(async function test_shortcuts() {
async function do_test_shortcuts(activateTask) {
info("Checks the shortcuts with a page that offers two engines.");
let url = getRootDirectory(gTestPath) + "add_search_engine_two.html";
- await BrowserTestUtils.withNewTab(url, async () => {
+ await BrowserTestUtils.withNewTab(url, async browser => {
+ info("Waiting for tab favicon, which will be used by the search engine");
+ await new Promise(resolve => {
+ let listener = {
+ onLinkIconAvailable(b) {
+ if (b !== browser) {
+ return;
+ }
+
+ gBrowser.removeTabsProgressListener(listener);
+ resolve();
+ },
+ };
+ gBrowser.addTabsProgressListener(listener);
+ });
+
let shortcutButtons = UrlbarTestUtils.getOneOffSearchButtons(window);
let rebuildPromise = BrowserTestUtils.waitForEvent(
shortcutButtons,
@@ -95,8 +110,8 @@ async function do_test_shortcuts(activateTask) {
);
for (let button of addEngineButtons) {
- Assert.ok(BrowserTestUtils.isVisible(button));
- Assert.ok(button.hasAttribute("image"));
+ Assert.ok(BrowserTestUtils.isVisible(button), "button is visible");
+ Assert.ok(button.hasAttribute("image"), "button has image");
await document.l10n.translateElements([button]);
Assert.ok(
button.getAttribute("tooltiptext").includes("add_search_engine_")