summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarius Jahandarie <djahandarie@gmail.com>2023-11-12 02:16:11 +0000
committerGitHub <noreply@github.com>2023-11-12 02:16:11 +0000
commitd06029ea8c4244f40f9ddfeec5154f9ef2a4c053 (patch)
tree93f3e15603ec38faef01070475904c08d2e9280b
parentf263e994c6eca2438eaff79cb22f1b48fe14b7b2 (diff)
parent784dcd93b02443bc253e3af43ad0586a1add39c5 (diff)
Merge pull request #314 from starxeras/replace-yomichan
Replace all instances of yomichan
-rw-r--r--.eslintrc.json4
-rw-r--r--.github/ISSUE_TEMPLATE/bug-report.md2
-rw-r--r--docs/permissions.md18
-rw-r--r--docs/templates.md18
-rw-r--r--ext/css/popup-outer.css12
-rw-r--r--ext/js/app/content-script-main.js8
-rw-r--r--ext/js/app/frontend.js34
-rw-r--r--ext/js/app/popup-factory.js6
-rw-r--r--ext/js/app/popup-proxy.js6
-rw-r--r--ext/js/app/popup-window.js14
-rw-r--r--ext/js/app/popup.js16
-rw-r--r--ext/js/background/backend.js34
-rw-r--r--ext/js/background/background-main.js4
-rw-r--r--ext/js/background/offscreen.js6
-rw-r--r--ext/js/comm/api.js6
-rw-r--r--ext/js/comm/cross-frame-api.js6
-rw-r--r--ext/js/comm/frame-ancestry-handler.js8
-rw-r--r--ext/js/comm/frame-endpoint.js6
-rw-r--r--ext/js/comm/frame-offset-forwarder.js6
-rw-r--r--ext/js/comm/mecab.js8
-rw-r--r--ext/js/data/anki-note-builder.js6
-rw-r--r--ext/js/data/options-util.js2
-rw-r--r--ext/js/display/display-anki.js14
-rw-r--r--ext/js/display/display-audio.js4
-rw-r--r--ext/js/display/display-content-manager.js4
-rw-r--r--ext/js/display/display-generator.js4
-rw-r--r--ext/js/display/display-profile-selection.js8
-rw-r--r--ext/js/display/display.js30
-rw-r--r--ext/js/display/option-toggle-hotkey-handler.js6
-rw-r--r--ext/js/display/popup-main.js8
-rw-r--r--ext/js/display/query-parser.js6
-rw-r--r--ext/js/display/search-display-controller.js10
-rw-r--r--ext/js/display/search-main.js8
-rw-r--r--ext/js/input/hotkey-handler.js4
-rw-r--r--ext/js/input/hotkey-help-controller.js4
-rw-r--r--ext/js/language/text-scanner.js16
-rw-r--r--ext/js/pages/action-popup-main.js22
-rw-r--r--ext/js/pages/info-main.js10
-rw-r--r--ext/js/pages/permissions-main.js6
-rw-r--r--ext/js/pages/settings/anki-controller.js6
-rw-r--r--ext/js/pages/settings/anki-templates-controller.js6
-rw-r--r--ext/js/pages/settings/backup-controller.js12
-rw-r--r--ext/js/pages/settings/collapsible-dictionary-controller.js4
-rw-r--r--ext/js/pages/settings/dictionary-controller.js8
-rw-r--r--ext/js/pages/settings/dictionary-import-controller.js8
-rw-r--r--ext/js/pages/settings/extension-keyboard-shortcuts-controller.js4
-rw-r--r--ext/js/pages/settings/keyboard-shortcuts-controller.js4
-rw-r--r--ext/js/pages/settings/mecab-controller.js4
-rw-r--r--ext/js/pages/settings/persistent-storage-controller.js4
-rw-r--r--ext/js/pages/settings/popup-preview-frame-main.js6
-rw-r--r--ext/js/pages/settings/popup-preview-frame.js6
-rw-r--r--ext/js/pages/settings/popup-window-controller.js4
-rw-r--r--ext/js/pages/settings/profile-controller.js4
-rw-r--r--ext/js/pages/settings/scan-inputs-controller.js4
-rw-r--r--ext/js/pages/settings/scan-inputs-simple-controller.js4
-rw-r--r--ext/js/pages/settings/secondary-search-dictionary-controller.js4
-rw-r--r--ext/js/pages/settings/settings-controller.js16
-rw-r--r--ext/js/pages/settings/settings-main.js4
-rw-r--r--ext/js/pages/settings/sort-frequency-dictionary-controller.js6
-rw-r--r--ext/js/pages/settings/storage-controller.js4
-rw-r--r--ext/js/pages/welcome-main.js6
-rw-r--r--ext/js/script/dynamic-loader-sentinel.js5
-rw-r--r--ext/js/script/dynamic-loader.js14
-rw-r--r--ext/js/yomitan.js (renamed from ext/js/yomichan.js)24
-rw-r--r--resources/icons.svg2
-rw-r--r--test/anki-note-builder.test.js2
-rw-r--r--test/data/html/test-document1.html4
-rw-r--r--test/data/html/test-document2-frame1.html2
-rw-r--r--test/data/html/test-document2.html4
-rw-r--r--test/data/html/test-document3-frame1.html2
-rw-r--r--test/data/html/test-document3-frame2.html2
-rw-r--r--test/data/html/test-document3.html6
-rw-r--r--test/data/html/test-dom-text-scanner.html4
-rw-r--r--test/options-util.test.js4
74 files changed, 299 insertions, 298 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
index dce9b344..e37ef133 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -381,7 +381,7 @@
},
{
"files": [
- "ext/js/yomichan.js"
+ "ext/js/yomitan.js"
],
"globals": {
"chrome": "writable"
@@ -417,7 +417,7 @@
{
"files": [
"ext/js/core.js",
- "ext/js/yomichan.js",
+ "ext/js/yomitan.js",
"ext/js/accessibility/accessibility-controller.js",
"ext/js/background/backend.js",
"ext/js/background/profile-conditions-util.js",
diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
index 68ee9c86..fa6a4923 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ b/.github/ISSUE_TEMPLATE/bug-report.md
@@ -13,7 +13,7 @@ assignees: ''
**Browser version**
(e.g. Firefox 83.0)
-**Yomichan version**
+**Yomitan version**
(e.g. 20.11.1.1)
**Exported settings file**
diff --git a/docs/permissions.md b/docs/permissions.md
index b2b1a34c..92d5e06f 100644
--- a/docs/permissions.md
+++ b/docs/permissions.md
@@ -1,21 +1,21 @@
-# Yomichan Permissions
+# Yomitan Permissions
* `<all_urls>` <br>
- Yomichan requires access to all URLs in order to run scripts to scan text and show the definitions popup,
+ Yomitan requires access to all URLs in order to run scripts to scan text and show the definitions popup,
request audio for playback and download, and connect with Anki.
* `storage` and `unlimitedStorage` <br>
- Yomichan uses storage permissions in order to save extension settings and dictionary data.
+ Yomitan uses storage permissions in order to save extension settings and dictionary data.
`unlimitedStorage` is used to help prevent web browsers from unexpectedly
deleting dictionary data.
* `declarativeNetRequest` <br>
- Yomichan uses this permission to ensure certain requests have valid and secure headers.
+ Yomitan uses this permission to ensure certain requests have valid and secure headers.
This sometimes involves removing or changing the `Origin` request header,
as this can be used to fingerprint browser configuration.
* `scripting` <br>
- Yomichan needs to inject content scripts and stylesheets into webpages in order to
+ Yomitan needs to inject content scripts and stylesheets into webpages in order to
properly display the search popup.
* `offscreen` _(Chrome only)_ <br>
@@ -24,17 +24,17 @@
actions that require access to DOM APIs, such as any that require clipboard access.
* `clipboardWrite` <br>
- Yomichan supports simulating the `Ctrl+C` (copy to clipboard) keyboard shortcut
+ Yomitan supports simulating the `Ctrl+C` (copy to clipboard) keyboard shortcut
when a definitions popup is open and focused.
* `clipboardRead` _(optional)_ <br>
- Yomichan supports automatically opening a search window when Japanese text is copied to the clipboard
+ Yomitan supports automatically opening a search window when Japanese text is copied to the clipboard
while the browser is running, depending on how certain settings are configured.
- This allows Yomichan to support scanning text from external applications, provided there is a way
+ This allows Yomitan to support scanning text from external applications, provided there is a way
to copy text from those applications to the clipboard.
* `nativeMessaging` _(optional, unavailable on Firefox for Android)_ <br>
- Yomichan has the ability to communicate with an optional native messaging component in order to support
+ Yomitan has the ability to communicate with an optional native messaging component in order to support
parsing large blocks of Japanese text using
[MeCab](https://en.wikipedia.org/wiki/MeCab).
The installation of this component is optional and is not included by default.
diff --git a/docs/templates.md b/docs/templates.md
index e75e4635..18274ed5 100644
--- a/docs/templates.md
+++ b/docs/templates.md
@@ -2,7 +2,7 @@
## Helpers
-Yomichan supports several custom Handlebars helpers for rendering templates.
+Yomitan supports several custom Handlebars helpers for rendering templates.
The source code for these templates can be found [here](../ext/js/templates/sandbox/anki-template-renderer.js).
@@ -586,12 +586,12 @@ Joins the arguments to a single string with a separator, flattening any argument
```handlebars
{{set "index" 32~}}
- {{~join "_" "yomichan" (get "index") "value"}}
+ {{~join "_" "yomitan" (get "index") "value"}}
```
Output:
```html
- yomichan_32_value
+ yomitan_32_value
```
</details>
@@ -613,12 +613,12 @@ Joins the arguments to a single string, without flattening arguments that are ar
```handlebars
{{set "index" 32~}}
- {{~concat "yomichan_" (get "index") "_value"}}
+ {{~concat "yomitan_" (get "index") "_value"}}
```
Output:
```html
- yomichan_32_value
+ yomitan_32_value
```
</details>
@@ -727,11 +727,11 @@ These functions are used together in order to request media and other types of o
Output:
```html
- The audio file name is: yomichan_audio_にほんご_日本語.mp3
+ The audio file name is: yomitan_audio_にほんご_日本語.mp3
- The screenshot file name is: yomichan_browser_screenshot_にほんご_日本語.png
+ The screenshot file name is: yomitan_browser_screenshot_にほんご_日本語.png
- The clipboard image file name is: yomichan_clipboard_image_にほんご_日本語.png
+ The clipboard image file name is: yomitan_clipboard_image_にほんご_日本語.png
The clipboard text is: This is the clipboard text
@@ -741,7 +741,7 @@ These functions are used together in order to request media and other types of o
This is an example of text with generated furigana: <ruby>日本語<rt>にほんご</rt></ruby>
- The remapped file name for image.png is: yomichan_dictionary_media_1_にほんご_日本語.png
+ The remapped file name for image.png is: yomitan_dictionary_media_1_にほんご_日本語.png
```
</details>
diff --git a/ext/css/popup-outer.css b/ext/css/popup-outer.css
index 6fd32dc5..4d8169ab 100644
--- a/ext/css/popup-outer.css
+++ b/ext/css/popup-outer.css
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-iframe.yomichan-popup {
+iframe.yomitan-popup {
all: initial;
font-size: 1px;
background-color: #ffffff;
@@ -28,20 +28,20 @@ iframe.yomichan-popup {
z-index: 2147483647;
box-sizing: border-box;
}
-iframe.yomichan-popup[data-theme=dark] {
+iframe.yomitan-popup[data-theme=dark] {
background-color: #1e1e1e;
border-color: #666666;
}
-iframe.yomichan-popup[data-outer-theme=dark] {
+iframe.yomitan-popup[data-outer-theme=dark] {
box-shadow: 0 0 10em rgba(255, 255, 255, 0.5);
}
-iframe.yomichan-popup[data-popup-display-mode=full-width] {
+iframe.yomitan-popup[data-popup-display-mode=full-width] {
border-left: none;
border-right: none;
}
-iframe.yomichan-popup[data-popup-display-mode=full-width][data-below=true] {
+iframe.yomitan-popup[data-popup-display-mode=full-width][data-below=true] {
border-bottom: none;
}
-iframe.yomichan-popup[data-popup-display-mode=full-width]:not([data-below=true]) {
+iframe.yomitan-popup[data-popup-display-mode=full-width]:not([data-below=true]) {
border-top: none;
}
diff --git a/ext/js/app/content-script-main.js b/ext/js/app/content-script-main.js
index d5ae0d93..a042f3bf 100644
--- a/ext/js/app/content-script-main.js
+++ b/ext/js/app/content-script-main.js
@@ -18,15 +18,15 @@
import {log} from '../core.js';
import {HotkeyHandler} from '../input/hotkey-handler.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {Frontend} from './frontend.js';
import {PopupFactory} from './popup-factory.js';
(async () => {
try {
- await yomichan.prepare();
+ await yomitan.prepare();
- const {tabId, frameId} = await yomichan.api.frameInformationGet();
+ const {tabId, frameId} = await yomitan.api.frameInformationGet();
if (typeof frameId !== 'number') {
throw new Error('Failed to get frameId');
}
@@ -51,7 +51,7 @@ import {PopupFactory} from './popup-factory.js';
});
await frontend.prepare();
- yomichan.ready();
+ yomitan.ready();
} catch (e) {
log.error(e);
}
diff --git a/ext/js/app/frontend.js b/ext/js/app/frontend.js
index acc70667..4c13eac2 100644
--- a/ext/js/app/frontend.js
+++ b/ext/js/app/frontend.js
@@ -23,7 +23,7 @@ import {TextSourceElement} from '../dom/text-source-element.js';
import {TextSourceRange} from '../dom/text-source-range.js';
import {HotkeyHandler} from '../input/hotkey-handler.js';
import {TextScanner} from '../language/text-scanner.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {PopupFactory} from './popup-factory.js';
import {Popup} from './popup.js';
@@ -137,7 +137,7 @@ export class Frontend {
async prepare() {
await this.updateOptions();
try {
- const {zoomFactor} = await yomichan.api.getZoom();
+ const {zoomFactor} = await yomitan.api.getZoom();
this._pageZoomFactor = zoomFactor;
} catch (e) {
// Ignore exceptions which may occur due to being on an unsupported page (e.g. about:blank)
@@ -154,15 +154,15 @@ export class Frontend {
visualViewport.addEventListener('resize', this._onVisualViewportResize.bind(this));
}
- yomichan.on('optionsUpdated', this.updateOptions.bind(this));
- yomichan.on('zoomChanged', this._onZoomChanged.bind(this));
- yomichan.on('closePopups', this._onClosePopups.bind(this));
+ yomitan.on('optionsUpdated', this.updateOptions.bind(this));
+ yomitan.on('zoomChanged', this._onZoomChanged.bind(this));
+ yomitan.on('closePopups', this._onClosePopups.bind(this));
chrome.runtime.onMessage.addListener(this._onRuntimeMessage.bind(this));
this._textScanner.on('clear', this._onTextScannerClear.bind(this));
this._textScanner.on('searched', this._onSearched.bind(this));
- yomichan.crossFrame.registerHandlers([
+ yomitan.crossFrame.registerHandlers([
['Frontend.closePopup', {async: false, handler: this._onApiClosePopup.bind(this)}],
['Frontend.copySelection', {async: false, handler: this._onApiCopySelection.bind(this)}],
['Frontend.getSelectionText', {async: false, handler: this._onApiGetSelectionText.bind(this)}],
@@ -208,7 +208,7 @@ export class Frontend {
try {
await this._updateOptionsInternal();
} catch (e) {
- if (!yomichan.isExtensionUnloaded) {
+ if (!yomitan.isExtensionUnloaded) {
throw e;
}
}
@@ -319,7 +319,7 @@ export class Frontend {
const scanningOptions = this._options.scanning;
if (error !== null) {
- if (yomichan.isExtensionUnloaded) {
+ if (yomitan.isExtensionUnloaded) {
if (textSource !== null && !passive) {
this._showExtensionUnloaded(textSource);
}
@@ -388,7 +388,7 @@ export class Frontend {
async _updateOptionsInternal() {
const optionsContext = await this._getOptionsContext();
- const options = await yomichan.api.optionsGet(optionsContext);
+ const options = await yomitan.api.optionsGet(optionsContext);
const {scanning: scanningOptions, sentenceParsing: sentenceParsingOptions} = options;
this._options = options;
@@ -520,7 +520,7 @@ export class Frontend {
return await this._getDefaultPopup();
}
- const {popupId} = await yomichan.crossFrame.invoke(targetFrameId, 'Frontend.getPopupInfo');
+ const {popupId} = await yomitan.crossFrame.invoke(targetFrameId, 'Frontend.getPopupInfo');
if (popupId === null) {
return null;
}
@@ -559,7 +559,7 @@ export class Frontend {
try {
return this._popup !== null && await this._popup.containsPoint(x, y);
} catch (e) {
- if (!yomichan.isExtensionUnloaded) {
+ if (!yomitan.isExtensionUnloaded) {
throw e;
}
return false;
@@ -625,7 +625,7 @@ export class Frontend {
Promise.resolve()
);
this._lastShowPromise.catch((error) => {
- if (yomichan.isExtensionUnloaded) { return; }
+ if (yomitan.isExtensionUnloaded) { return; }
log.error(error);
});
return this._lastShowPromise;
@@ -677,9 +677,9 @@ export class Frontend {
_signalFrontendReady(targetFrameId=null) {
const params = {frameId: this._frameId};
if (targetFrameId === null) {
- yomichan.api.broadcastTab('frontendReady', params);
+ yomitan.api.broadcastTab('frontendReady', params);
} else {
- yomichan.api.sendMessageToFrame(targetFrameId, 'frontendReady', params);
+ yomitan.api.sendMessageToFrame(targetFrameId, 'frontendReady', params);
}
}
@@ -716,7 +716,7 @@ export class Frontend {
}
chrome.runtime.onMessage.addListener(onMessage);
- yomichan.api.broadcastTab('Frontend.requestReadyBroadcast', {frameId: this._frameId});
+ yomitan.api.broadcastTab('Frontend.requestReadyBroadcast', {frameId: this._frameId});
});
}
@@ -742,7 +742,7 @@ export class Frontend {
let documentTitle = document.title;
if (this._useProxyPopup) {
try {
- ({url, documentTitle} = await yomichan.crossFrame.invoke(this._parentFrameId, 'Frontend.getPageInfo', {}));
+ ({url, documentTitle} = await yomitan.crossFrame.invoke(this._parentFrameId, 'Frontend.getPageInfo', {}));
} catch (e) {
// NOP
}
@@ -788,7 +788,7 @@ export class Frontend {
async _prepareGoogleDocs() {
if (typeof GoogleDocsUtil !== 'undefined') { return; }
- await yomichan.api.loadExtensionScripts([
+ await yomitan.api.loadExtensionScripts([
'/js/accessibility/google-docs-util.js'
]);
if (typeof GoogleDocsUtil === 'undefined') { return; }
diff --git a/ext/js/app/popup-factory.js b/ext/js/app/popup-factory.js
index 7a17c106..e871f7ec 100644
--- a/ext/js/app/popup-factory.js
+++ b/ext/js/app/popup-factory.js
@@ -18,7 +18,7 @@
import {FrameOffsetForwarder} from '../comm/frame-offset-forwarder.js';
import {generateId} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {PopupProxy} from './popup-proxy.js';
import {PopupWindow} from './popup-window.js';
import {Popup} from './popup.js';
@@ -43,7 +43,7 @@ export class PopupFactory {
*/
prepare() {
this._frameOffsetForwarder.prepare();
- yomichan.crossFrame.registerHandlers([
+ yomitan.crossFrame.registerHandlers([
['PopupFactory.getOrCreatePopup', {async: true, handler: this._onApiGetOrCreatePopup.bind(this)}],
['PopupFactory.setOptionsContext', {async: true, handler: this._onApiSetOptionsContext.bind(this)}],
['PopupFactory.hide', {async: false, handler: this._onApiHide.bind(this)}],
@@ -151,7 +151,7 @@ export class PopupFactory {
throw new Error('Invalid frameId');
}
const useFrameOffsetForwarder = (parentPopupId === null);
- ({id, depth, frameId} = await yomichan.crossFrame.invoke(frameId, 'PopupFactory.getOrCreatePopup', {
+ ({id, depth, frameId} = await yomitan.crossFrame.invoke(frameId, 'PopupFactory.getOrCreatePopup', {
id,
parentPopupId,
frameId,
diff --git a/ext/js/app/popup-proxy.js b/ext/js/app/popup-proxy.js
index d16a16f1..3d8b55ba 100644
--- a/ext/js/app/popup-proxy.js
+++ b/ext/js/app/popup-proxy.js
@@ -18,7 +18,7 @@
import {FrameOffsetForwarder} from '../comm/frame-offset-forwarder.js';
import {EventDispatcher, log} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {Popup} from './popup.js';
/**
@@ -294,14 +294,14 @@ export class PopupProxy extends EventDispatcher {
// Private
_invoke(action, params={}) {
- return yomichan.crossFrame.invoke(this._frameId, action, params);
+ return yomitan.crossFrame.invoke(this._frameId, action, params);
}
async _invokeSafe(action, params={}, defaultReturnValue) {
try {
return await this._invoke(action, params);
} catch (e) {
- if (!yomichan.isExtensionUnloaded) { throw e; }
+ if (!yomitan.isExtensionUnloaded) { throw e; }
return defaultReturnValue;
}
}
diff --git a/ext/js/app/popup-window.js b/ext/js/app/popup-window.js
index b5fd9eb6..88370684 100644
--- a/ext/js/app/popup-window.js
+++ b/ext/js/app/popup-window.js
@@ -17,7 +17,7 @@
*/
import {EventDispatcher} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {Popup} from './popup.js';
/**
@@ -138,7 +138,7 @@ export class PopupWindow extends EventDispatcher {
* @returns {Promise<boolean>} `true` if the popup is visible, `false` otherwise.
*/
async isVisible() {
- return (this._popupTabId !== null && await yomichan.api.isTabSearchPopup(this._popupTabId));
+ return (this._popupTabId !== null && await yomitan.api.isTabSearchPopup(this._popupTabId));
}
/**
@@ -263,16 +263,16 @@ export class PopupWindow extends EventDispatcher {
// Private
async _invoke(open, action, params={}, defaultReturnValue) {
- if (yomichan.isExtensionUnloaded) {
+ if (yomitan.isExtensionUnloaded) {
return defaultReturnValue;
}
const frameId = 0;
if (this._popupTabId !== null) {
try {
- return await yomichan.crossFrame.invokeTab(this._popupTabId, frameId, 'popupMessage', {action, params});
+ return await yomitan.crossFrame.invokeTab(this._popupTabId, frameId, 'popupMessage', {action, params});
} catch (e) {
- if (yomichan.isExtensionUnloaded) {
+ if (yomitan.isExtensionUnloaded) {
open = false;
}
}
@@ -283,9 +283,9 @@ export class PopupWindow extends EventDispatcher {
return defaultReturnValue;
}
- const {tabId} = await yomichan.api.getOrCreateSearchPopup({focus: 'ifCreated'});
+ const {tabId} = await yomitan.api.getOrCreateSearchPopup({focus: 'ifCreated'});
this._popupTabId = tabId;
- return await yomichan.crossFrame.invokeTab(this._popupTabId, frameId, 'popupMessage', {action, params});
+ return await yomitan.crossFrame.invokeTab(this._popupTabId, frameId, 'popupMessage', {action, params});
}
}
diff --git a/ext/js/app/popup.js b/ext/js/app/popup.js
index 6f1807a6..0e2e2493 100644
--- a/ext/js/app/popup.js
+++ b/ext/js/app/popup.js
@@ -20,7 +20,7 @@ import {FrameClient} from '../comm/frame-client.js';
import {DynamicProperty, EventDispatcher, EventListenerCollection, deepEqual} from '../core.js';
import {DocumentUtil} from '../dom/document-util.js';
import {dynamicLoader} from '../script/dynamic-loader.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {ThemeController} from './theme-controller.js';
/**
@@ -113,7 +113,7 @@ export class Popup extends EventDispatcher {
this._frameSizeContentScale = null;
this._frameClient = null;
this._frame = document.createElement('iframe');
- this._frame.className = 'yomichan-popup';
+ this._frame.className = 'yomitan-popup';
this._frame.style.width = '0';
this._frame.style.height = '0';
@@ -208,7 +208,7 @@ export class Popup extends EventDispatcher {
this._frame.addEventListener('scroll', (e) => e.stopPropagation());
this._frame.addEventListener('load', this._onFrameLoad.bind(this));
this._visible.on('change', this._onVisibleChange.bind(this));
- yomichan.on('extensionUnloaded', this._onExtensionUnloaded.bind(this));
+ yomitan.on('extensionUnloaded', this._onExtensionUnloaded.bind(this));
this._onVisibleChange({value: this.isVisibleSync()});
this._themeController.prepare();
}
@@ -359,7 +359,7 @@ export class Popup extends EventDispatcher {
useWebExtensionApi = false;
parentNode = this._shadow;
}
- const node = await dynamicLoader.loadStyle('yomichan-popup-outer-user-stylesheet', 'code', css, useWebExtensionApi, parentNode);
+ const node = await dynamicLoader.loadStyle('yomitan-popup-outer-user-stylesheet', 'code', css, useWebExtensionApi, parentNode);
this.trigger('customOuterCssChanged', {node, useWebExtensionApi, inShadow});
}
@@ -537,7 +537,7 @@ export class Popup extends EventDispatcher {
useWebExtensionApi = false;
parentNode = this._shadow;
}
- await dynamicLoader.loadStyle('yomichan-popup-outer-stylesheet', fileType, '/css/popup-outer.css', useWebExtensionApi, parentNode);
+ await dynamicLoader.loadStyle('yomitan-popup-outer-stylesheet', fileType, '/css/popup-outer.css', useWebExtensionApi, parentNode);
}
_observeFullscreen(observe) {
@@ -626,14 +626,14 @@ export class Popup extends EventDispatcher {
if (this._frameClient === null || !this._frameClient.isConnected() || contentWindow === null) { return; }
const message = this._frameClient.createMessage({action, params});
- return await yomichan.crossFrame.invoke(this._frameClient.frameId, 'popupMessage', message);
+ return await yomitan.crossFrame.invoke(this._frameClient.frameId, 'popupMessage', message);
}
async _invokeSafe(action, params={}, defaultReturnValue) {
try {
return await this._invoke(action, params);
} catch (e) {
- if (!yomichan.isExtensionUnloaded) { throw e; }
+ if (!yomitan.isExtensionUnloaded) { throw e; }
return defaultReturnValue;
}
}
@@ -884,7 +884,7 @@ export class Popup extends EventDispatcher {
async _setOptionsContext(optionsContext) {
this._optionsContext = optionsContext;
- const options = await yomichan.api.optionsGet(optionsContext);
+ const options = await yomitan.api.optionsGet(optionsContext);
const {general} = options;
this._themeController.theme = general.popupTheme;
this._themeController.outerTheme = general.popupOuterTheme;
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js
index cccfcbb3..e4186d02 100644
--- a/ext/js/background/backend.js
+++ b/ext/js/background/backend.js
@@ -34,7 +34,7 @@ import {JapaneseUtil} from '../language/sandbox/japanese-util.js';
import {Translator} from '../language/translator.js';
import {AudioDownloader} from '../media/audio-downloader.js';
import {MediaUtil} from '../media/media-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {ProfileConditionsUtil} from './profile-conditions-util.js';
import {RequestBuilder} from './request-builder.js';
import {ScriptManager} from './script-manager.js';
@@ -225,7 +225,7 @@ export class Backend {
}, 1000);
this._updateBadge();
- yomichan.on('log', this._onLog.bind(this));
+ yomitan.on('log', this._onLog.bind(this));
await this._requestBuilder.prepare();
await this._environment.prepare();
@@ -256,8 +256,8 @@ export class Backend {
this._clipboardMonitor.on('change', this._onClipboardTextChange.bind(this));
- this._sendMessageAllTabsIgnoreResponse('Yomichan.backendReady', {});
- this._sendMessageIgnoreResponse({action: 'Yomichan.backendReady', params: {}});
+ this._sendMessageAllTabsIgnoreResponse('Yomitan.backendReady', {});
+ this._sendMessageIgnoreResponse({action: 'Yomitan.backendReady', params: {}});
} catch (e) {
log.error(e);
throw e;
@@ -344,7 +344,7 @@ export class Backend {
}
_onZoomChange({tabId, oldZoomFactor, newZoomFactor}) {
- this._sendMessageTabIgnoreResponse(tabId, {action: 'Yomichan.zoomChanged', params: {oldZoomFactor, newZoomFactor}});
+ this._sendMessageTabIgnoreResponse(tabId, {action: 'Yomitan.zoomChanged', params: {oldZoomFactor, newZoomFactor}});
}
_onPermissionsChanged() {
@@ -360,7 +360,7 @@ export class Backend {
_onApiRequestBackendReadySignal(_params, sender) {
// tab ID isn't set in background (e.g. browser_action)
- const data = {action: 'Yomichan.backendReady', params: {}};
+ const data = {action: 'Yomitan.backendReady', params: {}};
if (typeof sender.tab === 'undefined') {
this._sendMessageIgnoreResponse(data);
return false;
@@ -997,7 +997,7 @@ export class Backend {
this._accessibilityController.update(this._getOptionsFull(false));
- this._sendMessageAllTabsIgnoreResponse('Yomichan.optionsUpdated', {source});
+ this._sendMessageAllTabsIgnoreResponse('Yomitan.optionsUpdated', {source});
}
_getOptionsFull(useSchema=false) {
@@ -1328,11 +1328,11 @@ export class Backend {
_validatePrivilegedMessageSender(sender) {
let {url} = sender;
- if (typeof url === 'string' && yomichan.isExtensionUrl(url)) { return; }
+ if (typeof url === 'string' && yomitan.isExtensionUrl(url)) { return; }
const {tab} = url;
if (typeof tab === 'object' && tab !== null) {
({url} = tab);
- if (typeof url === 'string' && yomichan.isExtensionUrl(url)) { return; }
+ if (typeof url === 'string' && yomitan.isExtensionUrl(url)) { return; }
}
throw new Error('Invalid message sender');
}
@@ -1432,7 +1432,7 @@ export class Backend {
try {
const {url} = await this._sendMessageTabPromise(
tabId,
- {action: 'Yomichan.getUrl', params: {}},
+ {action: 'Yomitan.getUrl', params: {}},
{frameId: 0}
);
if (typeof url === 'string') {
@@ -1568,7 +1568,7 @@ export class Backend {
sender.tab.id !== tabId ||
sender.frameId !== frameId ||
!isObject(message) ||
- message.action !== 'yomichanReady'
+ message.action !== 'yomitanReady'
) {
return;
}
@@ -1589,7 +1589,7 @@ export class Backend {
chrome.runtime.onMessage.addListener(onMessage);
- this._sendMessageTabPromise(tabId, {action: 'Yomichan.isReady'}, {frameId})
+ this._sendMessageTabPromise(tabId, {action: 'Yomitan.isReady'}, {frameId})
.then(
(value) => {
if (!value) { return; }
@@ -1826,7 +1826,7 @@ export class Backend {
let extension = MediaUtil.getFileExtensionFromAudioMediaType(contentType);
if (extension === null) { extension = '.mp3'; }
- let fileName = this._generateAnkiNoteMediaFileName('yomichan_audio', extension, timestamp, definitionDetails);
+ let fileName = this._generateAnkiNoteMediaFileName('yomitan_audio', extension, timestamp, definitionDetails);
fileName = fileName.replace(/\]/g, '');
fileName = await ankiConnect.storeMediaFile(fileName, data);
@@ -1843,7 +1843,7 @@ export class Backend {
throw new Error('Unknown media type for screenshot image');
}
- let fileName = this._generateAnkiNoteMediaFileName('yomichan_browser_screenshot', extension, timestamp, definitionDetails);
+ let fileName = this._generateAnkiNoteMediaFileName('yomitan_browser_screenshot', extension, timestamp, definitionDetails);
fileName = await ankiConnect.storeMediaFile(fileName, data);
return fileName;
@@ -1861,7 +1861,7 @@ export class Backend {
throw new Error('Unknown media type for clipboard image');
}
- let fileName = this._generateAnkiNoteMediaFileName('yomichan_clipboard_image', extension, timestamp, definitionDetails);
+ let fileName = this._generateAnkiNoteMediaFileName('yomitan_clipboard_image', extension, timestamp, definitionDetails);
fileName = await ankiConnect.storeMediaFile(fileName, data);
return fileName;
@@ -1897,7 +1897,7 @@ export class Backend {
if (media !== null) {
const {content, mediaType} = media;
const extension = MediaUtil.getFileExtensionFromImageMediaType(mediaType);
- fileName = this._generateAnkiNoteMediaFileName(`yomichan_dictionary_media_${i + 1}`, extension, timestamp, definitionDetails);
+ fileName = this._generateAnkiNoteMediaFileName(`yomitan_dictionary_media_${i + 1}`, extension, timestamp, definitionDetails);
try {
fileName = await ankiConnect.storeMediaFile(fileName, content);
} catch (e) {
@@ -2015,7 +2015,7 @@ export class Backend {
_triggerDatabaseUpdated(type, cause) {
this._translator.clearDatabaseCaches();
- this._sendMessageAllTabsIgnoreResponse('Yomichan.databaseUpdated', {type, cause});
+ this._sendMessageAllTabsIgnoreResponse('Yomitan.databaseUpdated', {type, cause});
}
async _saveOptions(source) {
diff --git a/ext/js/background/background-main.js b/ext/js/background/background-main.js
index 6c30aa7a..8e32a53f 100644
--- a/ext/js/background/background-main.js
+++ b/ext/js/background/background-main.js
@@ -16,11 +16,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {Backend} from './backend.js';
(() => {
- yomichan.prepare(true);
+ yomitan.prepare(true);
const backend = new Backend();
backend.prepare();
diff --git a/ext/js/background/offscreen.js b/ext/js/background/offscreen.js
index c37cdedc..84ad6141 100644
--- a/ext/js/background/offscreen.js
+++ b/ext/js/background/offscreen.js
@@ -18,7 +18,7 @@
import {ClipboardReader} from '../comm/clipboard-reader.js';
import {invokeMessageHandler} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
/**
* This class controls the core logic of the extension, including API calls
@@ -63,11 +63,11 @@ export class Offscreen {
_validatePrivilegedMessageSender(sender) {
let {url} = sender;
- if (typeof url === 'string' && yomichan.isExtensionUrl(url)) { return; }
+ if (typeof url === 'string' && yomitan.isExtensionUrl(url)) { return; }
const {tab} = url;
if (typeof tab === 'object' && tab !== null) {
({url} = tab);
- if (typeof url === 'string' && yomichan.isExtensionUrl(url)) { return; }
+ if (typeof url === 'string' && yomitan.isExtensionUrl(url)) { return; }
}
throw new Error('Invalid message sender');
}
diff --git a/ext/js/comm/api.js b/ext/js/comm/api.js
index 8e5cd5cc..05f95464 100644
--- a/ext/js/comm/api.js
+++ b/ext/js/comm/api.js
@@ -19,8 +19,8 @@
import {deferPromise, deserializeError, isObject} from '../core.js';
export class API {
- constructor(yomichan) {
- this._yomichan = yomichan;
+ constructor(yomitan) {
+ this._yomitan = yomitan;
}
optionsGet(optionsContext) {
@@ -299,7 +299,7 @@ export class API {
const data = {action, params};
return new Promise((resolve, reject) => {
try {
- this._yomichan.sendMessage(data, (response) => {
+ this._yomitan.sendMessage(data, (response) => {
this._checkLastError(chrome.runtime.lastError);
if (response !== null && typeof response === 'object') {
if (typeof response.error !== 'undefined') {
diff --git a/ext/js/comm/cross-frame-api.js b/ext/js/comm/cross-frame-api.js
index c7d9ae68..fe220f21 100644
--- a/ext/js/comm/cross-frame-api.js
+++ b/ext/js/comm/cross-frame-api.js
@@ -17,7 +17,7 @@
*/
import {EventDispatcher, EventListenerCollection, deserializeError, invokeMessageHandler, log, serializeError} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
class CrossFrameAPIPort extends EventDispatcher {
constructor(otherTabId, otherFrameId, port, messageHandlers) {
@@ -233,7 +233,7 @@ export class CrossFrameAPI {
async prepare() {
chrome.runtime.onConnect.addListener(this._onConnect.bind(this));
- ({tabId: this._tabId, frameId: this._frameId} = await yomichan.api.frameInformationGet());
+ ({tabId: this._tabId, frameId: this._frameId} = await yomitan.api.frameInformationGet());
}
invoke(targetFrameId, action, params={}) {
@@ -304,7 +304,7 @@ export class CrossFrameAPI {
}
async _createCommPort(otherTabId, otherFrameId) {
- await yomichan.api.openCrossFramePort(otherTabId, otherFrameId);
+ await yomitan.api.openCrossFramePort(otherTabId, otherFrameId);
const tabPorts = this._commPorts.get(otherTabId);
if (typeof tabPorts !== 'undefined') {
diff --git a/ext/js/comm/frame-ancestry-handler.js b/ext/js/comm/frame-ancestry-handler.js
index 1934c4ac..eeefac3f 100644
--- a/ext/js/comm/frame-ancestry-handler.js
+++ b/ext/js/comm/frame-ancestry-handler.js
@@ -17,7 +17,7 @@
*/
import {generateId} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
/**
* This class is used to return the ancestor frame IDs for the current frame.
@@ -118,7 +118,7 @@ export class FrameAncestryHandler {
clearTimeout(timer);
timer = null;
}
- yomichan.crossFrame.unregisterHandler(responseMessageId);
+ yomitan.crossFrame.unregisterHandler(responseMessageId);
};
const onMessage = (params) => {
if (params.nonce !== nonce) { return null; }
@@ -148,7 +148,7 @@ export class FrameAncestryHandler {
};
// Start
- yomichan.crossFrame.registerHandlers([[responseMessageId, {async: false, handler: onMessage}]]);
+ yomitan.crossFrame.registerHandlers([[responseMessageId, {async: false, handler: onMessage}]]);
resetTimeout();
const frameId = this._frameId;
this._requestFrameInfo(targetWindow, frameId, frameId, uniqueId, nonce);
@@ -187,7 +187,7 @@ export class FrameAncestryHandler {
const responseMessageId = `${this._responseMessageIdBase}${uniqueId}`;
try {
- const response = await yomichan.crossFrame.invoke(originFrameId, responseMessageId, responseParams);
+ const response = await yomitan.crossFrame.invoke(originFrameId, responseMessageId, responseParams);
if (response === null) { return; }
nonce = response.nonce;
} catch (e) {
diff --git a/ext/js/comm/frame-endpoint.js b/ext/js/comm/frame-endpoint.js
index 0e8a5c00..5555e60f 100644
--- a/ext/js/comm/frame-endpoint.js
+++ b/ext/js/comm/frame-endpoint.js
@@ -17,7 +17,7 @@
*/
import {EventListenerCollection, generateId, isObject} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class FrameEndpoint {
constructor() {
@@ -32,7 +32,7 @@ export class FrameEndpoint {
this._eventListeners.addEventListener(window, 'message', this._onMessage.bind(this), false);
this._eventListenersSetup = true;
}
- yomichan.api.broadcastTab('frameEndpointReady', {secret: this._secret});
+ yomitan.api.broadcastTab('frameEndpointReady', {secret: this._secret});
}
authenticate(message) {
@@ -60,6 +60,6 @@ export class FrameEndpoint {
this._token = token;
this._eventListeners.removeAllEventListeners();
- yomichan.api.sendMessageToFrame(hostFrameId, 'frameEndpointConnected', {secret, token});
+ yomitan.api.sendMessageToFrame(hostFrameId, 'frameEndpointConnected', {secret, token});
}
}
diff --git a/ext/js/comm/frame-offset-forwarder.js b/ext/js/comm/frame-offset-forwarder.js
index 5eea2ba6..ef75f1d0 100644
--- a/ext/js/comm/frame-offset-forwarder.js
+++ b/ext/js/comm/frame-offset-forwarder.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {FrameAncestryHandler} from './frame-ancestry-handler.js';
export class FrameOffsetForwarder {
@@ -27,7 +27,7 @@ export class FrameOffsetForwarder {
prepare() {
this._frameAncestryHandler.prepare();
- yomichan.crossFrame.registerHandlers([
+ yomitan.crossFrame.registerHandlers([
['FrameOffsetForwarder.getChildFrameRect', {async: false, handler: this._onMessageGetChildFrameRect.bind(this)}]
]);
}
@@ -43,7 +43,7 @@ export class FrameOffsetForwarder {
let childFrameId = this._frameId;
const promises = [];
for (const frameId of ancestorFrameIds) {
- promises.push(yomichan.crossFrame.invoke(frameId, 'FrameOffsetForwarder.getChildFrameRect', {frameId: childFrameId}));
+ promises.push(yomitan.crossFrame.invoke(frameId, 'FrameOffsetForwarder.getChildFrameRect', {frameId: childFrameId}));
childFrameId = frameId;
}
diff --git a/ext/js/comm/mecab.js b/ext/js/comm/mecab.js
index 50f13ddf..c7314605 100644
--- a/ext/js/comm/mecab.js
+++ b/ext/js/comm/mecab.js
@@ -19,7 +19,7 @@
import {EventListenerCollection} from '../core.js';
/**
- * This class is used to connect Yomichan to a native component that is
+ * This class is used to connect Yomitan to a native component that is
* used to parse text into individual terms.
*/
export class Mecab {
@@ -99,7 +99,7 @@ export class Mecab {
/**
* Gets the local API version being used.
- * @returns {number} An integer representing the API version that Yomichan uses.
+ * @returns {number} An integer representing the API version that Yomitan uses.
*/
getLocalVersion() {
return this._version;
@@ -219,7 +219,7 @@ export class Mecab {
}
async _setupPort2() {
- const port = chrome.runtime.connectNative('yomichan_mecab');
+ const port = chrome.runtime.connectNative('yomitan_mecab');
this._eventListeners.addListener(port.onMessage, this._onMessage.bind(this));
this._eventListeners.addListener(port.onDisconnect, this._onDisconnect.bind(this));
this._port = port;
@@ -228,7 +228,7 @@ export class Mecab {
const {version} = await this._invoke('get_version', {});
this._remoteVersion = version;
if (version !== this._version) {
- throw new Error(`Unsupported MeCab native messenger version ${version}. Yomichan supports version ${this._version}.`);
+ throw new Error(`Unsupported MeCab native messenger version ${version}. Yomitan supports version ${this._version}.`);
}
} catch (e) {
if (this._port === port) {
diff --git a/ext/js/data/anki-note-builder.js b/ext/js/data/anki-note-builder.js
index 7fbbf03c..398036c0 100644
--- a/ext/js/data/anki-note-builder.js
+++ b/ext/js/data/anki-note-builder.js
@@ -18,7 +18,7 @@
import {deferPromise, deserializeError} from '../core.js';
import {TemplateRendererProxy} from '../templates/template-renderer-proxy.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {AnkiUtil} from './anki-util.js';
export class AnkiNoteBuilder {
@@ -345,7 +345,7 @@ export class AnkiNoteBuilder {
// Inject media
const selectionText = injectSelectionText ? this._getSelectionText() : null;
- const injectedMedia = await yomichan.api.injectAnkiNoteMedia(
+ const injectedMedia = await yomitan.api.injectAnkiNoteMedia(
timestamp,
dictionaryEntryDetails,
audioDetails,
@@ -386,7 +386,7 @@ export class AnkiNoteBuilder {
async _getTextFurigana(entries, optionsContext, scanLength) {
const results = [];
for (const {text, readingMode} of entries) {
- const parseResults = await yomichan.api.parseText(text, optionsContext, scanLength, true, false);
+ const parseResults = await yomitan.api.parseText(text, optionsContext, scanLength, true, false);
let data = null;
for (const {source, content} of parseResults) {
if (source !== 'scanning-parser') { continue; }
diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js
index 42e31b5f..3858cb55 100644
--- a/ext/js/data/options-util.js
+++ b/ext/js/data/options-util.js
@@ -330,7 +330,7 @@ export class OptionsUtil {
anki: {
enable: false,
server: 'http://127.0.0.1:8765',
- tags: ['yomichan'],
+ tags: ['yomitan'],
sentenceExt: 200,
screenshot: {format: 'png', quality: 92},
terms: {deck: '', model: '', fields: {}},
diff --git a/ext/js/display/display-anki.js b/ext/js/display/display-anki.js
index a25008a2..2f94e414 100644
--- a/ext/js/display/display-anki.js
+++ b/ext/js/display/display-anki.js
@@ -20,7 +20,7 @@ import {EventListenerCollection, deferPromise, isObject} from '../core.js';
import {AnkiNoteBuilder} from '../data/anki-note-builder.js';
import {AnkiUtil} from '../data/anki-util.js';
import {PopupMenu} from '../dom/popup-menu.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class DisplayAnki {
constructor(display, displayAudio, japaneseUtil) {
@@ -377,7 +377,7 @@ export class DisplayAnki {
let noteId = null;
let addNoteOkay = false;
try {
- noteId = await yomichan.api.addAnkiNote(note);
+ noteId = await yomitan.api.addAnkiNote(note);
addNoteOkay = true;
} catch (e) {
allErrors.length = 0;
@@ -390,7 +390,7 @@ export class DisplayAnki {
} else {
if (this._suspendNewCards) {
try {
- await yomichan.api.suspendAnkiCardsForNote(noteId);
+ await yomitan.api.suspendAnkiCardsForNote(noteId);
} catch (e) {
allErrors.push(e);
}
@@ -475,7 +475,7 @@ export class DisplayAnki {
templates = this._ankiFieldTemplatesDefault;
if (typeof templates === 'string') { return templates; }
- templates = await yomichan.api.getDefaultAnkiFieldTemplates();
+ templates = await yomitan.api.getDefaultAnkiFieldTemplates();
this._ankiFieldTemplatesDefault = templates;
return templates;
}
@@ -505,12 +505,12 @@ export class DisplayAnki {
let ankiError = null;
try {
if (forceCanAddValue !== null) {
- if (!await yomichan.api.isAnkiConnected()) {
+ if (!await yomitan.api.isAnkiConnected()) {
throw new Error('Anki not connected');
}
infos = this._getAnkiNoteInfoForceValue(notes, forceCanAddValue);
} else {
- infos = await yomichan.api.getAnkiNoteInfo(notes, fetchAdditionalInfo);
+ infos = await yomitan.api.getAnkiNoteInfo(notes, fetchAdditionalInfo);
}
} catch (e) {
infos = this._getAnkiNoteInfoForceValue(notes, false);
@@ -663,7 +663,7 @@ export class DisplayAnki {
const noteIds = this._getNodeNoteIds(node);
if (noteIds.length === 0) { return; }
try {
- await yomichan.api.noteView(noteIds[0], this._noteGuiMode, false);
+ await yomitan.api.noteView(noteIds[0], this._noteGuiMode, false);
} catch (e) {
const displayErrors = (
e.message === 'Mode not supported' ?
diff --git a/ext/js/display/display-audio.js b/ext/js/display/display-audio.js
index b829dd1a..faed88bc 100644
--- a/ext/js/display/display-audio.js
+++ b/ext/js/display/display-audio.js
@@ -19,7 +19,7 @@
import {EventListenerCollection} from '../core.js';
import {PopupMenu} from '../dom/popup-menu.js';
import {AudioSystem} from '../media/audio-system.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class DisplayAudio {
constructor(display) {
@@ -531,7 +531,7 @@ export class DisplayAudio {
async _getTermAudioInfoList(source, term, reading) {
const sourceData = this._getSourceData(source);
- const infoList = await yomichan.api.getTermAudioInfoList(sourceData, term, reading);
+ const infoList = await yomitan.api.getTermAudioInfoList(sourceData, term, reading);
return infoList.map((info) => ({info, audioPromise: null, audioResolved: false, audio: null}));
}
diff --git a/ext/js/display/display-content-manager.js b/ext/js/display/display-content-manager.js
index 6cba1783..fb2e7db5 100644
--- a/ext/js/display/display-content-manager.js
+++ b/ext/js/display/display-content-manager.js
@@ -18,7 +18,7 @@
import {EventListenerCollection} from '../core.js';
import {ArrayBufferUtil} from '../data/sandbox/array-buffer-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
/**
* A callback used when a media file has been loaded.
@@ -138,7 +138,7 @@ export class DisplayContentManager {
async _getMediaData(path, dictionary, cachedData) {
const token = this._token;
- const data = (await yomichan.api.getMedia([{path, dictionary}]))[0];
+ const data = (await yomitan.api.getMedia([{path, dictionary}]))[0];
if (token === this._token && data !== null) {
const buffer = ArrayBufferUtil.base64ToArrayBuffer(data.content);
const blob = new Blob([buffer], {type: data.mediaType});
diff --git a/ext/js/display/display-generator.js b/ext/js/display/display-generator.js
index 25df9745..e8a2104f 100644
--- a/ext/js/display/display-generator.js
+++ b/ext/js/display/display-generator.js
@@ -19,7 +19,7 @@
import {isObject} from '../core.js';
import {HtmlTemplateCollection} from '../dom/html-template-collection.js';
import {DictionaryDataUtil} from '../language/sandbox/dictionary-data-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {PronunciationGenerator} from './sandbox/pronunciation-generator.js';
import {StructuredContentGenerator} from './sandbox/structured-content-generator.js';
@@ -34,7 +34,7 @@ export class DisplayGenerator {
}
async prepare() {
- const html = await yomichan.api.getDisplayTemplatesHtml();
+ const html = await yomitan.api.getDisplayTemplatesHtml();
this._templates = new HtmlTemplateCollection(html);
this.updateHotkeys();
}
diff --git a/ext/js/display/display-profile-selection.js b/ext/js/display/display-profile-selection.js
index c0b642e8..d8b7185c 100644
--- a/ext/js/display/display-profile-selection.js
+++ b/ext/js/display/display-profile-selection.js
@@ -18,7 +18,7 @@
import {EventListenerCollection, generateId} from '../core.js';
import {PanelElement} from '../dom/panel-element.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class DisplayProfileSelection {
constructor(display) {
@@ -35,7 +35,7 @@ export class DisplayProfileSelection {
}
async prepare() {
- yomichan.on('optionsUpdated', this._onOptionsUpdated.bind(this));
+ yomitan.on('optionsUpdated', this._onOptionsUpdated.bind(this));
this._profileButton.addEventListener('click', this._onProfileButtonClick.bind(this), false);
this._profileListNeedsUpdate = true;
}
@@ -67,7 +67,7 @@ export class DisplayProfileSelection {
async _updateProfileList() {
this._profileListNeedsUpdate = false;
- const options = await yomichan.api.optionsGetFull();
+ const options = await yomitan.api.optionsGetFull();
this._eventListeners.removeAllEventListeners();
const displayGenerator = this._display.displayGenerator;
@@ -95,7 +95,7 @@ export class DisplayProfileSelection {
}
async _setProfileCurrent(index) {
- await yomichan.api.modifySettings([{
+ await yomitan.api.modifySettings([{
action: 'set',
path: 'profileCurrent',
value: index,
diff --git a/ext/js/display/display.js b/ext/js/display/display.js
index b86b877d..038a76bb 100644
--- a/ext/js/display/display.js
+++ b/ext/js/display/display.js
@@ -26,7 +26,7 @@ import {ScrollElement} from '../dom/scroll-element.js';
import {HotkeyHelpController} from '../input/hotkey-help-controller.js';
import {TextScanner} from '../language/text-scanner.js';
import {dynamicLoader} from '../script/dynamic-loader.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {DisplayContentManager} from './display-content-manager.js';
import {DisplayGenerator} from './display-generator.js';
import {DisplayHistory} from './display-history.js';
@@ -260,7 +260,7 @@ export class Display extends EventDispatcher {
// State setup
const {documentElement} = document;
- const {browser} = await yomichan.api.getEnvironmentInfo();
+ const {browser} = await yomitan.api.getEnvironmentInfo();
this._browser = browser;
if (documentElement !== null) {
@@ -278,8 +278,8 @@ export class Display extends EventDispatcher {
this._history.on('stateChanged', this._onStateChanged.bind(this));
this._queryParser.on('searched', this._onQueryParserSearch.bind(this));
this._progressIndicatorVisible.on('change', this._onProgressIndicatorVisibleChanged.bind(this));
- yomichan.on('extensionUnloaded', this._onExtensionUnloaded.bind(this));
- yomichan.crossFrame.registerHandlers([
+ yomitan.on('extensionUnloaded', this._onExtensionUnloaded.bind(this));
+ yomitan.crossFrame.registerHandlers([
['popupMessage', {async: 'dynamic', handler: this._onDirectMessage.bind(this)}]
]);
window.addEventListener('message', this._onWindowMessage.bind(this), false);
@@ -326,7 +326,7 @@ export class Display extends EventDispatcher {
}
onError(error) {
- if (yomichan.isExtensionUnloaded) { return; }
+ if (yomitan.isExtensionUnloaded) { return; }
log.error(error);
}
@@ -344,7 +344,7 @@ export class Display extends EventDispatcher {
}
async updateOptions() {
- const options = await yomichan.api.optionsGet(this.getOptionsContext());
+ const options = await yomitan.api.optionsGet(this.getOptionsContext());
const {scanning: scanningOptions, sentenceParsing: sentenceParsingOptions} = options;
this._options = options;
@@ -494,14 +494,14 @@ export class Display extends EventDispatcher {
if (this._contentOriginTabId === this._tabId && this._contentOriginFrameId === this._frameId) {
throw new Error('Content origin is same page');
}
- return await yomichan.crossFrame.invokeTab(this._contentOriginTabId, this._contentOriginFrameId, action, params);
+ return await yomitan.crossFrame.invokeTab(this._contentOriginTabId, this._contentOriginFrameId, action, params);
}
async invokeParentFrame(action, params={}) {
if (this._parentFrameId === null || this._parentFrameId === this._frameId) {
throw new Error('Invalid parent frame');
}
- return await yomichan.crossFrame.invoke(this._parentFrameId, action, params);
+ return await yomitan.crossFrame.invoke(this._parentFrameId, action, params);
}
getElementDictionaryEntryIndex(element) {
@@ -586,8 +586,8 @@ export class Display extends EventDispatcher {
}
_onMessageExtensionUnloaded() {
- if (yomichan.isExtensionUnloaded) { return; }
- yomichan.triggerExtensionUnloaded();
+ if (yomitan.isExtensionUnloaded) { return; }
+ yomitan.triggerExtensionUnloaded();
}
// Private
@@ -736,7 +736,7 @@ export class Display extends EventDispatcher {
if (typeof documentTitle !== 'string') { documentTitle = document.title; }
const optionsContext = this.getOptionsContext();
const query = e.currentTarget.textContent;
- const dictionaryEntries = await yomichan.api.kanjiFind(query, optionsContext);
+ const dictionaryEntries = await yomitan.api.kanjiFind(query, optionsContext);
const details = {
focus: false,
historyMode: 'new',
@@ -914,7 +914,7 @@ export class Display extends EventDispatcher {
async _findDictionaryEntries(isKanji, source, wildcardsEnabled, optionsContext) {
if (isKanji) {
- const dictionaryEntries = await yomichan.api.kanjiFind(source, optionsContext);
+ const dictionaryEntries = await yomitan.api.kanjiFind(source, optionsContext);
return dictionaryEntries;
} else {
const findDetails = {};
@@ -932,7 +932,7 @@ export class Display extends EventDispatcher {
}
}
- const {dictionaryEntries} = await yomichan.api.termsFind(source, findDetails, optionsContext);
+ const {dictionaryEntries} = await yomitan.api.termsFind(source, findDetails, optionsContext);
return dictionaryEntries;
}
}
@@ -1334,7 +1334,7 @@ export class Display extends EventDispatcher {
}
_closePopups() {
- yomichan.trigger('closePopups');
+ yomitan.trigger('closePopups');
}
async _setOptionsContextIfDifferent(optionsContext) {
@@ -1549,7 +1549,7 @@ export class Display extends EventDispatcher {
}
_onContentTextScannerSearched({type, dictionaryEntries, sentence, textSource, optionsContext, error}) {
- if (error !== null && !yomichan.isExtensionUnloaded) {
+ if (error !== null && !yomitan.isExtensionUnloaded) {
log.error(error);
}
diff --git a/ext/js/display/option-toggle-hotkey-handler.js b/ext/js/display/option-toggle-hotkey-handler.js
index 360b0894..1f8de939 100644
--- a/ext/js/display/option-toggle-hotkey-handler.js
+++ b/ext/js/display/option-toggle-hotkey-handler.js
@@ -17,7 +17,7 @@
*/
import {deserializeError} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class OptionToggleHotkeyHandler {
constructor(display) {
@@ -52,7 +52,7 @@ export class OptionToggleHotkeyHandler {
try {
const optionsContext = this._display.getOptionsContext();
- const result = (await yomichan.api.getSettings([{
+ const result = (await yomitan.api.getSettings([{
scope: 'profile',
path,
optionsContext
@@ -69,7 +69,7 @@ export class OptionToggleHotkeyHandler {
value = !value;
- const result2 = (await yomichan.api.modifySettings([{
+ const result2 = (await yomitan.api.modifySettings([{
scope: 'profile',
action: 'set',
path,
diff --git a/ext/js/display/popup-main.js b/ext/js/display/popup-main.js
index b82458fa..6b07b63f 100644
--- a/ext/js/display/popup-main.js
+++ b/ext/js/display/popup-main.js
@@ -20,7 +20,7 @@ import {log} from '../core.js';
import {DocumentFocusController} from '../dom/document-focus-controller.js';
import {HotkeyHandler} from '../input/hotkey-handler.js';
import {JapaneseUtil} from '../language/sandbox/japanese-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {DisplayAnki} from './display-anki.js';
import {DisplayAudio} from './display-audio.js';
import {DisplayProfileSelection} from './display-profile-selection.js';
@@ -32,9 +32,9 @@ import {Display} from './display.js';
const documentFocusController = new DocumentFocusController();
documentFocusController.prepare();
- await yomichan.prepare();
+ await yomitan.prepare();
- const {tabId, frameId} = await yomichan.api.frameInformationGet();
+ const {tabId, frameId} = await yomitan.api.frameInformationGet();
const japaneseUtil = new JapaneseUtil(null);
@@ -60,7 +60,7 @@ import {Display} from './display.js';
document.documentElement.dataset.loaded = 'true';
- yomichan.ready();
+ yomitan.ready();
} catch (e) {
log.error(e);
}
diff --git a/ext/js/display/query-parser.js b/ext/js/display/query-parser.js
index 6eee55b2..85ec3031 100644
--- a/ext/js/display/query-parser.js
+++ b/ext/js/display/query-parser.js
@@ -18,7 +18,7 @@
import {EventDispatcher, log} from '../core.js';
import {TextScanner} from '../language/text-scanner.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class QueryParser extends EventDispatcher {
constructor({getSearchContext, japaneseUtil}) {
@@ -93,7 +93,7 @@ export class QueryParser extends EventDispatcher {
const token = {};
this._setTextToken = token;
- this._parseResults = await yomichan.api.parseText(text, this._getOptionsContext(), this._scanLength, this._useInternalParser, this._useMecabParser);
+ this._parseResults = await yomitan.api.parseText(text, this._getOptionsContext(), this._scanLength, this._useInternalParser, this._useMecabParser);
if (this._setTextToken !== token) { return; }
this._refreshSelectedParser();
@@ -139,7 +139,7 @@ export class QueryParser extends EventDispatcher {
_setSelectedParser(value) {
const optionsContext = this._getOptionsContext();
- yomichan.api.modifySettings([{
+ yomitan.api.modifySettings([{
action: 'set',
path: 'parsing.selectedParser',
value,
diff --git a/ext/js/display/search-display-controller.js b/ext/js/display/search-display-controller.js
index 9e190c85..e31bd239 100644
--- a/ext/js/display/search-display-controller.js
+++ b/ext/js/display/search-display-controller.js
@@ -19,7 +19,7 @@
import * as wanakana from '../../lib/wanakana.js';
import {ClipboardMonitor} from '../comm/clipboard-monitor.js';
import {EventListenerCollection, invokeMessageHandler} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class SearchDisplayController {
constructor(tabId, frameId, display, displayAudio, japaneseUtil, searchPersistentStateController) {
@@ -44,7 +44,7 @@ export class SearchDisplayController {
this._clipboardMonitor = new ClipboardMonitor({
japaneseUtil,
clipboardReader: {
- getText: yomichan.api.clipboardGet.bind(yomichan.api)
+ getText: yomitan.api.clipboardGet.bind(yomitan.api)
}
});
this._messageHandlers = new Map();
@@ -56,7 +56,7 @@ export class SearchDisplayController {
this._searchPersistentStateController.on('modeChange', this._onModeChange.bind(this));
chrome.runtime.onMessage.addListener(this._onMessage.bind(this));
- yomichan.on('optionsUpdated', this._onOptionsUpdated.bind(this));
+ yomitan.on('optionsUpdated', this._onOptionsUpdated.bind(this));
this._display.on('optionsUpdated', this._onDisplayOptionsUpdated.bind(this));
this._display.on('contentUpdateStart', this._onContentUpdateStart.bind(this));
@@ -225,7 +225,7 @@ export class SearchDisplayController {
_onWanakanaEnableChange(e) {
const value = e.target.checked;
this._setWanakanaEnabled(value);
- yomichan.api.modifySettings([{
+ yomitan.api.modifySettings([{
action: 'set',
path: 'general.enableWanakana',
value,
@@ -335,7 +335,7 @@ export class SearchDisplayController {
if (!modify) { return; }
- await yomichan.api.modifySettings([{
+ await yomitan.api.modifySettings([{
action: 'set',
path: 'clipboard.enableSearchPageMonitor',
value,
diff --git a/ext/js/display/search-main.js b/ext/js/display/search-main.js
index 67552229..5eee08d1 100644
--- a/ext/js/display/search-main.js
+++ b/ext/js/display/search-main.js
@@ -21,7 +21,7 @@ import {log} from '../core.js';
import {DocumentFocusController} from '../dom/document-focus-controller.js';
import {HotkeyHandler} from '../input/hotkey-handler.js';
import {JapaneseUtil} from '../language/sandbox/japanese-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {DisplayAnki} from './display-anki.js';
import {DisplayAudio} from './display-audio.js';
import {Display} from './display.js';
@@ -40,9 +40,9 @@ import {SearchPersistentStateController} from './search-persistent-state-control
const searchActionPopupController = new SearchActionPopupController(searchPersistentStateController);
searchActionPopupController.prepare();
- await yomichan.prepare();
+ await yomitan.prepare();
- const {tabId, frameId} = await yomichan.api.frameInformationGet();
+ const {tabId, frameId} = await yomitan.api.frameInformationGet();
const japaneseUtil = new JapaneseUtil(wanakana);
@@ -65,7 +65,7 @@ import {SearchPersistentStateController} from './search-persistent-state-control
document.documentElement.dataset.loaded = 'true';
- yomichan.ready();
+ yomitan.ready();
} catch (e) {
log.error(e);
}
diff --git a/ext/js/input/hotkey-handler.js b/ext/js/input/hotkey-handler.js
index f05351bb..2fd35a5c 100644
--- a/ext/js/input/hotkey-handler.js
+++ b/ext/js/input/hotkey-handler.js
@@ -18,7 +18,7 @@
import {EventDispatcher, EventListenerCollection} from '../core.js';
import {DocumentUtil} from '../dom/document-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
/**
* Class which handles hotkey events and actions.
@@ -53,7 +53,7 @@ export class HotkeyHandler extends EventDispatcher {
prepare() {
this._isPrepared = true;
this._updateEventHandlers();
- yomichan.crossFrame.registerHandlers([
+ yomitan.crossFrame.registerHandlers([
['HotkeyHandler.forwardHotkey', {async: false, handler: this._onMessageForwardHotkey.bind(this)}]
]);
}
diff --git a/ext/js/input/hotkey-help-controller.js b/ext/js/input/hotkey-help-controller.js
index 67df9f84..51ec8fac 100644
--- a/ext/js/input/hotkey-help-controller.js
+++ b/ext/js/input/hotkey-help-controller.js
@@ -17,7 +17,7 @@
*/
import {isObject} from '../core.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {HotkeyUtil} from './hotkey-util.js';
export class HotkeyHelpController {
@@ -29,7 +29,7 @@ export class HotkeyHelpController {
}
async prepare() {
- const {platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {platform: {os}} = await yomitan.api.getEnvironmentInfo();
this._hotkeyUtil.os = os;
await this._setupGlobalCommands(this._globalActionHotkeys);
}
diff --git a/ext/js/language/text-scanner.js b/ext/js/language/text-scanner.js
index bd5b0fbe..ac7ef3d9 100644
--- a/ext/js/language/text-scanner.js
+++ b/ext/js/language/text-scanner.js
@@ -18,7 +18,7 @@
import {EventDispatcher, EventListenerCollection, clone, isObject, log, promiseTimeout} from '../core.js';
import {DocumentUtil} from '../dom/document-util.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class TextScanner extends EventDispatcher {
constructor({
@@ -89,7 +89,7 @@ export class TextScanner extends EventDispatcher {
this._canClearSelection = true;
this._textSelectionTimer = null;
- this._yomichanIsChangingTextSelectionNow = false;
+ this._yomitanIsChangingTextSelectionNow = false;
this._userHasNotSelectedAnythingManually = true;
}
@@ -270,13 +270,13 @@ export class TextScanner extends EventDispatcher {
setCurrentTextSource(textSource) {
this._textSourceCurrent = textSource;
if (this._selectText && this._userHasNotSelectedAnythingManually) {
- this._yomichanIsChangingTextSelectionNow = true;
+ this._yomitanIsChangingTextSelectionNow = true;
this._textSourceCurrent.select();
if (this._textSelectionTimer !== null) { clearTimeout(this._textSelectionTimer); }
// This timeout uses a 50ms delay to ensure that the selectionchange event has time to occur.
// If the delay is 0ms, the timeout will sometimes complete before the event.
this._textSelectionTimer = setTimeout(() => {
- this._yomichanIsChangingTextSelectionNow = false;
+ this._yomitanIsChangingTextSelectionNow = false;
this._textSelectionTimer = null;
}, 50);
this._textSourceCurrentSelected = true;
@@ -390,7 +390,7 @@ export class TextScanner extends EventDispatcher {
}
_onSelectionChangeCheckUserSelection() {
- if (this._yomichanIsChangingTextSelectionNow) { return; }
+ if (this._yomitanIsChangingTextSelectionNow) { return; }
this._userHasNotSelectedAnythingManually = window.getSelection().isCollapsed;
}
@@ -881,7 +881,7 @@ export class TextScanner extends EventDispatcher {
const details = {};
if (this._matchTypePrefix) { details.matchType = 'prefix'; }
- const {dictionaryEntries, originalTextLength} = await yomichan.api.termsFind(searchText, details, optionsContext);
+ const {dictionaryEntries, originalTextLength} = await yomitan.api.termsFind(searchText, details, optionsContext);
if (dictionaryEntries.length === 0) { return null; }
textSource.setEndOffset(originalTextLength, false, layoutAwareScan);
@@ -908,7 +908,7 @@ export class TextScanner extends EventDispatcher {
const searchText = this.getTextSourceContent(textSource, 1, layoutAwareScan);
if (searchText.length === 0) { return null; }
- const dictionaryEntries = await yomichan.api.kanjiFind(searchText, optionsContext);
+ const dictionaryEntries = await yomitan.api.kanjiFind(searchText, optionsContext);
if (dictionaryEntries.length === 0) { return null; }
textSource.setEndOffset(1, false, layoutAwareScan);
@@ -1145,7 +1145,7 @@ export class TextScanner extends EventDispatcher {
async _hasJapanese(text) {
try {
- return await yomichan.api.textHasJapaneseCharacters(text);
+ return await yomitan.api.textHasJapaneseCharacters(text);
} catch (e) {
return false;
}
diff --git a/ext/js/pages/action-popup-main.js b/ext/js/pages/action-popup-main.js
index 163c226a..32bfcb7f 100644
--- a/ext/js/pages/action-popup-main.js
+++ b/ext/js/pages/action-popup-main.js
@@ -18,7 +18,7 @@
import {PermissionsUtil} from '../data/permissions-util.js';
import {HotkeyHelpController} from '../input/hotkey-help-controller.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export class DisplayController {
constructor() {
@@ -34,7 +34,7 @@ export class DisplayController {
this._setupButtonEvents('.action-open-search', 'openSearchPage', chrome.runtime.getURL('/search.html'), this._onSearchClick.bind(this));
this._setupButtonEvents('.action-open-info', 'openInfoPage', chrome.runtime.getURL('/info.html'));
- const optionsFull = await yomichan.api.optionsGetFull();
+ const optionsFull = await yomitan.api.optionsGetFull();
this._optionsFull = optionsFull;
this._setupHotkeys();
@@ -84,12 +84,12 @@ export class DisplayController {
const result = customHandler(e);
if (typeof result !== 'undefined') { return; }
}
- yomichan.api.commandExec(command, {mode: e.ctrlKey ? 'newTab' : 'existingOrNewTab'});
+ yomitan.api.commandExec(command, {mode: e.ctrlKey ? 'newTab' : 'existingOrNewTab'});
e.preventDefault();
}, false);
node.addEventListener('auxclick', (e) => {
if (e.button !== 1) { return; }
- yomichan.api.commandExec(command, {mode: 'newTab'});
+ yomitan.api.commandExec(command, {mode: 'newTab'});
e.preventDefault();
}, false);
}
@@ -144,7 +144,7 @@ export class DisplayController {
_setupOptions({options}) {
const extensionEnabled = options.general.enable;
- const onToggleChanged = () => yomichan.api.commandExec('toggleTextScanning');
+ const onToggleChanged = () => yomitan.api.commandExec('toggleTextScanning');
for (const toggle of document.querySelectorAll('#enable-search,#enable-search2')) {
toggle.checked = extensionEnabled;
toggle.addEventListener('change', onToggleChanged, false);
@@ -192,7 +192,7 @@ export class DisplayController {
}
async _setPrimaryProfileIndex(value) {
- return await yomichan.api.modifySettings(
+ return await yomitan.api.modifySettings(
[{
action: 'set',
path: 'profileCurrent',
@@ -204,7 +204,7 @@ export class DisplayController {
async _updateDictionariesEnabledWarnings(options) {
const noDictionariesEnabledWarnings = document.querySelectorAll('.no-dictionaries-enabled-warning');
- const dictionaries = await yomichan.api.getDictionaryInfo();
+ const dictionaries = await yomitan.api.getDictionaryInfo();
const enabledDictionaries = new Set();
for (const {name, enabled} of options.dictionaries) {
@@ -237,18 +237,18 @@ export class DisplayController {
}
async _isSafari() {
- const {browser} = await yomichan.api.getEnvironmentInfo();
+ const {browser} = await yomitan.api.getEnvironmentInfo();
return browser === 'safari';
}
}
(async () => {
- await yomichan.prepare();
+ await yomitan.prepare();
- yomichan.api.logIndicatorClear();
+ yomitan.api.logIndicatorClear();
const displayController = new DisplayController();
displayController.prepare();
- yomichan.ready();
+ yomitan.ready();
})();
diff --git a/ext/js/pages/info-main.js b/ext/js/pages/info-main.js
index 58366d4c..7c6bc993 100644
--- a/ext/js/pages/info-main.js
+++ b/ext/js/pages/info-main.js
@@ -18,7 +18,7 @@
import {log, promiseTimeout} from '../core.js';
import {DocumentFocusController} from '../dom/document-focus-controller.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {BackupController} from './settings/backup-controller.js';
import {SettingsController} from './settings/settings-controller.js';
@@ -54,11 +54,11 @@ function getOperatingSystemDisplayName(os) {
const manifest = chrome.runtime.getManifest();
const language = chrome.i18n.getUILanguage();
- await yomichan.prepare();
+ await yomitan.prepare();
const {userAgent} = navigator;
const {name, version} = manifest;
- const {browser, platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {browser, platform: {os}} = await yomitan.api.getEnvironmentInfo();
const thisVersionLink = document.querySelector('#release-notes-this-version-link');
thisVersionLink.href = thisVersionLink.dataset.hrefFormat.replace(/\{version\}/g, version);
@@ -72,7 +72,7 @@ function getOperatingSystemDisplayName(os) {
(async () => {
let ankiConnectVersion = null;
try {
- ankiConnectVersion = await yomichan.api.getAnkiConnectVersion();
+ ankiConnectVersion = await yomitan.api.getAnkiConnectVersion();
} catch (e) {
// NOP
}
@@ -85,7 +85,7 @@ function getOperatingSystemDisplayName(os) {
(async () => {
let dictionaryInfos;
try {
- dictionaryInfos = await yomichan.api.getDictionaryInfo();
+ dictionaryInfos = await yomitan.api.getDictionaryInfo();
} catch (e) {
return;
}
diff --git a/ext/js/pages/permissions-main.js b/ext/js/pages/permissions-main.js
index b242ff63..ff614880 100644
--- a/ext/js/pages/permissions-main.js
+++ b/ext/js/pages/permissions-main.js
@@ -18,7 +18,7 @@
import {log, promiseTimeout} from '../core.js';
import {DocumentFocusController} from '../dom/document-focus-controller.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {ExtensionContentController} from './common/extension-content-controller.js';
import {ModalController} from './settings/modal-controller.js';
import {PermissionsOriginController} from './settings/permissions-origin-controller.js';
@@ -29,7 +29,7 @@ import {SettingsDisplayController} from './settings/settings-display-controller.
async function setupEnvironmentInfo() {
const {manifest_version: manifestVersion} = chrome.runtime.getManifest();
- const {browser, platform} = await yomichan.api.getEnvironmentInfo();
+ const {browser, platform} = await yomitan.api.getEnvironmentInfo();
document.documentElement.dataset.browser = browser;
document.documentElement.dataset.os = platform.os;
document.documentElement.dataset.manifestVersion = `${manifestVersion}`;
@@ -73,7 +73,7 @@ function setupPermissionsToggles() {
setupPermissionsToggles();
- await yomichan.prepare();
+ await yomitan.prepare();
setupEnvironmentInfo();
diff --git a/ext/js/pages/settings/anki-controller.js b/ext/js/pages/settings/anki-controller.js
index 0ad047aa..8164b8f6 100644
--- a/ext/js/pages/settings/anki-controller.js
+++ b/ext/js/pages/settings/anki-controller.js
@@ -21,7 +21,7 @@ import {EventListenerCollection, log} from '../../core.js';
import {AnkiUtil} from '../../data/anki-util.js';
import {SelectorObserver} from '../../dom/selector-observer.js';
import {ObjectPropertyAccessor} from '../../general/object-property-accessor.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class AnkiController {
constructor(settingsController) {
@@ -394,7 +394,7 @@ export class AnkiController {
let noteId = null;
for (const query of queries) {
- const notes = await yomichan.api.findAnkiNotes(query);
+ const notes = await yomitan.api.findAnkiNotes(query);
if (notes.length > 0) {
noteId = notes[0];
break;
@@ -405,7 +405,7 @@ export class AnkiController {
throw new Error('Could not find a note to test with');
}
- await yomichan.api.noteView(noteId, mode, false);
+ await yomitan.api.noteView(noteId, mode, false);
}
_setAnkiNoteViewerStatus(visible, error) {
diff --git a/ext/js/pages/settings/anki-templates-controller.js b/ext/js/pages/settings/anki-templates-controller.js
index 83b1b0bb..ac8a0205 100644
--- a/ext/js/pages/settings/anki-templates-controller.js
+++ b/ext/js/pages/settings/anki-templates-controller.js
@@ -19,7 +19,7 @@
import {isObject} from '../../core.js';
import {AnkiNoteBuilder} from '../../data/anki-note-builder.js';
import {JapaneseUtil} from '../../language/sandbox/japanese-util.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class AnkiTemplatesController {
constructor(settingsController, modalController, ankiController) {
@@ -38,7 +38,7 @@ export class AnkiTemplatesController {
}
async prepare() {
- this._defaultFieldTemplates = await yomichan.api.getDefaultAnkiFieldTemplates();
+ this._defaultFieldTemplates = await yomitan.api.getDefaultAnkiFieldTemplates();
this._fieldTemplatesTextarea = document.querySelector('#anki-card-templates-textarea');
this._compileResultInfo = document.querySelector('#anki-card-templates-compile-result');
@@ -136,7 +136,7 @@ export class AnkiTemplatesController {
async _getDictionaryEntry(text, optionsContext) {
if (this._cachedDictionaryEntryText !== text) {
- const {dictionaryEntries} = await yomichan.api.termsFind(text, {}, optionsContext);
+ const {dictionaryEntries} = await yomitan.api.termsFind(text, {}, optionsContext);
if (dictionaryEntries.length === 0) { return null; }
this._cachedDictionaryEntryValue = dictionaryEntries[0];
diff --git a/ext/js/pages/settings/backup-controller.js b/ext/js/pages/settings/backup-controller.js
index 115b7581..2863c505 100644
--- a/ext/js/pages/settings/backup-controller.js
+++ b/ext/js/pages/settings/backup-controller.js
@@ -20,7 +20,7 @@ import {Dexie} from '../../../lib/dexie.js';
import {isObject, log} from '../../core.js';
import {OptionsUtil} from '../../data/options-util.js';
import {ArrayBufferUtil} from '../../data/sandbox/array-buffer-util.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {DictionaryController} from './dictionary-controller.js';
export class BackupController {
@@ -95,8 +95,8 @@ export class BackupController {
async _getSettingsExportData(date) {
const optionsFull = await this._settingsController.getOptionsFull();
- const environment = await yomichan.api.getEnvironmentInfo();
- const fieldTemplatesDefault = await yomichan.api.getDefaultAnkiFieldTemplates();
+ const environment = await yomitan.api.getEnvironmentInfo();
+ const fieldTemplatesDefault = await yomitan.api.getDefaultAnkiFieldTemplates();
const permissions = await this._settingsController.permissionsUtil.getAllPermissions();
// Format options
@@ -503,10 +503,10 @@ export class BackupController {
}
async _importDatabase(databaseName, file) {
- await yomichan.api.purgeDatabase();
+ await yomitan.api.purgeDatabase();
await Dexie.import(file, {progressCallback: this._databaseImportProgressCallback});
- yomichan.api.triggerDatabaseUpdated('dictionary', 'import');
- yomichan.trigger('storageChanged');
+ yomitan.api.triggerDatabaseUpdated('dictionary', 'import');
+ yomitan.trigger('storageChanged');
}
_onSettingsImportDatabaseClick() {
diff --git a/ext/js/pages/settings/collapsible-dictionary-controller.js b/ext/js/pages/settings/collapsible-dictionary-controller.js
index 37d5e6c9..c8ce5e4f 100644
--- a/ext/js/pages/settings/collapsible-dictionary-controller.js
+++ b/ext/js/pages/settings/collapsible-dictionary-controller.js
@@ -17,7 +17,7 @@
*/
import {EventListenerCollection} from '../../core.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class CollapsibleDictionaryController {
constructor(settingsController) {
@@ -35,7 +35,7 @@ export class CollapsibleDictionaryController {
await this._onDatabaseUpdated();
- yomichan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
+ yomitan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
this._settingsController.on('optionsChanged', this._onOptionsChanged.bind(this));
this._settingsController.on('dictionarySettingsReordered', this._onDictionarySettingsReordered.bind(this));
}
diff --git a/ext/js/pages/settings/dictionary-controller.js b/ext/js/pages/settings/dictionary-controller.js
index 05f4f396..155ce55e 100644
--- a/ext/js/pages/settings/dictionary-controller.js
+++ b/ext/js/pages/settings/dictionary-controller.js
@@ -18,7 +18,7 @@
import {EventListenerCollection, log} from '../../core.js';
import {DictionaryWorker} from '../../language/dictionary-worker.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
class DictionaryEntry {
constructor(dictionaryController, fragment, index, dictionaryInfo) {
@@ -284,7 +284,7 @@ export class DictionaryController {
this._deleteDictionaryModal = this._modalController.getModal('dictionary-confirm-delete');
this._allCheckbox = document.querySelector('#all-dictionaries-enabled');
- yomichan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
+ yomitan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
this._settingsController.on('optionsChanged', this._onOptionsChanged.bind(this));
this._allCheckbox.addEventListener('change', this._onAllCheckboxChange.bind(this), false);
document.querySelector('#dictionary-confirm-delete-button').addEventListener('click', this._onDictionaryConfirmDelete.bind(this), false);
@@ -681,7 +681,7 @@ export class DictionaryController {
async _deleteDictionaryInternal(dictionaryTitle, onProgress) {
await new DictionaryWorker().deleteDictionary(dictionaryTitle, onProgress);
- yomichan.api.triggerDatabaseUpdated('dictionary', 'delete');
+ yomitan.api.triggerDatabaseUpdated('dictionary', 'delete');
}
async _deleteDictionarySettings(dictionaryTitle) {
@@ -706,7 +706,7 @@ export class DictionaryController {
}
_triggerStorageChanged() {
- yomichan.trigger('storageChanged');
+ yomitan.trigger('storageChanged');
}
_updateDictionaryEntryCount() {
diff --git a/ext/js/pages/settings/dictionary-import-controller.js b/ext/js/pages/settings/dictionary-import-controller.js
index 57fe1cd4..12d29a6f 100644
--- a/ext/js/pages/settings/dictionary-import-controller.js
+++ b/ext/js/pages/settings/dictionary-import-controller.js
@@ -18,7 +18,7 @@
import {deserializeError, log} from '../../core.js';
import {DictionaryWorker} from '../../language/dictionary-worker.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {DictionaryController} from './dictionary-controller.js';
export class DictionaryImportController {
@@ -99,7 +99,7 @@ export class DictionaryImportController {
this._setSpinnerVisible(true);
if (purgeNotification !== null) { purgeNotification.hidden = false; }
- await yomichan.api.purgeDatabase();
+ await yomitan.api.purgeDatabase();
const errors = await this._clearDictionarySettings();
if (errors.length > 0) {
@@ -215,7 +215,7 @@ export class DictionaryImportController {
async _importDictionary(file, importDetails, onProgress) {
const archiveContent = await this._readFile(file);
const {result, errors} = await new DictionaryWorker().importDictionary(archiveContent, importDetails, onProgress);
- yomichan.api.triggerDatabaseUpdated('dictionary', 'import');
+ yomitan.api.triggerDatabaseUpdated('dictionary', 'import');
const errors2 = await this._addDictionarySettings(result.sequenced, result.title);
if (errors.length > 0) {
@@ -346,6 +346,6 @@ export class DictionaryImportController {
}
_triggerStorageChanged() {
- yomichan.trigger('storageChanged');
+ yomitan.trigger('storageChanged');
}
}
diff --git a/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js b/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js
index 6e84fa0e..4f3ed569 100644
--- a/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js
+++ b/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js
@@ -18,7 +18,7 @@
import {EventListenerCollection, isObject} from '../../core.js';
import {HotkeyUtil} from '../../input/hotkey-util.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js';
export class ExtensionKeyboardShortcutController {
@@ -53,7 +53,7 @@ export class ExtensionKeyboardShortcutController {
this._clearButton.addEventListener('click', this._onClearClick.bind(this));
}
- const {platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {platform: {os}} = await yomitan.api.getEnvironmentInfo();
this._os = os;
this._hotkeyUtil.os = os;
diff --git a/ext/js/pages/settings/keyboard-shortcuts-controller.js b/ext/js/pages/settings/keyboard-shortcuts-controller.js
index 3f91d2f9..e7ad4d15 100644
--- a/ext/js/pages/settings/keyboard-shortcuts-controller.js
+++ b/ext/js/pages/settings/keyboard-shortcuts-controller.js
@@ -19,7 +19,7 @@
import {EventListenerCollection} from '../../core.js';
import {DocumentUtil} from '../../dom/document-util.js';
import {ObjectPropertyAccessor} from '../../general/object-property-accessor.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js';
export class KeyboardShortcutController {
@@ -63,7 +63,7 @@ export class KeyboardShortcutController {
}
async prepare() {
- const {platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {platform: {os}} = await yomitan.api.getEnvironmentInfo();
this._os = os;
this._addButton = document.querySelector('#hotkey-list-add');
diff --git a/ext/js/pages/settings/mecab-controller.js b/ext/js/pages/settings/mecab-controller.js
index 6f9f15ed..a839fc21 100644
--- a/ext/js/pages/settings/mecab-controller.js
+++ b/ext/js/pages/settings/mecab-controller.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class MecabController {
constructor(settingsController) {
@@ -48,7 +48,7 @@ export class MecabController {
this._testButton.disabled = true;
this._resultsContainer.textContent = '';
this._resultsContainer.hidden = true;
- await yomichan.api.testMecab();
+ await yomitan.api.testMecab();
this._setStatus('Connection was successful', false);
} catch (e) {
this._setStatus(e.message, true);
diff --git a/ext/js/pages/settings/persistent-storage-controller.js b/ext/js/pages/settings/persistent-storage-controller.js
index 1c3bc276..aa060c14 100644
--- a/ext/js/pages/settings/persistent-storage-controller.js
+++ b/ext/js/pages/settings/persistent-storage-controller.js
@@ -17,7 +17,7 @@
*/
import {isObject} from '../../core.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class PersistentStorageController {
constructor() {
@@ -71,7 +71,7 @@ export class PersistentStorageController {
const node = document.querySelector('#storage-persistent-fail-warning');
if (node !== null) { node.hidden = isStoragePeristent; }
- yomichan.trigger('storageChanged');
+ yomitan.trigger('storageChanged');
}
_isPersistentStorageSupported() {
diff --git a/ext/js/pages/settings/popup-preview-frame-main.js b/ext/js/pages/settings/popup-preview-frame-main.js
index 0b69fea0..59e409c5 100644
--- a/ext/js/pages/settings/popup-preview-frame-main.js
+++ b/ext/js/pages/settings/popup-preview-frame-main.js
@@ -19,14 +19,14 @@
import {PopupFactory} from '../../app/popup-factory.js';
import {log} from '../../core.js';
import {HotkeyHandler} from '../../input/hotkey-handler.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {PopupPreviewFrame} from './popup-preview-frame.js';
(async () => {
try {
- await yomichan.prepare();
+ await yomitan.prepare();
- const {tabId, frameId} = await yomichan.api.frameInformationGet();
+ const {tabId, frameId} = await yomitan.api.frameInformationGet();
const hotkeyHandler = new HotkeyHandler();
hotkeyHandler.prepare();
diff --git a/ext/js/pages/settings/popup-preview-frame.js b/ext/js/pages/settings/popup-preview-frame.js
index c0d4358d..7a1a0b3a 100644
--- a/ext/js/pages/settings/popup-preview-frame.js
+++ b/ext/js/pages/settings/popup-preview-frame.js
@@ -19,7 +19,7 @@
import * as wanakana from '../../../lib/wanakana.js';
import {Frontend} from '../../app/frontend.js';
import {TextSourceRange} from '../../dom/text-source-range.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class PopupPreviewFrame {
constructor(tabId, frameId, popupFactory, hotkeyHandler) {
@@ -62,8 +62,8 @@ export class PopupPreviewFrame {
this._exampleTextInput.addEventListener('input', this._onExampleTextInputInput.bind(this), false);
// Overwrite API functions
- this._apiOptionsGetOld = yomichan.api.optionsGet.bind(yomichan.api);
- yomichan.api.optionsGet = this._apiOptionsGet.bind(this);
+ this._apiOptionsGetOld = yomitan.api.optionsGet.bind(yomitan.api);
+ yomitan.api.optionsGet = this._apiOptionsGet.bind(this);
// Overwrite frontend
this._frontend = new Frontend({
diff --git a/ext/js/pages/settings/popup-window-controller.js b/ext/js/pages/settings/popup-window-controller.js
index 6f4d9ec3..9b6708d5 100644
--- a/ext/js/pages/settings/popup-window-controller.js
+++ b/ext/js/pages/settings/popup-window-controller.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class PopupWindowController {
prepare() {
@@ -32,6 +32,6 @@ export class PopupWindowController {
}
async _testWindowOpen() {
- await yomichan.api.getOrCreateSearchPopup({focus: true});
+ await yomitan.api.getOrCreateSearchPopup({focus: true});
}
}
diff --git a/ext/js/pages/settings/profile-controller.js b/ext/js/pages/settings/profile-controller.js
index a4a64e60..a5bf41b3 100644
--- a/ext/js/pages/settings/profile-controller.js
+++ b/ext/js/pages/settings/profile-controller.js
@@ -17,7 +17,7 @@
*/
import {clone, EventListenerCollection} from '../../core.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {ProfileConditionsUI} from './profile-conditions-ui.js';
export class ProfileController {
@@ -53,7 +53,7 @@ export class ProfileController {
}
async prepare() {
- const {platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {platform: {os}} = await yomitan.api.getEnvironmentInfo();
this._profileConditionsUI.os = os;
this._profileActiveSelect = document.querySelector('#profile-active-select');
diff --git a/ext/js/pages/settings/scan-inputs-controller.js b/ext/js/pages/settings/scan-inputs-controller.js
index ea8d500a..252e7238 100644
--- a/ext/js/pages/settings/scan-inputs-controller.js
+++ b/ext/js/pages/settings/scan-inputs-controller.js
@@ -17,7 +17,7 @@
*/
import {EventListenerCollection} from '../../core.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js';
export class ScanInputsController {
@@ -31,7 +31,7 @@ export class ScanInputsController {
}
async prepare() {
- const {platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {platform: {os}} = await yomitan.api.getEnvironmentInfo();
this._os = os;
this._container = document.querySelector('#scan-input-list');
diff --git a/ext/js/pages/settings/scan-inputs-simple-controller.js b/ext/js/pages/settings/scan-inputs-simple-controller.js
index 79ffb773..112c03a9 100644
--- a/ext/js/pages/settings/scan-inputs-simple-controller.js
+++ b/ext/js/pages/settings/scan-inputs-simple-controller.js
@@ -17,7 +17,7 @@
*/
import {HotkeyUtil} from '../../input/hotkey-util.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {ScanInputsController} from './scan-inputs-controller.js';
export class ScanInputsSimpleController {
@@ -33,7 +33,7 @@ export class ScanInputsSimpleController {
this._middleMouseButtonScan = document.querySelector('#middle-mouse-button-scan');
this._mainScanModifierKeyInput = document.querySelector('#main-scan-modifier-key');
- const {platform: {os}} = await yomichan.api.getEnvironmentInfo();
+ const {platform: {os}} = await yomitan.api.getEnvironmentInfo();
this._hotkeyUtil.os = os;
this._mainScanModifierKeyInputHasOther = false;
diff --git a/ext/js/pages/settings/secondary-search-dictionary-controller.js b/ext/js/pages/settings/secondary-search-dictionary-controller.js
index 30575526..cc873901 100644
--- a/ext/js/pages/settings/secondary-search-dictionary-controller.js
+++ b/ext/js/pages/settings/secondary-search-dictionary-controller.js
@@ -17,7 +17,7 @@
*/
import {EventListenerCollection} from '../../core.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class SecondarySearchDictionaryController {
constructor(settingsController) {
@@ -33,7 +33,7 @@ export class SecondarySearchDictionaryController {
await this._onDatabaseUpdated();
- yomichan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
+ yomitan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
this._settingsController.on('optionsChanged', this._onOptionsChanged.bind(this));
this._settingsController.on('dictionarySettingsReordered', this._onDictionarySettingsReordered.bind(this));
}
diff --git a/ext/js/pages/settings/settings-controller.js b/ext/js/pages/settings/settings-controller.js
index 6f83c4c0..83ccdb39 100644
--- a/ext/js/pages/settings/settings-controller.js
+++ b/ext/js/pages/settings/settings-controller.js
@@ -20,7 +20,7 @@ import {EventDispatcher, EventListenerCollection, generateId, isObject} from '..
import {OptionsUtil} from '../../data/options-util.js';
import {PermissionsUtil} from '../../data/permissions-util.js';
import {HtmlTemplateCollection} from '../../dom/html-template-collection.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class SettingsController extends EventDispatcher {
constructor() {
@@ -51,7 +51,7 @@ export class SettingsController extends EventDispatcher {
}
async prepare() {
- yomichan.on('optionsUpdated', this._onOptionsUpdated.bind(this));
+ yomitan.on('optionsUpdated', this._onOptionsUpdated.bind(this));
if (this._canObservePermissionsChanges()) {
chrome.permissions.onAdded.addListener(this._onPermissionsChanged.bind(this));
chrome.permissions.onRemoved.addListener(this._onPermissionsChanged.bind(this));
@@ -69,16 +69,16 @@ export class SettingsController extends EventDispatcher {
async getOptions() {
const optionsContext = this.getOptionsContext();
- return await yomichan.api.optionsGet(optionsContext);
+ return await yomitan.api.optionsGet(optionsContext);
}
async getOptionsFull() {
- return await yomichan.api.optionsGetFull();
+ return await yomitan.api.optionsGetFull();
}
async setAllSettings(value) {
const profileIndex = value.profileCurrent;
- await yomichan.api.setAllSettings(value, this._source);
+ await yomitan.api.setAllSettings(value, this._source);
this._setProfileIndex(profileIndex, true);
}
@@ -115,7 +115,7 @@ export class SettingsController extends EventDispatcher {
}
async getDictionaryInfo() {
- return await yomichan.api.getDictionaryInfo();
+ return await yomitan.api.getDictionaryInfo();
}
getOptionsContext() {
@@ -186,12 +186,12 @@ export class SettingsController extends EventDispatcher {
async _getSettings(targets, extraFields) {
targets = this._setupTargets(targets, extraFields);
- return await yomichan.api.getSettings(targets);
+ return await yomitan.api.getSettings(targets);
}
async _modifySettings(targets, extraFields) {
targets = this._setupTargets(targets, extraFields);
- return await yomichan.api.modifySettings(targets, this._source);
+ return await yomitan.api.modifySettings(targets, this._source);
}
_onBeforeUnload(e) {
diff --git a/ext/js/pages/settings/settings-main.js b/ext/js/pages/settings/settings-main.js
index 1cd0b0a9..f9ea0aa1 100644
--- a/ext/js/pages/settings/settings-main.js
+++ b/ext/js/pages/settings/settings-main.js
@@ -18,7 +18,7 @@
import {log} from '../../core.js';
import {DocumentFocusController} from '../../dom/document-focus-controller.js';
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
import {ExtensionContentController} from '../common/extension-content-controller.js';
import {AnkiController} from './anki-controller.js';
import {AnkiTemplatesController} from './anki-templates-controller.js';
@@ -70,7 +70,7 @@ async function setupGenericSettingsController(genericSettingController) {
document.documentElement.dataset.loadingStalled = 'true';
}, 1000);
- await yomichan.prepare();
+ await yomitan.prepare();
if (prepareTimer !== null) {
clearTimeout(prepareTimer);
diff --git a/ext/js/pages/settings/sort-frequency-dictionary-controller.js b/ext/js/pages/settings/sort-frequency-dictionary-controller.js
index c946400f..53104085 100644
--- a/ext/js/pages/settings/sort-frequency-dictionary-controller.js
+++ b/ext/js/pages/settings/sort-frequency-dictionary-controller.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class SortFrequencyDictionaryController {
constructor(settingsController) {
@@ -36,7 +36,7 @@ export class SortFrequencyDictionaryController {
await this._onDatabaseUpdated();
- yomichan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
+ yomitan.on('databaseUpdated', this._onDatabaseUpdated.bind(this));
this._settingsController.on('optionsChanged', this._onOptionsChanged.bind(this));
this._sortFrequencyDictionarySelect.addEventListener('change', this._onSortFrequencyDictionarySelectChange.bind(this));
this._sortFrequencyDictionaryOrderSelect.addEventListener('change', this._onSortFrequencyDictionaryOrderSelectChange.bind(this));
@@ -124,7 +124,7 @@ export class SortFrequencyDictionaryController {
const lessCommonTerms = ['行なう', '論じる', '過す', '行方', '人口', '猫', '犬', '滝', '理', '暁'];
const terms = [...moreCommonTerms, ...lessCommonTerms];
- const frequencies = await yomichan.api.getTermFrequencies(
+ const frequencies = await yomitan.api.getTermFrequencies(
terms.map((term) => ({term, reading: null})),
[dictionary]
);
diff --git a/ext/js/pages/settings/storage-controller.js b/ext/js/pages/settings/storage-controller.js
index 8bc63725..ba1145b8 100644
--- a/ext/js/pages/settings/storage-controller.js
+++ b/ext/js/pages/settings/storage-controller.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../../yomichan.js';
+import {yomitan} from '../../yomitan.js';
export class StorageController {
constructor(persistentStorageController) {
@@ -41,7 +41,7 @@ export class StorageController {
this._storageUseInvalidNodes = document.querySelectorAll('.storage-use-invalid');
document.querySelector('#storage-refresh').addEventListener('click', this._onStorageRefreshButtonClick.bind(this), false);
- yomichan.on('storageChanged', this._onStorageChanged.bind(this));
+ yomitan.on('storageChanged', this._onStorageChanged.bind(this));
this._updateStats();
}
diff --git a/ext/js/pages/welcome-main.js b/ext/js/pages/welcome-main.js
index d2596921..b1438187 100644
--- a/ext/js/pages/welcome-main.js
+++ b/ext/js/pages/welcome-main.js
@@ -18,7 +18,7 @@
import {log} from '../core.js';
import {DocumentFocusController} from '../dom/document-focus-controller.js';
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
import {ExtensionContentController} from './common/extension-content-controller.js';
import {DictionaryController} from './settings/dictionary-controller.js';
import {DictionaryImportController} from './settings/dictionary-import-controller.js';
@@ -32,7 +32,7 @@ import {StatusFooter} from './settings/status-footer.js';
async function setupEnvironmentInfo() {
const {manifest_version: manifestVersion} = chrome.runtime.getManifest();
- const {browser, platform} = await yomichan.api.getEnvironmentInfo();
+ const {browser, platform} = await yomitan.api.getEnvironmentInfo();
document.documentElement.dataset.browser = browser;
document.documentElement.dataset.os = platform.os;
document.documentElement.dataset.manifestVersion = `${manifestVersion}`;
@@ -54,7 +54,7 @@ async function setupGenericSettingsController(genericSettingController) {
const statusFooter = new StatusFooter(document.querySelector('.status-footer-container'));
statusFooter.prepare();
- await yomichan.prepare();
+ await yomitan.prepare();
setupEnvironmentInfo();
diff --git a/ext/js/script/dynamic-loader-sentinel.js b/ext/js/script/dynamic-loader-sentinel.js
index d549808e..3c06fc02 100644
--- a/ext/js/script/dynamic-loader-sentinel.js
+++ b/ext/js/script/dynamic-loader-sentinel.js
@@ -16,6 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
-yomichan.trigger('dynamicLoaderSentinel', {script: import.meta.url});
+
+yomitan.trigger('dynamicLoaderSentinel', {script: import.meta.url});
diff --git a/ext/js/script/dynamic-loader.js b/ext/js/script/dynamic-loader.js
index ffce04c1..2abc9e04 100644
--- a/ext/js/script/dynamic-loader.js
+++ b/ext/js/script/dynamic-loader.js
@@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-import {yomichan} from '../yomichan.js';
+import {yomitan} from '../yomitan.js';
export const dynamicLoader = (() => {
const injectedStylesheets = new Map();
@@ -44,7 +44,7 @@ export const dynamicLoader = (() => {
}
async function loadStyle(id, type, value, useWebExtensionApi=false, parentNode=null) {
- if (useWebExtensionApi && yomichan.isExtensionUrl(window.location.href)) {
+ if (useWebExtensionApi && yomitan.isExtensionUrl(window.location.href)) {
// Permissions error will occur if trying to use the WebExtension API to inject into an extension page
useWebExtensionApi = false;
}
@@ -60,7 +60,7 @@ export const dynamicLoader = (() => {
}
if (type === 'file-content') {
- value = await yomichan.api.getStylesheetContent(value);
+ value = await yomitan.api.getStylesheetContent(value);
type = 'code';
useWebExtensionApi = false;
}
@@ -72,7 +72,7 @@ export const dynamicLoader = (() => {
}
setInjectedStylesheet(id, parentNode, null);
- await yomichan.api.injectStylesheet(type, value);
+ await yomitan.api.injectStylesheet(type, value);
return null;
}
@@ -142,11 +142,11 @@ export const dynamicLoader = (() => {
const sentinelEventName = 'dynamicLoaderSentinel';
const sentinelEventCallback = (e) => {
if (e.script !== script.src) { return; }
- yomichan.off(sentinelEventName, sentinelEventCallback);
+ yomitan.off(sentinelEventName, sentinelEventCallback);
parent.removeChild(script);
resolve();
};
- yomichan.on(sentinelEventName, sentinelEventCallback);
+ yomitan.on(sentinelEventName, sentinelEventCallback);
try {
script.type = 'module';
@@ -154,7 +154,7 @@ export const dynamicLoader = (() => {
script.src = '/js/script/dynamic-loader-sentinel.js';
parent.appendChild(script);
} catch (e) {
- yomichan.off(sentinelEventName, sentinelEventCallback);
+ yomitan.off(sentinelEventName, sentinelEventCallback);
reject(e);
}
}
diff --git a/ext/js/yomichan.js b/ext/js/yomitan.js
index 985e3f5b..5535aeb6 100644
--- a/ext/js/yomichan.js
+++ b/ext/js/yomitan.js
@@ -40,9 +40,9 @@ if ((() => {
}
/**
- * The Yomichan class is a core component through which various APIs are handled and invoked.
+ * The Yomitan class is a core component through which various APIs are handled and invoked.
*/
-class Yomichan extends EventDispatcher {
+class Yomitan extends EventDispatcher {
/**
* Creates a new instance. The instance should not be used until it has been fully prepare()'d.
*/
@@ -53,7 +53,7 @@ class Yomichan extends EventDispatcher {
const manifest = chrome.runtime.getManifest();
this._extensionName = `${manifest.name} v${manifest.version}`;
} catch (e) {
- this._extensionName = 'Yomichan';
+ this._extensionName = 'Yomitan';
}
try {
@@ -74,12 +74,12 @@ class Yomichan extends EventDispatcher {
this._isBackendReadyPromiseResolve = resolve;
this._messageHandlers = new Map([
- ['Yomichan.isReady', {async: false, handler: this._onMessageIsReady.bind(this)}],
- ['Yomichan.backendReady', {async: false, handler: this._onMessageBackendReady.bind(this)}],
- ['Yomichan.getUrl', {async: false, handler: this._onMessageGetUrl.bind(this)}],
- ['Yomichan.optionsUpdated', {async: false, handler: this._onMessageOptionsUpdated.bind(this)}],
- ['Yomichan.databaseUpdated', {async: false, handler: this._onMessageDatabaseUpdated.bind(this)}],
- ['Yomichan.zoomChanged', {async: false, handler: this._onMessageZoomChanged.bind(this)}]
+ ['Yomitan.isReady', {async: false, handler: this._onMessageIsReady.bind(this)}],
+ ['Yomitan.backendReady', {async: false, handler: this._onMessageBackendReady.bind(this)}],
+ ['Yomitan.getUrl', {async: false, handler: this._onMessageGetUrl.bind(this)}],
+ ['Yomitan.optionsUpdated', {async: false, handler: this._onMessageOptionsUpdated.bind(this)}],
+ ['Yomitan.databaseUpdated', {async: false, handler: this._onMessageDatabaseUpdated.bind(this)}],
+ ['Yomitan.zoomChanged', {async: false, handler: this._onMessageZoomChanged.bind(this)}]
]);
}
@@ -144,7 +144,7 @@ class Yomichan extends EventDispatcher {
*/
ready() {
this._isReady = true;
- this.sendMessage({action: 'yomichanReady'});
+ this.sendMessage({action: 'yomitanReady'});
}
/**
@@ -236,6 +236,6 @@ class Yomichan extends EventDispatcher {
}
/**
- * The default Yomichan class instance.
+ * The default Yomitan class instance.
*/
-export const yomichan = new Yomichan();
+export const yomitan = new Yomitan();
diff --git a/resources/icons.svg b/resources/icons.svg
index c3e37ad6..01cd259d 100644
--- a/resources/icons.svg
+++ b/resources/icons.svg
@@ -959,7 +959,7 @@
<g
inkscape:groupmode="layer"
id="layer22"
- inkscape:label="Yomichan"
+ inkscape:label="Yomitan"
style="display:none">
<g
inkscape:groupmode="layer"
diff --git a/test/anki-note-builder.test.js b/test/anki-note-builder.test.js
index 90bb3cbe..e21aa993 100644
--- a/test/anki-note-builder.test.js
+++ b/test/anki-note-builder.test.js
@@ -159,7 +159,7 @@ async function getRenderResults(dictionaryEntries, type, mode, template, expect)
deckName: 'deckName',
modelName: 'modelName',
fields,
- tags: ['yomichan'],
+ tags: ['yomitan'],
checkForDuplicates: true,
duplicateScope: 'collection',
duplicateScopeCheckAllModels: false,
diff --git a/test/data/html/test-document1.html b/test/data/html/test-document1.html
index 04e930da..ef47228f 100644
--- a/test/data/html/test-document1.html
+++ b/test/data/html/test-document1.html
@@ -3,13 +3,13 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan Tests</title>
+ <title>Yomitan Tests</title>
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==">
<link rel="stylesheet" href="test-stylesheet.css">
</head>
<body>
- <h1>Yomichan Tests</h1>
+ <h1>Yomitan Tests</h1>
<div
class="test"
diff --git a/test/data/html/test-document2-frame1.html b/test/data/html/test-document2-frame1.html
index 930cc78c..52243e1e 100644
--- a/test/data/html/test-document2-frame1.html
+++ b/test/data/html/test-document2-frame1.html
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan Tests</title>
+ <title>Yomitan Tests</title>
<script src="test-document2-script.js"></script>
<style>
body {
diff --git a/test/data/html/test-document2.html b/test/data/html/test-document2.html
index 399c3bd8..c822c1d0 100644
--- a/test/data/html/test-document2.html
+++ b/test/data/html/test-document2.html
@@ -4,7 +4,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan Manual Tests</title>
+ <title>Yomitan Manual Tests</title>
<link rel="icon" type="image/gif"
href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==">
<link rel="stylesheet" href="test-stylesheet.css">
@@ -37,7 +37,7 @@
<body>
- <h1>Yomichan Manual Tests</h1>
+ <h1>Yomitan Manual Tests</h1>
<y-description>Manual tests involving fullscreen elements, &lt;iframe&gt;s, and shadow DOMs.</y-description>
<y-test>
diff --git a/test/data/html/test-document3-frame1.html b/test/data/html/test-document3-frame1.html
index 6536e6d2..83f82c6e 100644
--- a/test/data/html/test-document3-frame1.html
+++ b/test/data/html/test-document3-frame1.html
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan Manual Performance Tests</title>
+ <title>Yomitan Manual Performance Tests</title>
<link rel="stylesheet" href="test-stylesheet.css">
</head>
<body><div class="content">
diff --git a/test/data/html/test-document3-frame2.html b/test/data/html/test-document3-frame2.html
index b88162b5..d947715d 100644
--- a/test/data/html/test-document3-frame2.html
+++ b/test/data/html/test-document3-frame2.html
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan Manual Performance Tests</title>
+ <title>Yomitan Manual Performance Tests</title>
<link rel="stylesheet" href="test-stylesheet.css">
</head>
<body><div class="content">
diff --git a/test/data/html/test-document3.html b/test/data/html/test-document3.html
index 6a227daa..218e211a 100644
--- a/test/data/html/test-document3.html
+++ b/test/data/html/test-document3.html
@@ -3,14 +3,14 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan Manual Performance Tests</title>
+ <title>Yomitan Manual Performance Tests</title>
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==">
<link rel="stylesheet" href="test-stylesheet.css">
</head>
<body>
- <h1>Yomichan Manual Performance Tests</h1>
- <p class="description">Testing Yomichan performance with artificially demanding cases in a real browser</p>
+ <h1>Yomitan Manual Performance Tests</h1>
+ <p class="description">Testing Yomitan performance with artificially demanding cases in a real browser</p>
<div class="test">
<div class="description">&lt;iframe&gt; element.</div>
diff --git a/test/data/html/test-dom-text-scanner.html b/test/data/html/test-dom-text-scanner.html
index c7ae2a37..f22e0895 100644
--- a/test/data/html/test-dom-text-scanner.html
+++ b/test/data/html/test-dom-text-scanner.html
@@ -3,13 +3,13 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
- <title>Yomichan DOMTextScanner Tests</title>
+ <title>Yomitan DOMTextScanner Tests</title>
<link rel="icon" type="image/gif" href="data:image/gif;base64,R0lGODlhEAAQAKEBAAAAAP///////////yH5BAEKAAIALAAAAAAQABAAAAImFI6Zpt0B4YkS0TCpq07xbmEgcGVRUpLaI46ZG7ppalY0jDCwUAAAOw==">
<link rel="stylesheet" href="test-stylesheet.css">
</head>
<body>
- <h1>Yomichan DOMTextScanner Tests</h1>
+ <h1>Yomitan DOMTextScanner Tests</h1>
<y-test
data-test-data='{
diff --git a/test/options-util.test.js b/test/options-util.test.js
index 9f49eb28..ff5b6713 100644
--- a/test/options-util.test.js
+++ b/test/options-util.test.js
@@ -133,7 +133,7 @@ function createProfileOptionsTestData1() {
anki: {
enable: false,
server: 'http://127.0.0.1:8765',
- tags: ['yomichan'],
+ tags: ['yomitan'],
sentenceExt: 200,
screenshot: {format: 'png', quality: 92},
terms: {deck: '', model: '', fields: {}},
@@ -441,7 +441,7 @@ function createProfileOptionsUpdatedTestData1() {
anki: {
enable: false,
server: 'http://127.0.0.1:8765',
- tags: ['yomichan'],
+ tags: ['yomitan'],
screenshot: {format: 'png', quality: 92},
terms: {deck: '', model: '', fields: {}},
kanji: {deck: '', model: '', fields: {}},