diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-12-20 13:36:54 -0500 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-12-20 13:36:54 -0500 | 
| commit | 2a95f1420f08b034ae8e12ecffed86aa6f33e53a (patch) | |
| tree | 62e632c09be4f5c51919e68c01982f040304e104 | |
| parent | e14bd75a4f2f25c8fc36ee801d952960987e76ad (diff) | |
Move optionsUpdate message handler into Yomichan class
| -rw-r--r-- | ext/bg/js/settings/main.js | 10 | ||||
| -rw-r--r-- | ext/fg/js/frontend.js | 2 | ||||
| -rw-r--r-- | ext/mixed/js/core.js | 11 | ||||
| -rw-r--r-- | ext/mixed/js/display.js | 15 | 
4 files changed, 12 insertions, 26 deletions
| diff --git a/ext/bg/js/settings/main.js b/ext/bg/js/settings/main.js index 78a5870c..870769e5 100644 --- a/ext/bg/js/settings/main.js +++ b/ext/bg/js/settings/main.js @@ -204,14 +204,6 @@ async function onOptionsUpdate({source}) {      await formWrite(options);  } -function onMessage({action, params}) { -    switch (action) { -        case 'optionsUpdate': -            onOptionsUpdate(params); -            break; -    } -} -  function showExtensionInformation() {      const node = document.getElementById('extension-info'); @@ -235,7 +227,7 @@ async function onReady() {      storageInfoInitialize(); -    chrome.runtime.onMessage.addListener(onMessage); +    yomichan.on('optionsUpdate', onOptionsUpdate);  }  $(document).ready(() => onReady()); diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index c8e112a7..1d63d928 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -54,6 +54,7 @@ class Frontend extends TextScanner {          try {              await this.updateOptions(); +            yomichan.on('optionsUpdate', () => this.updateOptions());              chrome.runtime.onMessage.addListener(this.onRuntimeMessage.bind(this));              this.isPreparedPromiseResolve();          } catch (e) { @@ -200,6 +201,5 @@ Frontend._windowMessageHandlers = new Map([  ]);  Frontend._runtimeMessageHandlers = new Map([ -    ['optionsUpdate', (self) => { self.updateOptions(); }],      ['popupSetVisibleOverride', (self, {visible}) => { self.popup.setVisibleOverride(visible); }]  ]); diff --git a/ext/mixed/js/core.js b/ext/mixed/js/core.js index edb1f913..a3c8c0b0 100644 --- a/ext/mixed/js/core.js +++ b/ext/mixed/js/core.js @@ -232,10 +232,13 @@ class EventDispatcher {   */  const yomichan = (() => { -    class Yomichan { +    class Yomichan extends EventDispatcher {          constructor() { +            super(); +              this._messageHandlers = new Map([ -                ['getUrl', this._onMessageGetUrl.bind(this)] +                ['getUrl', this._onMessageGetUrl.bind(this)], +                ['optionsUpdate', this._onMessageOptionsUpdate.bind(this)]              ]);              chrome.runtime.onMessage.addListener(this._onMessage.bind(this)); @@ -253,6 +256,10 @@ const yomichan = (() => {          _onMessageGetUrl() {              return {url: window.location.href};          } + +        _onMessageOptionsUpdate({source}) { +            this.trigger('optionsUpdate', {source}); +        }      }      return new Yomichan(); diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index f3b5dd2a..089941a9 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -225,15 +225,6 @@ class Display {          }      } -    onRuntimeMessage({action, params}, sender, callback) { -        const handler = Display._runtimeMessageHandlers.get(action); -        if (typeof handler !== 'function') { return false; } - -        const result = handler(this, params, sender); -        callback(result); -        return false; -    } -      getOptionsContext() {          throw new Error('Override me');      } @@ -244,7 +235,7 @@ class Display {      async initialize(options=null) {          await this.updateOptions(options); -        chrome.runtime.onMessage.addListener(this.onRuntimeMessage.bind(this)); +        yomichan.on('optionsUpdate', () => this.updateOptions(null));      }      async updateOptions(options) { @@ -878,7 +869,3 @@ Display._onKeyDownHandlers = new Map([          return false;      }]  ]); - -Display._runtimeMessageHandlers = new Map([ -    ['optionsUpdate', (self) => self.updateOptions(null)] -]); |