summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/action-popup.html12
-rw-r--r--ext/background.html14
-rw-r--r--ext/info.html12
-rw-r--r--ext/js/background/environment.js (renamed from ext/mixed/js/environment.js)0
-rw-r--r--ext/js/comm/api.js (renamed from ext/mixed/js/api.js)0
-rw-r--r--ext/js/comm/cross-frame-api.js (renamed from ext/mixed/js/comm.js)0
-rw-r--r--ext/js/comm/frame-client.js (renamed from ext/mixed/js/frame-client.js)0
-rw-r--r--ext/js/comm/frame-endpoint.js (renamed from ext/mixed/js/frame-endpoint.js)0
-rw-r--r--ext/js/core.js (renamed from ext/mixed/js/core.js)0
-rw-r--r--ext/js/debug/timer.js (renamed from ext/mixed/js/timer.js)0
-rw-r--r--ext/js/display/display-audio.js (renamed from ext/mixed/js/display-audio.js)0
-rw-r--r--ext/js/display/display-generator.js (renamed from ext/mixed/js/display-generator.js)0
-rw-r--r--ext/js/display/display-history.js (renamed from ext/mixed/js/display-history.js)0
-rw-r--r--ext/js/display/display-notification.js (renamed from ext/mixed/js/display-notification.js)0
-rw-r--r--ext/js/display/display-profile-selection.js (renamed from ext/mixed/js/display-profile-selection.js)0
-rw-r--r--ext/js/display/display.js (renamed from ext/mixed/js/display.js)4
-rw-r--r--ext/js/dom/document-focus-controller.js (renamed from ext/mixed/js/document-focus-controller.js)0
-rw-r--r--ext/js/dom/document-util.js (renamed from ext/mixed/js/document-util.js)0
-rw-r--r--ext/js/dom/dom-data-binder.js (renamed from ext/mixed/js/dom-data-binder.js)0
-rw-r--r--ext/js/dom/html-template-collection.js (renamed from ext/mixed/js/html-template-collection.js)0
-rw-r--r--ext/js/dom/panel-element.js (renamed from ext/mixed/js/panel-element.js)0
-rw-r--r--ext/js/dom/popup-menu.js (renamed from ext/mixed/js/popup-menu.js)0
-rw-r--r--ext/js/dom/selector-observer.js (renamed from ext/mixed/js/selector-observer.js)0
-rw-r--r--ext/js/dom/window-scroll.js (renamed from ext/mixed/js/scroll.js)0
-rw-r--r--ext/js/general/cache-map.js (renamed from ext/mixed/js/cache-map.js)0
-rw-r--r--ext/js/general/object-property-accessor.js (renamed from ext/mixed/js/object-property-accessor.js)0
-rw-r--r--ext/js/general/task-accumulator.js (renamed from ext/mixed/js/task-accumulator.js)0
-rw-r--r--ext/js/input/hotkey-handler.js (renamed from ext/mixed/js/hotkey-handler.js)0
-rw-r--r--ext/js/input/hotkey-help-controller.js (renamed from ext/mixed/js/hotkey-help-controller.js)0
-rw-r--r--ext/js/input/hotkey-util.js (renamed from ext/mixed/js/hotkey-util.js)0
-rw-r--r--ext/js/language/dictionary-data-util.js (renamed from ext/mixed/js/dictionary-data-util.js)0
-rw-r--r--ext/js/language/japanese-util.js (renamed from ext/mixed/js/japanese.js)0
-rw-r--r--ext/js/language/text-scanner.js (renamed from ext/mixed/js/text-scanner.js)0
-rw-r--r--ext/js/media/audio-system.js (renamed from ext/mixed/js/audio-system.js)0
-rw-r--r--ext/js/media/media-loader.js (renamed from ext/mixed/js/media-loader.js)0
-rw-r--r--ext/js/media/text-to-speech-audio.js (renamed from ext/mixed/js/text-to-speech-audio.js)0
-rw-r--r--ext/js/script/dynamic-loader-sentinel.js (renamed from ext/mixed/js/dynamic-loader-sentinel.js)0
-rw-r--r--ext/js/script/dynamic-loader.js (renamed from ext/mixed/js/dynamic-loader.js)2
-rw-r--r--ext/js/yomichan.js (renamed from ext/mixed/js/yomichan.js)0
-rw-r--r--ext/legal.html2
-rw-r--r--ext/manifest.json18
-rw-r--r--ext/permissions.html12
-rw-r--r--ext/pitch-accents-preview.html12
-rw-r--r--ext/popup-preview.html18
-rw-r--r--ext/popup.html54
-rw-r--r--ext/search.html50
-rw-r--r--ext/settings-old.html36
-rw-r--r--ext/settings.html42
-rw-r--r--ext/sw.js14
-rw-r--r--ext/template-renderer.html4
-rw-r--r--ext/welcome.html30
51 files changed, 168 insertions, 168 deletions
diff --git a/ext/action-popup.html b/ext/action-popup.html
index 1b0072a6..e6dbdc44 100644
--- a/ext/action-popup.html
+++ b/ext/action-popup.html
@@ -81,13 +81,13 @@
</a>
</div>
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
-<script src="/mixed/js/hotkey-help-controller.js"></script>
-<script src="/mixed/js/hotkey-util.js"></script>
+<script src="/js/input/hotkey-help-controller.js"></script>
+<script src="/js/input/hotkey-util.js"></script>
<script src="/bg/js/permissions-util.js"></script>
diff --git a/ext/background.html b/ext/background.html
index b1e82bd5..92c3b0aa 100644
--- a/ext/background.html
+++ b/ext/background.html
@@ -17,14 +17,14 @@
<script src="/lib/wanakana.min.js"></script>
- <script src="/mixed/js/core.js"></script>
- <script src="/mixed/js/yomichan.js"></script>
- <script src="/mixed/js/environment.js"></script>
- <script src="/mixed/js/japanese.js"></script>
+ <script src="/js/core.js"></script>
+ <script src="/js/yomichan.js"></script>
+ <script src="/js/background/environment.js"></script>
+ <script src="/js/language/japanese-util.js"></script>
- <script src="/mixed/js/cache-map.js"></script>
- <script src="/mixed/js/dictionary-data-util.js"></script>
- <script src="/mixed/js/object-property-accessor.js"></script>
+ <script src="/js/general/cache-map.js"></script>
+ <script src="/js/language/dictionary-data-util.js"></script>
+ <script src="/js/general/object-property-accessor.js"></script>
<script src="/bg/js/anki.js"></script>
<script src="/bg/js/audio-downloader.js"></script>
diff --git a/ext/info.html b/ext/info.html
index 4dfe4c09..a520ad52 100644
--- a/ext/info.html
+++ b/ext/info.html
@@ -58,13 +58,13 @@
</div></div>
<!-- Scripts -->
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
-<script src="/mixed/js/document-focus-controller.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
+<script src="/js/dom/document-focus-controller.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
<script src="/bg/js/permissions-util.js"></script>
<script src="/bg/js/settings/settings-controller.js"></script>
<script src="/bg/js/settings/backup-controller.js"></script>
diff --git a/ext/mixed/js/environment.js b/ext/js/background/environment.js
index 5e61a56d..5e61a56d 100644
--- a/ext/mixed/js/environment.js
+++ b/ext/js/background/environment.js
diff --git a/ext/mixed/js/api.js b/ext/js/comm/api.js
index d37b091a..d37b091a 100644
--- a/ext/mixed/js/api.js
+++ b/ext/js/comm/api.js
diff --git a/ext/mixed/js/comm.js b/ext/js/comm/cross-frame-api.js
index 997249c8..997249c8 100644
--- a/ext/mixed/js/comm.js
+++ b/ext/js/comm/cross-frame-api.js
diff --git a/ext/mixed/js/frame-client.js b/ext/js/comm/frame-client.js
index d15cee30..d15cee30 100644
--- a/ext/mixed/js/frame-client.js
+++ b/ext/js/comm/frame-client.js
diff --git a/ext/mixed/js/frame-endpoint.js b/ext/js/comm/frame-endpoint.js
index 27af9cf3..27af9cf3 100644
--- a/ext/mixed/js/frame-endpoint.js
+++ b/ext/js/comm/frame-endpoint.js
diff --git a/ext/mixed/js/core.js b/ext/js/core.js
index 9305739a..9305739a 100644
--- a/ext/mixed/js/core.js
+++ b/ext/js/core.js
diff --git a/ext/mixed/js/timer.js b/ext/js/debug/timer.js
index 7c43efdf..7c43efdf 100644
--- a/ext/mixed/js/timer.js
+++ b/ext/js/debug/timer.js
diff --git a/ext/mixed/js/display-audio.js b/ext/js/display/display-audio.js
index f624d85b..f624d85b 100644
--- a/ext/mixed/js/display-audio.js
+++ b/ext/js/display/display-audio.js
diff --git a/ext/mixed/js/display-generator.js b/ext/js/display/display-generator.js
index 05376ee5..05376ee5 100644
--- a/ext/mixed/js/display-generator.js
+++ b/ext/js/display/display-generator.js
diff --git a/ext/mixed/js/display-history.js b/ext/js/display/display-history.js
index a6335521..a6335521 100644
--- a/ext/mixed/js/display-history.js
+++ b/ext/js/display/display-history.js
diff --git a/ext/mixed/js/display-notification.js b/ext/js/display/display-notification.js
index 8b6325d0..8b6325d0 100644
--- a/ext/mixed/js/display-notification.js
+++ b/ext/js/display/display-notification.js
diff --git a/ext/mixed/js/display-profile-selection.js b/ext/js/display/display-profile-selection.js
index 0a44392e..0a44392e 100644
--- a/ext/mixed/js/display-profile-selection.js
+++ b/ext/js/display/display-profile-selection.js
diff --git a/ext/mixed/js/display.js b/ext/js/display/display.js
index 8ddca54f..ffadd055 100644
--- a/ext/mixed/js/display.js
+++ b/ext/js/display/display.js
@@ -1571,8 +1571,8 @@ class Display extends EventDispatcher {
};
await dynamicLoader.loadScripts([
- '/mixed/js/text-scanner.js',
- '/mixed/js/frame-client.js',
+ '/js/language/text-scanner.js',
+ '/js/comm/frame-client.js',
'/fg/js/popup.js',
'/fg/js/popup-proxy.js',
'/fg/js/popup-window.js',
diff --git a/ext/mixed/js/document-focus-controller.js b/ext/js/dom/document-focus-controller.js
index 649b5abe..649b5abe 100644
--- a/ext/mixed/js/document-focus-controller.js
+++ b/ext/js/dom/document-focus-controller.js
diff --git a/ext/mixed/js/document-util.js b/ext/js/dom/document-util.js
index 513a0c05..513a0c05 100644
--- a/ext/mixed/js/document-util.js
+++ b/ext/js/dom/document-util.js
diff --git a/ext/mixed/js/dom-data-binder.js b/ext/js/dom/dom-data-binder.js
index 292b2f67..292b2f67 100644
--- a/ext/mixed/js/dom-data-binder.js
+++ b/ext/js/dom/dom-data-binder.js
diff --git a/ext/mixed/js/html-template-collection.js b/ext/js/dom/html-template-collection.js
index 52d5f3b0..52d5f3b0 100644
--- a/ext/mixed/js/html-template-collection.js
+++ b/ext/js/dom/html-template-collection.js
diff --git a/ext/mixed/js/panel-element.js b/ext/js/dom/panel-element.js
index 1ef61d6f..1ef61d6f 100644
--- a/ext/mixed/js/panel-element.js
+++ b/ext/js/dom/panel-element.js
diff --git a/ext/mixed/js/popup-menu.js b/ext/js/dom/popup-menu.js
index 9ad4e260..9ad4e260 100644
--- a/ext/mixed/js/popup-menu.js
+++ b/ext/js/dom/popup-menu.js
diff --git a/ext/mixed/js/selector-observer.js b/ext/js/dom/selector-observer.js
index 2f3fa49e..2f3fa49e 100644
--- a/ext/mixed/js/selector-observer.js
+++ b/ext/js/dom/selector-observer.js
diff --git a/ext/mixed/js/scroll.js b/ext/js/dom/window-scroll.js
index 33577795..33577795 100644
--- a/ext/mixed/js/scroll.js
+++ b/ext/js/dom/window-scroll.js
diff --git a/ext/mixed/js/cache-map.js b/ext/js/general/cache-map.js
index c7d72e6b..c7d72e6b 100644
--- a/ext/mixed/js/cache-map.js
+++ b/ext/js/general/cache-map.js
diff --git a/ext/mixed/js/object-property-accessor.js b/ext/js/general/object-property-accessor.js
index 95773029..95773029 100644
--- a/ext/mixed/js/object-property-accessor.js
+++ b/ext/js/general/object-property-accessor.js
diff --git a/ext/mixed/js/task-accumulator.js b/ext/js/general/task-accumulator.js
index 82691b43..82691b43 100644
--- a/ext/mixed/js/task-accumulator.js
+++ b/ext/js/general/task-accumulator.js
diff --git a/ext/mixed/js/hotkey-handler.js b/ext/js/input/hotkey-handler.js
index 423410b7..423410b7 100644
--- a/ext/mixed/js/hotkey-handler.js
+++ b/ext/js/input/hotkey-handler.js
diff --git a/ext/mixed/js/hotkey-help-controller.js b/ext/js/input/hotkey-help-controller.js
index 8137b50b..8137b50b 100644
--- a/ext/mixed/js/hotkey-help-controller.js
+++ b/ext/js/input/hotkey-help-controller.js
diff --git a/ext/mixed/js/hotkey-util.js b/ext/js/input/hotkey-util.js
index ea3daf97..ea3daf97 100644
--- a/ext/mixed/js/hotkey-util.js
+++ b/ext/js/input/hotkey-util.js
diff --git a/ext/mixed/js/dictionary-data-util.js b/ext/js/language/dictionary-data-util.js
index 70a51e89..70a51e89 100644
--- a/ext/mixed/js/dictionary-data-util.js
+++ b/ext/js/language/dictionary-data-util.js
diff --git a/ext/mixed/js/japanese.js b/ext/js/language/japanese-util.js
index c2ce9627..c2ce9627 100644
--- a/ext/mixed/js/japanese.js
+++ b/ext/js/language/japanese-util.js
diff --git a/ext/mixed/js/text-scanner.js b/ext/js/language/text-scanner.js
index 7672b69d..7672b69d 100644
--- a/ext/mixed/js/text-scanner.js
+++ b/ext/js/language/text-scanner.js
diff --git a/ext/mixed/js/audio-system.js b/ext/js/media/audio-system.js
index cf63511f..cf63511f 100644
--- a/ext/mixed/js/audio-system.js
+++ b/ext/js/media/audio-system.js
diff --git a/ext/mixed/js/media-loader.js b/ext/js/media/media-loader.js
index 5974e31a..5974e31a 100644
--- a/ext/mixed/js/media-loader.js
+++ b/ext/js/media/media-loader.js
diff --git a/ext/mixed/js/text-to-speech-audio.js b/ext/js/media/text-to-speech-audio.js
index a32916f4..a32916f4 100644
--- a/ext/mixed/js/text-to-speech-audio.js
+++ b/ext/js/media/text-to-speech-audio.js
diff --git a/ext/mixed/js/dynamic-loader-sentinel.js b/ext/js/script/dynamic-loader-sentinel.js
index d91a7fef..d91a7fef 100644
--- a/ext/mixed/js/dynamic-loader-sentinel.js
+++ b/ext/js/script/dynamic-loader-sentinel.js
diff --git a/ext/mixed/js/dynamic-loader.js b/ext/js/script/dynamic-loader.js
index bb4efb13..0464f151 100644
--- a/ext/mixed/js/dynamic-loader.js
+++ b/ext/js/script/dynamic-loader.js
@@ -150,7 +150,7 @@ const dynamicLoader = (() => {
try {
script.async = false;
- script.src = '/mixed/js/dynamic-loader-sentinel.js';
+ script.src = '/js/script/dynamic-loader-sentinel.js';
parent.appendChild(script);
} catch (e) {
yomichan.off(sentinelEventName, sentinelEventCallback);
diff --git a/ext/mixed/js/yomichan.js b/ext/js/yomichan.js
index 61301e30..61301e30 100644
--- a/ext/mixed/js/yomichan.js
+++ b/ext/js/yomichan.js
diff --git a/ext/legal.html b/ext/legal.html
index b8c1f1c5..644ad831 100644
--- a/ext/legal.html
+++ b/ext/legal.html
@@ -219,7 +219,7 @@ THE SOFTWARE.
</div></div>
<!-- Scripts -->
-<script src="/mixed/js/document-focus-controller.js"></script>
+<script src="/js/dom/document-focus-controller.js"></script>
<script src="/bg/js/generic-page-main.js"></script>
diff --git a/ext/manifest.json b/ext/manifest.json
index c8178143..4ac53273 100644
--- a/ext/manifest.json
+++ b/ext/manifest.json
@@ -38,15 +38,15 @@
"file://*/*"
],
"js": [
- "mixed/js/core.js",
- "mixed/js/yomichan.js",
- "mixed/js/comm.js",
- "mixed/js/api.js",
- "mixed/js/dynamic-loader.js",
- "mixed/js/frame-client.js",
- "mixed/js/text-scanner.js",
- "mixed/js/document-util.js",
- "mixed/js/hotkey-handler.js",
+ "js/core.js",
+ "js/yomichan.js",
+ "js/comm/cross-frame-api.js",
+ "js/comm/api.js",
+ "js/script/dynamic-loader.js",
+ "js/comm/frame-client.js",
+ "js/language/text-scanner.js",
+ "js/dom/document-util.js",
+ "js/input/hotkey-handler.js",
"fg/js/dom-text-scanner.js",
"fg/js/popup.js",
"fg/js/text-source-range.js",
diff --git a/ext/permissions.html b/ext/permissions.html
index 2ea9f2a1..06dcf5bf 100644
--- a/ext/permissions.html
+++ b/ext/permissions.html
@@ -161,13 +161,13 @@
</div></div>
<!-- Scripts -->
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
-<script src="/mixed/js/document-focus-controller.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
+<script src="/js/dom/document-focus-controller.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
<script src="/bg/js/permissions-util.js"></script>
<script src="/bg/js/settings/permissions-toggle-controller.js"></script>
<script src="/bg/js/settings/settings-controller.js"></script>
diff --git a/ext/pitch-accents-preview.html b/ext/pitch-accents-preview.html
index b2885c92..9653b9c5 100644
--- a/ext/pitch-accents-preview.html
+++ b/ext/pitch-accents-preview.html
@@ -49,13 +49,13 @@
</div></div>
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
-<script src="/mixed/js/display-generator.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
+<script src="/js/display/display-generator.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
<script src="/bg/js/settings/pitch-accents-preview-main.js"></script>
diff --git a/ext/popup-preview.html b/ext/popup-preview.html
index 567dd201..18aec551 100644
--- a/ext/popup-preview.html
+++ b/ext/popup-preview.html
@@ -36,16 +36,16 @@
<script src="/lib/wanakana.min.js"></script>
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
-<script src="/mixed/js/dynamic-loader.js"></script>
-<script src="/mixed/js/frame-client.js"></script>
-<script src="/mixed/js/text-scanner.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
+<script src="/js/script/dynamic-loader.js"></script>
+<script src="/js/comm/frame-client.js"></script>
+<script src="/js/language/text-scanner.js"></script>
-<script src="/mixed/js/document-util.js"></script>
-<script src="/mixed/js/hotkey-handler.js"></script>
+<script src="/js/dom/document-util.js"></script>
+<script src="/js/input/hotkey-handler.js"></script>
<script src="/fg/js/dom-text-scanner.js"></script>
<script src="/fg/js/popup.js"></script>
<script src="/fg/js/text-source-range.js"></script>
diff --git a/ext/popup.html b/ext/popup.html
index 0203043a..274340ca 100644
--- a/ext/popup.html
+++ b/ext/popup.html
@@ -89,37 +89,37 @@
<div id="popup-menus"></div>
<!-- Scripts -->
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
-<script src="/mixed/js/japanese.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
+<script src="/js/language/japanese-util.js"></script>
-<script src="/mixed/js/document-util.js"></script>
+<script src="/js/dom/document-util.js"></script>
<script src="/fg/js/dom-text-scanner.js"></script>
<script src="/fg/js/text-source-range.js"></script>
<script src="/fg/js/text-source-element.js"></script>
-<script src="/mixed/js/audio-system.js"></script>
-<script src="/mixed/js/dictionary-data-util.js"></script>
-<script src="/mixed/js/display.js"></script>
-<script src="/mixed/js/display-audio.js"></script>
-<script src="/mixed/js/display-generator.js"></script>
-<script src="/mixed/js/display-history.js"></script>
-<script src="/mixed/js/display-notification.js"></script>
-<script src="/mixed/js/display-profile-selection.js"></script>
-<script src="/mixed/js/document-focus-controller.js"></script>
-<script src="/mixed/js/dynamic-loader.js"></script>
-<script src="/mixed/js/frame-endpoint.js"></script>
-<script src="/mixed/js/hotkey-handler.js"></script>
-<script src="/mixed/js/hotkey-help-controller.js"></script>
-<script src="/mixed/js/hotkey-util.js"></script>
-<script src="/mixed/js/media-loader.js"></script>
-<script src="/mixed/js/panel-element.js"></script>
-<script src="/mixed/js/popup-menu.js"></script>
-<script src="/mixed/js/scroll.js"></script>
-<script src="/mixed/js/text-scanner.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
-<script src="/mixed/js/text-to-speech-audio.js"></script>
+<script src="/js/media/audio-system.js"></script>
+<script src="/js/language/dictionary-data-util.js"></script>
+<script src="/js/display/display.js"></script>
+<script src="/js/display/display-audio.js"></script>
+<script src="/js/display/display-generator.js"></script>
+<script src="/js/display/display-history.js"></script>
+<script src="/js/display/display-notification.js"></script>
+<script src="/js/display/display-profile-selection.js"></script>
+<script src="/js/dom/document-focus-controller.js"></script>
+<script src="/js/script/dynamic-loader.js"></script>
+<script src="/js/comm/frame-endpoint.js"></script>
+<script src="/js/input/hotkey-handler.js"></script>
+<script src="/js/input/hotkey-help-controller.js"></script>
+<script src="/js/input/hotkey-util.js"></script>
+<script src="/js/media/media-loader.js"></script>
+<script src="/js/dom/panel-element.js"></script>
+<script src="/js/dom/popup-menu.js"></script>
+<script src="/js/dom/window-scroll.js"></script>
+<script src="/js/language/text-scanner.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
+<script src="/js/media/text-to-speech-audio.js"></script>
<script src="/bg/js/anki-note-builder.js"></script>
<script src="/bg/js/template-renderer-proxy.js"></script>
diff --git a/ext/search.html b/ext/search.html
index e2c402bb..384493c8 100644
--- a/ext/search.html
+++ b/ext/search.html
@@ -75,34 +75,34 @@
<!-- Scripts -->
<script src="/lib/wanakana.min.js"></script>
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
-<script src="/mixed/js/japanese.js"></script>
-
-<script src="/mixed/js/document-focus-controller.js"></script>
-<script src="/mixed/js/document-util.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
+<script src="/js/language/japanese-util.js"></script>
+
+<script src="/js/dom/document-focus-controller.js"></script>
+<script src="/js/dom/document-util.js"></script>
<script src="/fg/js/dom-text-scanner.js"></script>
<script src="/fg/js/text-source-range.js"></script>
<script src="/fg/js/text-source-element.js"></script>
-<script src="/mixed/js/audio-system.js"></script>
-<script src="/mixed/js/dictionary-data-util.js"></script>
-<script src="/mixed/js/display.js"></script>
-<script src="/mixed/js/display-audio.js"></script>
-<script src="/mixed/js/display-generator.js"></script>
-<script src="/mixed/js/display-history.js"></script>
-<script src="/mixed/js/display-notification.js"></script>
-<script src="/mixed/js/dynamic-loader.js"></script>
-<script src="/mixed/js/hotkey-handler.js"></script>
-<script src="/mixed/js/hotkey-help-controller.js"></script>
-<script src="/mixed/js/hotkey-util.js"></script>
-<script src="/mixed/js/media-loader.js"></script>
-<script src="/mixed/js/popup-menu.js"></script>
-<script src="/mixed/js/scroll.js"></script>
-<script src="/mixed/js/text-scanner.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
-<script src="/mixed/js/text-to-speech-audio.js"></script>
+<script src="/js/media/audio-system.js"></script>
+<script src="/js/language/dictionary-data-util.js"></script>
+<script src="/js/display/display.js"></script>
+<script src="/js/display/display-audio.js"></script>
+<script src="/js/display/display-generator.js"></script>
+<script src="/js/display/display-history.js"></script>
+<script src="/js/display/display-notification.js"></script>
+<script src="/js/script/dynamic-loader.js"></script>
+<script src="/js/input/hotkey-handler.js"></script>
+<script src="/js/input/hotkey-help-controller.js"></script>
+<script src="/js/input/hotkey-util.js"></script>
+<script src="/js/media/media-loader.js"></script>
+<script src="/js/dom/popup-menu.js"></script>
+<script src="/js/dom/window-scroll.js"></script>
+<script src="/js/language/text-scanner.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
+<script src="/js/media/text-to-speech-audio.js"></script>
<script src="/bg/js/anki-note-builder.js"></script>
<script src="/bg/js/template-renderer-proxy.js"></script>
diff --git a/ext/settings-old.html b/ext/settings-old.html
index 1fb4379f..26f7770b 100644
--- a/ext/settings-old.html
+++ b/ext/settings-old.html
@@ -1278,24 +1278,24 @@
<script src="/lib/jszip.min.js"></script>
<script src="/lib/wanakana.min.js"></script>
- <script src="/mixed/js/core.js"></script>
- <script src="/mixed/js/yomichan.js"></script>
- <script src="/mixed/js/comm.js"></script>
- <script src="/mixed/js/environment.js"></script>
- <script src="/mixed/js/api.js"></script>
- <script src="/mixed/js/japanese.js"></script>
-
- <script src="/mixed/js/audio-system.js"></script>
- <script src="/mixed/js/cache-map.js"></script>
- <script src="/mixed/js/dictionary-data-util.js"></script>
- <script src="/mixed/js/document-util.js"></script>
- <script src="/mixed/js/dom-data-binder.js"></script>
- <script src="/mixed/js/html-template-collection.js"></script>
- <script src="/mixed/js/hotkey-util.js"></script>
- <script src="/mixed/js/object-property-accessor.js"></script>
- <script src="/mixed/js/selector-observer.js"></script>
- <script src="/mixed/js/task-accumulator.js"></script>
- <script src="/mixed/js/text-to-speech-audio.js"></script>
+ <script src="/js/core.js"></script>
+ <script src="/js/yomichan.js"></script>
+ <script src="/js/comm/cross-frame-api.js"></script>
+ <script src="/js/background/environment.js"></script>
+ <script src="/js/comm/api.js"></script>
+ <script src="/js/language/japanese-util.js"></script>
+
+ <script src="/js/media/audio-system.js"></script>
+ <script src="/js/general/cache-map.js"></script>
+ <script src="/js/language/dictionary-data-util.js"></script>
+ <script src="/js/dom/document-util.js"></script>
+ <script src="/js/dom/dom-data-binder.js"></script>
+ <script src="/js/dom/html-template-collection.js"></script>
+ <script src="/js/input/hotkey-util.js"></script>
+ <script src="/js/general/object-property-accessor.js"></script>
+ <script src="/js/dom/selector-observer.js"></script>
+ <script src="/js/general/task-accumulator.js"></script>
+ <script src="/js/media/text-to-speech-audio.js"></script>
<script src="/bg/js/anki.js"></script>
<script src="/bg/js/anki-note-builder.js"></script>
diff --git a/ext/settings.html b/ext/settings.html
index 5773c6de..8fb715c1 100644
--- a/ext/settings.html
+++ b/ext/settings.html
@@ -3189,27 +3189,27 @@
<script src="/lib/jszip.min.js"></script>
<script src="/lib/wanakana.min.js"></script>
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/environment.js"></script>
-<script src="/mixed/js/api.js"></script>
-<script src="/mixed/js/japanese.js"></script>
-
-<script src="/mixed/js/audio-system.js"></script>
-<script src="/mixed/js/cache-map.js"></script>
-<script src="/mixed/js/dictionary-data-util.js"></script>
-<script src="/mixed/js/document-focus-controller.js"></script>
-<script src="/mixed/js/document-util.js"></script>
-<script src="/mixed/js/dom-data-binder.js"></script>
-<script src="/mixed/js/hotkey-util.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
-<script src="/mixed/js/object-property-accessor.js"></script>
-<script src="/mixed/js/panel-element.js"></script>
-<script src="/mixed/js/popup-menu.js"></script>
-<script src="/mixed/js/selector-observer.js"></script>
-<script src="/mixed/js/task-accumulator.js"></script>
-<script src="/mixed/js/text-to-speech-audio.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/background/environment.js"></script>
+<script src="/js/comm/api.js"></script>
+<script src="/js/language/japanese-util.js"></script>
+
+<script src="/js/media/audio-system.js"></script>
+<script src="/js/general/cache-map.js"></script>
+<script src="/js/language/dictionary-data-util.js"></script>
+<script src="/js/dom/document-focus-controller.js"></script>
+<script src="/js/dom/document-util.js"></script>
+<script src="/js/dom/dom-data-binder.js"></script>
+<script src="/js/input/hotkey-util.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
+<script src="/js/general/object-property-accessor.js"></script>
+<script src="/js/dom/panel-element.js"></script>
+<script src="/js/dom/popup-menu.js"></script>
+<script src="/js/dom/selector-observer.js"></script>
+<script src="/js/general/task-accumulator.js"></script>
+<script src="/js/media/text-to-speech-audio.js"></script>
<script src="/bg/js/anki.js"></script>
<script src="/bg/js/anki-note-builder.js"></script>
diff --git a/ext/sw.js b/ext/sw.js
index 6516cdbf..2cc9a6c3 100644
--- a/ext/sw.js
+++ b/ext/sw.js
@@ -18,13 +18,13 @@
self.importScripts(
'/lib/parse5.js',
'/lib/wanakana.min.js',
- '/mixed/js/core.js',
- '/mixed/js/yomichan.js',
- '/mixed/js/environment.js',
- '/mixed/js/japanese.js',
- '/mixed/js/cache-map.js',
- '/mixed/js/dictionary-data-util.js',
- '/mixed/js/object-property-accessor.js',
+ '/js/core.js',
+ '/js/yomichan.js',
+ '/js/background/environment.js',
+ '/js/language/japanese-util.js',
+ '/js/general/cache-map.js',
+ '/js/language/dictionary-data-util.js',
+ '/js/general/object-property-accessor.js',
'/bg/js/anki.js',
'/bg/js/audio-downloader.js',
'/bg/js/clipboard-monitor.js',
diff --git a/ext/template-renderer.html b/ext/template-renderer.html
index 6f031d5d..11c19067 100644
--- a/ext/template-renderer.html
+++ b/ext/template-renderer.html
@@ -14,8 +14,8 @@
</head>
<body>
<script src="/lib/handlebars.min.js"></script>
- <script src="/mixed/js/dictionary-data-util.js"></script>
- <script src="/mixed/js/japanese.js"></script>
+ <script src="/js/language/dictionary-data-util.js"></script>
+ <script src="/js/language/japanese-util.js"></script>
<script src="/bg/js/anki-note-data.js"></script>
<script src="/bg/js/template-renderer.js"></script>
<script src="/bg/js/template-renderer-frame-api.js"></script>
diff --git a/ext/welcome.html b/ext/welcome.html
index a4138e60..4c7657c8 100644
--- a/ext/welcome.html
+++ b/ext/welcome.html
@@ -314,22 +314,22 @@
<!-- Scripts -->
<script src="/lib/jszip.min.js"></script>
-<script src="/mixed/js/core.js"></script>
-<script src="/mixed/js/yomichan.js"></script>
-<script src="/mixed/js/comm.js"></script>
-<script src="/mixed/js/api.js"></script>
+<script src="/js/core.js"></script>
+<script src="/js/yomichan.js"></script>
+<script src="/js/comm/cross-frame-api.js"></script>
+<script src="/js/comm/api.js"></script>
-<script src="/mixed/js/cache-map.js"></script>
-<script src="/mixed/js/document-focus-controller.js"></script>
-<script src="/mixed/js/document-util.js"></script>
-<script src="/mixed/js/dom-data-binder.js"></script>
-<script src="/mixed/js/hotkey-util.js"></script>
-<script src="/mixed/js/html-template-collection.js"></script>
-<script src="/mixed/js/object-property-accessor.js"></script>
-<script src="/mixed/js/panel-element.js"></script>
-<script src="/mixed/js/popup-menu.js"></script>
-<script src="/mixed/js/selector-observer.js"></script>
-<script src="/mixed/js/task-accumulator.js"></script>
+<script src="/js/general/cache-map.js"></script>
+<script src="/js/dom/document-focus-controller.js"></script>
+<script src="/js/dom/document-util.js"></script>
+<script src="/js/dom/dom-data-binder.js"></script>
+<script src="/js/input/hotkey-util.js"></script>
+<script src="/js/dom/html-template-collection.js"></script>
+<script src="/js/general/object-property-accessor.js"></script>
+<script src="/js/dom/panel-element.js"></script>
+<script src="/js/dom/popup-menu.js"></script>
+<script src="/js/dom/selector-observer.js"></script>
+<script src="/js/general/task-accumulator.js"></script>
<script src="/bg/js/database.js"></script>
<script src="/bg/js/dictionary-database.js"></script>