Index: chrome/browser/services/gcm/gcm_profile_service.cc |
diff --git a/chrome/browser/services/gcm/gcm_profile_service.cc b/chrome/browser/services/gcm/gcm_profile_service.cc |
index c215192c8df17f593250d6d4f9d6306a0d3b5f73..fbd7ddc97f7ad5a44966d701f0681cfbef3e3106 100644 |
--- a/chrome/browser/services/gcm/gcm_profile_service.cc |
+++ b/chrome/browser/services/gcm/gcm_profile_service.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/services/gcm/gcm_profile_service.h" |
+#include <algorithm> |
#include <string> |
#include <vector> |
@@ -912,6 +913,16 @@ void GCMProfileService::MessageReceived(const std::string& app_id, |
if (username_.empty()) |
return; |
+ RegistrationInfoMap::iterator iter = registration_info_map_.find(app_id); |
+ // Dropping the message when application does not have a registration entry |
jianli
2014/03/05 20:46:31
nit: move the comment above the previous line.
|
+ // or the app is not registered for the sender of the message. |
+ if (iter == registration_info_map_.end() || |
+ std::find(iter->second.sender_ids.begin(), |
+ iter->second.sender_ids.end(), |
+ message.sender_id) == iter->second.sender_ids.end()) { |
+ return; |
+ } |
+ |
GetEventRouter(app_id)->OnMessage(app_id, message); |
} |