From 15e3b4d4922e69b0e550103b1f9a03cfe4eab5a8 Mon Sep 17 00:00:00 2001 From: Krinkle Date: Wed, 21 Dec 2011 22:08:52 +0000 Subject: [PATCH] [Core JS] mw.util.addCSS: Insert style tag into dom before setting cssText * Fixes bug 33305 --- RELEASE-NOTES-1.19 | 2 ++ resources/mediawiki/mediawiki.util.js | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES-1.19 b/RELEASE-NOTES-1.19 index f33498b91e..f5acada657 100644 --- a/RELEASE-NOTES-1.19 +++ b/RELEASE-NOTES-1.19 @@ -194,6 +194,8 @@ production. * (bug 33156) Special:Block now allows you to confirm you want to block yourself when using non-normalized username * (bug 33246) News icon shown for news:// URLs but not for news: URLs +* (bug 33305) Make mw.util.addCSS resistant to IE's @font-face bug with setting + cssText before DOM insertion. === API changes in 1.19 === * (bug 19838) siprop=interwikimap can now use the interwiki cache. diff --git a/resources/mediawiki/mediawiki.util.js b/resources/mediawiki/mediawiki.util.js index b6e0e424f6..d9aa20e171 100644 --- a/resources/mediawiki/mediawiki.util.js +++ b/resources/mediawiki/mediawiki.util.js @@ -160,13 +160,14 @@ var s = document.createElement( 'style' ); s.type = 'text/css'; s.rel = 'stylesheet'; + // Insert into document before setting cssText (bug 33305) + document.getElementsByTagName('head')[0].appendChild( s ); if ( s.styleSheet ) { s.styleSheet.cssText = text; // IE } else { // Safari sometimes borks on null s.appendChild( document.createTextNode( text + '' ) ); } - document.getElementsByTagName('head')[0].appendChild( s ); return s.sheet || s; }, -- 2.20.1