From: Aaron Schulz Date: Tue, 8 May 2018 10:44:33 +0000 (-0700) Subject: resourceloader: Avoid jQuery usage in queueModuleScript X-Git-Tag: 1.34.0-rc.0~5490^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22brouteur%22%2C%28%24id_rubrique%20?a=commitdiff_plain;h=984cfc2f481fa8daa5a307694542d96b320952a0;p=lhc%2Fweb%2Fwiklou.git resourceloader: Avoid jQuery usage in queueModuleScript Bug: T192623 Change-Id: I46db7883c309cdec3722dd2d6169cf239bb113fb --- diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index a8c82b19a7..49479521b8 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1209,12 +1209,10 @@ * * @private * @param {string} src URL of the script - * @param {string} [moduleName] Name of currently executing module - * @return {jQuery.Promise} + * @param {string} moduleName Name of currently executing module + * @param {Function} callback Callback to run after addScript() resolution */ - function queueModuleScript( src, moduleName ) { - var r = $.Deferred(); - + function queueModuleScript( src, moduleName, callback ) { pendingRequests.push( function () { if ( moduleName && hasOwn.call( registry, moduleName ) ) { // Emulate runScript() part of execute() @@ -1226,8 +1224,7 @@ // avoid leakage to unrelated code. 'require' should be kept, however, // as asynchronous access to 'require' is allowed and expected. (T144879) delete window.module; - r.resolve(); - + callback(); // Start the next one (if any) if ( pendingRequests[ 0 ] ) { pendingRequests.shift()(); @@ -1240,7 +1237,6 @@ handlingPendingRequests = true; pendingRequests.shift()(); } - return r.promise(); } /** @@ -1304,7 +1300,7 @@ return; } - queueModuleScript( arr[ i ], module ).always( function () { + queueModuleScript( arr[ i ], module, function () { nestedAddScript( arr, callback, i + 1 ); } ); };