Chromium Code Reviews| Index: ios/chrome/browser/crash_report/breakpad_helper.h |
| diff --git a/ios/chrome/browser/crash_report/breakpad_helper.h b/ios/chrome/browser/crash_report/breakpad_helper.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8584e39b9425023ac4956521d84a55c976cb29a6 |
| --- /dev/null |
| +++ b/ios/chrome/browser/crash_report/breakpad_helper.h |
| @@ -0,0 +1,113 @@ |
| +// Copyright 2015 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 IOS_CHROME_BROWSER_CRASH_REPORT_BREAKPAD_HELPER_H_ |
| +#define IOS_CHROME_BROWSER_CRASH_REPORT_BREAKPAD_HELPER_H_ |
| + |
| +#include <string> |
| + |
| +@class NSString; |
| + |
| +namespace breakpad_helper { |
| + |
| +// Starts the crash handlers. This must be run as soon as possible to catch |
| +// early crashes. |
| +void Start(const std::string& channel_name); |
| + |
| +// Enable/Disable crash handling. |
|
lpromero
2015/07/08 13:37:15
Enables/Disables. Here and in several methods belo
|
| +void SetEnabled(bool enabled); |
| + |
| +// Enable/Disable uploading crash reports. |
| +void SetUploadingEnabled(bool enabled); |
| + |
| +// Returns true if uploading crash reports is enabled. |
| +bool IsUploadingEnabled(); |
| + |
| +// Cleans up all stored crash reports. |
| +void CleanupCrashReports(); |
| + |
| +// Add a key/value pair the next crash report. If async is false, this function |
| +// will wait until the key is registered before returning. |
| +void AddReportParameter(NSString* key, NSString* value, bool async); |
| + |
| +// Remove the key/value pair associated to key from the next crash report. |
| +void RemoveReportParameter(NSString* key); |
| + |
| +// Returns the number of crash reports waiting to send to the server. This |
| +// function will wait for an operation to complete on a background thread. |
| +int GetCrashReportCount(); |
| + |
| +// Gets the number of crash reports on a background thread and invokes |
| +// |callback| with the result when complete. |
| +void GetCrashReportCount(void (^callback)(int)); |
| + |
| +// Check if there is currently a crash report to upload. This function will wait |
| +// for an operation to complete on a background thread. |
| +bool HasReportToUpload(); |
| + |
| +// Sets a key if |background| is true, unset if false. This will allow tracking |
| +// of crashes that occur when the app is backgrounded. |
| +void SetCurrentlyInBackground(bool background); |
| + |
| +// Sets a key if |signedIn| is true, unset if false. The key indicates that the |
| +// user is signed-in. |
| +void SetCurrentlySignedIn(bool signedIn); |
| + |
| +// Sets a key to indicate the number of memory warnings the application has |
| +// received over its lifetime, or unset the key if the count is zero. |
| +void SetMemoryWarningCount(int count); |
| + |
| +// Sets a key indicating a memory warning is deemed to be in progress (if value |
| +// is 'true'), otherwise remove the key. |
| +void SetMemoryWarningInProgress(bool value); |
| + |
| +// Sets a key indicating the current free memory amount in KB. 0 does not remove |
| +// the key as getting no memory is important information. |
| +void SetCurrentFreeMemoryInKB(int value); |
| + |
| +// Sets a key indicating the current free disk space in KB. 0 does not remove |
| +// the key as getting no free disk space is important information. |
| +void SetCurrentFreeDiskInKB(int value); |
| + |
| +// Sets a key indicating application is using Flywheel Data Reduction Proxy. |
| +void SetDataReductionProxyIsEnabled(bool value); |
| + |
| +// Increases a key indicating the number of PDF tabs opened. If value is TRUE, |
| +// the counter is increased. If value is FALSE, the counter is decreased. If |
| +// counter falls to 0, the entry is removed. This function does not keep |
| +// previous state. If SetCurrentTabIsPDF is called twice with TRUE, the counter |
| +// will be incremented twice. |
| +void SetCurrentTabIsPDF(bool value); |
| + |
| +// Sets a key in browser_state dictionary to store the device orientation. |
| +// Each values is 1 digit: first is the UI orientation from the Foundation |
| +// UIInterfaceOrientation enum (values decimal from 1 to 4) and the second is |
| +// the device orientation with values from the Foundation UIDeviceOrientation |
| +// enum (values decimal from 0 to 7). |
| +void SetCurrentOrientation(int statusBarOrientation, int deviceOrientation); |
| + |
| +// Sets a key in browser to store the playback state of media player (audio or |
| +// video). This function records a new start. This function is called for each |
| +// stream in the media (once or twice for audio, two or three times for video). |
| +void MediaStreamPlaybackDidStart(); |
| + |
| +// Sets a key in browser to store the playback state of media player (audio or |
| +// video). This function records a stop or pause. This function must be called |
| +// the same number of times as MediaStreamPlaybackDidStart. |
| +void MediaStreamPlaybackDidStop(); |
| + |
| +// Informs the crash report helper that crash restoration is about to begin. |
| +void WillStartCrashRestoration(); |
| + |
| +// Starts uploading crash reports. Sets the upload interval to 1 second, and |
| +// sets a key in uploaded reports to allow tracking of reports that are uploaded |
| +// in recovery mode. |
| +void StartUploadingReportsInRecoveryMode(); |
| + |
| +// Resets the Breakpad configuration from the main bundle. |
| +void RestoreDefaultConfiguration(); |
| + |
| +} // namespace breakpad_helper |
| + |
| +#endif // IOS_CHROME_BROWSER_CRASH_REPORT_BREAKPAD_HELPER_H_ |