jenkins-bot has submitted this change and it was merged.

Change subject: Do not load jquery.jStorage for logged in users
......................................................................


Do not load jquery.jStorage for logged in users

Change-Id: Ibe77962cecd6aa8504aa60d5d2b8d17a56e1319f
---
M Resources.php
M UniversalLanguageSelector.hooks.php
M resources/js/ext.uls.preferences.js
3 files changed, 18 insertions(+), 7 deletions(-)

Approvals:
  Nikerabbit: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/Resources.php b/Resources.php
index f5d4d99..2f64303 100644
--- a/Resources.php
+++ b/Resources.php
@@ -118,6 +118,10 @@
        'position' => 'top',
 ) + $resourcePaths;
 
+// Anonymous users need 'jquery.jStorage' module for client side preference 
persistence.
+$wgResourceModules['ext.uls.interface.anon'] = 
$wgResourceModules['ext.uls.interface'];
+$wgResourceModules['ext.uls.interface.anon']['dependencies'][] = 
'jquery.jStorage';
+
 $wgResourceModules['ext.uls.languagesettings'] = array(
        'scripts' => 'resources/js/ext.uls.languagesettings.js',
        'styles' => 'resources/css/ext.uls.languagesettings.css',
@@ -133,7 +137,10 @@
        'dependencies' => array(
                'mediawiki.user',
                'mediawiki.api',
-               'jquery.jStorage',
+               'jquery.json',
+               // This is quite a big module and only needed for anons.
+               // Loaded conditionally in ext.uls.interface(.anon).
+               //'jquery.jStorage',
        ),
 ) + $resourcePaths;
 
diff --git a/UniversalLanguageSelector.hooks.php 
b/UniversalLanguageSelector.hooks.php
index 44436a7..82a9c59 100644
--- a/UniversalLanguageSelector.hooks.php
+++ b/UniversalLanguageSelector.hooks.php
@@ -67,7 +67,11 @@
 
                if ( self::isToolbarEnabled( $out->getUser() ) ) {
                        // Enable UI language selection for the user.
-                       $out->addModules( 'ext.uls.interface' );
+                       if (  $out->getUser()->isAnon() ) {
+                               $out->addModules( 'ext.uls.interface.anon' );
+                       } else {
+                               $out->addModules( 'ext.uls.interface' );
+                       }
                }
 
                return true;
diff --git a/resources/js/ext.uls.preferences.js 
b/resources/js/ext.uls.preferences.js
index f0cbb5f..5edde74 100644
--- a/resources/js/ext.uls.preferences.js
+++ b/resources/js/ext.uls.preferences.js
@@ -115,13 +115,14 @@
                 * Initialize
                 */
                init: function () {
+                       var options;
+
                        if ( this.isAnon ) {
-                               this.preferences = $.jStorage.get( 
this.preferenceName );
+                               this.preferences = $.jStorage.get( 
this.preferenceName ) || {};
                        } else {
-                               var options = mw.user.options.get( 
this.preferenceName );
-                               this.preferences = $.parseJSON( options );
+                               options = mw.user.options.get( 
this.preferenceName );
+                               this.preferences = $.parseJSON( options ) || {};
                        }
-                       this.preferences = this.preferences || {};
                },
 
                /**
@@ -157,7 +158,6 @@
                                $.jStorage.set( this.preferenceName, 
this.preferences );
                                callback.call( this, true );
                        } else {
-
                                // Logged in user. Use MW APIs to change 
preferences
                                saveOptionsWithToken( {
                                        action: 'options',

-- 
To view, visit https://gerrit.wikimedia.org/r/93051
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibe77962cecd6aa8504aa60d5d2b8d17a56e1319f
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to