diff options
author | jenkins-bot <jenkins-bot@gerrit.wikimedia.org> | 2018-05-16 16:40:07 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@wikimedia.org> | 2018-05-16 16:40:07 +0000 |
commit | 81a7885a4556899b6c7af609a720fdc588628662 (patch) | |
tree | ff8e342fbf8ecbc3ec25f0046ad62a3bc66ddcfc /resources/src | |
parent | cc0fe6c4a7cfad4dcecad5372c630d804914e4b2 (diff) | |
parent | 75ca30a215ad9209dc95788e9d5c2d8c210a7e78 (diff) | |
download | mediawikicore-81a7885a4556899b6c7af609a720fdc588628662.tar.gz mediawikicore-81a7885a4556899b6c7af609a720fdc588628662.zip |
Merge "resourceloader: avoid use of $.globalEval in mediawiki.js"
Diffstat (limited to 'resources/src')
-rw-r--r-- | resources/src/mediawiki/mediawiki.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/resources/src/mediawiki/mediawiki.js b/resources/src/mediawiki/mediawiki.js index fbe8af2d62f0..486fb804870a 100644 --- a/resources/src/mediawiki/mediawiki.js +++ b/resources/src/mediawiki/mediawiki.js @@ -1272,6 +1272,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 * * @private @@ -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 ); } |