resourceloader: Simplify isCompatible() parameter in startup.js
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 9 Apr 2019 03:14:48 +0000 (04:14 +0100)
committerJforrester <jforrester@wikimedia.org>
Tue, 9 Apr 2019 19:22:21 +0000 (19:22 +0000)
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

resources/src/startup/startup.js

index bebf4dc..240757c 100644 (file)
  *
  * 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 <html> class. See ResourceLoaderClientHtml::getDocumentAttributes().
        document.documentElement.className = document.documentElement.className