diff options
| -rw-r--r-- | ext/fg/js/popup.js | 7 | ||||
| -rw-r--r-- | ext/mixed/js/display.js | 8 | 
2 files changed, 15 insertions, 0 deletions
| diff --git a/ext/fg/js/popup.js b/ext/fg/js/popup.js index 396a5be9..a9fde7b6 100644 --- a/ext/fg/js/popup.js +++ b/ext/fg/js/popup.js @@ -79,6 +79,10 @@ class Popup {          });      } +    isInitialized() { +        return this.options !== null; +    } +      async setOptions(options) {          this.options = options;      } @@ -212,6 +216,7 @@ class Popup {      }      async showOrphaned(elementRect, writingMode, options) { +        if (!this.isInitialized()) { return; }          await this.show(elementRect, writingMode, options);          this.invokeApi('orphaned');      } @@ -275,11 +280,13 @@ class Popup {      }      async termsShow(elementRect, writingMode, definitions, options, context) { +        if (!this.isInitialized()) { return; }          await this.show(elementRect, writingMode, options);          this.invokeApi('termsShow', {definitions, options, context});      }      async kanjiShow(elementRect, writingMode, definitions, options, context) { +        if (!this.isInitialized()) { return; }          await this.show(elementRect, writingMode, options);          this.invokeApi('kanjiShow', {definitions, options, context});      } diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 0d7be355..d5d055e0 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -187,6 +187,10 @@ class Display {          throw new Error('Override me');      } +    isInitialized() { +        return this.options !== null; +    } +      async initialize(options=null) {          await this.updateOptions(options);          chrome.runtime.onMessage.addListener(this.onRuntimeMessage.bind(this)); @@ -236,6 +240,8 @@ class Display {      }      async termsShow(definitions, options, context) { +        if (!this.isInitialized()) { return; } +          try {              this.setEventListenersActive(false); @@ -287,6 +293,8 @@ class Display {      }      async kanjiShow(definitions, options, context) { +        if (!this.isInitialized()) { return; } +          try {              this.setEventListenersActive(false); |