| Index: content/renderer/service_worker/service_worker_script_context.cc
|
| diff --git a/content/renderer/service_worker/service_worker_script_context.cc b/content/renderer/service_worker/service_worker_script_context.cc
|
| index 14661847051a74b91dcb8f6c4c6e3ae4b4e6ccb1..ecc0c9585aee0e313b2d8d96365f5ef7e1f17d18 100644
|
| --- a/content/renderer/service_worker/service_worker_script_context.cc
|
| +++ b/content/renderer/service_worker/service_worker_script_context.cc
|
| @@ -468,6 +468,7 @@ void ServiceWorkerScriptContext::OnDidGetClientDocuments(
|
|
|
| void ServiceWorkerScriptContext::OnOpenWindowResponse(
|
| int request_id,
|
| + const GURL& url,
|
| const ServiceWorkerClientInfo& client) {
|
| TRACE_EVENT0("ServiceWorker",
|
| "ServiceWorkerScriptContext::OnOpenWindowResponse");
|
| @@ -483,7 +484,10 @@ void ServiceWorkerScriptContext::OnOpenWindowResponse(
|
| web_client.reset(new blink::WebServiceWorkerClientInfo(
|
| ToWebServiceWorkerClientInfo(client)));
|
| }
|
| - callbacks->onSuccess(web_client.release());
|
| + if (url.GetOrigin() != client.url.GetOrigin())
|
| + callbacks->onSuccess(nullptr);
|
| + else
|
| + callbacks->onSuccess(web_client.release());
|
| pending_client_callbacks_.Remove(request_id);
|
| }
|
|
|
|
|