Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sessionstore.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-08-08 14:57:56 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-08-08 14:57:56 (GMT)
commitf558daf03fc401ffa48cf2892593dbcd0ffbc868 (patch)
tree401390ea86c1a4b4591d7180c495ab151138aa15 /sessionstore.py
parentb5ed8c31b4877f40ad76e01b70c23bcd60d3af62 (diff)
Increase robustness of session resuming.
Diffstat (limited to 'sessionstore.py')
-rw-r--r--sessionstore.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/sessionstore.py b/sessionstore.py
index 5e282e5..73251ff 100644
--- a/sessionstore.py
+++ b/sessionstore.py
@@ -25,16 +25,24 @@ from xpcom.components import interfaces
import json
def get_session(browser):
+ session_history = browser.web_navigation.sessionHistory
+
+ if session_history.count == 0:
+ return ''
+
session_data = {}
- session_data['history'] = _get_history(browser.web_navigation.sessionHistory)
+ session_data['history'] = _get_history(session_history)
logging.debug('%r' % session_data)
return json.write(session_data)
def set_session(browser, session_str):
session_data = json.read(session_str)
_set_history(browser.web_navigation.sessionHistory, session_data['history'])
-
- browser.web_navigation.gotoIndex(len(session_data['history']) - 1);
+
+ if session_data['history']:
+ browser.web_navigation.gotoIndex(len(session_data['history']) - 1)
+ else:
+ browser.load_uri('about:blank')
def _get_history(history):
logging.debug('%r' % history.count)