1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * vim: sw=2 ts=2 et : 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef mozilla_plugins_PluginBridge_h 8 #define mozilla_plugins_PluginBridge_h 9 10 #include "base/process.h" 11 12 namespace mozilla { 13 14 namespace dom { 15 class ContentParent; 16 } // namespace dom 17 18 namespace ipc { 19 template <class PFooSide> 20 class Endpoint; 21 } // namespace ipc 22 23 namespace plugins { 24 25 class PPluginModuleParent; 26 27 bool SetupBridge(uint32_t aPluginId, dom::ContentParent* aContentParent, 28 nsresult* aResult, uint32_t* aRunID, 29 ipc::Endpoint<PPluginModuleParent>* aEndpoint); 30 31 void TakeFullMinidump(uint32_t aPluginId, base::ProcessId aContentProcessId, 32 const nsAString& aBrowserDumpId, nsString& aDumpId); 33 34 void TerminatePlugin(uint32_t aPluginId, base::ProcessId aContentProcessId, 35 const nsCString& aMonitorDescription, 36 const nsAString& aDumpId); 37 38 } // namespace plugins 39 } // namespace mozilla 40 41 #endif // mozilla_plugins_PluginBridge_h 42