Index: content/browser/loader/resource_dispatcher_host_impl.cc |
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc |
index a1cb1f1c15e8c7a0499e157d2e19c6ae16234193..94d9029227c98a67ea54a23dc6f45286dc8de570 100644 |
--- a/content/browser/loader/resource_dispatcher_host_impl.cc |
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc |
@@ -1226,14 +1226,16 @@ void ResourceDispatcherHostImpl::BeginRequest( |
} |
// Initialize the service worker handler for the request. We don't use |
- // ServiceWorker for synchronous loads to avoid renderer deadlocks. |
+ // ServiceWorker for synchronous loads to avoid renderer deadlocks. We |
+ // don't use ServiceWorker for favicons to avoid cache tainting. |
+ bool is_favicon_load = request_data.resource_type == RESOURCE_TYPE_FAVICON; |
ServiceWorkerRequestHandler::InitializeHandler( |
new_request.get(), |
filter_->service_worker_context(), |
blob_context, |
child_id, |
request_data.service_worker_provider_id, |
- request_data.skip_service_worker || is_sync_load, |
+ request_data.skip_service_worker || is_sync_load || is_favicon_load, |
request_data.fetch_request_mode, |
request_data.fetch_credentials_mode, |
request_data.resource_type, |