This is a private function (now marked as such) only ever called
once in prod code (a few lines further down). It is exposed
to testing as well, which is why it has a parameter.
Call it with a parameter within startup.js as well, so that we can
remove the default handling and use the function the same way in
prod as the way we use it in tests.
Change-Id: Ie9db60e417cca29f86cea20359e880cb1fa20197
*
* Other browsers that pass the check are considered Grade X.
*
*
* 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
*/
* @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
return !!(
// https://caniuse.com/#feat=es5
// https://caniuse.com/#feat=use-strict
-if ( !isCompatible() ) {
+if ( !isCompatible( navigator.userAgent ) ) {
// Handle Grade C
// Undo speculative Grade A <html> class. See ResourceLoaderClientHtml::getDocumentAttributes().
document.documentElement.className = document.documentElement.className
// Handle Grade C
// Undo speculative Grade A <html> class. See ResourceLoaderClientHtml::getDocumentAttributes().
document.documentElement.className = document.documentElement.className