Index: chrome/browser/push_messaging/push_messaging_service_impl.cc |
diff --git a/chrome/browser/push_messaging/push_messaging_service_impl.cc b/chrome/browser/push_messaging/push_messaging_service_impl.cc |
index eadfbffa22d3b070dbe48d046752c2ce7bd996af..b2de8fdec907d6b997916705a7440de6029bfc88 100644 |
--- a/chrome/browser/push_messaging/push_messaging_service_impl.cc |
+++ b/chrome/browser/push_messaging/push_messaging_service_impl.cc |
@@ -195,6 +195,12 @@ void PushMessagingServiceImpl::ShutdownHandler() { |
void PushMessagingServiceImpl::OnMessage(const std::string& app_id, |
const gcm::IncomingMessage& message) { |
+ // We won't have time to process and act on the message. |
+ // TODO(peter) This should be checked at the level of the GCMDriver, so that |
+ // the message is not consumed. See https://crbug.com/612815 |
+ if (g_browser_process->IsShuttingDown()) |
+ return; |
+ |
in_flight_message_deliveries_.insert(app_id); |
#if BUILDFLAG(ENABLE_BACKGROUND) |