diff --git a/dom/browser-element/BrowserElementParent.cpp b/dom/browser-element/BrowserElementParent.cpp index 2754ba205b37..4219dd89bdad 100644 --- a/dom/browser-element/BrowserElementParent.cpp +++ b/dom/browser-element/BrowserElementParent.cpp @@ -29,7 +29,7 @@ namespace { * aOpenerFrameElement. */ already_AddRefed -CreateIframe(Element* aOpenerFrameElement) +CreateIframe(Element* aOpenerFrameElement, const nsAString& aName) { nsNodeInfoManager *nodeInfoManager = aOpenerFrameElement->OwnerDoc()->NodeInfoManager(); @@ -54,6 +54,10 @@ CreateIframe(Element* aOpenerFrameElement) mozapp, /* aNotify = */ false); } + // Copy the window name onto the iframe. + popupFrameElement->SetAttr(kNameSpaceID_None, nsGkAtoms::name, + aName, /* aNotify = */ false); + return popupFrameElement.forget(); } @@ -131,7 +135,7 @@ BrowserElementParent::OpenWindowOOP(mozilla::dom::TabParent* aOpenerTabParent, do_QueryInterface(aOpenerTabParent->GetOwnerElement()); NS_ENSURE_TRUE(openerFrameElement, false); nsRefPtr popupFrameElement = - CreateIframe(openerFrameElement); + CreateIframe(openerFrameElement, aName); // Normally an