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())); |
Randy Smith (Not in Mondays)
2017/01/12 18:44:29
Hmmm. Your top level comment is that this PostTas
mmenke
2017/01/12 19:04:01
I think what I said is correct, but it's not exact
mmenke
2017/01/12 19:06:32
(Also note that in pass through mode, we call resu
Randy Smith (Not in Mondays)
2017/01/12 19:08:58
*bonk* That's what I was missing. Thank you. LG
mmenke
2017/01/12 19:17:15
Note that there was a bug in my argument about the
|
} |
void MimeSniffingResourceHandler::Cancel() { |