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

Side by Side Diff: chrome/browser/chromeos/drive/download_handler.cc

Issue 230133002: drive::DownloadHandler should query DownloadHistory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/download_handler.h" 5 #include "chrome/browser/chromeos/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 "base/threading/sequenced_worker_pool.h" 10 #include "base/threading/sequenced_worker_pool.h"
11 #include "chrome/browser/chromeos/drive/drive.pb.h" 11 #include "chrome/browser/chromeos/drive/drive.pb.h"
12 #include "chrome/browser/chromeos/drive/drive_integration_service.h" 12 #include "chrome/browser/chromeos/drive/drive_integration_service.h"
13 #include "chrome/browser/chromeos/drive/file_system_interface.h" 13 #include "chrome/browser/chromeos/drive/file_system_interface.h"
14 #include "chrome/browser/chromeos/drive/file_system_util.h" 14 #include "chrome/browser/chromeos/drive/file_system_util.h"
15 #include "chrome/browser/chromeos/drive/write_on_cache_file.h" 15 #include "chrome/browser/chromeos/drive/write_on_cache_file.h"
16 #include "chrome/browser/download/download_history.h"
17 #include "chrome/browser/download/download_service.h"
18 #include "chrome/browser/download/download_service_factory.h"
16 #include "content/public/browser/browser_thread.h" 19 #include "content/public/browser/browser_thread.h"
17 20
18 using content::BrowserThread; 21 using content::BrowserThread;
19 using content::DownloadManager; 22 using content::DownloadManager;
20 using content::DownloadItem; 23 using content::DownloadItem;
21 24
22 namespace drive { 25 namespace drive {
23 namespace { 26 namespace {
24 27
25 // Key for base::SupportsUserData::Data. 28 // Key for base::SupportsUserData::Data.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 const content::CheckForFileExistenceCallback& callback, 90 const content::CheckForFileExistenceCallback& callback,
88 FileError error, 91 FileError error,
89 scoped_ptr<ResourceEntry> entry) { 92 scoped_ptr<ResourceEntry> entry) {
90 callback.Run(error == FILE_ERROR_OK); 93 callback.Run(error == FILE_ERROR_OK);
91 } 94 }
92 95
93 // Returns true if |download| is a Drive download created from data persisted 96 // Returns true if |download| is a Drive download created from data persisted
94 // on the download history DB. 97 // on the download history DB.
95 bool IsPersistedDriveDownload(const base::FilePath& drive_tmp_download_path, 98 bool IsPersistedDriveDownload(const base::FilePath& drive_tmp_download_path,
96 DownloadItem* download) { 99 DownloadItem* download) {
97 // Persisted downloads are not in IN_PROGRESS state when created, while newly 100 if (!drive_tmp_download_path.IsParent(download->GetTargetFilePath()))
98 // created downloads are. 101 return false;
99 return drive_tmp_download_path.IsParent(download->GetTargetFilePath()) && 102
100 download->GetState() != DownloadItem::IN_PROGRESS; 103 DownloadService* download_service =
104 DownloadServiceFactory::GetForBrowserContext(
105 download->GetBrowserContext());
106 DownloadHistory* download_history = download_service->GetDownloadHistory();
107
108 return download_history && download_history->WasRestoredFromHistory(download);
101 } 109 }
102 110
103 } // namespace 111 } // namespace
104 112
105 DownloadHandler::DownloadHandler(FileSystemInterface* file_system) 113 DownloadHandler::DownloadHandler(FileSystemInterface* file_system)
106 : file_system_(file_system), 114 : file_system_(file_system),
107 weak_ptr_factory_(this) { 115 weak_ptr_factory_(this) {
108 } 116 }
109 117
110 DownloadHandler::~DownloadHandler() { 118 DownloadHandler::~DownloadHandler() {
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 if (!download) 316 if (!download)
309 return; 317 return;
310 DriveUserData* data = GetDriveUserData(download); 318 DriveUserData* data = GetDriveUserData(download);
311 if (!data) 319 if (!data)
312 return; 320 return;
313 data->set_cache_file_path(*cache_file_path); 321 data->set_cache_file_path(*cache_file_path);
314 } 322 }
315 323
316 324
317 } // namespace drive 325 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698