diff options
-rw-r--r-- | ext/bg/js/settings-popup-preview.js | 17 | ||||
-rw-r--r-- | ext/bg/settings-popup-preview.html | 2 | ||||
-rw-r--r-- | ext/bg/settings.html | 2 |
3 files changed, 19 insertions, 2 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; diff --git a/ext/bg/settings-popup-preview.html b/ext/bg/settings-popup-preview.html index bfe4550c..07caa271 100644 --- a/ext/bg/settings-popup-preview.html +++ b/ext/bg/settings-popup-preview.html @@ -4,7 +4,7 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title>Yomichan Popup Preview</title> - <link rel="stylesheet" type="text/css" href="/fg/css/client.css"> + <link rel="stylesheet" type="text/css" href="/fg/css/client.css" id="client-css"> <style> html { transition: background-color 0.25s linear 0s, color 0.25s linear 0s; diff --git a/ext/bg/settings.html b/ext/bg/settings.html index cb223e72..ea3e8c18 100644 --- a/ext/bg/settings.html +++ b/ext/bg/settings.html @@ -259,7 +259,7 @@ </div> <div class="col-xs-6"> <label for="custom-popup-outer-css">Custom popup outer CSS</label> - <div><textarea autocomplete="off" spellcheck="false" wrap="soft" id="custom-popup-outer-css" class="form-control"></textarea></div> + <div><textarea autocomplete="off" spellcheck="false" wrap="soft" id="custom-popup-outer-css" class="form-control" placeholder="iframe.yomichan-float { /*styles*/ }"></textarea></div> </div> </div> </div> |