diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-08-08 14:57:56 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-08-08 14:57:56 (GMT) |
commit | f558daf03fc401ffa48cf2892593dbcd0ffbc868 (patch) | |
tree | 401390ea86c1a4b4591d7180c495ab151138aa15 /sessionstore.py | |
parent | b5ed8c31b4877f40ad76e01b70c23bcd60d3af62 (diff) |
Increase robustness of session resuming.
Diffstat (limited to 'sessionstore.py')
-rw-r--r-- | sessionstore.py | 14 |
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) |