Krinkle has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/340239 )

Change subject: mediawiki.special.preferences: Use mw.storage.session for 
sessionStorage
......................................................................

mediawiki.special.preferences: Use mw.storage.session for sessionStorage

Consistent access pattern.

Change-Id: Icc2591159a88eb5f80c601b22219c06df15f2347
---
M resources/src/mediawiki.special/mediawiki.special.preferences.js
1 file changed, 10 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/39/340239/1

diff --git a/resources/src/mediawiki.special/mediawiki.special.preferences.js 
b/resources/src/mediawiki.special/mediawiki.special.preferences.js
index 163e85d..e797ebf 100644
--- a/resources/src/mediawiki.special/mediawiki.special.preferences.js
+++ b/resources/src/mediawiki.special/mediawiki.special.preferences.js
@@ -3,7 +3,7 @@
  */
 ( function ( mw, $ ) {
        $( function () {
-               var $preftoc, $preferences, $fieldsets, labelFunc,
+               var $preftoc, $preferences, $fieldsets, labelFunc, previousTab,
                        $tzSelect, $tzTextbox, $localtimeHolder, servertime, 
allowCloseWindow,
                        convertmessagebox = require( 
'mediawiki.notification.convertmessagebox' );
 
@@ -238,19 +238,18 @@
                // Preserve the tab after saving the preferences
                // Not using cookies, because their deletion results are 
inconsistent.
                // Not using jStorage due to its enormous size (for this 
feature)
-               if ( window.sessionStorage ) {
-                       if ( sessionStorage.getItem( 'mediawikiPreferencesTab' 
) !== null ) {
-                               switchPrefTab( sessionStorage.getItem( 
'mediawikiPreferencesTab' ), 'noHash' );
-                       }
+               previousTab = mw.storage.session.get( 'mwpreferences-prevTab' );
+               if ( previousTab ) {
+                       switchPrefTab( previousTab, 'noHash' );
                        // Deleting the key, the tab states should be reset 
until we press Save
-                       sessionStorage.removeItem( 'mediawikiPreferencesTab' );
-
-                       $( '#mw-prefs-form' ).submit( function () {
-                               var storageData = $( $preftoc ).find( 
'li.selected a' ).attr( 'id' ).replace( 'preftab-', '' );
-                               sessionStorage.setItem( 
'mediawikiPreferencesTab', storageData );
-                       } );
+                       mw.storage.session.remove( previousTab );
                }
 
+               $( '#mw-prefs-form' ).on( 'submit', function () {
+                       var value = $( $preftoc ).find( 'li.selected a' ).attr( 
'id' ).replace( 'preftab-', '' );
+                       mw.storage.session.set( 'mwpreferences-prevTab', value 
);
+               } );
+
                // Check if all of the form values are unchanged
                function isPrefsChanged() {
                        var inputs = $( '#mw-prefs-form :input[name]' ),

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icc2591159a88eb5f80c601b22219c06df15f2347
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to