diff options
Diffstat (limited to 'ext/js/background/backend.js')
-rw-r--r-- | ext/js/background/backend.js | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 6cae9cea..569cb53d 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -253,7 +253,7 @@ export class Backend { this._prepareInternalSync(); this._permissions = await getAllPermissions(); - this._defaultBrowserActionTitle = await this._getBrowserIconTitle(); + this._defaultBrowserActionTitle = this._getBrowserIconTitle(); this._badgePrepareDelayTimer = setTimeout(() => { this._badgePrepareDelayTimer = null; this._updateBadge(); @@ -1616,15 +1616,18 @@ export class Backend { } /** - * @returns {Promise<string>} + * Returns the action's default title. + * @throws {Error} + * @returns {string} */ _getBrowserIconTitle() { - return ( - isObjectNotArray(chrome.action) && - typeof chrome.action.getTitle === 'function' ? - new Promise((resolve) => { chrome.action.getTitle({}, resolve); }) : - Promise.resolve('') - ); + const manifest = /** @type {chrome.runtime.ManifestV3} */ (chrome.runtime.getManifest()); + const action = manifest.action; + if (typeof action === 'undefined') { throw new Error('Failed to find action'); } + const defaultTitle = action.default_title; + if (typeof defaultTitle === 'undefined') { throw new Error('Failed to find default_title'); } + + return defaultTitle; } /** |