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 7015990337a46d494be2a7bc3ee77324a472623b..6edd1519907613d29000e63baa11f4d603e377ca 100644 |
--- a/components/gcm_driver/gcm_driver_desktop.cc |
+++ b/components/gcm_driver/gcm_driver_desktop.cc |
@@ -66,6 +66,7 @@ class GCMDriverDesktop::IOWorker : public GCMClient::Delegate { |
void OnActivityRecorded() override; |
void OnConnected(const net::IPEndPoint& ip_endpoint) override; |
void OnDisconnected() override; |
+ void OnStoreReset() override; |
// Called on IO thread. |
void Initialize( |
@@ -303,6 +304,11 @@ void GCMDriverDesktop::IOWorker::OnDisconnected() { |
base::Bind(&GCMDriverDesktop::OnDisconnected, service_)); |
} |
+void GCMDriverDesktop::IOWorker::OnStoreReset() { |
+ ui_thread_->PostTask(FROM_HERE, |
+ base::Bind(&GCMDriverDesktop::OnStoreReset, service_)); |
+} |
+ |
void GCMDriverDesktop::IOWorker::Start( |
GCMClient::StartMode start_mode, |
const base::WeakPtr<GCMDriverDesktop>& service) { |
@@ -1300,6 +1306,11 @@ void GCMDriverDesktop::OnDisconnected() { |
observer.OnDisconnected(); |
} |
+void GCMDriverDesktop::OnStoreReset() { |
+ for (const auto& key_value : app_handlers()) |
+ key_value.second->OnStoreReset(); |
jianli
2016/11/09 21:53:51
There is a risk here when the called app_handler a
johnme
2016/11/10 19:56:54
Good spot! I now iterate over a copy of app_handle
|
+} |
+ |
void GCMDriverDesktop::GetGCMStatisticsFinished( |
const GCMClient::GCMStatistics& stats) { |
DCHECK(ui_thread_->RunsTasksOnCurrentThread()); |