mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-26 04:09:50 +00:00

mContentParent is really just to be used while handling a synchronous ContentParent::RecvLoadPlugin call when async plugin init turned on. In any other context, using it will be unsafe. This patch adds comments and assertions to ensure that this value isn't set otherwise, and converts the one use of mContentParent outside of async plugin init to use an alternative mechanism for identifying the content process. MozReview-Commit-ID: Esgt1kj0MCt --HG-- extra : rebase_source : 166b913b401582c6948e4b61efc102dc1b9c8d2f
45 lines
859 B
Plaintext
45 lines
859 B
Plaintext
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
* vim: sw=2 ts=8 et :
|
|
*/
|
|
/* 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/. */
|
|
|
|
using base::ProcessId from "base/process.h";
|
|
using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
|
|
|
|
namespace mozilla {
|
|
|
|
struct SlowScriptData
|
|
{
|
|
TabId tabId;
|
|
nsCString filename;
|
|
uint32_t lineno;
|
|
};
|
|
|
|
struct PluginHangData
|
|
{
|
|
uint32_t pluginId;
|
|
ProcessId contentProcessId;
|
|
};
|
|
|
|
union HangData
|
|
{
|
|
SlowScriptData;
|
|
PluginHangData;
|
|
};
|
|
|
|
protocol PProcessHangMonitor
|
|
{
|
|
parent:
|
|
async HangEvidence(HangData data);
|
|
|
|
child:
|
|
async TerminateScript();
|
|
|
|
async BeginStartingDebugger();
|
|
async EndStartingDebugger();
|
|
};
|
|
|
|
} // namespace mozilla
|