Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/276789
Change subject: Only provide global require in debug mode when needed
......................................................................
Only provide global require in debug mode when needed
To avoid interference with certain modules be a bit more cautious when
supplying a global window.require
Bug: T127643
Change-Id: Id7fc7141373c3fae0ac445e49523681948994c40
---
M resources/src/mediawiki/mediawiki.js
1 file changed, 12 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/89/276789/1
diff --git a/resources/src/mediawiki/mediawiki.js
b/resources/src/mediawiki/mediawiki.js
index f282db6..9495f4e 100644
--- a/resources/src/mediawiki/mediawiki.js
+++ b/resources/src/mediawiki/mediawiki.js
@@ -1193,14 +1193,22 @@
var r = $.Deferred();
pendingRequests.push( function () {
- if ( moduleName && !hasOwn.call(
registry, moduleName ) ) {
+ if ( moduleName && !hasOwn.call(
registry, moduleName )
+ // certain libraries e.g. Ace
might make use of a global require method
+ // so only hijack where
necessary (see T127643)
+ && typeof window.require ===
undefined
+ ) {
+ window._mwRequire = true;
window.require =
mw.loader.require;
window.module = registry[
moduleName ].module;
}
addScript( src ).always( function () {
- // Clear environment
- delete window.require;
- delete window.module;
+ // Clear environment after
running script if we hijacked it
+ if ( window._mwRequire ) {
+ delete
window._mwRequire;
+ delete window.require;
+ delete window.module;
+ }
r.resolve();
// Start the next one (if any)
--
To view, visit https://gerrit.wikimedia.org/r/276789
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id7fc7141373c3fae0ac445e49523681948994c40
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits