| 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;
|
|
|
|
|