diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-23 09:02:57 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-04-23 09:02:57 +0200 |
commit | b9ecf99332786f0040e63d868fa0d799ed1ab765 (patch) | |
tree | 4226709e8c9dc01228c7950c5af6b9ed86e93494 /browser/components/sessionstore/content/aboutSessionRestore.js | |
parent | c30ebdac27c93b57e368c69e9c13055a17229992 (diff) | |
download | UXP-b9ecf99332786f0040e63d868fa0d799ed1ab765.tar UXP-b9ecf99332786f0040e63d868fa0d799ed1ab765.tar.gz UXP-b9ecf99332786f0040e63d868fa0d799ed1ab765.tar.lz UXP-b9ecf99332786f0040e63d868fa0d799ed1ab765.tar.xz UXP-b9ecf99332786f0040e63d868fa0d799ed1ab765.zip |
moebius#65: Fix: "about:..." - throws an errors
https://github.com/MoonchildProductions/moebius/pull/65
Diffstat (limited to 'browser/components/sessionstore/content/aboutSessionRestore.js')
-rw-r--r-- | browser/components/sessionstore/content/aboutSessionRestore.js | 52 |
1 files changed, 29 insertions, 23 deletions
diff --git a/browser/components/sessionstore/content/aboutSessionRestore.js b/browser/components/sessionstore/content/aboutSessionRestore.js index cc8d2da0b..8a9410aa8 100644 --- a/browser/components/sessionstore/content/aboutSessionRestore.js +++ b/browser/components/sessionstore/content/aboutSessionRestore.js @@ -41,7 +41,11 @@ window.onload = function() { return; } - gStateObject = JSON.parse(sessionData.value); + try { + gStateObject = JSON.parse(sessionData.value); + } catch (e) { + Cu.reportError(e); + } // make sure the data is tracked to be restored in case of a subsequent crash var event = document.createEvent("UIEvents"); @@ -68,30 +72,32 @@ function initTreeView() { var winLabel = tabList.getAttribute("_window_label"); gTreeData = []; - gStateObject.windows.forEach(function(aWinData, aIx) { - var winState = { - label: winLabel.replace("%S", (aIx + 1)), - open: true, - checked: true, - ix: aIx - }; - winState.tabs = aWinData.tabs.map(function(aTabData) { - var entry = aTabData.entries[aTabData.index - 1] || { url: "about:blank" }; - var iconURL = aTabData.image || null; - // don't initiate a connection just to fetch a favicon (see bug 462863) - if (/^https?:/.test(iconURL)) - iconURL = "moz-anno:favicon:" + iconURL; - return { - label: entry.title || entry.url, + if (gStateObject) { + gStateObject.windows.forEach(function(aWinData, aIx) { + var winState = { + label: winLabel.replace("%S", (aIx + 1)), + open: true, checked: true, - src: iconURL, - parent: winState + ix: aIx }; - }); - gTreeData.push(winState); - for (let tab of winState.tabs) - gTreeData.push(tab); - }, this); + winState.tabs = aWinData.tabs.map(function(aTabData) { + var entry = aTabData.entries[aTabData.index - 1] || { url: "about:blank" }; + var iconURL = aTabData.image || null; + // don't initiate a connection just to fetch a favicon (see bug 462863) + if (/^https?:/.test(iconURL)) + iconURL = "moz-anno:favicon:" + iconURL; + return { + label: entry.title || entry.url, + checked: true, + src: iconURL, + parent: winState + }; + }); + gTreeData.push(winState); + for (let tab of winState.tabs) + gTreeData.push(tab); + }, this); + } tabList.view = treeView; tabList.view.selection.select(0); |