Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(181)

Unified Diff: components/copresence/handlers/gcm_handler_impl.cc

Issue 813553002: Adding support for pre-sent messages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@state
Patch Set: Fixing tests Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/copresence/handlers/gcm_handler_impl.cc
diff --git a/components/copresence/handlers/gcm_handler_impl.cc b/components/copresence/handlers/gcm_handler_impl.cc
index ccf720310f4d544d6279aa05fa2b42b6d5080a2d..5b50e2fa1ccbc8a0d9ef0a21b28be0f2a891eed7 100644
--- a/components/copresence/handlers/gcm_handler_impl.cc
+++ b/components/copresence/handlers/gcm_handler_impl.cc
@@ -43,9 +43,11 @@ const char GCMHandlerImpl::kGcmMessageKey[] = "PUSH_MESSAGE";
// Public functions.
GCMHandlerImpl::GCMHandlerImpl(gcm::GCMDriver* gcm_driver,
- DirectiveHandler* directive_handler)
+ DirectiveHandler* directive_handler,
+ const MessagesCallback& new_messages_callback)
: driver_(gcm_driver),
directive_handler_(directive_handler),
+ new_messages_callback_(new_messages_callback),
registration_callback_(base::Bind(&GCMHandlerImpl::RegistrationComplete,
base::Unretained(this))) {
DCHECK(driver_);
@@ -105,12 +107,13 @@ void GCMHandlerImpl::OnMessage(const std::string& app_id,
DVLOG(3) << "Processing " << push_message.report().directive_size()
<< " directive(s) from GCM message";
- for (const Directive& directive : push_message.report().directive())
+ for (const Directive& directive : push_message.report().directive()) {
+ // TODO(ckehoe): Use a callback here so GCMHandler
+ // is decoupled from DirectiveHandler.
directive_handler_->AddDirective(directive);
+ }
- int message_count = push_message.report().subscribed_message_size();
- LOG_IF(WARNING, message_count > 0)
- << "Discarding " << message_count << " copresence messages sent via GCM";
+ new_messages_callback_.Run(push_message.report().subscribed_message());
}
void GCMHandlerImpl::OnMessagesDeleted(const std::string& app_id) {

Powered by Google App Engine
This is Rietveld 408576698