実際の状態と保存されたセッション情報との間に不整合が発生する場合があった(セッション復元時にツリー構造が壊れることがあった)のを修正

git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@5145 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
piro 2009-09-29 07:36:44 +00:00
parent c5d0a23157
commit 9e60ec1e41

View File

@ -1109,6 +1109,7 @@ var TreeStyleTabService = {
aTab.setAttribute(aKey, aValue);
try {
this.checkCachedSessionDataExpiration(aTab);
this.SessionStore.setTabValue(aTab, aKey, aValue);
}
catch(e) {
@ -1124,7 +1125,8 @@ var TreeStyleTabService = {
{
aTab.removeAttribute(aKey);
try {
this.SessionStore.setTabValue(aTab, '');
this.checkCachedSessionDataExpiration(aTab);
this.SessionStore.setTabValue(aTab, aKey, '');
this.SessionStore.deleteTabValue(aTab, aKey);
}
catch(e) {
@ -1134,6 +1136,15 @@ var TreeStyleTabService = {
aTab.removeAttribute(this.kTMP_SESSION_DATA_PREFIX+aKey);
},
// workaround for http://piro.sakura.ne.jp/latest/blosxom/mozilla/extension/treestyletab/2009-09-29_debug.htm
checkCachedSessionDataExpiration : function(aTab)
{
if (aTab.linkedBrowser.parentNode.__SS_data &&
aTab.linkedBrowser.parentNode.__SS_data._tabStillLoading &&
aTab.getAttribute('busy') != 'true')
aTab.linkedBrowser.parentNode.__SS_data._tabStillLoading = false;
},
useTMPSessionAPI : false,
kTMP_SESSION_DATA_PREFIX : 'tmp-session-data-',