diff options
Diffstat (limited to 'ext/bg/js')
| -rw-r--r-- | ext/bg/js/yomichan.js | 16 | 
1 files changed, 9 insertions, 7 deletions
diff --git a/ext/bg/js/yomichan.js b/ext/bg/js/yomichan.js index f1b3ffc4..46a240a3 100644 --- a/ext/bg/js/yomichan.js +++ b/ext/bg/js/yomichan.js @@ -23,6 +23,7 @@ class Yomichan {          Handlebars.registerHelper('kanjiLinks', kanjiLinks);          this.translator = new Translator(); +        this.options = null;          this.importTabId = null;          this.asyncPools = {};          this.ankiConnectVer = 0; @@ -30,8 +31,6 @@ class Yomichan {          chrome.runtime.onMessage.addListener(this.onMessage.bind(this));          chrome.browserAction.onClicked.addListener(this.onBrowserAction.bind(this)); -        chrome.tabs.onCreated.addListener(tab => this.onTabReady(tab.id)); -        chrome.tabs.onUpdated.addListener(this.onTabReady.bind(this));          loadOptions().then(opts => {              this.setOptions(opts); @@ -66,11 +65,6 @@ class Yomichan {          return true;      } -    onTabReady(tabId) { -        this.tabInvoke(tabId, 'setOptions', this.options); -        this.tabInvoke(tabId, 'setEnabled', this.state === 'enabled'); -    } -      onBrowserAction() {          switch (this.state) {              case 'disabled': @@ -258,6 +252,14 @@ class Yomichan {          return note;      } +    api_getEnabled({callback}) { +        callback(this.state === 'enabled'); +    } + +    api_getOptions({callback}) { +        loadOptions().then(opts => callback(opts)); +    } +      api_addDefinition({definition, mode, callback}) {          const note = this.formatNote(definition, mode);          this.ankiInvokeSafe('addNote', {note}, null, callback);  |