From: Aaron Schulz Date: Tue, 8 May 2018 21:39:29 +0000 (-0700) Subject: resourceloader: Move always() call to addScript() in mediawiki.js X-Git-Tag: 1.34.0-rc.0~5489 X-Git-Url: https://git.cyclocoop.org//%22?a=commitdiff_plain;h=522f2cc51b4d32b283e346a5654398e0fa6deaa1;p=lhc%2Fweb%2Fwiklou.git resourceloader: Move always() call to addScript() in mediawiki.js Bug: T192623 Change-Id: Ic0134baf0b501354c8713c7dad6a2e5b7f185793 --- diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index 49479521b8..598293aa6f 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1188,10 +1188,10 @@ * * @private * @param {string} src URL to script, will be used as the src attribute in the script tag - * @return {jQuery.Promise} + * @param {Function} [callback] Callback to run after request resolution */ - function addScript( src ) { - return $.ajax( { + function addScript( src, callback ) { + var promise = $.ajax( { url: src, dataType: 'script', // Force jQuery behaviour to be for crossDomain. Otherwise jQuery would use @@ -1202,6 +1202,10 @@ crossDomain: true, cache: true } ); + + if ( callback ) { + promise.always( callback ); + } } /** @@ -1214,12 +1218,12 @@ */ function queueModuleScript( src, moduleName, callback ) { pendingRequests.push( function () { - if ( moduleName && hasOwn.call( registry, moduleName ) ) { + if ( hasOwn.call( registry, moduleName ) ) { // Emulate runScript() part of execute() window.require = mw.loader.require; window.module = registry[ moduleName ].module; } - addScript( src ).always( function () { + addScript( src, function () { // 'module.exports' should not persist after the file is executed to // avoid leakage to unrelated code. 'require' should be kept, however, // as asynchronous access to 'require' is allowed and expected. (T144879)