| Index: chrome/browser/crash_handler_host_linuxish.h | 
| =================================================================== | 
| --- chrome/browser/crash_handler_host_linuxish.h	(revision 131599) | 
| +++ chrome/browser/crash_handler_host_linuxish.h	(working copy) | 
| @@ -1,184 +0,0 @@ | 
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#ifndef CHROME_BROWSER_CRASH_HANDLER_HOST_LINUXISH_H_ | 
| -#define CHROME_BROWSER_CRASH_HANDLER_HOST_LINUXISH_H_ | 
| -#pragma once | 
| - | 
| -#include "base/compiler_specific.h" | 
| -#include "base/message_loop.h" | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -#include <sys/types.h> | 
| - | 
| -#include <string> | 
| - | 
| -#include "base/memory/scoped_ptr.h" | 
| - | 
| -class BreakpadInfo; | 
| - | 
| -namespace base { | 
| -class Thread; | 
| -} | 
| -#endif  // defined(USE_LINUX_BREAKPAD) | 
| - | 
| -template <typename T> struct DefaultSingletonTraits; | 
| - | 
| -// This is the base class for singleton objects which crash dump renderers and | 
| -// plugins on Linux or Android. We perform the crash dump from the browser | 
| -// because it allows us to be outside the sandbox. | 
| -// | 
| -// PluginCrashHandlerHostLinux and RendererCrashHandlerHostLinux are | 
| -// singletons that handle plugin and renderer crashes, respectively. | 
| -// | 
| -// Processes signal that they need to be dumped by sending a datagram over a | 
| -// UNIX domain socket. All processes of the same type share the client end of | 
| -// this socket which is installed in their descriptor table before exec. | 
| -class CrashHandlerHostLinux : public MessageLoopForIO::Watcher, | 
| -                              public MessageLoop::DestructionObserver { | 
| - public: | 
| -  // Get the file descriptor which processes should be given in order to signal | 
| -  // crashes to the browser. | 
| -  int GetDeathSignalSocket() const { | 
| -    return process_socket_; | 
| -  } | 
| - | 
| -  // MessagePumbLibevent::Watcher impl: | 
| -  virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE; | 
| -  virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE; | 
| - | 
| -  // MessageLoop::DestructionObserver impl: | 
| -  virtual void WillDestroyCurrentMessageLoop() OVERRIDE; | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  // Whether we are shutting down or not. | 
| -  bool IsShuttingDown() const; | 
| -#endif | 
| - | 
| - protected: | 
| -  CrashHandlerHostLinux(); | 
| -  virtual ~CrashHandlerHostLinux(); | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  // Only called in concrete subclasses. | 
| -  void InitCrashUploaderThread(); | 
| - | 
| -  std::string process_type_; | 
| -#endif | 
| - | 
| - private: | 
| -  void Init(); | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  // This is here on purpose to make CrashHandlerHostLinux abstract. | 
| -  virtual void SetProcessType() = 0; | 
| - | 
| -  // Do work on the FILE thread for OnFileCanReadWithoutBlocking(). | 
| -  void WriteDumpFile(BreakpadInfo* info, | 
| -                     pid_t crashing_pid, | 
| -                     char* crash_context, | 
| -                     int signal_fd); | 
| - | 
| -  // Continue OnFileCanReadWithoutBlocking()'s work on the IO thread. | 
| -  void QueueCrashDumpTask(BreakpadInfo* info, int signal_fd); | 
| -#endif | 
| - | 
| -  int process_socket_; | 
| -  int browser_socket_; | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  MessageLoopForIO::FileDescriptorWatcher file_descriptor_watcher_; | 
| -  scoped_ptr<base::Thread> uploader_thread_; | 
| -  bool shutting_down_; | 
| -#endif | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(CrashHandlerHostLinux); | 
| -}; | 
| - | 
| -class ExtensionCrashHandlerHostLinux : public CrashHandlerHostLinux { | 
| - public: | 
| -  // Returns the singleton instance. | 
| -  static ExtensionCrashHandlerHostLinux* GetInstance(); | 
| - | 
| - private: | 
| -  friend struct DefaultSingletonTraits<ExtensionCrashHandlerHostLinux>; | 
| -  ExtensionCrashHandlerHostLinux(); | 
| -  virtual ~ExtensionCrashHandlerHostLinux(); | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  virtual void SetProcessType() OVERRIDE; | 
| -#endif | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(ExtensionCrashHandlerHostLinux); | 
| -}; | 
| - | 
| -class GpuCrashHandlerHostLinux : public CrashHandlerHostLinux { | 
| - public: | 
| -  // Returns the singleton instance. | 
| -  static GpuCrashHandlerHostLinux* GetInstance(); | 
| - | 
| - private: | 
| -  friend struct DefaultSingletonTraits<GpuCrashHandlerHostLinux>; | 
| -  GpuCrashHandlerHostLinux(); | 
| -  virtual ~GpuCrashHandlerHostLinux(); | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  virtual void SetProcessType() OVERRIDE; | 
| -#endif | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(GpuCrashHandlerHostLinux); | 
| -}; | 
| - | 
| -class PluginCrashHandlerHostLinux : public CrashHandlerHostLinux { | 
| - public: | 
| -  // Returns the singleton instance. | 
| -  static PluginCrashHandlerHostLinux* GetInstance(); | 
| - | 
| - private: | 
| -  friend struct DefaultSingletonTraits<PluginCrashHandlerHostLinux>; | 
| -  PluginCrashHandlerHostLinux(); | 
| -  virtual ~PluginCrashHandlerHostLinux(); | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  virtual void SetProcessType() OVERRIDE; | 
| -#endif | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(PluginCrashHandlerHostLinux); | 
| -}; | 
| - | 
| -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() OVERRIDE; | 
| -#endif | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(PpapiCrashHandlerHostLinux); | 
| -}; | 
| - | 
| -class RendererCrashHandlerHostLinux : public CrashHandlerHostLinux { | 
| - public: | 
| -  // Returns the singleton instance. | 
| -  static RendererCrashHandlerHostLinux* GetInstance(); | 
| - | 
| - private: | 
| -  friend struct DefaultSingletonTraits<RendererCrashHandlerHostLinux>; | 
| -  RendererCrashHandlerHostLinux(); | 
| -  virtual ~RendererCrashHandlerHostLinux(); | 
| - | 
| -#if defined(USE_LINUX_BREAKPAD) | 
| -  virtual void SetProcessType() OVERRIDE; | 
| -#endif | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(RendererCrashHandlerHostLinux); | 
| -}; | 
| - | 
| -#endif  // CHROME_BROWSER_CRASH_HANDLER_HOST_LINUXISH_H_ | 
|  |