diff --git a/content/treestyletab/treestyletab.js b/content/treestyletab/treestyletab.js index 8a2d2041..0ef03794 100644 --- a/content/treestyletab/treestyletab.js +++ b/content/treestyletab/treestyletab.js @@ -1609,7 +1609,8 @@ catch(e) { return this.getTabsArray(this.browser) .filter(function(aTab) { 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; }).length; }, diff --git a/content/treestyletab/treestyletabbrowser.js b/content/treestyletab/treestyletabbrowser.js index 92b9bc10..c4e95ae9 100644 --- a/content/treestyletab/treestyletabbrowser.js +++ b/content/treestyletab/treestyletabbrowser.js @@ -1956,10 +1956,14 @@ TreeStyleTabBrowser.prototype = { この時、nsSessionStore::restoreHistoryPrecursor() 内で 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にセットされる。 そのタブの読み込みが完了した時、 - tab.linkedBrowser.parentNode.__SS_data + tab.linkedBrowser.__SS_data (Firefox 3.6-) + または + tab.linkedBrowser.parentNode.__SS_data (-Firefox 3.5) はdeleteされる。 以上のことから、sessionstore-windows-restored が通知された段階で diff --git a/modules/utils.js b/modules/utils.js index be23b0ea..9c56b605 100644 --- a/modules/utils.js +++ b/modules/utils.js @@ -622,10 +622,12 @@ var TreeStyleTabUtils = { // workaround for http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/treestyletab/2009-09-29_debug.htm checkCachedSessionDataExpiration : function TSTUtils_checkCachedSessionDataExpiration(aTab) { - if (aTab.linkedBrowser.parentNode.__SS_data && - aTab.linkedBrowser.parentNode.__SS_data._tabStillLoading && + var data = aTab.linkedBrowser.__SS_data || // Firefox 3.6- + aTab.linkedBrowser.parentNode.__SS_data; // -Frefox 3.5 + if (data && + data._tabStillLoading && aTab.getAttribute('busy') != 'true') - aTab.linkedBrowser.parentNode.__SS_data._tabStillLoading = false; + data._tabStillLoading = false; }, markAsClosedSet : function TSTUtils_markAsClosedSet(aTabs) /* PUBLIC API */