b=545237 Keep track of the ContentProcessParent singleton's life and recreate it if necessary r=bsmedberg

This commit is contained in:
Josh Matthews
2010-04-12 12:24:45 +12:00
parent 14d063cd09
commit d6970cc892
4 changed files with 26 additions and 9 deletions

View File

@@ -1542,7 +1542,9 @@ nsFrameLoader::TryNewProcess()
return false;
}
mChildProcess = ContentProcessParent::GetSingleton()->CreateTab();
ContentProcessParent* parent = ContentProcessParent::GetSingleton();
NS_ASSERTION(parent->IsAlive(), "Process parent should be alive; something is very wrong!");
mChildProcess = parent->CreateTab();
if (mChildProcess) {
nsCOMPtr<nsIDOMElement> element = do_QueryInterface(mOwnerContent);
mChildProcess->SetOwnerElement(element);
@@ -1556,6 +1558,8 @@ nsFrameLoader::TryNewProcess()
nsCOMPtr<nsIBrowserDOMWindow> browserDOMWin;
rootChromeWin->GetBrowserDOMWindow(getter_AddRefs(browserDOMWin));
mChildProcess->SetBrowserDOMWindow(browserDOMWin);
mChildHost = parent;
}
return true;
}