Index: content/browser/loader/cross_site_resource_handler.cc |
diff --git a/content/browser/loader/cross_site_resource_handler.cc b/content/browser/loader/cross_site_resource_handler.cc |
index 2ec5ee569346113672a1efb5e98b3df41b69188c..75619919d2e10aec61e972082aab567800835986 100644 |
--- a/content/browser/loader/cross_site_resource_handler.cc |
+++ b/content/browser/loader/cross_site_resource_handler.cc |
@@ -15,6 +15,7 @@ |
#include "content/browser/frame_host/render_frame_host_impl.h" |
#include "content/browser/loader/resource_dispatcher_host_impl.h" |
#include "content/browser/loader/resource_request_info_impl.h" |
+#include "content/browser/service_worker/service_worker_request_handler.h" |
#include "content/browser/site_instance_impl.h" |
#include "content/browser/transition_request_manager.h" |
#include "content/public/browser/browser_thread.h" |
@@ -370,6 +371,12 @@ void CrossSiteResourceHandler::StartCrossSiteTransition( |
AppCacheInterceptor::PrepareForCrossSiteTransfer( |
request(), global_id.child_id); |
+ |
+ ServiceWorkerRequestHandler* handler = |
+ ServiceWorkerRequestHandler::GetHandler(request()); |
+ if (handler) |
+ handler->PrepareForCrossSiteTransfer(global_id.child_id); |
+ |
ResourceDispatcherHostImpl::Get()->MarkAsTransferredNavigation(global_id); |
BrowserThread::PostTask( |