mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-18 15:55:36 +00:00
Bug 1391110: Part 2 - Reparent FrameLoader wrapper when owner content changes. r=smaug
We allow swapping frameloaders between unrelated documents, so we need to reparent wrappers when the owner content changes. MozReview-Commit-ID: LNIf4ZrCZLo --HG-- extra : rebase_source : 8041d1601962d61e675e78e3447c7772eee89df0
This commit is contained in:
parent
470160f420
commit
68a883f00b
@ -2356,6 +2356,17 @@ nsFrameLoader::SetOwnerContent(Element* aContent)
|
||||
mOwnerContent->RemoveMutationObserver(this);
|
||||
}
|
||||
mOwnerContent = aContent;
|
||||
|
||||
AutoJSAPI jsapi;
|
||||
jsapi.Init();
|
||||
|
||||
JS::RootedObject wrapper(jsapi.cx(), GetWrapper());
|
||||
if (wrapper) {
|
||||
JSAutoCompartment ac(jsapi.cx(), wrapper);
|
||||
nsresult rv = ReparentWrapper(jsapi.cx(), wrapper);
|
||||
Unused << NS_WARN_IF(NS_FAILED(rv));
|
||||
}
|
||||
|
||||
if (RenderFrameParent* rfp = GetCurrentRenderFrame()) {
|
||||
rfp->OwnerContentChanged(aContent);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user