X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fstartup.js;h=d4cfa0221e28adf33cb32de6264999d75787f479;hb=d790562;hp=5ee295bd919fffb803f2855d6abf11434e551db5;hpb=a2400af787d3fff706c5301833965d9f676aa3ed;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/startup.js b/resources/src/startup.js index 5ee295bd91..d4cfa0221e 100644 --- a/resources/src/startup.js +++ b/resources/src/startup.js @@ -25,7 +25,8 @@ performance.mark( 'mediaWikiStartUp' ); * - https://jquery.com/browser-support/ */ -/*jshint unused: false */ +/*jshint unused: false, evil: true */ +/*globals mw, RLQ: true, $VARS, $CODE */ function isCompatible( ua ) { if ( ua === undefined ) { ua = navigator.userAgent; @@ -68,5 +69,38 @@ function isCompatible( ua ) { } /** - * The startUp() function will be auto-generated and added below. + * The $CODE and $VARS placeholders are substituted in ResourceLoaderStartUpModule.php. */ +function startUp() { + mw.config = new mw.Map( $VARS.wgLegacyJavaScriptGlobals ); + + $CODE.registrations(); + + mw.config.set( $VARS.configuration ); + + // Must be after mw.config.set because these callbacks may use mw.loader which + // needs to have values 'skin', 'debug' etc. from mw.config. + window.RLQ = window.RLQ || []; + while ( RLQ.length ) { + RLQ.shift()(); + } + RLQ = { + push: function ( fn ) { + fn(); + } + }; +} + +// Conditional script injection +if ( isCompatible() ) { + ( function () { + var script = document.createElement( 'script' ); + script.src = $VARS.baseModulesUri; + document.getElementsByTagName( 'head' )[0].appendChild( script ); + }() ); +} else { + // Undo class swapping in case of an unsupported browser. + // See OutputPage::getHeadScripts(). + document.documentElement.className = document.documentElement.className + .replace( /(^|\s)client-js(\s|$)/, '$1client-nojs$2' ); +}