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 #ifndef CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_ITEM_IMPL_H_ | 5 #ifndef CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_ITEM_IMPL_H_ |
6 #define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_ITEM_IMPL_H_ | 6 #define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_ITEM_IMPL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 const GURL& url, | 54 const GURL& url, |
55 bool is_otr, | 55 bool is_otr, |
56 content::DownloadId download_id, | 56 content::DownloadId download_id, |
57 const std::string& mime_type, | 57 const std::string& mime_type, |
58 const net::BoundNetLog& bound_net_log); | 58 const net::BoundNetLog& bound_net_log); |
59 | 59 |
60 virtual ~DownloadItemImpl(); | 60 virtual ~DownloadItemImpl(); |
61 | 61 |
62 // Implementation functions (not part of the DownloadItem interface). | 62 // Implementation functions (not part of the DownloadItem interface). |
63 | 63 |
| 64 // Called when the target path has been determined. |target_path| is the |
| 65 // suggested target path. |disposition| indicates how the target path should |
| 66 // be used (see TargetDisposition). |danger_type| is the danger level of |
| 67 // |target_path| as determined by the caller. |intermediate_path| is the path |
| 68 // to use to store the download until OnDownloadCompleting() is called. |
| 69 virtual void OnDownloadTargetDetermined( |
| 70 const FilePath& target_path, |
| 71 TargetDisposition disposition, |
| 72 content::DownloadDangerType danger_type, |
| 73 const FilePath& intermediate_path); |
| 74 |
64 // Indicate that an error has occurred on the download. | 75 // Indicate that an error has occurred on the download. |
65 virtual void Interrupt(content::DownloadInterruptReason reason); | 76 virtual void Interrupt(content::DownloadInterruptReason reason); |
66 | 77 |
67 // Mark the item as having been persisted. | 78 // Mark the item as having been persisted. |
68 virtual void SetIsPersisted(); | 79 virtual void SetIsPersisted(); |
69 | 80 |
70 // Set the item's DB handle. | 81 // Set the item's DB handle. |
71 virtual void SetDbHandle(int64 handle); | 82 virtual void SetDbHandle(int64 handle); |
72 | 83 |
73 // Cancels the off-thread aspects of the download. | 84 // Cancels the off-thread aspects of the download. |
74 // TODO(rdsmith): This should be private and only called from | 85 // TODO(rdsmith): This should be private and only called from |
75 // DownloadItem::Cancel/Interrupt; it isn't now because we can't | 86 // DownloadItem::Cancel/Interrupt; it isn't now because we can't |
76 // call those functions from | 87 // call those functions from |
77 // DownloadManager::FileSelectionCancelled() without doing some | 88 // DownloadManager::FileSelectionCancelled() without doing some |
78 // rewrites of the DownloadManager queues. | 89 // rewrites of the DownloadManager queues. |
79 virtual void OffThreadCancel(DownloadFileManager* file_manager); | 90 virtual void OffThreadCancel(); |
80 | 91 |
81 // Called when the downloaded file is removed. | 92 // Called when the downloaded file is removed. |
82 virtual void OnDownloadedFileRemoved(); | 93 virtual void OnDownloadedFileRemoved(); |
83 | 94 |
84 // Called when the download is ready to complete. | 95 // Called when the download is ready to complete. |
85 // This may perform final rename if necessary and will eventually call | 96 // This may perform final rename if necessary and will eventually call |
86 // DownloadItem::Completed(). | 97 // DownloadItem::Completed(). |
87 virtual void OnDownloadCompleting(DownloadFileManager* file_manager); | 98 virtual void OnDownloadCompleting(); |
88 | 99 |
89 // Called periodically from the download thread, or from the UI thread | 100 // Called periodically from the download thread, or from the UI thread |
90 // for saving packages. | 101 // for saving packages. |
91 // |bytes_so_far| is the number of bytes received so far. | 102 // |bytes_so_far| is the number of bytes received so far. |
92 // |hash_state| is the current hash state. | 103 // |hash_state| is the current hash state. |
93 virtual void UpdateProgress(int64 bytes_so_far, | 104 virtual void UpdateProgress(int64 bytes_so_far, |
94 int64 bytes_per_sec, | 105 int64 bytes_per_sec, |
95 const std::string& hash_state); | 106 const std::string& hash_state); |
96 | 107 |
97 // Called by SavePackage to display progress when the DownloadItem | 108 // Called by SavePackage to display progress when the DownloadItem |
(...skipping 28 matching lines...) Expand all Loading... |
126 virtual bool MatchesQuery(const string16& query) const OVERRIDE; | 137 virtual bool MatchesQuery(const string16& query) const OVERRIDE; |
127 virtual bool IsPartialDownload() const OVERRIDE; | 138 virtual bool IsPartialDownload() const OVERRIDE; |
128 virtual bool IsInProgress() const OVERRIDE; | 139 virtual bool IsInProgress() const OVERRIDE; |
129 virtual bool IsCancelled() const OVERRIDE; | 140 virtual bool IsCancelled() const OVERRIDE; |
130 virtual bool IsInterrupted() const OVERRIDE; | 141 virtual bool IsInterrupted() const OVERRIDE; |
131 virtual bool IsComplete() const OVERRIDE; | 142 virtual bool IsComplete() const OVERRIDE; |
132 virtual DownloadState GetState() const OVERRIDE; | 143 virtual DownloadState GetState() const OVERRIDE; |
133 virtual const FilePath& GetFullPath() const OVERRIDE; | 144 virtual const FilePath& GetFullPath() const OVERRIDE; |
134 virtual const FilePath& GetTargetFilePath() const OVERRIDE; | 145 virtual const FilePath& GetTargetFilePath() const OVERRIDE; |
135 virtual TargetDisposition GetTargetDisposition() const OVERRIDE; | 146 virtual TargetDisposition GetTargetDisposition() const OVERRIDE; |
136 virtual void OnTargetPathDetermined( | |
137 const FilePath& target_path, | |
138 TargetDisposition disposition, | |
139 content::DownloadDangerType danger_type) OVERRIDE; | |
140 virtual void OnTargetPathSelected(const FilePath& target_path) OVERRIDE; | |
141 virtual void OnContentCheckCompleted( | 147 virtual void OnContentCheckCompleted( |
142 content::DownloadDangerType danger_type) OVERRIDE; | 148 content::DownloadDangerType danger_type) OVERRIDE; |
143 virtual void OnIntermediatePathDetermined(DownloadFileManager* file_manager, | |
144 const FilePath& path) OVERRIDE; | |
145 virtual const GURL& GetURL() const OVERRIDE; | 149 virtual const GURL& GetURL() const OVERRIDE; |
146 virtual const std::vector<GURL>& GetUrlChain() const OVERRIDE; | 150 virtual const std::vector<GURL>& GetUrlChain() const OVERRIDE; |
147 virtual const GURL& GetOriginalUrl() const OVERRIDE; | 151 virtual const GURL& GetOriginalUrl() const OVERRIDE; |
148 virtual const GURL& GetReferrerUrl() const OVERRIDE; | 152 virtual const GURL& GetReferrerUrl() const OVERRIDE; |
149 virtual std::string GetSuggestedFilename() const OVERRIDE; | 153 virtual std::string GetSuggestedFilename() const OVERRIDE; |
150 virtual std::string GetContentDisposition() const OVERRIDE; | 154 virtual std::string GetContentDisposition() const OVERRIDE; |
151 virtual std::string GetMimeType() const OVERRIDE; | 155 virtual std::string GetMimeType() const OVERRIDE; |
152 virtual std::string GetOriginalMimeType() const OVERRIDE; | 156 virtual std::string GetOriginalMimeType() const OVERRIDE; |
153 virtual std::string GetReferrerCharset() const OVERRIDE; | 157 virtual std::string GetReferrerCharset() const OVERRIDE; |
154 virtual std::string GetRemoteAddress() const OVERRIDE; | 158 virtual std::string GetRemoteAddress() const OVERRIDE; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 // Call to transition state; all state transitions should go through this. | 228 // Call to transition state; all state transitions should go through this. |
225 void TransitionTo(DownloadState new_state); | 229 void TransitionTo(DownloadState new_state); |
226 | 230 |
227 // Set the |danger_type_| and invoke obserers if necessary. | 231 // Set the |danger_type_| and invoke obserers if necessary. |
228 void SetDangerType(content::DownloadDangerType danger_type); | 232 void SetDangerType(content::DownloadDangerType danger_type); |
229 | 233 |
230 // Set the |current_path_| to |new_path|. | 234 // Set the |current_path_| to |new_path|. |
231 void SetFullPath(const FilePath& new_path); | 235 void SetFullPath(const FilePath& new_path); |
232 | 236 |
233 // Callback invoked when the download has been renamed to its final name. | 237 // Callback invoked when the download has been renamed to its final name. |
234 void OnDownloadRenamedToFinalName(DownloadFileManager* file_manager, | 238 void OnDownloadRenamedToFinalName(content::DownloadInterruptReason reason, |
235 content::DownloadInterruptReason reason, | |
236 const FilePath& full_path); | 239 const FilePath& full_path); |
237 | 240 |
238 // Callback invoked when the download has been renamed to its intermediate | 241 // Callback invoked when the download has been renamed to its intermediate |
239 // name. | 242 // name. |
240 void OnDownloadRenamedToIntermediateName( | 243 void OnDownloadRenamedToIntermediateName( |
241 content::DownloadInterruptReason reason, const FilePath& full_path); | 244 content::DownloadInterruptReason reason, const FilePath& full_path); |
242 | 245 |
243 // Callback from file thread when we release the DownloadFile. | 246 // Callback from file thread when we release the DownloadFile. |
244 void OnDownloadFileReleased(); | 247 void OnDownloadFileReleased(); |
245 | 248 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 | 410 |
408 // Net log to use for this download. | 411 // Net log to use for this download. |
409 const net::BoundNetLog bound_net_log_; | 412 const net::BoundNetLog bound_net_log_; |
410 | 413 |
411 base::WeakPtrFactory<DownloadItemImpl> weak_ptr_factory_; | 414 base::WeakPtrFactory<DownloadItemImpl> weak_ptr_factory_; |
412 | 415 |
413 DISALLOW_COPY_AND_ASSIGN(DownloadItemImpl); | 416 DISALLOW_COPY_AND_ASSIGN(DownloadItemImpl); |
414 }; | 417 }; |
415 | 418 |
416 #endif // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_ITEM_IMPL_H_ | 419 #endif // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_ITEM_IMPL_H_ |
OLD | NEW |