зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 42d5d3080bc4 (bug 847656) for mochitest crashes on a CLOSED TREE.
This commit is contained in:
Родитель
614ee78879
Коммит
3e6b0826a4
|
@ -370,7 +370,7 @@ ContentParent::JoinAllSubprocesses()
|
||||||
sCanLaunchSubprocesses = false;
|
sCanLaunchSubprocesses = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static*/ already_AddRefed<ContentParent>
|
/*static*/ ContentParent*
|
||||||
ContentParent::GetNewOrUsed(bool aForBrowserElement)
|
ContentParent::GetNewOrUsed(bool aForBrowserElement)
|
||||||
{
|
{
|
||||||
if (!gNonAppContentParents)
|
if (!gNonAppContentParents)
|
||||||
|
@ -394,7 +394,7 @@ ContentParent::GetNewOrUsed(bool aForBrowserElement)
|
||||||
PROCESS_PRIORITY_FOREGROUND);
|
PROCESS_PRIORITY_FOREGROUND);
|
||||||
p->Init();
|
p->Init();
|
||||||
gNonAppContentParents->AppendElement(p);
|
gNonAppContentParents->AppendElement(p);
|
||||||
return p.forget();
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@ -465,7 +465,7 @@ ContentParent::CreateBrowserOrApp(const TabContext& aContext,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aContext.IsBrowserElement() || !aContext.HasOwnApp()) {
|
if (aContext.IsBrowserElement() || !aContext.HasOwnApp()) {
|
||||||
if (nsRefPtr<ContentParent> cp = GetNewOrUsed(aContext.IsBrowserElement())) {
|
if (ContentParent* cp = GetNewOrUsed(aContext.IsBrowserElement())) {
|
||||||
nsRefPtr<TabParent> tp(new TabParent(aContext));
|
nsRefPtr<TabParent> tp(new TabParent(aContext));
|
||||||
tp->SetOwnerElement(aFrameElement);
|
tp->SetOwnerElement(aFrameElement);
|
||||||
PBrowserParent* browser = cp->SendPBrowserConstructor(
|
PBrowserParent* browser = cp->SendPBrowserConstructor(
|
||||||
|
|
|
@ -81,8 +81,7 @@ public:
|
||||||
*/
|
*/
|
||||||
static void JoinAllSubprocesses();
|
static void JoinAllSubprocesses();
|
||||||
|
|
||||||
static already_AddRefed<ContentParent>
|
static ContentParent* GetNewOrUsed(bool aForBrowserElement = false);
|
||||||
GetNewOrUsed(bool aForBrowserElement = false);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get or create a content process for the given TabContext. aFrameElement
|
* Get or create a content process for the given TabContext. aFrameElement
|
||||||
|
|
|
@ -780,7 +780,7 @@ nsXULAppInfo::EnsureContentProcess()
|
||||||
if (XRE_GetProcessType() != GeckoProcessType_Default)
|
if (XRE_GetProcessType() != GeckoProcessType_Default)
|
||||||
return NS_ERROR_NOT_AVAILABLE;
|
return NS_ERROR_NOT_AVAILABLE;
|
||||||
|
|
||||||
nsRefPtr<ContentParent> unused = ContentParent::GetNewOrUsed();
|
unused << ContentParent::GetNewOrUsed();
|
||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -695,8 +695,7 @@ ContentParent* gContentParent; //long-lived, manually refcounted
|
||||||
TestShellParent* GetOrCreateTestShellParent()
|
TestShellParent* GetOrCreateTestShellParent()
|
||||||
{
|
{
|
||||||
if (!gContentParent) {
|
if (!gContentParent) {
|
||||||
nsRefPtr<ContentParent> parent = ContentParent::GetNewOrUsed().get();
|
NS_ADDREF(gContentParent = ContentParent::GetNewOrUsed());
|
||||||
parent.forget(&gContentParent);
|
|
||||||
} else if (!gContentParent->IsAlive()) {
|
} else if (!gContentParent->IsAlive()) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче