diff options
| -rw-r--r-- | ext/fg/js/float.js | 45 | ||||
| -rw-r--r-- | ext/fg/js/popup.js | 20 | 
2 files changed, 28 insertions, 37 deletions
| diff --git a/ext/fg/js/float.js b/ext/fg/js/float.js index 8f561fec..88842eef 100644 --- a/ext/fg/js/float.js +++ b/ext/fg/js/float.js @@ -96,6 +96,18 @@ class DisplayFloat extends Display {          }      } +    initialize(options, popupInfo, url) { +        const css = options.general.customPopupCss; +        if (css) { +            this.setStyle(css); +        } + +        const {id, depth, parentFrameId} = popupInfo; +        this.optionsContext.depth = depth; +        this.optionsContext.url = url; +        popupNestedInitialize(id, depth, parentFrameId, url); +    } +      setStyle(css) {          const parent = document.head; @@ -122,34 +134,11 @@ DisplayFloat.onKeyDownHandlers = {  };  DisplayFloat.messageHandlers = { -    termsShow: (self, {definitions, options, context}) => { -        self.termsShow(definitions, options, context); -    }, - -    kanjiShow: (self, {definitions, options, context}) => { -        self.kanjiShow(definitions, options, context); -    }, - -    clearAutoPlayTimer: (self) => { -        self.clearAutoPlayTimer(); -    }, - -    orphaned: (self) => { -        self.onOrphaned(); -    }, - -    setOptions: (self, options) => { -        const css = options.general.customPopupCss; -        if (css) { -            self.setStyle(css); -        } -    }, - -    popupNestedInitialize: (self, {id, depth, parentFrameId, url}) => { -        self.optionsContext.depth = depth; -        self.optionsContext.url = url; -        popupNestedInitialize(id, depth, parentFrameId, url); -    } +    termsShow: (self, {definitions, options, context}) => self.termsShow(definitions, options, context), +    kanjiShow: (self, {definitions, options, context}) => self.kanjiShow(definitions, options, context), +    clearAutoPlayTimer: (self) => self.clearAutoPlayTimer(), +    orphaned: (self) => self.onOrphaned(), +    initialize: (self, {options, popupInfo, url}) => self.initialize(options, popupInfo, url)  };  window.yomichan_display = new DisplayFloat(); diff --git a/ext/fg/js/popup.js b/ext/fg/js/popup.js index 64da9aef..9dff6f28 100644 --- a/ext/fg/js/popup.js +++ b/ext/fg/js/popup.js @@ -56,17 +56,19 @@ class Popup {          return new Promise((resolve) => {              const parentFrameId = (typeof this.frameId === 'number' ? this.frameId : null);              this.container.addEventListener('load', () => { -                this.invokeApi('popupNestedInitialize', { -                    id: this.id, -                    depth: this.depth, -                    parentFrameId, +                this.invokeApi('initialize', { +                    options: { +                        general: { +                            customPopupCss: options.general.customPopupCss +                        } +                    }, +                    popupInfo: { +                        id: this.id, +                        depth: this.depth, +                        parentFrameId +                    },                      url: this.url                  }); -                this.invokeApi('setOptions', { -                    general: { -                        customPopupCss: options.general.customPopupCss -                    } -                });                  resolve();              });              this.observeFullscreen(); |