| Index: components/crash/app/crash_reporter_client.cc
|
| diff --git a/components/crash/app/crash_reporter_client.cc b/components/crash/app/crash_reporter_client.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..18cc67e23d3d616ddb7d412e82c3ac6857e9bb29
|
| --- /dev/null
|
| +++ b/components/crash/app/crash_reporter_client.cc
|
| @@ -0,0 +1,148 @@
|
| +// Copyright 2013 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.
|
| +
|
| +#include "components/crash/app/crash_reporter_client.h"
|
| +
|
| +#include "base/files/file_path.h"
|
| +#include "base/logging.h"
|
| +
|
| +namespace crash_reporter {
|
| +
|
| +namespace {
|
| +
|
| +CrashReporterClient* g_client = NULL;
|
| +
|
| +} // namespace
|
| +
|
| +void SetCrashReporterClient(CrashReporterClient* client) {
|
| + g_client = client;
|
| +}
|
| +
|
| +CrashReporterClient* GetCrashReporterClient() {
|
| + DCHECK(g_client);
|
| + return g_client;
|
| +}
|
| +
|
| +CrashReporterClient::CrashReporterClient() {}
|
| +CrashReporterClient::~CrashReporterClient() {}
|
| +
|
| +#if !defined(OS_MACOSX)
|
| +void CrashReporterClient::SetCrashReporterClientIdFromGUID(
|
| + const std::string& client_guid) {
|
| +}
|
| +#endif
|
| +
|
| +#if defined(OS_WIN)
|
| +bool CrashReporterClient::GetAlternativeCrashDumpLocation(
|
| + base::FilePath* crash_dir) {
|
| + return false;
|
| +}
|
| +
|
| +void CrashReporterClient::GetProductNameAndVersion(
|
| + const base::FilePath& exe_path,
|
| + base::string16* product_name,
|
| + base::string16* version,
|
| + base::string16* special_build,
|
| + base::string16* channel_name) {
|
| +}
|
| +
|
| +bool CrashReporterClient::ShouldShowRestartDialog(base::string16* title,
|
| + base::string16* message,
|
| + bool* is_rtl_locale) {
|
| + return false;
|
| +}
|
| +
|
| +bool CrashReporterClient::AboutToRestart() {
|
| + return false;
|
| +}
|
| +
|
| +bool CrashReporterClient::GetDeferredUploadsSupported(bool is_per_usr_install) {
|
| + return false;
|
| +}
|
| +
|
| +bool CrashReporterClient::GetIsPerUserInstall(const base::FilePath& exe_path) {
|
| + return true;
|
| +}
|
| +
|
| +bool CrashReporterClient::GetShouldDumpLargerDumps(bool is_per_user_install) {
|
| + return false;
|
| +}
|
| +
|
| +int CrashReporterClient::GetResultCodeRespawnFailed() {
|
| + return 0;
|
| +}
|
| +
|
| +void CrashReporterClient::InitBrowserCrashDumpsRegKey() {
|
| +}
|
| +
|
| +void CrashReporterClient::RecordCrashDumpAttempt(bool is_real_crash) {
|
| +}
|
| +
|
| +void CrashReporterClient::RecordCrashDumpAttemptResult(bool is_real_crash,
|
| + bool succeeded) {
|
| +}
|
| +#endif
|
| +
|
| +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS)
|
| +void CrashReporterClient::GetProductNameAndVersion(const char** product_name,
|
| + const char** version) {
|
| +}
|
| +
|
| +base::FilePath CrashReporterClient::GetReporterLogFilename() {
|
| + return base::FilePath();
|
| +}
|
| +
|
| +bool CrashReporterClient::HandleCrashDump(const char* crashdump_filename) {
|
| + return false;
|
| +}
|
| +#endif
|
| +
|
| +bool CrashReporterClient::GetCrashDumpLocation(base::FilePath* crash_dir) {
|
| + return false;
|
| +}
|
| +
|
| +size_t CrashReporterClient::RegisterCrashKeys() {
|
| + return 0;
|
| +}
|
| +
|
| +bool CrashReporterClient::IsRunningUnattended() {
|
| + return true;
|
| +}
|
| +
|
| +bool CrashReporterClient::GetCollectStatsConsent() {
|
| + return false;
|
| +}
|
| +
|
| +#if defined(OS_WIN) || defined(OS_MACOSX)
|
| +bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
|
| + return false;
|
| +}
|
| +#endif
|
| +
|
| +#if defined(OS_ANDROID)
|
| +int CrashReporterClient::GetAndroidMinidumpDescriptor() {
|
| + return 0;
|
| +}
|
| +
|
| +bool CrashReporterClient::ShouldEnableBreakpadMicrodumps() {
|
| +// Always enable microdumps on Android when stripping unwind tables. Rationale:
|
| +// when unwind tables are stripped out (to save binary size) the stack traces
|
| +// produced locally in the case of a crash / CHECK are meaningless. In order to
|
| +// provide meaningful development diagnostics (and keep the binary size savings)
|
| +// on Android we attach a secondary crash handler which serializes a reduced
|
| +// form of logcat on the console.
|
| +#if defined(NO_UNWIND_TABLES)
|
| + return true;
|
| +#else
|
| + return false;
|
| +#endif
|
| +}
|
| +#endif
|
| +
|
| +bool CrashReporterClient::EnableBreakpadForProcess(
|
| + const std::string& process_type) {
|
| + return false;
|
| +}
|
| +
|
| +} // namespace crash_reporter
|
|
|