Home | History | Annotate | Download | only in app
      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