Index: content/common/net/url_fetcher_core.cc |
diff --git a/content/common/net/url_fetcher_core.cc b/content/common/net/url_fetcher_core.cc |
index deaa8642d85c901f9397ea4a9a1a73f888ca8498..b062fb37da7cc4e2c0e45e29dd6fca9d2bc20194 100644 |
--- a/content/common/net/url_fetcher_core.cc |
+++ b/content/common/net/url_fetcher_core.cc |
@@ -331,7 +331,11 @@ void URLFetcherCore::Stop() { |
delegate_ = NULL; |
fetcher_ = NULL; |
- if (io_message_loop_proxy_.get()) { |
+ if (!io_message_loop_proxy_.get()) |
+ return; |
+ if (io_message_loop_proxy_->RunsTasksOnCurrentThread()) { |
+ CancelURLRequest(); |
+ } else { |
io_message_loop_proxy_->PostTask( |
FROM_HERE, base::Bind(&URLFetcherCore::CancelURLRequest, this)); |
} |