Don't clobber existing styles when adding more in IE9
authorBartosz Dziewoński <matma.rex@gmail.com>
Fri, 2 Oct 2015 15:00:33 +0000 (17:00 +0200)
committerBartosz Dziewoński <matma.rex@gmail.com>
Fri, 2 Oct 2015 15:00:33 +0000 (17:00 +0200)
Follow-up to c2e8f505c12ace6af42161bf9930d483b1721f2e. This was really
stupid and I feel stupid.

Bug: T114323
Change-Id: I80292083d8fd50c2e2727446e4468b6a13ad40e5

resources/src/mediawiki/mediawiki.js

index 2eecbab..12d698b 100644 (file)
                         * @param {Function} [callback]
                         */
                        function addEmbeddedCSS( cssText, callback ) {
-                               var $style, styleEl;
+                               var $style, styleEl, newCssText;
 
                                function fireCallbacks() {
                                        var oldCallbacks = cssCallbacks;
                                                                // write, dropping @media queries from the CSS text. If we read it and used its
                                                                // value, we would accidentally apply @media-specific styles to all media. (T108727)
                                                                if ( document.documentMode === 9 ) {
-                                                                       styleEl.styleSheet.cssText = $style.data( 'ResourceLoaderDynamicStyleTag' ) + cssText;
+                                                                       newCssText = $style.data( 'ResourceLoaderDynamicStyleTag' ) + cssText;
+                                                                       styleEl.styleSheet.cssText = newCssText;
+                                                                       $style.data( 'ResourceLoaderDynamicStyleTag', newCssText );
                                                                } else {
                                                                        styleEl.styleSheet.cssText += cssText;
                                                                }