diff options
| author | siikamiika <siikamiika@users.noreply.github.com> | 2020-04-05 21:19:28 +0300 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-04-05 21:19:28 +0300 | 
| commit | 3df78904cf734da208c6fd1b6ae1cd6612323148 (patch) | |
| tree | 398951de43ca77acd6174c5846313e1b269422c7 /ext/fg/js/frontend.js | |
| parent | 3684a479c5e12efe63c54e5532a264d157a6816d (diff) | |
| parent | 22a97d916fc6ecab1200b0ffea18cf2d5c9923d4 (diff) | |
Merge pull request #417 from siikamiika/iframe-popups-2
Show iframe popups on root page
Diffstat (limited to 'ext/fg/js/frontend.js')
| -rw-r--r-- | ext/fg/js/frontend.js | 11 | 
1 files changed, 10 insertions, 1 deletions
diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index d6c5eac6..4e9d474c 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -18,6 +18,7 @@  /* global   * TextScanner + * apiForward   * apiGetZoom   * apiKanjiFind   * apiOptionsGet @@ -52,7 +53,8 @@ class Frontend extends TextScanner {          ]);          this._runtimeMessageHandlers = new Map([ -            ['popupSetVisibleOverride', ({visible}) => { this.popup.setVisibleOverride(visible); }] +            ['popupSetVisibleOverride', ({visible}) => { this.popup.setVisibleOverride(visible); }], +            ['rootPopupRequestInformationBroadcast', () => { this._broadcastRootPopupInformation(); }]          ]);      } @@ -76,6 +78,7 @@ class Frontend extends TextScanner {              chrome.runtime.onMessage.addListener(this.onRuntimeMessage.bind(this));              this._updateContentScale(); +            this._broadcastRootPopupInformation();          } catch (e) {              this.onError(e);          } @@ -255,6 +258,12 @@ class Frontend extends TextScanner {          this._updatePopupPosition();      } +    _broadcastRootPopupInformation() { +        if (!this.popup.isProxy() && this.popup.depth === 0) { +            apiForward('rootPopupInformation', {popupId: this.popup.id, frameId: this.popup.frameId}); +        } +    } +      async _updatePopupPosition() {          const textSource = this.getCurrentTextSource();          if (textSource !== null && await this.popup.isVisible()) {  |