Merge "Avoid implicit globals"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 1 May 2017 21:39:51 +0000 (21:39 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 1 May 2017 21:39:51 +0000 (21:39 +0000)
resources/src/jquery/jquery.getAttrs.js
resources/src/mediawiki.router/index.js
resources/src/startup.js

index 3064b42..e00298f 100644 (file)
@@ -1,41 +1,37 @@
 /**
  * @class jQuery.plugin.getAttrs
  */
+( function ( $ ) {
+       function serializeControls( controls ) {
+               var i,
+                       data = {},
+                       len = controls.length;
 
-function serializeControls( controls ) {
-       var i,
-               data = {},
-               len = controls.length;
+               for ( i = 0; i < len; i++ ) {
+                       data[ controls[ i ].name ] = controls[ i ].value;
+               }
 
-       for ( i = 0; i < len; i++ ) {
-               data[ controls[ i ].name ] = controls[ i ].value;
+               return data;
        }
 
-       return data;
-}
+       /**
+        * Get the attributes of an element directy as a plain object.
+        *
+        * If there is more than one element in the collection, similar to most other jQuery getter methods,
+        * this will use the first element in the collection.
+        *
+        * @return {Object}
+        */
+       $.fn.getAttrs = function () {
+               return serializeControls( this[ 0 ].attributes );
+       };
 
-/**
- * Get the attributes of an element directy as a plain object.
- *
- * If there is more than one element in the collection, similar to most other jQuery getter methods,
- * this will use the first element in the collection.
- *
- * @return {Object}
- */
-jQuery.fn.getAttrs = function () {
-       return serializeControls( this[ 0 ].attributes );
-};
-
-/**
- * Get form data as a plain object mapping form control names to their values.
- *
- * @return {Object}
- */
-jQuery.fn.serializeObject = function () {
-       return serializeControls( this.serializeArray() );
-};
-
-/**
- * @class jQuery
- * @mixins jQuery.plugin.getAttrs
- */
+       /**
+        * Get form data as a plain object mapping form control names to their values.
+        *
+        * @return {Object}
+        */
+       $.fn.serializeObject = function () {
+               return serializeControls( this.serializeArray() );
+       };
+}( jQuery ) );
index a49cfeb..737ef5f 100644 (file)
@@ -1,2 +1,4 @@
-var Router = require( 'oojs-router' );
-module.exports = new Router();
+( function () {
+       var Router = require( 'oojs-router' );
+       module.exports = new Router();
+}() );
index e0df772..d672d76 100644 (file)
@@ -5,21 +5,19 @@
  * - Beware: Do not call mwNow before the isCompatible() check.
  */
 
-/* global mw, $VARS, $CODE */
-
-var mwPerformance = ( window.performance && performance.mark ) ? performance : {
-               mark: function () {}
-       },
-       // Define now() here to ensure valid comparison with mediaWikiLoadEnd (T153819).
-       mwNow = ( function () {
-               var perf = window.performance,
-                       navStart = perf && perf.timing && perf.timing.navigationStart;
-               return navStart && typeof perf.now === 'function' ?
-                       function () { return navStart + perf.now(); } :
-                       function () { return Date.now(); };
-       }() ),
-       // eslint-disable-next-line no-unused-vars
-       mediaWikiLoadStart;
+/* global mw, mwPerformance, mwNow, isCompatible, $VARS, $CODE */
+
+window.mwPerformance = ( window.performance && performance.mark ) ? performance : {
+       mark: function () {}
+};
+// Define now() here to ensure valid comparison with mediaWikiLoadEnd (T153819).
+window.mwNow = ( function () {
+       var perf = window.performance,
+               navStart = perf && perf.timing && perf.timing.navigationStart;
+       return navStart && typeof perf.now === 'function' ?
+               function () { return navStart + perf.now(); } :
+               function () { return Date.now(); };
+}() );
 
 /**
  * See <https://www.mediawiki.org/wiki/Compatibility#Browsers>
@@ -62,7 +60,7 @@ var mwPerformance = ( window.performance && performance.mark ) ? performance : {
  * @param {string} [str] User agent, defaults to navigator.userAgent
  * @return {boolean} User agent is compatible with MediaWiki JS
  */
-function isCompatible( str ) {
+window.isCompatible = function ( str ) {
        var ua = str || navigator.userAgent;
        return !!(
                // http://caniuse.com/#feat=es5
@@ -92,7 +90,7 @@ function isCompatible( str ) {
                        ua.match( /PlayStation/i )
                )
        );
-}
+};
 
 // Conditional script injection
 ( function () {
@@ -152,7 +150,7 @@ function isCompatible( str ) {
                };
        }
 
-       mediaWikiLoadStart = mwNow();
+       window.mediaWikiLoadStart = mwNow();
        mwPerformance.mark( 'mwLoadStart' );
 
        script = document.createElement( 'script' );