Index: components/ssl_errors/error_classification.cc |
diff --git a/components/ssl_errors/error_classification.cc b/components/ssl_errors/error_classification.cc |
index b6867d7bc6eeb7505cc33de57be96eef37999ce1..66aa42d215c635262aad35df4336b9197c3ab3aa 100644 |
--- a/components/ssl_errors/error_classification.cc |
+++ b/components/ssl_errors/error_classification.cc |
@@ -42,19 +42,32 @@ namespace { |
// unavailable, why it was unavailable. This enum is being histogrammed |
// so do not reorder or remove values. |
enum NetworkClockState { |
- // The clock state relative to network time is unknown because the |
- // NetworkTimeTracker has no information from the network. |
- NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC = 0, |
+ // Value 0 was NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC, which is obsolete |
+ // in favor of the finer-grained values below. |
+ |
// The clock state relative to network time is unknown because the |
// user's clock has fallen out of sync with the latest information |
// from the network (due to e.g. suspend/resume). |
- NETWORK_CLOCK_STATE_UNKNOWN_SYNC_LOST, |
+ NETWORK_CLOCK_STATE_UNKNOWN_SYNC_LOST = 1, |
// The clock is "close enough" to the network time. |
NETWORK_CLOCK_STATE_OK, |
// The clock is in the past relative to network time. |
NETWORK_CLOCK_STATE_CLOCK_IN_PAST, |
// The clock is in the future relative to network time. |
NETWORK_CLOCK_STATE_CLOCK_IN_FUTURE, |
+ // The clock state relative to network time is unknown because no sync |
+ // attempt has been made yet. |
+ NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC_ATTEMPT, |
+ // The clock state relative to network time is unknown because one or |
+ // more sync attempts has failed. |
+ NETWORK_CLOCK_STATE_UNKNOWN_NO_SUCCESSFUL_SYNC, |
+ // The clock state relative to network time is unknown because the |
+ // first sync attempt is still pending. |
+ NETWORK_CLOCK_STATE_UNKNOWN_FIRST_SYNC_PENDING, |
+ // The clock state relative to network time is unknown because one or |
+ // more time query attempts have failed, and a subsequent sync attempt |
+ // is still pending. |
+ NETWORK_CLOCK_STATE_UNKNOWN_SUBSEQUENT_SYNC_PENDING, |
NETWORK_CLOCK_STATE_MAX |
}; |
@@ -243,8 +256,17 @@ ClockState GetClockState( |
case network_time::NetworkTimeTracker::NETWORK_TIME_SYNC_LOST: |
network_state = NETWORK_CLOCK_STATE_UNKNOWN_SYNC_LOST; |
break; |
- case network_time::NetworkTimeTracker::NETWORK_TIME_NO_SYNC: |
- network_state = NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC; |
+ case network_time::NetworkTimeTracker::NETWORK_TIME_NO_SYNC_ATTEMPT: |
+ network_state = NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC_ATTEMPT; |
+ break; |
+ case network_time::NetworkTimeTracker::NETWORK_TIME_NO_SUCCESSFUL_SYNC: |
+ network_state = NETWORK_CLOCK_STATE_UNKNOWN_NO_SUCCESSFUL_SYNC; |
+ break; |
+ case network_time::NetworkTimeTracker::NETWORK_TIME_FIRST_SYNC_PENDING: |
+ network_state = NETWORK_CLOCK_STATE_UNKNOWN_FIRST_SYNC_PENDING; |
+ break; |
+ case network_time::NetworkTimeTracker::NETWORK_TIME_SUBSEQUENT_SYNC_PENDING: |
+ network_state = NETWORK_CLOCK_STATE_UNKNOWN_SUBSEQUENT_SYNC_PENDING; |
break; |
} |
@@ -264,8 +286,11 @@ ClockState GetClockState( |
build_time_state, CLOCK_STATE_MAX); |
switch (network_state) { |
- case NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC: |
case NETWORK_CLOCK_STATE_UNKNOWN_SYNC_LOST: |
+ case NETWORK_CLOCK_STATE_UNKNOWN_NO_SYNC_ATTEMPT: |
+ case NETWORK_CLOCK_STATE_UNKNOWN_NO_SUCCESSFUL_SYNC: |
+ case NETWORK_CLOCK_STATE_UNKNOWN_FIRST_SYNC_PENDING: |
+ case NETWORK_CLOCK_STATE_UNKNOWN_SUBSEQUENT_SYNC_PENDING: |
return build_time_state; |
case NETWORK_CLOCK_STATE_OK: |
return CLOCK_STATE_OK; |