Ori.livneh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/231606

Change subject: Work even when cookies are disabled
......................................................................

Work even when cookies are disabled

When cookies are disabled in Firefox, merely referencing window.localStorage is
enough to cause Firefox to throw a SecurityError exception. (See the referenced
bug for reproduction instructions.) This causes MMV to fail to start.

Bug: T109110
Change-Id: I28399cf8b63328ee34316b785f2d091f6f052224
---
M resources/mmv/mmv.bootstrap.js
M resources/mmv/mmv.lightboxinterface.js
2 files changed, 14 insertions(+), 3 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MultimediaViewer 
refs/changes/06/231606/1

diff --git a/resources/mmv/mmv.bootstrap.js b/resources/mmv/mmv.bootstrap.js
index 0d2b272..836e249 100644
--- a/resources/mmv/mmv.bootstrap.js
+++ b/resources/mmv/mmv.bootstrap.js
@@ -24,6 +24,12 @@
         * @class mw.mmv.MultimediaViewerBootstrap
         */
        function MultimediaViewerBootstrap () {
+               var localStorage = false;
+
+               try {
+                       localStorage = window.localStorage || false;
+               } catch ( e ) { }
+
                this.validExtensions = {
                        'jpg' : true,
                        'jpeg' : true,
@@ -47,7 +53,7 @@
                        mw.config,
                        mw.user,
                        new mw.Api(),
-                       window.localStorage
+                       localStorage
                );
 
                /** @property {mw.mmv.HtmlUtils} htmlUtils - */
diff --git a/resources/mmv/mmv.lightboxinterface.js 
b/resources/mmv/mmv.lightboxinterface.js
index 87db342..0fa0527 100644
--- a/resources/mmv/mmv.lightboxinterface.js
+++ b/resources/mmv/mmv.lightboxinterface.js
@@ -25,13 +25,18 @@
         * @constructor
         */
        function LightboxInterface() {
+               this.localStorage = false;
+               try {
+                       this.localStorage = window.localStorage || false;
+               } catch ( e ) {}
+
                /** @property {mw.mmv.Config} config - */
                this.config = new mw.mmv.Config(
                        mw.config.get( 'wgMultimediaViewer', {} ),
                        mw.config,
                        mw.user,
                        new mw.Api(),
-                       window.localStorage
+                       this.localStorage
                );
 
                /**
@@ -96,7 +101,7 @@
 
                this.setupCanvasButtons();
 
-               this.panel = new mw.mmv.ui.MetadataPanel( this.$postDiv, 
this.$aboveFold, window.localStorage, this.config );
+               this.panel = new mw.mmv.ui.MetadataPanel( this.$postDiv, 
this.$aboveFold, this.localStorage, this.config );
                this.buttons = new mw.mmv.ui.CanvasButtons( this.$preDiv, 
this.$closeButton, this.$fullscreenButton );
                this.canvas = new mw.mmv.ui.Canvas( this.$innerWrapper, 
this.$imageWrapper, this.$wrapper );
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I28399cf8b63328ee34316b785f2d091f6f052224
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MultimediaViewer
Gerrit-Branch: wmf/1.26wmf18
Gerrit-Owner: Ori.livneh <[email protected]>

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

Reply via email to