jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/340236 )

Change subject: mediawiki.user: Move JS session token from cookie to 
sessionStorage
......................................................................


mediawiki.user: Move JS session token from cookie to sessionStorage

The old cookies will become unused and expiry automatically.

Also add basic unit tests.

Bug: T110353
Change-Id: I6fa98ae797481dfaef95ab1ea996ebf057f8d55d
---
M resources/src/mediawiki/mediawiki.user.js
M tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
2 files changed, 13 insertions(+), 6 deletions(-)

Approvals:
  Fomafix: Looks good to me, but someone else must approve
  jenkins-bot: Verified
  Nuria: Looks good to me, but someone else must approve
  Jforrester: Looks good to me, approved



diff --git a/resources/src/mediawiki/mediawiki.user.js 
b/resources/src/mediawiki/mediawiki.user.js
index c4c91f9..d1fa84a 100644
--- a/resources/src/mediawiki/mediawiki.user.js
+++ b/resources/src/mediawiki/mediawiki.user.js
@@ -118,18 +118,18 @@
                },
 
                /**
-                * Get an automatically generated random ID (stored in a 
session cookie)
+                * Get an automatically generated random ID (persisted in 
sessionStorage)
                 *
-                * This ID is ephemeral for everyone, staying in their browser 
only until they close
-                * their browser.
+                * This ID is ephemeral for everyone, staying in their browser 
only until they
+                * close their browsing session.
                 *
                 * @return {string} Random session ID
                 */
                sessionId: function () {
-                       var sessionId = mw.cookie.get( 'mwuser-sessionId' );
-                       if ( sessionId === null ) {
+                       var sessionId = mw.storage.session.get( 
'mwuser-sessionId' );
+                       if ( !sessionId ) {
                                sessionId = mw.user.generateRandomSessionId();
-                               mw.cookie.set( 'mwuser-sessionId', sessionId, { 
expires: null } );
+                               mw.storage.session.set( 'mwuser-sessionId', 
sessionId );
                        }
                        return sessionId;
                },
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js 
b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
index 7f6efa0..bc12642 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.user.test.js
@@ -95,6 +95,13 @@
 
                result2 = mw.user.generateRandomSessionId();
                assert.notEqual( result, result2, 'different when called 
multiple times' );
+       } );
 
+       QUnit.test( 'sessionId', function ( assert ) {
+               var result = mw.user.sessionId(),
+                       result2 = mw.user.sessionId();
+               assert.equal( typeof result, 'string', 'type' );
+               assert.equal( $.trim( result ), result, 'no leading or trailing 
whitespace' );
+               assert.equal( result2, result, 'retained' );
        } );
 }( mediaWiki, jQuery ) );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6fa98ae797481dfaef95ab1ea996ebf057f8d55d
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: Awight <awi...@wikimedia.org>
Gerrit-Reviewer: Fomafix <foma...@googlemail.com>
Gerrit-Reviewer: Gilles <gdu...@wikimedia.org>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: MaxSem <maxsem.w...@gmail.com>
Gerrit-Reviewer: Nuria <nu...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to