diff options
Diffstat (limited to 'chromium/components/breakpad/app/breakpad_client.h')
-rw-r--r-- | chromium/components/breakpad/app/breakpad_client.h | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/chromium/components/breakpad/app/breakpad_client.h b/chromium/components/breakpad/app/breakpad_client.h deleted file mode 100644 index 09a50474a41..00000000000 --- a/chromium/components/breakpad/app/breakpad_client.h +++ /dev/null @@ -1,147 +0,0 @@ -// 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 COMPONENTS_BREAKPAD_APP_BREAKPAD_CLIENT_H_ -#define COMPONENTS_BREAKPAD_APP_BREAKPAD_CLIENT_H_ - -#include <string> - -#include "base/strings/string16.h" -#include "build/build_config.h" - -namespace base { -class FilePath; -} - -#if defined(OS_MACOSX) -// We don't want to directly include -// breakpad/src/client/mac/Framework/Breakpad.h here, so we repeat the -// definition of BreakpadRef. -// -// On Mac, when compiling without breakpad support, a stub implementation is -// compiled in. Not having any includes of the breakpad library allows for -// reusing this header for the stub. -typedef void* BreakpadRef; -#endif - -namespace breakpad { - -class BreakpadClient; - -// Setter and getter for the client. The client should be set early, before any -// breakpad code is called, and should stay alive throughout the entire runtime. -void SetBreakpadClient(BreakpadClient* client); - -#if defined(BREAKPAD_IMPLEMENTATION) -// Breakpad's embedder API should only be used by breakpad. -BreakpadClient* GetBreakpadClient(); -#endif - -// Interface that the embedder implements. -class BreakpadClient { - public: - BreakpadClient(); - virtual ~BreakpadClient(); - - // Sets the Breakpad client ID, which is a unique identifier for the client - // that is sending crash reports. After it is set, it should not be changed. - virtual void SetClientID(const std::string& client_id); - -#if defined(OS_WIN) - // Returns true if an alternative location to store the minidump files was - // specified. Returns true if |crash_dir| was set. - virtual bool GetAlternativeCrashDumpLocation(base::FilePath* crash_dir); - - // Returns a textual description of the product type and version to include - // in the crash report. - virtual void GetProductNameAndVersion(const base::FilePath& exe_path, - base::string16* product_name, - base::string16* version, - base::string16* special_build, - base::string16* channel_name); - - // Returns true if a restart dialog should be displayed. In that case, - // |message| and |title| are set to a message to display in a dialog box with - // the given title before restarting, and |is_rtl_locale| indicates whether - // to display the text as RTL. - virtual bool ShouldShowRestartDialog(base::string16* title, - base::string16* message, - bool* is_rtl_locale); - - // Returns true if it is ok to restart the application. Invoked right before - // restarting after a crash. - virtual bool AboutToRestart(); - - // Returns true if the crash report uploader supports deferred uploads. - virtual bool GetDeferredUploadsSupported(bool is_per_user_install); - - // Returns true if the running binary is a per-user installation. - virtual bool GetIsPerUserInstall(const base::FilePath& exe_path); - - // Returns true if larger crash dumps should be dumped. - virtual bool GetShouldDumpLargerDumps(bool is_per_user_install); - - // Returns the result code to return when breakpad failed to respawn a - // crashed process. - virtual int GetResultCodeRespawnFailed(); - - // Invoked when initializing breakpad in the browser process. - virtual void InitBrowserCrashDumpsRegKey(); - - // Invoked before attempting to write a minidump. - virtual void RecordCrashDumpAttempt(bool is_real_crash); -#endif - -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS) - // Returns a textual description of the product type and version to include - // in the crash report. - virtual void GetProductNameAndVersion(std::string* product_name, - std::string* version); - - virtual base::FilePath GetReporterLogFilename(); -#endif - - // The location where minidump files should be written. Returns true if - // |crash_dir| was set. - virtual bool GetCrashDumpLocation(base::FilePath* crash_dir); - -#if defined(OS_POSIX) - // Sets a function that'll be invoked to dump the current process when - // without crashing. - virtual void SetDumpWithoutCrashingFunction(void (*function)()); -#endif - - // Register all of the potential crash keys that can be sent to the crash - // reporting server. Returns the size of the union of all keys. - virtual size_t RegisterCrashKeys(); - - // Returns true if running in unattended mode (for automated testing). - virtual bool IsRunningUnattended(); - - // Returns true if the user has given consent to collect stats. - virtual bool GetCollectStatsConsent(); - -#if defined(OS_WIN) || defined(OS_MACOSX) - // Returns true if breakpad is enforced via management policies. In that - // case, |breakpad_enabled| is set to the value enforced by policies. - virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled); -#endif - -#if defined(OS_ANDROID) - // Returns the descriptor key of the android minidump global descriptor. - virtual int GetAndroidMinidumpDescriptor(); -#endif - -#if defined(OS_MACOSX) - // Install additional breakpad filter callbacks. - virtual void InstallAdditionalFilters(BreakpadRef breakpad); -#endif - - // Returns true if breakpad should run in the given process type. - virtual bool EnableBreakpadForProcess(const std::string& process_type); -}; - -} // namespace breakpad - -#endif // COMPONENTS_BREAKPAD_APP_BREAKPAD_CLIENT_H_ |