Chromium Code Reviews| Index: chrome/browser/metrics/metrics_service.cc |
| diff --git a/chrome/browser/metrics/metrics_service.cc b/chrome/browser/metrics/metrics_service.cc |
| index 313de569207cbf3824c3368dcc2de80454acfef5..26b81bc96fbe88205de71feb1a9bcbb66e0508b2 100644 |
| --- a/chrome/browser/metrics/metrics_service.cc |
| +++ b/chrome/browser/metrics/metrics_service.cc |
| @@ -737,13 +737,11 @@ void MetricsService::HandleIdleSinceLastTransmission(bool in_idle) { |
| } |
| void MetricsService::RecordStartOfSessionEnd() { |
| - LogCleanShutdown(); |
| - RecordBooleanPrefValue(prefs::kStabilitySessionEndCompleted, false); |
| + RecordStabilitySessionEndCompleted(false); |
| } |
| void MetricsService::RecordCompletedSessionEnd() { |
| - LogCleanShutdown(); |
| - RecordBooleanPrefValue(prefs::kStabilitySessionEndCompleted, true); |
| + RecordStabilitySessionEndCompleted(true); |
| } |
| #if defined(OS_ANDROID) || defined(OS_IOS) |
| @@ -1598,23 +1596,24 @@ void MetricsService::LogRendererHang() { |
| IncrementPrefValue(prefs::kStabilityRendererHangCount); |
| } |
| +void MetricsService::RecordStabilitySessionEndCompleted(bool value) { |
| + PrefService* pref = g_browser_process->local_state(); |
| + DCHECK(pref); |
| + // Redundant setting to assure that we always reset this value at shutdown |
| + // (and that we don't use some alternate path, and not call |
| + // RecordStartOfEndSession/RecordCompletedSessionEnd) |
| + clean_shutdown_status_ = CLEANLY_SHUTDOWN; |
| + pref->SetBoolean(prefs::kStabilitySessionEndCompleted, value); |
| + RecordCurrentState(pref); |
| + MarkAppCleanShutdownAndCommit(); |
|
jar (doing other things)
2013/10/11 22:55:44
I'm trying to understand what you are doing here,
|
| +} |
| + |
| bool MetricsService::UmaMetricsProperlyShutdown() { |
| CHECK(clean_shutdown_status_ == CLEANLY_SHUTDOWN || |
| clean_shutdown_status_ == NEED_TO_SHUTDOWN); |
| return clean_shutdown_status_ == CLEANLY_SHUTDOWN; |
| } |
| -void MetricsService::LogCleanShutdown() { |
| - // Redundant hack to write pref ASAP. |
| - MarkAppCleanShutdownAndCommit(); |
| - |
| - // Redundant setting to assure that we always reset this value at shutdown |
| - // (and that we don't use some alternate path, and not call LogCleanShutdown). |
| - clean_shutdown_status_ = CLEANLY_SHUTDOWN; |
| - |
| - RecordBooleanPrefValue(prefs::kStabilityExitedCleanly, true); |
| -} |
| - |
| #if defined(OS_CHROMEOS) |
| void MetricsService::LogChromeOSCrash(const std::string &crash_type) { |
| if (crash_type == "user") |
| @@ -1754,16 +1753,6 @@ bool MetricsService::CanLogNotification() { |
| return !chrome::IsOffTheRecordSessionActive(); |
| } |
| -void MetricsService::RecordBooleanPrefValue(const char* path, bool value) { |
| - DCHECK(IsSingleThreaded()); |
| - |
| - PrefService* pref = g_browser_process->local_state(); |
| - DCHECK(pref); |
| - |
| - pref->SetBoolean(path, value); |
| - RecordCurrentState(pref); |
| -} |
| - |
| void MetricsService::RecordCurrentState(PrefService* pref) { |
| pref->SetInt64(prefs::kStabilityLastTimestampSec, Time::Now().ToTimeT()); |