Bug 1342927 - Don't fire MozTabChildNotReady if DocShell has become inactive or frameloader owner has dropped us. r=billm

MozReview-Commit-ID: 4lU5iFFv13V

--HG--
extra : rebase_source : 2bfc0ad4ca77eefb8edb7d3e8f4e3adf97d609d3
This commit is contained in:
Mike Conley 2017-03-05 13:25:42 -05:00
parent e94e20a97b
commit 4a3c059a83

View File

@ -3352,6 +3352,26 @@ TabParent::DispatchTabChildNotReadyEvent()
return;
}
if (!mDocShellIsActive) {
return;
}
RefPtr<nsFrameLoader> frameLoader = GetFrameLoader(true);
if (!frameLoader) {
return;
}
nsCOMPtr<Element> frameElement(mFrameElement);
nsCOMPtr<nsIFrameLoaderOwner> owner = do_QueryInterface(frameElement);
if (!owner) {
return;
}
RefPtr<nsFrameLoader> currentFrameLoader = owner->GetFrameLoader();
if (currentFrameLoader != frameLoader) {
return;
}
RefPtr<Event> event = NS_NewDOMEvent(mFrameElement, nullptr, nullptr);
event->InitEvent(NS_LITERAL_STRING("MozTabChildNotReady"), true, false);
event->SetTrusted(true);