blob: ec8692fb3ec71a34b7f1af2423ff327431763cc2 [file] [log] [blame]
// 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.
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 immediately. If
// |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();
// Resets the hidden state of failed startup attempt count for testing.
void ResetFailedStartupAttemptCountForTests();
} // namespace crash_util