Update isPrepared to be consistent with DisplaySearch's isPrepared

This commit is contained in:
toasted-nutbread 2020-04-11 20:45:23 -04:00
parent 03d77cc3a6
commit 6498556ec7
2 changed files with 9 additions and 5 deletions

View File

@ -67,8 +67,6 @@ class Backend {
url: window.location.href url: window.location.href
}; };
this.isPrepared = false;
this.clipboardPasteTarget = document.querySelector('#clipboard-paste-target'); this.clipboardPasteTarget = document.querySelector('#clipboard-paste-target');
this.popupWindow = null; this.popupWindow = null;
@ -77,6 +75,8 @@ class Backend {
this.messageToken = yomichan.generateId(16); this.messageToken = yomichan.generateId(16);
this._isPrepared = false;
this._messageHandlers = new Map([ this._messageHandlers = new Map([
['yomichanCoreReady', {handler: this._onApiYomichanCoreReady.bind(this), async: false}], ['yomichanCoreReady', {handler: this._onApiYomichanCoreReady.bind(this), async: false}],
['optionsSchemaGet', {handler: this._onApiOptionsSchemaGet.bind(this), async: false}], ['optionsSchemaGet', {handler: this._onApiOptionsSchemaGet.bind(this), async: false}],
@ -144,8 +144,6 @@ class Backend {
} }
chrome.runtime.onMessage.addListener(this.onMessage.bind(this)); chrome.runtime.onMessage.addListener(this.onMessage.bind(this));
this.isPrepared = true;
const options = this.getOptions(this.optionsContext); const options = this.getOptions(this.optionsContext);
if (options.general.showGuide) { if (options.general.showGuide) {
chrome.tabs.create({url: chrome.runtime.getURL('/bg/guide.html')}); chrome.tabs.create({url: chrome.runtime.getURL('/bg/guide.html')});
@ -156,6 +154,12 @@ class Backend {
this._sendMessageAllTabs('backendPrepared'); this._sendMessageAllTabs('backendPrepared');
const callback = () => this.checkLastError(chrome.runtime.lastError); const callback = () => this.checkLastError(chrome.runtime.lastError);
chrome.runtime.sendMessage({action: 'backendPrepared'}, callback); chrome.runtime.sendMessage({action: 'backendPrepared'}, callback);
this._isPrepared = true;
}
isPrepared() {
return this._isPrepared;
} }
_sendMessageAllTabs(action, params={}) { _sendMessageAllTabs(action, params={}) {

View File

@ -60,7 +60,7 @@ function utilBackgroundFunctionIsolate(func) {
function utilBackend() { function utilBackend() {
const backend = chrome.extension.getBackgroundPage().yomichanBackend; const backend = chrome.extension.getBackgroundPage().yomichanBackend;
if (!backend.isPrepared) { if (!backend.isPrepared()) {
throw new Error('Backend not ready yet'); throw new Error('Backend not ready yet');
} }
return backend; return backend;