Since I'm sick of all the mw.user-induced problems, break the dependency between...
authorRoan Kattouw <catrope@users.mediawiki.org>
Thu, 16 Feb 2012 22:51:06 +0000 (22:51 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Thu, 16 Feb 2012 22:51:06 +0000 (22:51 +0000)
includes/resourceloader/ResourceLoaderUserOptionsModule.php
includes/resourceloader/ResourceLoaderUserTokensModule.php
resources/mediawiki/mediawiki.js
resources/mediawiki/mediawiki.user.js

index 0752fd6..84932ad 100644 (file)
@@ -85,11 +85,4 @@ class ResourceLoaderUserOptionsModule extends ResourceLoaderModule {
        public function getGroup() {
                return 'private';
        }
-
-       /**
-        * @return array
-        */
-       public function getDependencies() {
-               return array( 'mediawiki.user' );
-       }
 }
index b423ecf..e1a5238 100644 (file)
@@ -60,11 +60,4 @@ class ResourceLoaderUserTokensModule extends ResourceLoaderModule {
        public function getGroup() {
                return 'private';
        }
-
-       /**
-        * @return array
-        */
-       public function getDependencies() {
-               return array( 'mediawiki.user' );
-       }
 }
index 239ece1..370aba9 100644 (file)
@@ -1419,7 +1419,13 @@ var mw = ( function ( $, undefined ) {
                                        return s;
                                }
                        };
-               }() )
+               }() ),
+
+               // Skeleton user object. mediawiki.user.js extends this
+               user: {
+                       options: new Map(),
+                       tokens: new Map()
+               }
        };
        
 })( jQuery );
index 707df55..7f881b0 100644 (file)
@@ -7,7 +7,7 @@
        /**
         * User object
         */
-       function User() {
+       function User( options, tokens ) {
 
                /* Private Members */
 
@@ -15,9 +15,9 @@
 
                /* Public Members */
 
-               this.options = new mw.Map();
+               this.options = options || new mw.Map();
 
-               this.tokens = new mw.Map();
+               this.tokens = tokens || new mw.Map();
 
                /* Public Methods */
 
                };
        }
 
-       mw.user = new User();
+       // Extend the skeleton mw.user from mediawiki.js
+       // This is kind of ugly but we're stuck with this for b/c reasons
+       mw.user = new User( mw.user.options, mw.user.tokens );
 
 })(jQuery);
\ No newline at end of file