| Index: content/network/network_context.cc
|
| diff --git a/content/network/network_context.cc b/content/network/network_context.cc
|
| index cd58a39fdc512011d6ae0501c5f8cfa0814a4c54..5862ea67d5b17977c9f4bac18390441b8c77a485 100644
|
| --- a/content/network/network_context.cc
|
| +++ b/content/network/network_context.cc
|
| @@ -89,18 +89,16 @@ std::unique_ptr<net::URLRequestContext> MakeURLRequestContext() {
|
| NetworkContext::NetworkContext(mojom::NetworkContextRequest request,
|
| mojom::NetworkContextParamsPtr params)
|
| : url_request_context_(MakeURLRequestContext()),
|
| - in_shutdown_(false),
|
| params_(std::move(params)),
|
| binding_(this, std::move(request)) {}
|
|
|
| NetworkContext::~NetworkContext() {
|
| - in_shutdown_ = true;
|
| // Call each URLLoaderImpl and ask it to release its net::URLRequest, as the
|
| // corresponding net::URLRequestContext is going away with this
|
| // NetworkContext. The loaders can be deregistering themselves in Cleanup(),
|
| - // so iterate over a copy.
|
| - for (auto* url_loader : url_loaders_)
|
| - url_loader->Cleanup();
|
| + // so have to be careful.
|
| + while (!url_loaders_.empty())
|
| + (*url_loaders_.begin())->Cleanup();
|
| }
|
|
|
| std::unique_ptr<NetworkContext> NetworkContext::CreateForTesting() {
|
| @@ -113,10 +111,8 @@ void NetworkContext::RegisterURLLoader(URLLoaderImpl* url_loader) {
|
| }
|
|
|
| void NetworkContext::DeregisterURLLoader(URLLoaderImpl* url_loader) {
|
| - if (!in_shutdown_) {
|
| - size_t removed_count = url_loaders_.erase(url_loader);
|
| - DCHECK(removed_count);
|
| - }
|
| + size_t removed_count = url_loaders_.erase(url_loader);
|
| + DCHECK(removed_count);
|
| }
|
|
|
| void NetworkContext::CreateURLLoaderFactory(
|
| @@ -134,7 +130,6 @@ void NetworkContext::HandleViewCacheRequest(const GURL& url,
|
|
|
| NetworkContext::NetworkContext()
|
| : url_request_context_(MakeURLRequestContext()),
|
| - in_shutdown_(false),
|
| binding_(this) {}
|
|
|
| } // namespace content
|
|
|