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/download/chrome_download_manager_delegate.h" | 5 #include "chrome/browser/download/chrome_download_manager_delegate.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 } else if (!state->is_complete()) { | 319 } else if (!state->is_complete()) { |
320 // Don't complete the download until we have an answer. | 320 // Don't complete the download until we have an answer. |
321 state->set_callback(internal_complete_callback); | 321 state->set_callback(internal_complete_callback); |
322 return false; | 322 return false; |
323 } | 323 } |
324 #endif | 324 #endif |
325 | 325 |
326 #if defined(OS_CHROMEOS) | 326 #if defined(OS_CHROMEOS) |
327 // If there's a Drive upload associated with this download, we wait until that | 327 // If there's a Drive upload associated with this download, we wait until that |
328 // is complete before allowing the download item to complete. | 328 // is complete before allowing the download item to complete. |
329 if (!gdata::DriveDownloadObserver::IsReadyToComplete( | 329 if (!drive::DriveDownloadObserver::IsReadyToComplete( |
330 item, internal_complete_callback)) | 330 item, internal_complete_callback)) |
331 return false; | 331 return false; |
332 #endif | 332 #endif |
333 return true; | 333 return true; |
334 } | 334 } |
335 | 335 |
336 // ShouldCompleteDownloadInternal() will never be called directly by a user, it | 336 // ShouldCompleteDownloadInternal() will never be called directly by a user, it |
337 // will only be called asynchronously, so it should run | 337 // will only be called asynchronously, so it should run |
338 // |user_complete_callback|. ShouldCompleteDownload() will only be called | 338 // |user_complete_callback|. ShouldCompleteDownload() will only be called |
339 // directly by a user, so it does not need to run |user_complete_callback| | 339 // directly by a user, so it does not need to run |user_complete_callback| |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 } | 548 } |
549 | 549 |
550 // Get the directory from preference. | 550 // Get the directory from preference. |
551 *website_save_dir = prefs->GetFilePath(prefs::kSaveFileDefaultDirectory); | 551 *website_save_dir = prefs->GetFilePath(prefs::kSaveFileDefaultDirectory); |
552 DCHECK(!website_save_dir->empty()); | 552 DCHECK(!website_save_dir->empty()); |
553 | 553 |
554 *download_save_dir = prefs->GetFilePath(prefs::kDownloadDefaultDirectory); | 554 *download_save_dir = prefs->GetFilePath(prefs::kDownloadDefaultDirectory); |
555 | 555 |
556 *skip_dir_check = false; | 556 *skip_dir_check = false; |
557 #if defined(OS_CHROMEOS) | 557 #if defined(OS_CHROMEOS) |
558 *skip_dir_check = gdata::util::IsUnderDriveMountPoint(*website_save_dir); | 558 *skip_dir_check = drive::util::IsUnderDriveMountPoint(*website_save_dir); |
559 #endif | 559 #endif |
560 } | 560 } |
561 | 561 |
562 void ChromeDownloadManagerDelegate::ChooseSavePath( | 562 void ChromeDownloadManagerDelegate::ChooseSavePath( |
563 WebContents* web_contents, | 563 WebContents* web_contents, |
564 const FilePath& suggested_path, | 564 const FilePath& suggested_path, |
565 const FilePath::StringType& default_extension, | 565 const FilePath::StringType& default_extension, |
566 bool can_save_as_complete, | 566 bool can_save_as_complete, |
567 const content::SavePackagePathPickedCallback& callback) { | 567 const content::SavePackagePathPickedCallback& callback) { |
568 // Deletes itself. | 568 // Deletes itself. |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 if (service->IsSupportedDownload(info)) | 795 if (service->IsSupportedDownload(info)) |
796 danger_type = content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT; | 796 danger_type = content::DOWNLOAD_DANGER_TYPE_MAYBE_DANGEROUS_CONTENT; |
797 } | 797 } |
798 #endif | 798 #endif |
799 } else { | 799 } else { |
800 // Currently we only expect this case. | 800 // Currently we only expect this case. |
801 DCHECK_EQ(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, danger_type); | 801 DCHECK_EQ(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_URL, danger_type); |
802 } | 802 } |
803 | 803 |
804 #if defined (OS_CHROMEOS) | 804 #if defined (OS_CHROMEOS) |
805 gdata::DriveDownloadObserver::SubstituteDriveDownloadPath( | 805 drive::DriveDownloadObserver::SubstituteDriveDownloadPath( |
806 profile_, suggested_path, download, | 806 profile_, suggested_path, download, |
807 base::Bind( | 807 base::Bind( |
808 &ChromeDownloadManagerDelegate::SubstituteDriveDownloadPathCallback, | 808 &ChromeDownloadManagerDelegate::SubstituteDriveDownloadPathCallback, |
809 this, download->GetId(), callback, should_prompt, is_forced_path, | 809 this, download->GetId(), callback, should_prompt, is_forced_path, |
810 danger_type)); | 810 danger_type)); |
811 #else | 811 #else |
812 GetReservedPath( | 812 GetReservedPath( |
813 *download, suggested_path, download_prefs_->DownloadPath(), | 813 *download, suggested_path, download_prefs_->DownloadPath(), |
814 !is_forced_path, | 814 !is_forced_path, |
815 base::Bind(&ChromeDownloadManagerDelegate::OnPathReservationAvailable, | 815 base::Bind(&ChromeDownloadManagerDelegate::OnPathReservationAvailable, |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 int32 download_id, int64 db_handle) { | 904 int32 download_id, int64 db_handle) { |
905 // It's not immediately obvious, but HistoryBackend::CreateDownload() can | 905 // It's not immediately obvious, but HistoryBackend::CreateDownload() can |
906 // call this function with an invalid |db_handle|. For instance, this can | 906 // call this function with an invalid |db_handle|. For instance, this can |
907 // happen when the history database is offline. We cannot have multiple | 907 // happen when the history database is offline. We cannot have multiple |
908 // DownloadItems with the same invalid db_handle, so we need to assign a | 908 // DownloadItems with the same invalid db_handle, so we need to assign a |
909 // unique |db_handle| here. | 909 // unique |db_handle| here. |
910 if (db_handle == DownloadItem::kUninitializedHandle) | 910 if (db_handle == DownloadItem::kUninitializedHandle) |
911 db_handle = download_history_->GetNextFakeDbHandle(); | 911 db_handle = download_history_->GetNextFakeDbHandle(); |
912 download_manager_->OnItemAddedToPersistentStore(download_id, db_handle); | 912 download_manager_->OnItemAddedToPersistentStore(download_id, db_handle); |
913 } | 913 } |
OLD | NEW |