Bug 1616353 - Part 7.3: Use nsOpenWindowInfo for initializing xul:browser elements, r=kmag

This patch adds a `openWindowInfo` XPCOM attribute to the `nsIBrowser` interface
supported by the browser custom element. This attribute is then read by
`XULFrameElement`, and passed to `nsFrameLoader` to ensure the relevant flags
are used for newly opened windows.

This patch does not add support for passing openWindowInfo into mozbrowser
elements.

Differential Revision: https://phabricator.services.mozilla.com/D67052
This commit is contained in:
Nika Layzell
2020-04-07 21:39:34 +00:00
parent 825152748c
commit 2374af2df0
6 changed files with 55 additions and 75 deletions

View File

@@ -130,7 +130,7 @@ void nsGenericHTMLFrameElement::EnsureFrameLoader() {
// Strangely enough, this method doesn't actually ensure that the
// frameloader exists. It's more of a best-effort kind of thing.
mFrameLoader = nsFrameLoader::Create(this, mOpenerWindow, mNetworkCreated);
mFrameLoader = nsFrameLoader::Create(this, mNetworkCreated);
}
void nsGenericHTMLFrameElement::DisallowCreateFrameLoader() {
@@ -370,7 +370,7 @@ nsresult nsGenericHTMLFrameElement::CopyInnerTo(Element* aDest) {
if (doc->IsStaticDocument() && mFrameLoader) {
nsGenericHTMLFrameElement* dest =
static_cast<nsGenericHTMLFrameElement*>(aDest);
RefPtr<nsFrameLoader> fl = nsFrameLoader::Create(dest, nullptr, false);
RefPtr<nsFrameLoader> fl = nsFrameLoader::Create(dest, false);
NS_ENSURE_STATE(fl);
dest->mFrameLoader = fl;
mFrameLoader->CreateStaticClone(fl);