From c0fe8dbf43682ae4bb591d26a140df1ce433a5b1 Mon Sep 17 00:00:00 2001 From: tophf Date: Thu, 22 Jun 2017 12:16:20 +0300 Subject: [PATCH] Move styles after once it appears; fixes #103 --- apply.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apply.js b/apply.js index 54ff5047..ae25e788 100644 --- a/apply.js +++ b/apply.js @@ -12,6 +12,7 @@ var styleElements = new Map(); var disabledElements = new Map(); var retiredStyleTimers = new Map(); var docRewriteObserver; +var docHeadObserver; requestStyles(); chrome.runtime.onMessage.addListener(applyOnMessage); @@ -211,6 +212,17 @@ function applyStyles(styles) { } }); } + // TODO: remove when https://bugzilla.mozilla.org/show_bug.cgi?id=1375358 is fixed + if (styleElements.size && !document.head && !docHeadObserver) { + docHeadObserver = new MutationObserver(() => { + docHeadObserver.disconnect(); + docHeadObserver = null; + for (const el of styleElements.values()) { + ROOT.insertBefore(el, document.body); + } + }); + docHeadObserver.observe(ROOT, {childList: true}); + } }