diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-08-02 19:00:36 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-02 19:00:36 -0400 | 
| commit | a81d69d6c12a383664a92acb40c1c365b2425ca5 (patch) | |
| tree | 79c1603df2cc820c4b94cc2e396d10eda7644c44 /ext | |
| parent | 1184320e3e0863c86238a68bc90dc77b3355e332 (diff) | |
Add support for history navigation using mouse buttons in the popup window (#707)
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/fg/js/float.js | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/ext/fg/js/float.js b/ext/fg/js/float.js index fa571fcc..794ccc6e 100644 --- a/ext/fg/js/float.js +++ b/ext/fg/js/float.js @@ -49,6 +49,9 @@ class DisplayFloat extends Display {              ['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); +        document.documentElement.addEventListener('auxclick', this._onClick.bind(this), false);          this.initializeState(); @@ -138,6 +141,38 @@ class DisplayFloat extends Display {      // Private +    _onMouseUp(e) { +        switch (e.button) { +            case 3: // Back +                if (this._history.hasPrevious()) { +                    e.preventDefault(); +                } +                break; +            case 4: // Forward +                if (this._history.hasNext()) { +                    e.preventDefault(); +                } +                break; +        } +    } + +    _onClick(e) { +        switch (e.button) { +            case 3: // Back +                if (this._history.hasPrevious()) { +                    e.preventDefault(); +                    this._history.back(); +                } +                break; +            case 4: // Forward +                if (this._history.hasNext()) { +                    e.preventDefault(); +                    this._history.forward(); +                } +                break; +        } +    } +      _copySelection() {          if (window.getSelection().toString()) { return false; }          this._invoke('copySelection'); |