Index: ios/chrome/browser/crash_loop_detection_util.h |
diff --git a/ios/chrome/browser/crash_loop_detection_util.h b/ios/chrome/browser/crash_loop_detection_util.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5a6ed6fd34af6bb26fbb59ba659fefaff08874e6 |
--- /dev/null |
+++ b/ios/chrome/browser/crash_loop_detection_util.h |
@@ -0,0 +1,30 @@ |
+// 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 IOS_CHROME_BROWSER_CRASH_LOOP_DETECTION_UTIL_H_ |
+#define IOS_CHROME_BROWSER_CRASH_LOOP_DETECTION_UTIL_H_ |
+ |
+namespace crash_util { |
+ |
+// Returns the number of consecutive failed startups ('instant' crashes) prior |
+// to this one. This method always returns the number of prior failures even |
+// after calls to increment or reset the value. |
+int GetFailedStartupAttemptCount(); |
+ |
+// Increases the failed startup count. This should be called immediately after |
+// startup, so that if there is a crash, it is recorded. |
+// If flush_immediately is true, the value will be persisted immeditately. If |
noyau (Ping after 24h)
2015/05/18 13:50:39
s/immeditately/immediately
sdefresne
2015/05/18 14:42:35
Done.
|
+// flush_immediately is false, this should be followed by a call to |
+// [[NSUserDefaults standardUserDefaults] synchronize]. This is optional to |
+// allow coallescing of the potentially expensive call during startup. |
+void IncrementFailedStartupAttemptCount(bool flush_immediately); |
+ |
+// Resets the failed startup count. This should be called once there is some |
+// indication the user isn't in a crash loop (e.g., some amount of time has |
+// elapsed, or some deliberate user action has been taken). |
+void ResetFailedStartupAttemptCount(); |
+ |
+} // namespace crash_util |
+ |
+#endif // IOS_CHROME_BROWSER_CRASH_LOOP_DETECTION_UTIL_H_ |