diff options
Diffstat (limited to 'ext/bg/js')
| -rw-r--r-- | ext/bg/js/settings-popup-preview.js | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/ext/bg/js/settings-popup-preview.js b/ext/bg/js/settings-popup-preview.js index 68655fc9..7ccdc7f3 100644 --- a/ext/bg/js/settings-popup-preview.js +++ b/ext/bg/js/settings-popup-preview.js @@ -21,6 +21,7 @@ class SettingsPopupPreview {      constructor() {          this.frontend = null;          this.apiOptionsGetOld = apiOptionsGet; +        this.popupInjectOuterStylesheetOld = Popup.injectOuterStylesheet;          this.popupShown = false;          this.themeChangeTimeout = null;      } @@ -56,6 +57,9 @@ class SettingsPopupPreview {          await this.frontend.isPrepared(); +        // Overwrite popup +        Popup.injectOuterStylesheet = (...args) => this.popupInjectOuterStylesheet(...args); +          // Update search          this.updateSearch();      } @@ -76,6 +80,19 @@ class SettingsPopupPreview {          return options;      } +    popupInjectOuterStylesheet(...args) { +        // This simulates the stylesheet priorities when injecting using the web extension API. +        const result = this.popupInjectOuterStylesheetOld(...args); + +        const outerStylesheet = Popup.outerStylesheet; +        const node = document.querySelector('#client-css'); +        if (node !== null && outerStylesheet !== null) { +            node.parentNode.insertBefore(outerStylesheet, node); +        } + +        return result; +    } +      onWindowResize() {          if (this.frontend === null) { return; }          const textSource = this.frontend.textSourceLast; |