Index: content/browser/loader/mime_sniffing_resource_handler.cc |
diff --git a/content/browser/loader/mime_sniffing_resource_handler.cc b/content/browser/loader/mime_sniffing_resource_handler.cc |
index 111e3f69ddf970f8245d43d9b3836cdfad835257..6c13e04700392ec80d311c06462fff2397f3d22e 100644 |
--- a/content/browser/loader/mime_sniffing_resource_handler.cc |
+++ b/content/browser/loader/mime_sniffing_resource_handler.cc |
@@ -245,8 +245,11 @@ void MimeSniffingResourceHandler::Resume() { |
} |
// Otherwise proceed with the replay of the response. If it is successful, |
- // it will resume the request. |
- AdvanceState(); |
+ // it will resume the request. Posted as a task to avoid re-entrancy into |
+ // the calling class. |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, base::Bind(&MimeSniffingResourceHandler::AdvanceState, |
+ weak_ptr_factory_.GetWeakPtr())); |
} |
void MimeSniffingResourceHandler::Cancel() { |