Fix crash reporting for ppapi

BUG=chromium-os:13952
TEST=run chrome with CHROME_HEADLESS=1 and pepper flash, kill -11 the ppapi process, check that a report gets written to disk

Review URL: http://codereview.chromium.org/6864005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81813 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/crash_handler_host_linux.cc b/chrome/browser/crash_handler_host_linux.cc
index 0f81959..6138742 100644
--- a/chrome/browser/crash_handler_host_linux.cc
+++ b/chrome/browser/crash_handler_host_linux.cc
@@ -431,3 +431,19 @@
 RendererCrashHandlerHostLinux* RendererCrashHandlerHostLinux::GetInstance() {
   return Singleton<RendererCrashHandlerHostLinux>::get();
 }
+
+PpapiCrashHandlerHostLinux::PpapiCrashHandlerHostLinux() {
+  InitCrashUploaderThread();
+}
+
+PpapiCrashHandlerHostLinux::~PpapiCrashHandlerHostLinux() {
+}
+
+void PpapiCrashHandlerHostLinux::SetProcessType() {
+  process_type_ = "ppapi";
+}
+
+// static
+PpapiCrashHandlerHostLinux* PpapiCrashHandlerHostLinux::GetInstance() {
+  return Singleton<PpapiCrashHandlerHostLinux>::get();
+}
diff --git a/chrome/browser/crash_handler_host_linux.h b/chrome/browser/crash_handler_host_linux.h
index abbc9fe..3ef2657 100644
--- a/chrome/browser/crash_handler_host_linux.h
+++ b/chrome/browser/crash_handler_host_linux.h
@@ -146,4 +146,21 @@
   DISALLOW_COPY_AND_ASSIGN(RendererCrashHandlerHostLinux);
 };
 
+class PpapiCrashHandlerHostLinux : public CrashHandlerHostLinux {
+ public:
+  // Returns the singleton instance.
+  static PpapiCrashHandlerHostLinux* GetInstance();
+
+ private:
+  friend struct DefaultSingletonTraits<PpapiCrashHandlerHostLinux>;
+  PpapiCrashHandlerHostLinux();
+  virtual ~PpapiCrashHandlerHostLinux();
+
+#if defined(USE_LINUX_BREAKPAD)
+  virtual void SetProcessType();
+#endif
+
+  DISALLOW_COPY_AND_ASSIGN(PpapiCrashHandlerHostLinux);
+};
+
 #endif  // CHROME_BROWSER_CRASH_HANDLER_HOST_LINUX_H_
diff --git a/chrome/browser/crash_handler_host_linux_stub.cc b/chrome/browser/crash_handler_host_linux_stub.cc
index 6c140e5..6891de1 100644
--- a/chrome/browser/crash_handler_host_linux_stub.cc
+++ b/chrome/browser/crash_handler_host_linux_stub.cc
@@ -58,3 +58,14 @@
 RendererCrashHandlerHostLinux* RendererCrashHandlerHostLinux::GetInstance() {
   return Singleton<RendererCrashHandlerHostLinux>::get();
 }
+
+PpapiCrashHandlerHostLinux::PpapiCrashHandlerHostLinux() {
+}
+
+PpapiCrashHandlerHostLinux::~PpapiCrashHandlerHostLinux() {
+}
+
+// static
+PpapiCrashHandlerHostLinux* PpapiCrashHandlerHostLinux::GetInstance() {
+  return Singleton<PpapiCrashHandlerHostLinux>::get();
+}