diff options
-rw-r--r-- | chrome/browser/download/download_file.cc | 13 | ||||
-rw-r--r-- | chrome/browser/download/download_file.h | 3 |
2 files changed, 15 insertions, 1 deletions
diff --git a/chrome/browser/download/download_file.cc b/chrome/browser/download/download_file.cc index 246e5b8..b6ff457 100644 --- a/chrome/browser/download/download_file.cc +++ b/chrome/browser/download/download_file.cc @@ -137,6 +137,13 @@ bool DownloadFile::Open(const char* open_mode) { } #if defined(OS_WIN) + AnnotateWithSourceInformation(); +#endif + return true; +} + +void DownloadFile::AnnotateWithSourceInformation() { +#if defined(OS_WIN) // Sets the Zone to tell Windows that this file comes from the internet. // We ignore the return value because a failure is not fatal. win_util::SetInternetZoneIdentifier(full_path_); @@ -144,7 +151,6 @@ bool DownloadFile::Open(const char* open_mode) { quarantine_mac::AddQuarantineMetadataToFile(full_path_, source_url_, referrer_url_); #endif - return true; } // DownloadFileManager implementation ------------------------------------------ @@ -565,6 +571,11 @@ void DownloadFileManager::OnFinalDownloadName(int id, DownloadFile* download = it->second; if (download->Rename(full_path)) { +#if defined(OS_MACOSX) + // Done here because we only want to do this once; see + // http://crbug.com/13120 for details. + download->AnnotateWithSourceInformation(); +#endif ui_loop_->PostTask(FROM_HERE, NewRunnableMethod(manager, &DownloadManager::DownloadRenamedToFinalName, diff --git a/chrome/browser/download/download_file.h b/chrome/browser/download/download_file.h index 4d2336b..63fb1e7 100644 --- a/chrome/browser/download/download_file.h +++ b/chrome/browser/download/download_file.h @@ -99,6 +99,9 @@ class DownloadFile { // Rename the download file. Returns 'true' if the rename was successful. bool Rename(const FilePath& full_path); + // Informs the OS that this file came from the internet. + void AnnotateWithSourceInformation(); + // Accessors. int64 bytes_so_far() const { return bytes_so_far_; } int id() const { return id_; } |