summaryrefslogtreecommitdiff
path: root/ext/fg/js/float.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/fg/js/float.js')
-rw-r--r--ext/fg/js/float.js60
1 files changed, 1 insertions, 59 deletions
diff --git a/ext/fg/js/float.js b/ext/fg/js/float.js
index bc555ffd..195861a3 100644
--- a/ext/fg/js/float.js
+++ b/ext/fg/js/float.js
@@ -23,8 +23,7 @@
class DisplayFloat extends Display {
constructor() {
- super();
- this._nestedPopupsPrepared = false;
+ super('popup');
this._frameEndpoint = new FrameEndpoint();
this._windowMessageHandlers = new Map([
['extensionUnloaded', {async: false, handler: this._onMessageExtensionUnloaded.bind(this)}]
@@ -48,10 +47,6 @@ class DisplayFloat extends Display {
const {browser} = await api.getEnvironmentInfo();
this._browser = browser;
- this.registerDirectMessageHandlers([
- ['configure', {async: true, handler: this._onMessageConfigure.bind(this)}],
- ['setContentScale', {async: false, handler: this._onMessageSetContentScale.bind(this)}]
- ]);
window.addEventListener('message', this._onWindowMessage.bind(this), false);
document.documentElement.addEventListener('mouseup', this._onMouseUp.bind(this), false);
document.documentElement.addEventListener('click', this._onClick.bind(this), false);
@@ -101,23 +96,6 @@ class DisplayFloat extends Display {
yomichan.invokeMessageHandler(messageHandler, params, callback);
}
- async _onMessageConfigure({frameId, ownerFrameId, popupId, optionsContext, childrenSupported, scale}) {
- this.ownerFrameId = ownerFrameId;
- await this.setOptionsContext(optionsContext);
-
- if (childrenSupported && !this._nestedPopupsPrepared) {
- const {depth} = optionsContext;
- this._prepareNestedPopups(depth + 1, popupId, frameId);
- this._nestedPopupsPrepared = true;
- }
-
- this._setContentScale(scale);
- }
-
- _onMessageSetContentScale({scale}) {
- this._setContentScale(scale);
- }
-
_onMessageExtensionUnloaded() {
if (yomichan.isExtensionUnloaded) { return; }
yomichan.triggerExtensionUnloaded();
@@ -200,42 +178,6 @@ class DisplayFloat extends Display {
parent.removeChild(textarea);
}
- _setContentScale(scale) {
- const body = document.body;
- if (body === null) { return; }
- body.style.fontSize = `${scale}em`;
- }
-
- async _prepareNestedPopups(depth, parentPopupId, parentFrameId) {
- let complete = false;
-
- const onOptionsUpdated = async () => {
- const optionsContext = this.getOptionsContext();
- const options = await api.optionsGet(optionsContext);
- const maxPopupDepthExceeded = !(typeof depth === 'number' && depth <= options.scanning.popupNestingMaxDepth);
- if (maxPopupDepthExceeded || complete) { return; }
-
- complete = true;
- yomichan.off('optionsUpdated', onOptionsUpdated);
-
- try {
- await this.setupNestedPopups({
- depth,
- parentPopupId,
- parentFrameId,
- useProxyPopup: true,
- pageType: 'popup'
- });
- } catch (e) {
- yomichan.logError(e);
- }
- };
-
- yomichan.on('optionsUpdated', onOptionsUpdated);
-
- await onOptionsUpdated();
- }
-
_invokeOwner(action, params={}) {
return api.crossFrame.invoke(this.ownerFrameId, action, params);
}