| 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 025471824557c40f2bd026349bbeda9ba87ba07d..9714f6fb7c62429a197bb983900be0e2625e021a 100644
|
| --- a/components/gcm_driver/gcm_driver_desktop.cc
|
| +++ b/components/gcm_driver/gcm_driver_desktop.cc
|
| @@ -386,13 +386,18 @@ void GCMDriverDesktop::OnSignedIn() {
|
| EnsureStarted();
|
| }
|
|
|
| +void GCMDriverDesktop::OnSignedOut() {
|
| + signed_in_ = false;
|
| +
|
| + // When sign-in enforcement is not dropped, we will stop the GCM connection
|
| + // when the user signs out.
|
| + if (!GCMDriver::IsAllowedForAllUsers())
|
| + Stop();
|
| +}
|
| +
|
| 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;
|
| RemoveCachedData();
|
|
|
| io_thread_->PostTask(FROM_HERE,
|
|
|