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 #include "components/breakpad/app/breakpad_client.h" 6 7 #include "base/files/file_path.h" 8 #include "base/logging.h" 9 10 namespace breakpad { 11 12 namespace { 13 14 BreakpadClient* g_client = NULL; 15 16 } // namespace 17 18 void SetBreakpadClient(BreakpadClient* client) { 19 g_client = client; 20 } 21 22 BreakpadClient* GetBreakpadClient() { 23 DCHECK(g_client); 24 return g_client; 25 } 26 27 BreakpadClient::BreakpadClient() {} 28 BreakpadClient::~BreakpadClient() {} 29 30 void BreakpadClient::SetClientID(const std::string& client_id) { 31 } 32 33 #if defined(OS_WIN) 34 bool BreakpadClient::GetAlternativeCrashDumpLocation( 35 base::FilePath* crash_dir) { 36 return false; 37 } 38 39 void BreakpadClient::GetProductNameAndVersion(const base::FilePath& exe_path, 40 base::string16* product_name, 41 base::string16* version, 42 base::string16* special_build, 43 base::string16* channel_name) { 44 } 45 46 bool BreakpadClient::ShouldShowRestartDialog(base::string16* title, 47 base::string16* message, 48 bool* is_rtl_locale) { 49 return false; 50 } 51 52 bool BreakpadClient::AboutToRestart() { 53 return false; 54 } 55 56 bool BreakpadClient::GetDeferredUploadsSupported(bool is_per_usr_install) { 57 return false; 58 } 59 60 bool BreakpadClient::GetIsPerUserInstall(const base::FilePath& exe_path) { 61 return true; 62 } 63 64 bool BreakpadClient::GetShouldDumpLargerDumps(bool is_per_user_install) { 65 return false; 66 } 67 68 int BreakpadClient::GetResultCodeRespawnFailed() { 69 return 0; 70 } 71 72 void BreakpadClient::InitBrowserCrashDumpsRegKey() { 73 } 74 75 void BreakpadClient::RecordCrashDumpAttempt(bool is_real_crash) { 76 } 77 #endif 78 79 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS) 80 void BreakpadClient::GetProductNameAndVersion(std::string* product_name, 81 std::string* version) { 82 } 83 84 base::FilePath BreakpadClient::GetReporterLogFilename() { 85 return base::FilePath(); 86 } 87 #endif 88 89 bool BreakpadClient::GetCrashDumpLocation(base::FilePath* crash_dir) { 90 return false; 91 } 92 93 #if defined(OS_POSIX) 94 void BreakpadClient::SetDumpWithoutCrashingFunction(void (*function)()) { 95 } 96 #endif 97 98 size_t BreakpadClient::RegisterCrashKeys() { 99 return 0; 100 } 101 102 bool BreakpadClient::IsRunningUnattended() { 103 return true; 104 } 105 106 bool BreakpadClient::GetCollectStatsConsent() { 107 return false; 108 } 109 110 #if defined(OS_WIN) || defined(OS_MACOSX) 111 bool BreakpadClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) { 112 return false; 113 } 114 #endif 115 116 #if defined(OS_ANDROID) 117 int BreakpadClient::GetAndroidMinidumpDescriptor() { 118 return 0; 119 } 120 #endif 121 122 #if defined(OS_MACOSX) 123 void BreakpadClient::InstallAdditionalFilters(BreakpadRef breakpad) { 124 } 125 #endif 126 127 bool BreakpadClient::EnableBreakpadForProcess(const std::string& process_type) { 128 return false; 129 } 130 131 } // namespace breakpad 132