Bug 1716762 - Don't allow focus to move to remote iframe which is display: none; r=emilio
Make it behave the same as in-process iframe. Differential Revision: https://phabricator.services.mozilla.com/D118002
This commit is contained in:
@@ -2473,6 +2473,25 @@ void nsFrameLoader::SendIsUnderHiddenEmbedderElement(
|
||||
}
|
||||
}
|
||||
|
||||
void nsFrameLoader::PropagateIsUnderHiddenEmbedderElement(
|
||||
bool aIsUnderHiddenEmbedderElement) {
|
||||
bool isUnderHiddenEmbedderElement = true;
|
||||
if (Document* ownerDoc = GetOwnerDoc()) {
|
||||
if (PresShell* presShell = ownerDoc->GetPresShell()) {
|
||||
isUnderHiddenEmbedderElement = presShell->IsUnderHiddenEmbedderElement();
|
||||
}
|
||||
}
|
||||
|
||||
isUnderHiddenEmbedderElement |= aIsUnderHiddenEmbedderElement;
|
||||
if (nsDocShell* docShell = GetExistingDocShell()) {
|
||||
if (PresShell* presShell = docShell->GetPresShell()) {
|
||||
presShell->SetIsUnderHiddenEmbedderElement(isUnderHiddenEmbedderElement);
|
||||
}
|
||||
} else {
|
||||
SendIsUnderHiddenEmbedderElement(isUnderHiddenEmbedderElement);
|
||||
}
|
||||
}
|
||||
|
||||
void nsFrameLoader::UpdateBaseWindowPositionAndSize(
|
||||
nsSubDocumentFrame* aIFrame) {
|
||||
nsCOMPtr<nsIBaseWindow> baseWindow = GetDocShell(IgnoreErrors());
|
||||
|
||||
Reference in New Issue
Block a user