# HG changeset patch
# User Tooru Fujisawa <arai_a@mac.com>
# Date 1511620436 -32400
# Node ID c58e9e70f971a1a17384984dce52aec6de7ac3bb
# Parent 0a9114d2b98858fc53e087428a467b6f568cc57b
Bug 1416153 - followup: Fix browser_report_site_issue.js to wait for events in right order. r=me
diff --git a/browser/extensions/webcompat-reporter/test/browser/browser_report_site_issue.js b/browser/extensions/webcompat-reporter/test/browser/browser_report_site_issue.js
@@ -6,22 +6,29 @@ add_task(async function test_screenshot(
// ./head.js sets the value for PREF_WC_REPORTER_ENDPOINT
await SpecialPowers.pushPrefEnv({set: [[PREF_WC_REPORTER_ENDPOINT, NEW_ISSUE_PAGE]]});
let tab1 = await BrowserTestUtils.openNewForegroundTab(gBrowser, TEST_PAGE);
let webcompatButton = document.getElementById(WC_PAGE_ACTION_ID);
ok(webcompatButton, "Report Site Issue button exists.");
- let newTabPromise = BrowserTestUtils.waitForNewTab(gBrowser);
+ let screenshotPromise;
+ let newTabPromise = new Promise(resolve => {
+ gBrowser.tabContainer.addEventListener("TabOpen", event => {
+ let tab = event.target;
+ screenshotPromise = BrowserTestUtils.waitForContentEvent(
+ tab.linkedBrowser, "ScreenshotReceived", false, null, true);
+ resolve(tab);
+ }, { once: true });
+ });
openPageActions();
webcompatButton.click();
let tab2 = await newTabPromise;
-
- await BrowserTestUtils.waitForContentEvent(tab2.linkedBrowser, "ScreenshotReceived", false, null, true);
+ await screenshotPromise;
await ContentTask.spawn(tab2.linkedBrowser, {TEST_PAGE}, function(args) {
let doc = content.document;
let urlParam = doc.getElementById("url").innerText;
let preview = doc.getElementById("screenshot-preview");
is(urlParam, args.TEST_PAGE, "Reported page is correctly added to the url param");
is(preview.innerText, "Pass", "A Blob object was successfully transferred to the test page.");