diff options
Diffstat (limited to 'ext/js/background/backend.js')
-rw-r--r-- | ext/js/background/backend.js | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 698724fc..d88c5853 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -307,7 +307,7 @@ class Backend { } } - return yomichan.invokeMessageHandler(messageHandler, params, callback, sender); + return invokeMessageHandler(messageHandler, params, callback, sender); } _onConnect(port) { @@ -1563,7 +1563,7 @@ class Backend { return new Promise((resolve, reject) => { const callback = (response) => { try { - resolve(yomichan.getMessageResponseResult(response)); + resolve(this._getMessageResponseResult(response)); } catch (error) { reject(error); } @@ -1573,6 +1573,21 @@ class Backend { }); } + _getMessageResponseResult(response) { + let error = chrome.runtime.lastError; + if (error) { + throw new Error(error.message); + } + if (!isObject(response)) { + throw new Error('Tab did not respond'); + } + error = response.error; + if (error) { + throw deserializeError(error); + } + return response.result; + } + async _checkTabUrl(tabId, urlPredicate) { let tab; try { |