OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/browser/chromeos/drive/drive_download_handler.h" | 5 #include "chrome/browser/chromeos/drive/drive_download_handler.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
9 #include "base/supports_user_data.h" | 9 #include "base/supports_user_data.h" |
10 #include "chrome/browser/chromeos/drive/drive.pb.h" | 10 #include "chrome/browser/chromeos/drive/drive.pb.h" |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 // This may have been previously set if the default download folder is | 136 // This may have been previously set if the default download folder is |
137 // /drive, and the user has now changed the download target to a local | 137 // /drive, and the user has now changed the download target to a local |
138 // folder. | 138 // folder. |
139 download->SetUserData(&kDrivePathKey, NULL); | 139 download->SetUserData(&kDrivePathKey, NULL); |
140 download->SetDisplayName(drive_path); | 140 download->SetDisplayName(drive_path); |
141 // TODO(achuith): This is not quite right. | 141 // TODO(achuith): This is not quite right. |
142 download->SetIsTemporary(false); | 142 download->SetIsTemporary(false); |
143 } | 143 } |
144 } | 144 } |
145 | 145 |
146 FilePath DriveDownloadHandler::GetDrivePath(const DownloadItem* download) { | 146 FilePath DriveDownloadHandler::GetTargetPath(const DownloadItem* download) { |
147 const DriveUserData* data = GetDriveUserData(download); | 147 const DriveUserData* data = GetDriveUserData(download); |
148 // If data is NULL, we've somehow lost the drive path selected by the file | 148 // If data is NULL, we've somehow lost the drive path selected by the file |
149 // picker. | 149 // picker. |
150 DCHECK(data); | 150 DCHECK(data); |
151 return data ? util::ExtractDrivePath(data->file_path()) : FilePath(); | 151 return data ? data->file_path() : FilePath(); |
152 } | 152 } |
153 | 153 |
154 bool DriveDownloadHandler::IsDriveDownload(const DownloadItem* download) { | 154 bool DriveDownloadHandler::IsDriveDownload(const DownloadItem* download) { |
155 // We use the existence of the DriveUserData object in download as a | 155 // We use the existence of the DriveUserData object in download as a |
156 // signal that this is a DriveDownload. | 156 // signal that this is a DriveDownload. |
157 return GetDriveUserData(download) != NULL; | 157 return GetDriveUserData(download) != NULL; |
158 } | 158 } |
159 | 159 |
160 void DriveDownloadHandler::OnDownloadUpdated( | 160 void DriveDownloadHandler::OnDownloadUpdated( |
161 DownloadManager* manager, DownloadItem* download) { | 161 DownloadManager* manager, DownloadItem* download) { |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 callback); | 224 callback); |
225 } else { | 225 } else { |
226 LOG(WARNING) << "Failed to create directory, error = " << error; | 226 LOG(WARNING) << "Failed to create directory, error = " << error; |
227 callback.Run(FilePath()); | 227 callback.Run(FilePath()); |
228 } | 228 } |
229 } | 229 } |
230 | 230 |
231 void DriveDownloadHandler::UploadDownloadItem(DownloadItem* download) { | 231 void DriveDownloadHandler::UploadDownloadItem(DownloadItem* download) { |
232 DCHECK(download->IsComplete()); | 232 DCHECK(download->IsComplete()); |
233 file_write_helper_->PrepareWritableFileAndRun( | 233 file_write_helper_->PrepareWritableFileAndRun( |
234 GetDrivePath(download), | 234 util::ExtractDrivePath(GetTargetPath(download)), |
235 base::Bind(&MoveDownloadedFile, download->GetTargetFilePath())); | 235 base::Bind(&MoveDownloadedFile, download->GetTargetFilePath())); |
236 } | 236 } |
237 | 237 |
238 } // namespace drive | 238 } // namespace drive |
OLD | NEW |