| 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); | 
| } | 
|  | 
|  |