Index: components/gcm_driver/gcm_driver_desktop.cc |
diff --git a/components/gcm_driver/gcm_driver_desktop.cc b/components/gcm_driver/gcm_driver_desktop.cc |
index 8d35c2c03acf9c2ed8b0fd8cfd00cb4ea2dd5656..672296656784a79d914aaf97f3f695f6e3d9070f 100644 |
--- a/components/gcm_driver/gcm_driver_desktop.cc |
+++ b/components/gcm_driver/gcm_driver_desktop.cc |
@@ -369,18 +369,13 @@ |
EnsureStarted(); |
} |
-void GCMDriverDesktop::OnSignedOut() { |
+void GCMDriverDesktop::Purge() { |
+ DCHECK(ui_thread_->RunsTasksOnCurrentThread()); |
+ |
+ // We still proceed with the check-out logic even if the check-in is not |
+ // initiated in the current session. This will make sure that all the |
+ // persisted data written previously will get purged. |
signed_in_ = false; |
- |
- // When sign-in enforcement is dropped, we will no longer wipe out the GCM |
- // data when the user signs out. |
- if (!GCMDriver::IsAllowedForAllUsers()) |
- Purge(); |
-} |
- |
-void GCMDriverDesktop::Purge() { |
- DCHECK(ui_thread_->RunsTasksOnCurrentThread()); |
- |
RemoveCachedData(); |
io_thread_->PostTask(FROM_HERE, |
@@ -621,6 +616,7 @@ |
if (app_handlers().empty()) |
return GCMClient::UNKNOWN_ERROR; |
+ // TODO(jianli): To be removed when sign-in enforcement is dropped. |
if (!signed_in_ && !GCMDriver::IsAllowedForAllUsers()) |
return GCMClient::NOT_SIGNED_IN; |