Bug 762939 - Propagate visibility changes correctly across <iframe mozbrowser> boundaries. r=mounir,bz

This commit is contained in:
Justin Lebar
2012-07-23 11:26:36 -04:00
parent 1d5b6862ca
commit a17b11f893
13 changed files with 345 additions and 5 deletions

View File

@@ -5017,12 +5017,20 @@ nsDocShell::SetIsActive(bool aIsActive)
}
}
// Recursively tell all of our children
// Recursively tell all of our children, but don't tell <iframe mozbrowser>
// children; they handle their state separately.
PRInt32 n = mChildList.Count();
for (PRInt32 i = 0; i < n; ++i) {
nsCOMPtr<nsIDocShell> docshell = do_QueryInterface(ChildAt(i));
if (docshell)
docshell->SetIsActive(aIsActive);
if (!docshell) {
continue;
}
bool isBrowser = false;
docshell->GetIsBrowserFrame(&isBrowser);
if (!isBrowser) {
docshell->SetIsActive(aIsActive);
}
}
return NS_OK;