From 984cfc2f481fa8daa5a307694542d96b320952a0 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Tue, 8 May 2018 03:44:33 -0700 Subject: [PATCH] resourceloader: Avoid jQuery usage in queueModuleScript Bug: T192623 Change-Id: I46db7883c309cdec3722dd2d6169cf239bb113fb --- resources/src/mediawiki/mediawiki.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) 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 ); } ); }; -- 2.20.1