diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-07-18 17:11:38 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-18 17:11:38 -0400 |
commit | d7f78c23b50218eaa52ab4570a1e2297c52c287e (patch) | |
tree | 64a217ccc1f96efeec3c81e1d16215963536c733 /ext/mixed/js | |
parent | e696dc84a857e60adcfa7feec44398765c430cac (diff) |
Script ready state change (#672)
* Update how backend/frontend ready states are awaited and signaled
* Log errors on the search page
* Update action name
Diffstat (limited to 'ext/mixed/js')
-rw-r--r-- | ext/mixed/js/yomichan.js | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/ext/mixed/js/yomichan.js b/ext/mixed/js/yomichan.js index 3ae905c3..6eba68b2 100644 --- a/ext/mixed/js/yomichan.js +++ b/ext/mixed/js/yomichan.js @@ -51,15 +51,15 @@ const yomichan = (() => { this._isReady = false; const {promise, resolve} = deferPromise(); - this._isBackendPreparedPromise = promise; - this._isBackendPreparedPromiseResolve = resolve; + this._isBackendReadyPromise = promise; + this._isBackendReadyPromiseResolve = resolve; this._messageHandlers = new Map([ - ['isReady', {async: false, handler: this._onMessageIsReady.bind(this)}], - ['backendPrepared', {async: false, handler: this._onMessageBackendPrepared.bind(this)}], - ['getUrl', {async: false, handler: this._onMessageGetUrl.bind(this)}], - ['optionsUpdated', {async: false, handler: this._onMessageOptionsUpdated.bind(this)}], - ['zoomChanged', {async: false, handler: this._onMessageZoomChanged.bind(this)}] + ['isReady', {async: false, handler: this._onMessageIsReady.bind(this)}], + ['backendReady', {async: false, handler: this._onMessageBackendReady.bind(this)}], + ['getUrl', {async: false, handler: this._onMessageGetUrl.bind(this)}], + ['optionsUpdated', {async: false, handler: this._onMessageOptionsUpdated.bind(this)}], + ['zoomChanged', {async: false, handler: this._onMessageZoomChanged.bind(this)}] ]); } @@ -73,10 +73,14 @@ const yomichan = (() => { chrome.runtime.onMessage.addListener(this._onMessage.bind(this)); } + backendReady() { + this.sendMessage({action: 'requestBackendReadySignal'}); + return this._isBackendReadyPromise; + } + ready() { this._isReady = true; - this.sendMessage({action: 'yomichanCoreReady'}); - return this._isBackendPreparedPromise; + this.sendMessage({action: 'yomichanReady'}); } generateId(length) { @@ -275,10 +279,10 @@ const yomichan = (() => { return this._isReady; } - _onMessageBackendPrepared() { - if (this._isBackendPreparedPromiseResolve === null) { return; } - this._isBackendPreparedPromiseResolve(); - this._isBackendPreparedPromiseResolve = null; + _onMessageBackendReady() { + if (this._isBackendReadyPromiseResolve === null) { return; } + this._isBackendReadyPromiseResolve(); + this._isBackendReadyPromiseResolve = null; } _onMessageGetUrl() { |