diff options
| -rw-r--r-- | ext/bg/js/search.js | 17 | ||||
| -rw-r--r-- | ext/bg/js/settings/main.js | 5 | ||||
| -rw-r--r-- | ext/fg/js/frontend.js | 3 | ||||
| -rw-r--r-- | ext/mixed/js/core.js | 18 | 
4 files changed, 20 insertions, 23 deletions
| diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 67a78075..540b809b 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -238,17 +238,6 @@ class DisplaySearch extends Display {          }      } -    onRuntimeMessage({action, params}, sender, callback) { -        const handlers = DisplaySearch.runtimeMessageHandlers; -        if (hasOwn(handlers, action)) { -            const handler = handlers[action]; -            const result = handler(this, params); -            callback(result); -        } else { -            return super.onRuntimeMessage({action, params}, sender, callback); -        } -    } -      initClipboardMonitor() {          // ignore copy from search page          window.addEventListener('copy', () => { @@ -380,12 +369,6 @@ class DisplaySearch extends Display {      }  } -DisplaySearch.runtimeMessageHandlers = { -    getUrl: () => { -        return {url: window.location.href}; -    } -}; -  DisplaySearch.onKeyDownIgnoreKeys = {      'ANY_MOD': [          'Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End', diff --git a/ext/bg/js/settings/main.js b/ext/bg/js/settings/main.js index 7456e7a4..0fd9cb23 100644 --- a/ext/bg/js/settings/main.js +++ b/ext/bg/js/settings/main.js @@ -199,14 +199,11 @@ async function onOptionsUpdate({source}) {      await formWrite(options);  } -function onMessage({action, params}, sender, callback) { +function onMessage({action, params}) {      switch (action) {          case 'optionsUpdate':              onOptionsUpdate(params);              break; -        case 'getUrl': -            callback({url: window.location.href}); -            break;      }  } diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index 6c1dafe5..43b64bb0 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -201,6 +201,5 @@ Frontend._windowMessageHandlers = new Map([  Frontend._runtimeMessageHandlers = new Map([      ['optionsUpdate', (self) => self.updateOptions()], -    ['popupSetVisibleOverride', (self, {visible}) => self.popup.setVisibleOverride(visible)], -    ['getUrl', () => ({url: window.location.href})] +    ['popupSetVisibleOverride', (self, {visible}) => self.popup.setVisibleOverride(visible)]  ]); diff --git a/ext/mixed/js/core.js b/ext/mixed/js/core.js index b9536391..36056c36 100644 --- a/ext/mixed/js/core.js +++ b/ext/mixed/js/core.js @@ -225,3 +225,21 @@ class EventDispatcher {          return false;      }  } + + +/* + * Default message handlers + */ + +(() => { +    function onMessage({action}, sender, callback) { +        switch (action) { +            case 'getUrl': +                callback({url: window.location.href}); +                break; +        } +        return false; +    } + +    chrome.runtime.onMessage.addListener(onMessage); +})(); |