From 8bb19fac2d1b585bb15cd2ff93bf2bd459e5904c Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Tue, 29 Apr 2014 10:49:08 +0200 Subject: [PATCH] Catch error when the creation of localStorage polyfill fails in the generic viewer --- web/compatibility.js | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/web/compatibility.js b/web/compatibility.js index 21ac29fc5..31b6356fd 100644 --- a/web/compatibility.js +++ b/web/compatibility.js @@ -547,13 +547,20 @@ if (typeof PDFJS === 'undefined') { return; } } catch (e) { } - window.localStorage = { - data: Object.create(null), - getItem: function (key) { - return this.data[key]; - }, - setItem: function (key, value) { - this.data[key] = value; - } - }; + // When the generic viewer is used in Firefox the following code will fail + // when the preference 'network.cookie.lifetimePolicy' is set to 1, + // see Mozilla bug 365772. + try { + window.localStorage = { + data: Object.create(null), + getItem: function (key) { + return this.data[key]; + }, + setItem: function (key, value) { + this.data[key] = value; + } + }; + } catch (e) { + console.log('Unable to create polyfill for localStorage'); + } })();