Bug 1447012 - Use waitForNewTab instead of progress listener in addJsonViewTab
MozReview-Commit-ID: KInGiOtMLex
--- a/devtools/client/jsonview/test/head.js
+++ b/devtools/client/jsonview/test/head.js
@@ -45,30 +45,20 @@ registerCleanupFunction(() => {
* - "complete" (default): Since there aren't sub-resources like images,
* behaves as "interactive". Note the app might not be loaded yet.
*/
async function addJsonViewTab(url, {
appReadyState = "complete",
docReadyState = "complete",
} = {}) {
info("Adding a new JSON tab with URL: '" + url + "'");
+ let tabAdded = BrowserTestUtils.waitForNewTab(gBrowser, url);
let tabLoaded = addTab(url);
- let tab = gBrowser.selectedTab;
+ let tab = await Promise.race([tabAdded, tabLoaded]);
let browser = tab.linkedBrowser;
- await Promise.race([tabLoaded, new Promise(resolve => {
- browser.webProgress.addProgressListener({
- QueryInterface: XPCOMUtils.generateQI(["nsIWebProgressListener",
- "nsISupportsWeakReference"]),
- onLocationChange(webProgress) {
- // Fires when the tab is ready but before completely loaded.
- webProgress.removeProgressListener(this);
- resolve();
- },
- }, Ci.nsIWebProgress.NOTIFY_LOCATION);
- })]);
// Load devtools/shared/test/frame-script-utils.js
loadFrameScriptUtils();
let rootDir = getRootDirectory(gTestPath);
// Catch RequireJS errors (usually timeouts)
let error = tabLoaded.then(() => ContentTask.spawn(browser, null, function() {
return new Promise((resolve, reject) => {