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.
5 #ifndef CONTENT_SHELL_APP_SHELL_BREAKPAD_CLIENT_H_
6 #define CONTENT_SHELL_APP_SHELL_BREAKPAD_CLIENT_H_
8 #include "base/compiler_specific.h"
9 #include "components/crash/app/breakpad_client.h"
13 class ShellBreakpadClient
: public breakpad::BreakpadClient
{
15 ShellBreakpadClient();
16 virtual ~ShellBreakpadClient();
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
;
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
;
34 virtual base::FilePath
GetReporterLogFilename() OVERRIDE
;
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
;
41 #if defined(OS_ANDROID)
42 // Returns the descriptor key of the android minidump global descriptor.
43 virtual int GetAndroidMinidumpDescriptor() OVERRIDE
;
46 virtual bool EnableBreakpadForProcess(
47 const std::string
& process_type
) OVERRIDE
;
50 DISALLOW_COPY_AND_ASSIGN(ShellBreakpadClient
);
53 } // namespace content
55 #endif // CONTENT_SHELL_APP_SHELL_BREAKPAD_CLIENT_H_