| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/download_item.h" | 5 #include "chrome/browser/download/download_item.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/timer.h" | 10 #include "base/timer.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 safety_state_(SAFE), | 56 safety_state_(SAFE), |
| 57 auto_opened_(false), | 57 auto_opened_(false), |
| 58 original_name_(info.original_name), | 58 original_name_(info.original_name), |
| 59 render_process_id_(-1), | 59 render_process_id_(-1), |
| 60 request_id_(-1), | 60 request_id_(-1), |
| 61 save_as_(false), | 61 save_as_(false), |
| 62 is_otr_(false), | 62 is_otr_(false), |
| 63 is_extension_install_(info.is_extension_install), | 63 is_extension_install_(info.is_extension_install), |
| 64 name_finalized_(false), | 64 name_finalized_(false), |
| 65 is_temporary_(false), | 65 is_temporary_(false), |
| 66 need_final_rename_(false) { | 66 need_final_rename_(false), |
| 67 opened_(false) { |
| 67 if (state_ == IN_PROGRESS) | 68 if (state_ == IN_PROGRESS) |
| 68 state_ = CANCELLED; | 69 state_ = CANCELLED; |
| 69 Init(false /* don't start progress timer */); | 70 Init(false /* don't start progress timer */); |
| 70 } | 71 } |
| 71 | 72 |
| 72 // Constructing for a regular download: | 73 // Constructing for a regular download: |
| 73 DownloadItem::DownloadItem(DownloadManager* download_manager, | 74 DownloadItem::DownloadItem(DownloadManager* download_manager, |
| 74 const DownloadCreateInfo& info, | 75 const DownloadCreateInfo& info, |
| 75 bool is_otr) | 76 bool is_otr) |
| 76 : id_(info.download_id), | 77 : id_(info.download_id), |
| (...skipping 15 matching lines...) Expand all Loading... |
| 92 safety_state_(info.is_dangerous ? DANGEROUS : SAFE), | 93 safety_state_(info.is_dangerous ? DANGEROUS : SAFE), |
| 93 auto_opened_(false), | 94 auto_opened_(false), |
| 94 original_name_(info.original_name), | 95 original_name_(info.original_name), |
| 95 render_process_id_(info.child_id), | 96 render_process_id_(info.child_id), |
| 96 request_id_(info.request_id), | 97 request_id_(info.request_id), |
| 97 save_as_(info.prompt_user_for_save_location), | 98 save_as_(info.prompt_user_for_save_location), |
| 98 is_otr_(is_otr), | 99 is_otr_(is_otr), |
| 99 is_extension_install_(info.is_extension_install), | 100 is_extension_install_(info.is_extension_install), |
| 100 name_finalized_(false), | 101 name_finalized_(false), |
| 101 is_temporary_(!info.save_info.file_path.empty()), | 102 is_temporary_(!info.save_info.file_path.empty()), |
| 102 need_final_rename_(false) { | 103 need_final_rename_(false), |
| 104 opened_(false) { |
| 103 Init(true /* start progress timer */); | 105 Init(true /* start progress timer */); |
| 104 } | 106 } |
| 105 | 107 |
| 106 // Constructing for the "Save Page As..." feature: | 108 // Constructing for the "Save Page As..." feature: |
| 107 DownloadItem::DownloadItem(DownloadManager* download_manager, | 109 DownloadItem::DownloadItem(DownloadManager* download_manager, |
| 108 const FilePath& path, | 110 const FilePath& path, |
| 109 const GURL& url, | 111 const GURL& url, |
| 110 bool is_otr) | 112 bool is_otr) |
| 111 : id_(1), | 113 : id_(1), |
| 112 full_path_(path), | 114 full_path_(path), |
| (...skipping 14 matching lines...) Expand all Loading... |
| 127 safety_state_(SAFE), | 129 safety_state_(SAFE), |
| 128 auto_opened_(false), | 130 auto_opened_(false), |
| 129 original_name_(FilePath()), | 131 original_name_(FilePath()), |
| 130 render_process_id_(-1), | 132 render_process_id_(-1), |
| 131 request_id_(-1), | 133 request_id_(-1), |
| 132 save_as_(false), | 134 save_as_(false), |
| 133 is_otr_(is_otr), | 135 is_otr_(is_otr), |
| 134 is_extension_install_(false), | 136 is_extension_install_(false), |
| 135 name_finalized_(false), | 137 name_finalized_(false), |
| 136 is_temporary_(false), | 138 is_temporary_(false), |
| 137 need_final_rename_(false) { | 139 need_final_rename_(false), |
| 140 opened_(false) { |
| 138 Init(true /* start progress timer */); | 141 Init(true /* start progress timer */); |
| 139 } | 142 } |
| 140 | 143 |
| 141 DownloadItem::~DownloadItem() { | 144 DownloadItem::~DownloadItem() { |
| 142 state_ = REMOVING; | 145 state_ = REMOVING; |
| 143 UpdateObservers(); | 146 UpdateObservers(); |
| 144 } | 147 } |
| 145 | 148 |
| 146 void DownloadItem::AddObserver(Observer* observer) { | 149 void DownloadItem::AddObserver(Observer* observer) { |
| 147 observers_.AddObserver(observer); | 150 observers_.AddObserver(observer); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 173 } | 176 } |
| 174 | 177 |
| 175 void DownloadItem::OpenFilesBasedOnExtension(bool open) { | 178 void DownloadItem::OpenFilesBasedOnExtension(bool open) { |
| 176 return download_manager_->OpenFilesBasedOnExtension(full_path(), open); | 179 return download_manager_->OpenFilesBasedOnExtension(full_path(), open); |
| 177 } | 180 } |
| 178 | 181 |
| 179 void DownloadItem::OpenDownload() { | 182 void DownloadItem::OpenDownload() { |
| 180 if (state() == DownloadItem::IN_PROGRESS) { | 183 if (state() == DownloadItem::IN_PROGRESS) { |
| 181 open_when_complete_ = !open_when_complete_; | 184 open_when_complete_ = !open_when_complete_; |
| 182 } else if (state() == DownloadItem::COMPLETE) { | 185 } else if (state() == DownloadItem::COMPLETE) { |
| 183 FOR_EACH_OBSERVER(Observer, observers_, OnDownloadOpened(this)); | |
| 184 download_manager_->OpenDownload(this, NULL); | 186 download_manager_->OpenDownload(this, NULL); |
| 185 } | 187 } |
| 186 } | 188 } |
| 187 | 189 |
| 190 void DownloadItem::Opened() { |
| 191 opened_ = true; |
| 192 FOR_EACH_OBSERVER(Observer, observers_, OnDownloadOpened(this)); |
| 193 } |
| 194 |
| 188 void DownloadItem::ShowDownloadInShell() { | 195 void DownloadItem::ShowDownloadInShell() { |
| 189 download_manager_->ShowDownloadInShell(this); | 196 download_manager_->ShowDownloadInShell(this); |
| 190 } | 197 } |
| 191 | 198 |
| 192 void DownloadItem::DangerousDownloadValidated() { | 199 void DownloadItem::DangerousDownloadValidated() { |
| 193 download_manager_->DangerousDownloadValidated(this); | 200 download_manager_->DangerousDownloadValidated(this); |
| 194 } | 201 } |
| 195 | 202 |
| 196 void DownloadItem::UpdateSize(int64 bytes_so_far) { | 203 void DownloadItem::UpdateSize(int64 bytes_so_far) { |
| 197 received_bytes_ = bytes_so_far; | 204 received_bytes_ = bytes_so_far; |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 return name; | 349 return name; |
| 343 } | 350 } |
| 344 return original_name_; | 351 return original_name_; |
| 345 } | 352 } |
| 346 | 353 |
| 347 void DownloadItem::Init(bool start_timer) { | 354 void DownloadItem::Init(bool start_timer) { |
| 348 file_name_ = full_path_.BaseName(); | 355 file_name_ = full_path_.BaseName(); |
| 349 if (start_timer) | 356 if (start_timer) |
| 350 StartProgressTimer(); | 357 StartProgressTimer(); |
| 351 } | 358 } |
| OLD | NEW |