| Index: content/renderer/service_worker/service_worker_context_client.cc
|
| diff --git a/content/renderer/service_worker/service_worker_context_client.cc b/content/renderer/service_worker/service_worker_context_client.cc
|
| index 9119c5712fa26e496dbd9bdc301a726f474231e4..de6297c0956eb386cb5ff99ca9d60a7db989ecee 100644
|
| --- a/content/renderer/service_worker/service_worker_context_client.cc
|
| +++ b/content/renderer/service_worker/service_worker_context_client.cc
|
| @@ -32,6 +32,7 @@
|
| #include "content/common/mojo/service_registry_impl.h"
|
| #include "content/common/service_worker/embedded_worker_messages.h"
|
| #include "content/common/service_worker/service_worker_messages.h"
|
| +#include "content/public/common/push_event_payload.h"
|
| #include "content/public/common/referrer.h"
|
| #include "content/public/renderer/content_renderer_client.h"
|
| #include "content/public/renderer/document_state.h"
|
| @@ -761,10 +762,14 @@ void ServiceWorkerContextClient::OnNotificationClickEvent(
|
| }
|
|
|
| void ServiceWorkerContextClient::OnPushEvent(int request_id,
|
| - const std::string& data) {
|
| + const PushEventPayload& payload) {
|
| TRACE_EVENT0("ServiceWorker",
|
| "ServiceWorkerContextClient::OnPushEvent");
|
| - proxy_->dispatchPushEvent(request_id, blink::WebString::fromUTF8(data));
|
| + // Only set data to be a valid string if the payload had decrypted data.
|
| + blink::WebString data;
|
| + if (!payload.is_null)
|
| + data.assign(blink::WebString::fromUTF8(payload.data));
|
| + proxy_->dispatchPushEvent(request_id, data);
|
| }
|
|
|
| void ServiceWorkerContextClient::OnGeofencingEvent(
|
|
|