mediawiki.user: Simplify extension of mw.user
authorFomafix <fomafix@googlemail.com>
Tue, 24 Feb 2015 19:17:27 +0000 (19:17 +0000)
committer[[mw:User:Fomafix]] <gerritpatchuploader@gmail.com>
Tue, 24 Feb 2015 19:17:27 +0000 (19:17 +0000)
The module 'mediawiki.user' depends on module 'mediawiki'.
'mediawiki' already defines mw.user with the properties options and tokens
and initializes them with mw.Map(). A reinitialization is not necessary.

Change-Id: I282a8c0eb62ae960eec495cd8cc94efea9decc2a

resources/src/mediawiki/mediawiki.user.js

index 04d9ec6..b777cd3 100644 (file)
@@ -3,13 +3,9 @@
  * @singleton
  */
 ( function ( mw, $ ) {
-       var user, i,
+       var i,
                deferreds = {},
-               byteToHex = [],
-               // Extend the skeleton mw.user from mediawiki.js
-               // This is kind of ugly but we're stuck with this for b/c reasons
-               options = mw.user.options || new mw.Map(),
-               tokens = mw.user.tokens || new mw.Map();
+               byteToHex = [];
 
        /**
         * Get the current user's groups or rights
@@ -51,9 +47,8 @@
                byteToHex[i] = ( i + 256 ).toString( 16 ).slice( 1 );
        }
 
-       mw.user = user = {
-               options: options,
-               tokens: tokens,
+       // mw.user with the properties options and tokens gets defined in mediawiki.js.
+       $.extend( mw.user, {
 
                /**
                 * Generate a random user session ID.
                 */
                getRegistration: function () {
                        var registration = mw.config.get( 'wgUserRegistration' );
-                       if ( user.isAnon() ) {
+                       if ( mw.user.isAnon() ) {
                                return false;
                        }
                        if ( registration === null ) {
                 * @return {boolean}
                 */
                isAnon: function () {
-                       return user.getName() === null;
+                       return mw.user.getName() === null;
                },
 
                /**
                sessionId: function () {
                        var sessionId = $.cookie( 'mediaWiki.user.sessionId' );
                        if ( sessionId === undefined || sessionId === null ) {
-                               sessionId = user.generateRandomSessionId();
+                               sessionId = mw.user.generateRandomSessionId();
                                $.cookie( 'mediaWiki.user.sessionId', sessionId, { expires: null, path: '/' } );
                        }
                        return sessionId;
                 * @return {string} User name or random session ID
                 */
                id: function () {
-                       return user.getName() || user.sessionId();
+                       return mw.user.getName() || mw.user.sessionId();
                },
 
                /**
                getRights: function ( callback ) {
                        return getUserInfo( 'rights' ).done( callback );
                }
-       };
+       } );
 
 }( mediaWiki, jQuery ) );