diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-10-12 14:34:45 -0400 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-10-12 15:31:29 -0400 | 
| commit | 194615ef21557236cd2b9ea390b4164a4d5338c5 (patch) | |
| tree | 46bd7a3c8399c7f372a680182bb2328dfe65dc47 | |
| parent | 3e249e19ac5f5650553c6303b87adfdb2a688536 (diff) | |
Make popups store options
| -rw-r--r-- | ext/fg/js/frontend.js | 1 | ||||
| -rw-r--r-- | ext/fg/js/popup-proxy-host.js | 6 | ||||
| -rw-r--r-- | ext/fg/js/popup-proxy.js | 5 | ||||
| -rw-r--r-- | ext/fg/js/popup.js | 5 | 
4 files changed, 17 insertions, 0 deletions
| diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index 1c41cad1..f67441af 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -287,6 +287,7 @@ class Frontend {      async updateOptions() {          this.options = await apiOptionsGet(this.getOptionsContext());          this.setEnabled(this.options.general.enable); +        await this.popup.setOptions(this.options);      }      popupTimerSet(callback) { diff --git a/ext/fg/js/popup-proxy-host.js b/ext/fg/js/popup-proxy-host.js index f933639c..5edee8dd 100644 --- a/ext/fg/js/popup-proxy-host.js +++ b/ext/fg/js/popup-proxy-host.js @@ -38,6 +38,7 @@ class PopupProxyHost {          this.apiReceiver = new FrontendApiReceiver(`popup-proxy-host#${frameId}`, {              createNestedPopup: ({parentId}) => this.createNestedPopup(parentId), +            setOptions: ({id, options}) => this.setOptions(id, options),              show: ({id, elementRect, options}) => this.show(id, elementRect, options),              showOrphaned: ({id, elementRect, options}) => this.show(id, elementRect, options),              hide: ({id, changeFocus}) => this.hide(id, changeFocus), @@ -86,6 +87,11 @@ class PopupProxyHost {          return new DOMRect(x, y, jsonRect.width, jsonRect.height);      } +    async setOptions(id, options) { +        const popup = this.getPopup(id); +        return await popup.setOptions(options); +    } +      async show(id, elementRect, options) {          const popup = this.getPopup(id);          elementRect = this.jsonRectToDOMRect(popup, elementRect); diff --git a/ext/fg/js/popup-proxy.js b/ext/fg/js/popup-proxy.js index efbd28b2..22b95785 100644 --- a/ext/fg/js/popup-proxy.js +++ b/ext/fg/js/popup-proxy.js @@ -46,6 +46,11 @@ class PopupProxy {          return id;      } +    async setOptions(options) { +        const id = await this.getPopupId(); +        return await this.invokeHostApi('setOptions', {id, options}); +    } +      async show(elementRect, options) {          const id = await this.getPopupId();          elementRect = PopupProxy.DOMRectToJson(elementRect); diff --git a/ext/fg/js/popup.js b/ext/fg/js/popup.js index 0fd6a9d0..396a5be9 100644 --- a/ext/fg/js/popup.js +++ b/ext/fg/js/popup.js @@ -37,6 +37,7 @@ class Popup {          this.isInjected = false;          this.visible = false;          this.visibleOverride = null; +        this.options = null;          this.updateVisibility();      } @@ -78,6 +79,10 @@ class Popup {          });      } +    async setOptions(options) { +        this.options = options; +    } +      async show(elementRect, writingMode, options) {          await this.inject(options); |