実際の状態と保存されたセッション情報との間に不整合が発生する場合があった(セッション復元時にツリー構造が壊れることがあった)のを修正
git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@5145 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
parent
c5d0a23157
commit
9e60ec1e41
@ -1109,6 +1109,7 @@ var TreeStyleTabService = {
|
|||||||
|
|
||||||
aTab.setAttribute(aKey, aValue);
|
aTab.setAttribute(aKey, aValue);
|
||||||
try {
|
try {
|
||||||
|
this.checkCachedSessionDataExpiration(aTab);
|
||||||
this.SessionStore.setTabValue(aTab, aKey, aValue);
|
this.SessionStore.setTabValue(aTab, aKey, aValue);
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
@ -1124,7 +1125,8 @@ var TreeStyleTabService = {
|
|||||||
{
|
{
|
||||||
aTab.removeAttribute(aKey);
|
aTab.removeAttribute(aKey);
|
||||||
try {
|
try {
|
||||||
this.SessionStore.setTabValue(aTab, '');
|
this.checkCachedSessionDataExpiration(aTab);
|
||||||
|
this.SessionStore.setTabValue(aTab, aKey, '');
|
||||||
this.SessionStore.deleteTabValue(aTab, aKey);
|
this.SessionStore.deleteTabValue(aTab, aKey);
|
||||||
}
|
}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
@ -1134,6 +1136,15 @@ var TreeStyleTabService = {
|
|||||||
aTab.removeAttribute(this.kTMP_SESSION_DATA_PREFIX+aKey);
|
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,
|
useTMPSessionAPI : false,
|
||||||
kTMP_SESSION_DATA_PREFIX : 'tmp-session-data-',
|
kTMP_SESSION_DATA_PREFIX : 'tmp-session-data-',
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user