| Index: content/browser/net/url_request_slow_download_job.cc
|
| diff --git a/content/browser/net/url_request_slow_download_job.cc b/content/browser/net/url_request_slow_download_job.cc
|
| index 0a37fedc73a9440226cb30def839961b9ba73553..562bb06a44929519db9165d78bf9a040f96e0e5b 100644
|
| --- a/content/browser/net/url_request_slow_download_job.cc
|
| +++ b/content/browser/net/url_request_slow_download_job.cc
|
| @@ -28,8 +28,11 @@ const char URLRequestSlowDownloadJob::kFinishDownloadUrl[] =
|
| const int URLRequestSlowDownloadJob::kFirstDownloadSize = 1024 * 35;
|
| const int URLRequestSlowDownloadJob::kSecondDownloadSize = 1024 * 10;
|
|
|
| -std::set<URLRequestSlowDownloadJob*>
|
| - URLRequestSlowDownloadJob::pending_requests_;
|
| +// static
|
| +base::LazyInstance<
|
| + URLRequestSlowDownloadJob::SlowJobsSet,
|
| + base::LeakyLazyInstanceTraits<URLRequestSlowDownloadJob::SlowJobsSet> >
|
| + URLRequestSlowDownloadJob::pending_requests_(base::LINKER_INITIALIZED);
|
|
|
| void URLRequestSlowDownloadJob::Start() {
|
| MessageLoop::current()->PostTask(
|
| @@ -56,22 +59,22 @@ net::URLRequestJob* URLRequestSlowDownloadJob::Factory(
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| URLRequestSlowDownloadJob* job = new URLRequestSlowDownloadJob(request);
|
| if (request->url().spec() != kFinishDownloadUrl)
|
| - pending_requests_.insert(job);
|
| + pending_requests_.Get().insert(job);
|
| return job;
|
| }
|
|
|
| // static
|
| size_t URLRequestSlowDownloadJob::NumberOutstandingRequests() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - return pending_requests_.size();
|
| + return pending_requests_.Get().size();
|
| }
|
|
|
| // static
|
| void URLRequestSlowDownloadJob::FinishPendingRequests() {
|
| typedef std::set<URLRequestSlowDownloadJob*> JobList;
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - for (JobList::iterator it = pending_requests_.begin(); it !=
|
| - pending_requests_.end(); ++it) {
|
| + for (JobList::iterator it = pending_requests_.Get().begin(); it !=
|
| + pending_requests_.Get().end(); ++it) {
|
| (*it)->set_should_finish_download();
|
| }
|
| }
|
| @@ -158,7 +161,7 @@ void URLRequestSlowDownloadJob::GetResponseInfo(net::HttpResponseInfo* info) {
|
|
|
| URLRequestSlowDownloadJob::~URLRequestSlowDownloadJob() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - pending_requests_.erase(this);
|
| + pending_requests_.Get().erase(this);
|
| }
|
|
|
| // Private const version.
|
|
|