@@ -22,18 +22,41 @@ var PlaceHolder = (() => {
2222 const HANDLERS = new Map ( ) ;
2323 const CLASS_NAME = "__NoScript_PlaceHolder__ __NoScript_Theme__" ;
2424 const SELECTOR = `a.${ CLASS_NAME . split ( / \s + / ) . join ( '.' ) } ` ;
25- let checkStyle = async ( ) => {
25+
26+ let checkStyle = ( ) => {
2627 checkStyle = ( ) => { } ;
2728 if ( ! ns . embeddingDocument ) return ;
2829 let replacement = document . querySelector ( SELECTOR ) ;
2930 if ( ! replacement ) return ;
3031 if ( window . getComputedStyle ( replacement , null ) . opacity !== "0.8" ) {
31- const sheets = [ "/common/themes.css" , "/content/content.css" ] ;
32- await Promise . all ( sheets . map ( async ( url , index ) => {
33- sheets [ index ] = ( await ( await fetch ( browser . runtime . getURL ( url ) ) ) . text ( ) ) ;
34- } ) ) ;
35- document . head . appendChild ( createHTMLElement ( "style" ) ) . textContent = sheets . join ( "\n" ) ;
32+ for ( let url of [ "/common/themes.css" , "/content/content.css" ] ) {
33+ let l = createHTMLElement ( "link" ) ;
34+ l . href = browser . runtime . getURL ( url ) ;
35+ l . rel = "stylesheet" ;
36+ l . type = "text/css" ;
37+ document . head . appendChild ( l ) ;
38+ }
39+ }
40+ } ;
41+
42+ var theme ;
43+ let updateTheme = replacement => {
44+ if ( theme === undefined ) {
45+ replacement . style . backgroundImage = "none" ;
46+ ( async ( ) => {
47+ try {
48+ theme = await Messages . send ( "getTheme" ) ;
49+ } catch ( e ) {
50+ theme = "" ;
51+ }
52+ updateTheme ( replacement ) ;
53+ } ) ( ) ;
54+ return ;
3655 }
56+ if ( theme ) {
57+ replacement . classList . add ( theme ) ;
58+ }
59+ replacement . style . backgroundImage = "" ;
3760 } ;
3861
3962
@@ -191,6 +214,8 @@ var PlaceHolder = (() => {
191214 e . _placeHolderReplacement = replacement ;
192215 }
193216
217+ updateTheme ( replacement ) ;
218+
194219 element . replaceWith ( replacement ) ;
195220
196221 // do our best to bring it to front
0 commit comments