[GCM] Reset store on checkin rejection and add checkin state to internals
First, this now handles cases where checkin is rejected for a non-retryable
reason by resetting the GCM store. UMA data shows that this is happening
less than 1% of the time, and likely implies profile corruption. Currently
we do not have any way to recover from this state.
Secondly, to help diagnose other checkin issues, I've also added checkin
information to chrome://gcm-internals. Namely last checkin time and next
scheduled checkin time. Recording is now on by default to make it easier
to record checkin events.
BUG=659373
Review-Url: https://codereview.chromium.org/2450383003
Cr-Commit-Position: refs/heads/master@{#429033}
diff --git a/components/gcm_driver/BUILD.gn b/components/gcm_driver/BUILD.gn
index 4d05582..25d7e3f 100644
--- a/components/gcm_driver/BUILD.gn
+++ b/components/gcm_driver/BUILD.gn
@@ -65,6 +65,7 @@
"//components/gcm_driver/instance_id",
]
deps = [
+ "//base:i18n",
"//components/crx_file",
"//components/keyed_service/core",
"//components/os_crypt",