Firefox 3.6以降で前回終了時のタブの開閉状態が失われる問題を修正

http://piro.sakura.ne.jp/cgi-bin/bbs.cgi?2604
http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/treestyletab/2009-09-29_debug.htm

git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@6166 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
piro 2010-01-28 16:33:00 +00:00
parent 7a6246302a
commit ff20e1dc30
3 changed files with 13 additions and 6 deletions

View File

@ -1609,7 +1609,8 @@ catch(e) {
return this.getTabsArray(this.browser) return this.getTabsArray(this.browser)
.filter(function(aTab) { .filter(function(aTab) {
var owner = aTab.linkedBrowser; var owner = aTab.linkedBrowser;
var data = owner.parentNode.__SS_data; var data = owner.__SS_data || // Firefox 3.6-
owner.parentNode.__SS_data; // -Firefox 3.5
return data && data._tabStillLoading; return data && data._tabStillLoading;
}).length; }).length;
}, },

View File

@ -1956,10 +1956,14 @@ TreeStyleTabBrowser.prototype = {
この時nsSessionStore::restoreHistoryPrecursor() 内で この時nsSessionStore::restoreHistoryPrecursor() 内で
nsSessionStore::restoreHistory() が呼ばれるより前に nsSessionStore::restoreHistory() が呼ばれるより前に
これから復元するすべてのタブについて これから復元するすべてのタブについて
tab.linkedBrowser.parentNode.__SS_data._tabStillLoading tab.linkedBrowser.__SS_data._tabStillLoading (Firefox 3.6-)
または
tab.linkedBrowser.parentNode.__SS_data._tabStillLoading (-Firefox 3.5)
がtrueにセットされる がtrueにセットされる
そのタブの読み込みが完了した時 そのタブの読み込みが完了した時
tab.linkedBrowser.parentNode.__SS_data tab.linkedBrowser.__SS_data (Firefox 3.6-)
または
tab.linkedBrowser.parentNode.__SS_data (-Firefox 3.5)
はdeleteされる はdeleteされる
以上のことからsessionstore-windows-restored が通知された段階で 以上のことからsessionstore-windows-restored が通知された段階で

View File

@ -622,10 +622,12 @@ var TreeStyleTabUtils = {
// workaround for http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/treestyletab/2009-09-29_debug.htm // workaround for http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/treestyletab/2009-09-29_debug.htm
checkCachedSessionDataExpiration : function TSTUtils_checkCachedSessionDataExpiration(aTab) checkCachedSessionDataExpiration : function TSTUtils_checkCachedSessionDataExpiration(aTab)
{ {
if (aTab.linkedBrowser.parentNode.__SS_data && var data = aTab.linkedBrowser.__SS_data || // Firefox 3.6-
aTab.linkedBrowser.parentNode.__SS_data._tabStillLoading && aTab.linkedBrowser.parentNode.__SS_data; // -Frefox 3.5
if (data &&
data._tabStillLoading &&
aTab.getAttribute('busy') != 'true') aTab.getAttribute('busy') != 'true')
aTab.linkedBrowser.parentNode.__SS_data._tabStillLoading = false; data._tabStillLoading = false;
}, },
markAsClosedSet : function TSTUtils_markAsClosedSet(aTabs) /* PUBLIC API */ markAsClosedSet : function TSTUtils_markAsClosedSet(aTabs) /* PUBLIC API */