// 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. #ifndef CHROME_APP_CHROME_BREAKPAD_CLIENT_H_ #define CHROME_APP_CHROME_BREAKPAD_CLIENT_H_ #include "base/basictypes.h" #include "base/compiler_specific.h" #include "components/breakpad/app/breakpad_client.h" namespace chrome { class ChromeBreakpadClient : public breakpad::BreakpadClient { public: ChromeBreakpadClient(); virtual ~ChromeBreakpadClient(); // breakpad::BreakpadClient implementation. virtual void SetBreakpadClientIdFromGUID( const std::string& client_guid) OVERRIDE; #if defined(OS_WIN) virtual bool GetAlternativeCrashDumpLocation(base::FilePath* crash_dir) OVERRIDE; virtual void GetProductNameAndVersion(const base::FilePath& exe_path, base::string16* product_name, base::string16* version, base::string16* special_build, base::string16* channel_name) OVERRIDE; virtual bool ShouldShowRestartDialog(base::string16* title, base::string16* message, bool* is_rtl_locale) OVERRIDE; virtual bool AboutToRestart() OVERRIDE; virtual bool GetDeferredUploadsSupported(bool is_per_user_install) OVERRIDE; virtual bool GetIsPerUserInstall(const base::FilePath& exe_path) OVERRIDE; virtual bool GetShouldDumpLargerDumps(bool is_per_user_install) OVERRIDE; virtual int GetResultCodeRespawnFailed() OVERRIDE; virtual void InitBrowserCrashDumpsRegKey() OVERRIDE; virtual void RecordCrashDumpAttempt(bool is_real_crash) OVERRIDE; #endif #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS) virtual void GetProductNameAndVersion(std::string* product_name, std::string* version) OVERRIDE; virtual base::FilePath GetReporterLogFilename() OVERRIDE; #endif virtual bool GetCrashDumpLocation(base::FilePath* crash_dir) OVERRIDE; virtual size_t RegisterCrashKeys() OVERRIDE; virtual bool IsRunningUnattended() OVERRIDE; virtual bool GetCollectStatsConsent() OVERRIDE; #if defined(OS_WIN) || defined(OS_MACOSX) virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled) OVERRIDE; #endif #if defined(OS_ANDROID) virtual int GetAndroidMinidumpDescriptor() OVERRIDE; #endif #if defined(OS_MACOSX) virtual void InstallAdditionalFilters(BreakpadRef breakpad) OVERRIDE; #endif virtual bool EnableBreakpadForProcess( const std::string& process_type) OVERRIDE; private: DISALLOW_COPY_AND_ASSIGN(ChromeBreakpadClient); }; } // namespace chrome #endif // CHROME_APP_CHROME_BREAKPAD_CLIENT_H_