| Index: net/url_request/url_request.cc
|
| diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
|
| index 4c2e2c35385be5fd4baa4fe832b27a35bc6c1822..0b9bf2e1013fcfddbee9c2dc886762af96f0cf56 100644
|
| --- a/net/url_request/url_request.cc
|
| +++ b/net/url_request/url_request.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/memory/singleton.h"
|
| #include "base/message_loop.h"
|
| #include "base/metrics/stats_counters.h"
|
| +#include "base/stl_util.h"
|
| #include "base/synchronization/lock.h"
|
| #include "net/base/auth.h"
|
| #include "net/base/host_port_pair.h"
|
| @@ -714,6 +715,19 @@ const URLRequestContext* URLRequest::context() const {
|
| }
|
|
|
| void URLRequest::set_context(const URLRequestContext* context) {
|
| + // Update the URLRequest lists in the URLRequestContext.
|
| + if (context_) {
|
| + std::set<const URLRequest*>* url_requests = context_->url_requests();
|
| + CHECK(ContainsKey(*url_requests, this));
|
| + url_requests->erase(this);
|
| + }
|
| +
|
| + if (context) {
|
| + std::set<const URLRequest*>* url_requests = context->url_requests();
|
| + CHECK(!ContainsKey(*url_requests, this));
|
| + url_requests->insert(this);
|
| + }
|
| +
|
| scoped_refptr<const URLRequestContext> prev_context = context_;
|
|
|
| context_ = context;
|
|
|