resourceloader: Use plain arrays instead of $.Callbacks() in addEmbeddedCSS
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 26 Apr 2018 21:18:43 +0000 (22:18 +0100)
committerKrinkle <krinklemail@gmail.com>
Fri, 27 Apr 2018 03:20:20 +0000 (03:20 +0000)
Bug: T192623
Change-Id: I00c9571d353980d853cc8e92b2b508ad7271ab87

resources/src/mediawiki/mediawiki.js

index 3fe276b..7e02f24 100644 (file)
                                // For addEmbeddedCSS()
                                cssBuffer = '',
                                cssBufferTimer = null,
-                               cssCallbacks = $.Callbacks(),
+                               cssCallbacks = [],
                                rAF = window.requestAnimationFrame || setTimeout;
 
                        function getMarker() {
                         */
                        function addEmbeddedCSS( cssText, callback ) {
                                function fireCallbacks() {
-                                       var oldCallbacks = cssCallbacks;
+                                       var i,
+                                               oldCallbacks = cssCallbacks;
                                        // Reset cssCallbacks variable so it's not polluted by any calls to
                                        // addEmbeddedCSS() from one of the callbacks (T105973)
-                                       cssCallbacks = $.Callbacks();
-                                       oldCallbacks.fire().empty();
+                                       cssCallbacks = [];
+                                       for ( i = 0; i < oldCallbacks.length; i++ ) {
+                                               oldCallbacks[ i ]();
+                                       }
                                }
 
                                if ( callback ) {
-                                       cssCallbacks.add( callback );
+                                       cssCallbacks.push( callback );
                                }
 
                                // Yield once before creating the <style> tag. This lets multiple stylesheets