Index: content/renderer/push_messaging_dispatcher.cc |
diff --git a/content/renderer/push_messaging_dispatcher.cc b/content/renderer/push_messaging_dispatcher.cc |
index 7c9d05a662792e30aa9ac008ac1e50b925b100b6..d21f6f5c6ca0efc181f94f77e8bb5a180d2dda97 100644 |
--- a/content/renderer/push_messaging_dispatcher.cc |
+++ b/content/renderer/push_messaging_dispatcher.cc |
@@ -55,12 +55,18 @@ void PushMessagingDispatcher::DoRegister( |
int callbacks_id = registration_callbacks_.Add(callbacks); |
int service_worker_provider_id = static_cast<WebServiceWorkerProviderImpl*>( |
service_worker_provider)->provider_id(); |
+ |
+ std::string sender_id = manifest.gcm_sender_id.is_null() |
+ ? std::string() : base::UTF16ToUTF8(manifest.gcm_sender_id.string()); |
+ if (sender_id.empty()) { |
+ OnRegisterError(callbacks_id, PUSH_REGISTRATION_STATUS_NO_SENDER_ID); |
+ return; |
+ } |
+ |
Send(new PushMessagingHostMsg_Register( |
routing_id(), |
callbacks_id, |
- manifest.gcm_sender_id.is_null() |
- ? std::string() |
- : base::UTF16ToUTF8(manifest.gcm_sender_id.string()), |
+ sender_id, |
blink::WebUserGestureIndicator::isProcessingUserGesture(), |
service_worker_provider_id)); |
} |