diff --git a/ext/fg/frame.html b/ext/fg/frame.html index ecaee323..80e69967 100644 --- a/ext/fg/frame.html +++ b/ext/fg/frame.html @@ -32,9 +32,10 @@ - + + diff --git a/ext/fg/js/background.js b/ext/fg/js/background.js new file mode 100644 index 00000000..52b533be --- /dev/null +++ b/ext/fg/js/background.js @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2016 Alex Yatskov + * Author: Alex Yatskov + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + + +function bgInvoke(action, params={}) { + return new Promise((resolve, reject) => { + try { + chrome.runtime.sendMessage({action, params}, ({result, error}) => { + if (error) { + reject(error); + } else { + resolve(result); + } + }); + } catch (e) { + window.orphaned = true; + reject(e.message); + } + }); +} + +function bgOptionsGet() { + return bgInvoke('optionsGet'); +} + +function bgTermsFind(text) { + return bgInvoke('termsFind', {text}); +} + +function bgKanjiFind(text) { + return bgInvoke('kanjiFind', {text}); +} + +function bgTemplateRender(template, data) { + return bgInvoke('templateRender', {data, template}); +} + +function bgDefinitionsAddable(definitions, modes) { + return bgInvoke('definitionsAddable', {definitions, modes}).catch(() => null); +} + +function bgDefinitionAdd(definition, mode) { + return bgInvoke('definitionAdd', {definition, mode}); +} + +function bgNoteView(noteId) { + return bgInvoke('noteView', {noteId}); +} diff --git a/ext/fg/js/util.js b/ext/fg/js/document.js similarity index 82% rename from ext/fg/js/util.js rename to ext/fg/js/document.js index 2acd81c4..582b6770 100644 --- a/ext/fg/js/util.js +++ b/ext/fg/js/document.js @@ -17,59 +17,6 @@ */ -/* - * Background - */ - -function bgInvoke(action, params) { - return new Promise((resolve, reject) => { - try { - chrome.runtime.sendMessage({action, params}, ({result, error}) => { - if (error) { - reject(error); - } else { - resolve(result); - } - }); - } catch (e) { - window.orphaned = true; - reject(e.message); - } - }); -} - -function bgOptionsGet() { - return bgInvoke('optionsGet', {}); -} - -function bgTermsFind(text) { - return bgInvoke('termsFind', {text}); -} - -function bgKanjiFind(text) { - return bgInvoke('kanjiFind', {text}); -} - -function bgTemplateRender(template, data) { - return bgInvoke('templateRender', {data, template}); -} - -function bgDefinitionsAddable(definitions, modes) { - return bgInvoke('definitionsAddable', {definitions, modes}).catch(() => null); -} - -function bgDefinitionAdd(definition, mode) { - return bgInvoke('definitionAdd', {definition, mode}); -} - -function bgNoteView(noteId) { - return bgInvoke('noteView', {noteId}); -} - -/* - * Document - */ - function docOffsetCalc(element) { const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft; diff --git a/ext/manifest.json b/ext/manifest.json index be9f3208..7a277fb2 100644 --- a/ext/manifest.json +++ b/ext/manifest.json @@ -15,9 +15,10 @@ "content_scripts": [{ "matches": ["http://*/*", "https://*/*", "file://*/*"], "js": [ - "fg/js/util.js", + "fg/js/document.js", "fg/js/source-range.js", "fg/js/source-element.js", + "fg/js/background.js", "fg/js/popup.js", "fg/js/driver.js" ],