Ori.livneh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/234002
Change subject: Use localStorage to store previous languages, not cookies
......................................................................
Use localStorage to store previous languages, not cookies
Automatically migrates data from uls-previous-language cookie to localStorage.
See associated bug for rationale.
Bug: T110353
Change-Id: Ib98499040b9edf4a1f1d9e3afd7661fc2d1f7fea
---
M resources/js/ext.uls.init.js
1 file changed, 22 insertions(+), 11 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector
refs/changes/02/234002/1
diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js
index 5a112e7..780f60f 100644
--- a/resources/js/ext.uls.init.js
+++ b/resources/js/ext.uls.init.js
@@ -22,7 +22,7 @@
var hasOwn = Object.prototype.hasOwnProperty;
mw.uls = mw.uls || {};
- mw.uls.previousLanguagesCookie = 'uls-previous-languages';
+ mw.uls.previousLanguagesStorageKey = 'uls-previous-languages';
mw.uls.previousLanguageAutonymCookie = 'uls-previous-language-autonym';
mw.uls.languageSettingsModules = [ 'ext.uls.inputsettings',
'ext.uls.displaysettings' ];
@@ -85,22 +85,33 @@
};
mw.uls.setPreviousLanguages = function ( previousLanguages ) {
- $.cookie( mw.uls.previousLanguagesCookie,
- JSON.stringify( previousLanguages ), {
- path: '/'
- }
- );
+ try {
+ localStorage.setItem(
+ mw.uls.previousLanguagesStorageKey,
+ JSON.stringify( previousLanguages.slice( -5 ) )
+ );
+ } catch ( e ) {}
};
mw.uls.getPreviousLanguages = function () {
- var previousLanguages = $.cookie(
mw.uls.previousLanguagesCookie );
+ var previousLanguages = $.cookie(
mw.uls.previousLanguagesStorageKey );
- if ( !previousLanguages ) {
- return [];
+ if ( $.isArray( previousLanguages ) ) {
+ // Migrate data from cookie to localStorage.
+ mw.uls.setPreviousLanguages( previousLanguages );
+ $.removeCookie( mw.uls.previousLanguagesStorageKey );
+ } else {
+ previousLanguages = [];
}
- // return last 5 language changes
- return JSON.parse( previousLanguages ).slice( -5 );
+ try {
+ previousLanguages.push.apply(
+ previousLanguages,
+ localStorage.getItem(
mw.uls.previousLanguagesStorageKey )
+ );
+ } catch ( e ) {}
+
+ return previousLanguages.slice( -5 );
};
/**
--
To view, visit https://gerrit.wikimedia.org/r/234002
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib98499040b9edf4a1f1d9e3afd7661fc2d1f7fea
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits