X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fstartup%2Fstartup.js;h=240757c39675d27008a8c6526bdf65339f262e7e;hb=6497541c9c089966ce7d3b0e0abd6b68192d30d8;hp=5483ad23e8e91cf5543d9e39d0c0dae24c9c4b40;hpb=32d29b4a681048009d9ce2f986a6ad737b07cc94;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/startup/startup.js b/resources/src/startup/startup.js index 5483ad23e8..240757c396 100644 --- a/resources/src/startup/startup.js +++ b/resources/src/startup/startup.js @@ -44,11 +44,11 @@ * * Other browsers that pass the check are considered Grade X. * - * @param {string} [str] User agent, defaults to navigator.userAgent + * @private + * @param {string} ua User agent string * @return {boolean} User agent is compatible with MediaWiki JS */ -function isCompatible( str ) { - var ua = str || navigator.userAgent; +function isCompatible( ua ) { return !!( // https://caniuse.com/#feat=es5 // https://caniuse.com/#feat=use-strict @@ -76,7 +76,7 @@ function isCompatible( str ) { ); } -if ( !isCompatible() ) { +if ( !isCompatible( navigator.userAgent ) ) { // Handle Grade C // Undo speculative Grade A class. See ResourceLoaderClientHtml::getDocumentAttributes(). document.documentElement.className = document.documentElement.className @@ -118,9 +118,10 @@ if ( !isCompatible() ) { mw.config.set( $VARS.configuration ); // Process callbacks for Grade A - // Must be after registrations and mw.config.set, which mw.loader depends on. var queue = window.RLQ; - // Redefine push(), but keep type as array for storing callbacks that require modules. + // Replace RLQ placeholder from ResourceLoaderClientHtml with an implementation + // that executes simple callbacks, but continues to store callbacks that require + // modules. window.RLQ = []; /* global RLQ */ RLQ.push = function ( fn ) { @@ -132,7 +133,7 @@ if ( !isCompatible() ) { } }; while ( queue && queue[ 0 ] ) { - // Re-use our push() + // Re-use our new push() method RLQ.push( queue.shift() ); }