From 04d328098ec2e91e4af2e66496db62bf5481e3ba Mon Sep 17 00:00:00 2001 From: Mike Conley Date: Fri, 20 Jun 2014 13:55:40 -0400 Subject: [PATCH] Bug 989501 - Part 1: If an opening nsITabParent is found when creating a new content window, use that opener's ContentParent to make the new remote browser. r=smaug. --- content/base/src/nsFrameLoader.cpp | 22 ++++++++++++++++------ dom/ipc/ContentParent.cpp | 12 ++++++++---- dom/ipc/ContentParent.h | 3 ++- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/content/base/src/nsFrameLoader.cpp b/content/base/src/nsFrameLoader.cpp index 01cf70646012..f93c00dfbd16 100644 --- a/content/base/src/nsFrameLoader.cpp +++ b/content/base/src/nsFrameLoader.cpp @@ -2069,14 +2069,23 @@ nsFrameLoader::TryRemoteBrowser() return false; } - nsCOMPtr parentAsItem(parentWin->GetDocShell()); - if (!parentAsItem) { + nsCOMPtr parentDocShell = parentWin->GetDocShell(); + if (!parentDocShell) { return false; } + TabParent* openingTab = static_cast(parentDocShell->GetOpener()); + ContentParent* openerContentParent = nullptr; + + if (openingTab && + openingTab->Manager() && + openingTab->Manager()->IsContentParent()) { + openerContentParent = openingTab->Manager()->AsContentParent(); + } + //