shell_crash_reporter_client.h revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_ 6#define CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_ 7 8#include "base/compiler_specific.h" 9#include "components/crash/app/crash_reporter_client.h" 10 11namespace content { 12 13class ShellCrashReporterClient : public crash_reporter::CrashReporterClient { 14 public: 15 ShellCrashReporterClient(); 16 virtual ~ShellCrashReporterClient(); 17 18#if defined(OS_WIN) 19 // Returns a textual description of the product type and version to include 20 // in the crash report. 21 virtual void GetProductNameAndVersion(const base::FilePath& exe_path, 22 base::string16* product_name, 23 base::string16* version, 24 base::string16* special_build, 25 base::string16* channel_name) OVERRIDE; 26#endif 27 28#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS) 29 // Returns a textual description of the product type and version to include 30 // in the crash report. 31 virtual void GetProductNameAndVersion(std::string* product_name, 32 std::string* version) OVERRIDE; 33 34 virtual base::FilePath GetReporterLogFilename() OVERRIDE; 35#endif 36 37 // The location where minidump files should be written. Returns true if 38 // |crash_dir| was set. 39 virtual bool GetCrashDumpLocation(base::FilePath* crash_dir) OVERRIDE; 40 41#if defined(OS_ANDROID) 42 // Returns the descriptor key of the android minidump global descriptor. 43 virtual int GetAndroidMinidumpDescriptor() OVERRIDE; 44#endif 45 46 virtual bool EnableBreakpadForProcess( 47 const std::string& process_type) OVERRIDE; 48 49 private: 50 DISALLOW_COPY_AND_ASSIGN(ShellCrashReporterClient); 51}; 52 53} // namespace content 54 55#endif // CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_ 56