Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: components/download/content/download_driver_impl.cc

Issue 2860593003: Refactoring DownloadManager::DownloadURL to add proper annotation. (Closed)
Patch Set: Comment addressed. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/download/content/download_driver_impl.h" 5 #include "components/download/content/download_driver_impl.h"
6 6
7 #include "components/download/internal/driver_entry.h" 7 #include "components/download/internal/driver_entry.h"
8 #include "content/public/browser/download_interrupt_reasons.h" 8 #include "content/public/browser/download_interrupt_reasons.h"
9 #include "content/public/browser/download_url_parameters.h" 9 #include "content/public/browser/download_url_parameters.h"
10 #include "content/public/browser/storage_partition.h" 10 #include "content/public/browser/storage_partition.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 74
75 download_manager_->AddObserver(this); 75 download_manager_->AddObserver(this);
76 if (download_manager_->IsManagerInitialized()) 76 if (download_manager_->IsManagerInitialized())
77 client_->OnDriverReady(true); 77 client_->OnDriverReady(true);
78 } 78 }
79 79
80 bool DownloadDriverImpl::IsReady() const { 80 bool DownloadDriverImpl::IsReady() const {
81 return client_ && download_manager_; 81 return client_ && download_manager_;
82 } 82 }
83 83
84 void DownloadDriverImpl::Start(const DownloadParams& params) { 84 void DownloadDriverImpl::Start(
85 const DownloadParams& params,
86 const net::NetworkTrafficAnnotationTag& traffic_annotation) {
85 DCHECK(!params.request_params.url.is_empty()); 87 DCHECK(!params.request_params.url.is_empty());
86 DCHECK(!params.guid.empty()); 88 DCHECK(!params.guid.empty());
87 if (!download_manager_) 89 if (!download_manager_)
88 return; 90 return;
89 91
90 content::StoragePartition* storage_partition = 92 content::StoragePartition* storage_partition =
91 content::BrowserContext::GetStoragePartitionForSite( 93 content::BrowserContext::GetStoragePartitionForSite(
92 download_manager_->GetBrowserContext(), params.request_params.url); 94 download_manager_->GetBrowserContext(), params.request_params.url);
93 DCHECK(storage_partition); 95 DCHECK(storage_partition);
94 96
95 std::unique_ptr<content::DownloadUrlParameters> download_url_params( 97 std::unique_ptr<content::DownloadUrlParameters> download_url_params(
96 new content::DownloadUrlParameters( 98 new content::DownloadUrlParameters(
97 params.request_params.url, 99 params.request_params.url,
98 storage_partition->GetURLRequestContext())); 100 storage_partition->GetURLRequestContext()));
99 101
100 // TODO(xingliu): Handle the request headers from |params|, need to tweak 102 // TODO(xingliu): Handle the request headers from |params|, need to tweak
101 // download network stack. 103 // download network stack.
102 // Make content::DownloadManager handle potential guid collision and return 104 // Make content::DownloadManager handle potential guid collision and return
103 // an error to fail the download cleanly. 105 // an error to fail the download cleanly.
104 download_url_params->set_guid(params.guid); 106 download_url_params->set_guid(params.guid);
105 download_url_params->set_transient(true); 107 download_url_params->set_transient(true);
106 download_url_params->set_method(params.request_params.method); 108 download_url_params->set_method(params.request_params.method);
107 download_url_params->set_file_path(file_dir_.AppendASCII(params.guid)); 109 download_url_params->set_file_path(file_dir_.AppendASCII(params.guid));
108 110
109 download_manager_->DownloadUrl(std::move(download_url_params)); 111 download_manager_->DownloadUrl(std::move(download_url_params),
112 traffic_annotation);
110 } 113 }
111 114
112 void DownloadDriverImpl::Cancel(const std::string& guid) { 115 void DownloadDriverImpl::Cancel(const std::string& guid) {
113 if (!download_manager_) 116 if (!download_manager_)
114 return; 117 return;
115 content::DownloadItem* item = download_manager_->GetDownloadByGuid(guid); 118 content::DownloadItem* item = download_manager_->GetDownloadByGuid(guid);
116 // Cancels the download and removes the persisted records in content layer. 119 // Cancels the download and removes the persisted records in content layer.
117 if (item) { 120 if (item) {
118 item->RemoveObserver(this); 121 item->RemoveObserver(this);
119 item->Remove(); 122 item->Remove();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 DCHECK(download_manager_); 182 DCHECK(download_manager_);
180 client_->OnDriverReady(true); 183 client_->OnDriverReady(true);
181 } 184 }
182 185
183 void DownloadDriverImpl::ManagerGoingDown(content::DownloadManager* manager) { 186 void DownloadDriverImpl::ManagerGoingDown(content::DownloadManager* manager) {
184 DCHECK_EQ(download_manager_, manager); 187 DCHECK_EQ(download_manager_, manager);
185 download_manager_ = nullptr; 188 download_manager_ = nullptr;
186 } 189 }
187 190
188 } // namespace download 191 } // namespace download
OLDNEW
« no previous file with comments | « components/download/content/download_driver_impl.h ('k') | components/download/internal/download_driver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698