aboutsummaryrefslogtreecommitdiffstats
path: root/resources/src
diff options
context:
space:
mode:
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>2018-05-16 16:40:07 +0000
committerGerrit Code Review <gerrit@wikimedia.org>2018-05-16 16:40:07 +0000
commit81a7885a4556899b6c7af609a720fdc588628662 (patch)
treeff8e342fbf8ecbc3ec25f0046ad62a3bc66ddcfc /resources/src
parentcc0fe6c4a7cfad4dcecad5372c630d804914e4b2 (diff)
parent75ca30a215ad9209dc95788e9d5c2d8c210a7e78 (diff)
downloadmediawikicore-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.js15
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 );
}