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

This commit is contained in:
Justin Lebar
2012-07-23 15:59:37 -04:00
parent 0f92c8f854
commit 6bf6029b69
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 isContentBoundary = false;
docshell->GetIsContentBoundary(&isContentBoundary);
if (!isContentBoundary) {
docshell->SetIsActive(aIsActive);
}
}
return NS_OK;