From 1baacd82dbedab04a1716292f40b3a7ec4de7d94 Mon Sep 17 00:00:00 2001 From: Kris Maglione <maglione.k@gmail.com> Date: Fri, 4 Aug 2017 13:20:58 -0700 Subject: [PATCH] Bug 1385880: Part 3 - Wait for add-on startup before showing inline options browser. r=aswan MozReview-Commit-ID: JPPUjIGPRvs --HG-- extra : rebase_source : 82081628ce5ee1af6ad5e0cbbed4221518e55191 extra : histedit_source : 03cafbcfbaefb40a15b8b50af4b5010c96407bcc --- .../mozapps/extensions/content/extensions.js | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/toolkit/mozapps/extensions/content/extensions.js b/toolkit/mozapps/extensions/content/extensions.js index 2238db70258a5..0a9a930806faa 100644 --- a/toolkit/mozapps/extensions/content/extensions.js +++ b/toolkit/mozapps/extensions/content/extensions.js @@ -3643,16 +3643,18 @@ var gDetailView = { try { if (this._addon.optionsType == AddonManager.OPTIONS_TYPE_INLINE_BROWSER) { - whenViewLoaded(() => { - this.createOptionsBrowser(rows).then(browser => { - // Make sure the browser is unloaded as soon as we change views, - // rather than waiting for the next detail view to load. - document.addEventListener("ViewChanged", function() { - browser.remove(); - }, {once: true}); - - finish(browser); - }); + whenViewLoaded(async () => { + await this._addon.startupPromise; + + let browser = await this.createOptionsBrowser(rows); + + // Make sure the browser is unloaded as soon as we change views, + // rather than waiting for the next detail view to load. + document.addEventListener("ViewChanged", function() { + browser.remove(); + }, {once: true}); + + finish(browser); }); if (aCallback) -- GitLab