From: Aaron Schulz Date: Thu, 10 May 2018 19:46:23 +0000 (-0700) Subject: resourceloader: avoid use of $.globalEval in mediawiki.js X-Git-Tag: 1.34.0-rc.0~5419^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22suivi_revisions%22%29%20.%20%22?a=commitdiff_plain;h=75ca30a215ad9209dc95788e9d5c2d8c210a7e78;p=lhc%2Fweb%2Fwiklou.git resourceloader: avoid use of $.globalEval in mediawiki.js Bug: T192623 Change-Id: Icdd5d76546a6c265a8e941c4e9b28f73bf9dd028 --- diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index fbe8af2d62..486fb80487 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1271,6 +1271,17 @@ } } + /** + * @private + * @param {string} code JavaScript code + */ + function domEval( code ) { + var script = document.createElement( 'script' ); + script.text = code; + document.head.appendChild( script ); + script.parentNode.removeChild( script ); + } + /** * Executes a loaded module, making it ready to use * @@ -1325,7 +1336,7 @@ // Site and user modules are legacy scripts that run in the global scope. // This is transported as a string instead of a function to avoid needing // to use string manipulation to undo the function wrapper. - $.globalEval( script ); + domEval( script ); markModuleReady(); } else { @@ -1711,7 +1722,7 @@ } mw.requestIdleCallback( function () { try { - $.globalEval( implementations.join( ';' ) ); + domEval( implementations.join( ';' ) ); } catch ( err ) { cb( err ); }