mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
4466224d40
This patch has a few side effects: 1. Plugins in the chrome process are "mirrored" to all content processes, although this mirroring is currently imperfect (bug 1090576) 2. Plugins are no longer sorted by modification date in nsPluginHost. 3. Plugin exceptions are no longer propagated to JS code. They are ignored.
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* vim: set sw=4 ts=8 et tw=80 :
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
#include "mozilla/plugins/PluginModuleChild.h"
|
|
#include "ContentChild.h"
|
|
#include "CrashReporterChild.h"
|
|
#include "nsXULAppAPI.h"
|
|
|
|
using mozilla::plugins::PluginModuleChild;
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
/*static*/
|
|
PCrashReporterChild*
|
|
CrashReporterChild::GetCrashReporter()
|
|
{
|
|
const InfallibleTArray<PCrashReporterChild*>* reporters = nullptr;
|
|
switch (XRE_GetProcessType()) {
|
|
case GeckoProcessType_Content: {
|
|
ContentChild* child = ContentChild::GetSingleton();
|
|
reporters = &child->ManagedPCrashReporterChild();
|
|
break;
|
|
}
|
|
case GeckoProcessType_Plugin: {
|
|
PluginModuleChild* child = PluginModuleChild::GetChrome();
|
|
reporters = &child->ManagedPCrashReporterChild();
|
|
break;
|
|
}
|
|
default:
|
|
break;
|
|
}
|
|
if (reporters && reporters->Length() > 0) {
|
|
return reporters->ElementAt(0);
|
|
}
|
|
return nullptr;
|
|
}
|
|
|
|
}
|
|
}
|