| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 // The DownloadManager object manages the process of downloading, including | 5 // The DownloadManager object manages the process of downloading, including |
| 6 // updates to the history system and providing the information for displaying | 6 // updates to the history system and providing the information for displaying |
| 7 // the downloads view in the Destinations tab. There is one DownloadManager per | 7 // the downloads view in the Destinations tab. There is one DownloadManager per |
| 8 // active profile in Chrome. | 8 // active profile in Chrome. |
| 9 // | 9 // |
| 10 // Each download is represented by a DownloadItem, and all DownloadItems | 10 // Each download is represented by a DownloadItem, and all DownloadItems |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 | 328 |
| 329 // Helper method for cancelling the network request associated with a | 329 // Helper method for cancelling the network request associated with a |
| 330 // download. | 330 // download. |
| 331 static void CancelDownloadRequest(int render_process_id, int request_id); | 331 static void CancelDownloadRequest(int render_process_id, int request_id); |
| 332 | 332 |
| 333 // Called from a view when a user clicks a UI button or link. | 333 // Called from a view when a user clicks a UI button or link. |
| 334 void DownloadCancelled(int32 download_id); | 334 void DownloadCancelled(int32 download_id); |
| 335 void PauseDownload(int32 download_id, bool pause); | 335 void PauseDownload(int32 download_id, bool pause); |
| 336 void RemoveDownload(int64 download_handle); | 336 void RemoveDownload(int64 download_handle); |
| 337 | 337 |
| 338 // Called when the download is renamed to its final name. |
| 339 void DownloadRenamedToFinalName(int download_id, const FilePath& full_path); |
| 340 |
| 338 // Remove downloads after remove_begin (inclusive) and before remove_end | 341 // Remove downloads after remove_begin (inclusive) and before remove_end |
| 339 // (exclusive). You may pass in null Time values to do an unbounded delete | 342 // (exclusive). You may pass in null Time values to do an unbounded delete |
| 340 // in either direction. | 343 // in either direction. |
| 341 int RemoveDownloadsBetween(const base::Time remove_begin, | 344 int RemoveDownloadsBetween(const base::Time remove_begin, |
| 342 const base::Time remove_end); | 345 const base::Time remove_end); |
| 343 | 346 |
| 344 // Remove downloads will delete all downloads that have a timestamp that is | 347 // Remove downloads will delete all downloads that have a timestamp that is |
| 345 // the same or more recent than |remove_begin|. The number of downloads | 348 // the same or more recent than |remove_begin|. The number of downloads |
| 346 // deleted is returned back to the caller. | 349 // deleted is returned back to the caller. |
| 347 int RemoveDownloads(const base::Time remove_begin); | 350 int RemoveDownloads(const base::Time remove_begin); |
| 348 | 351 |
| 349 // Download the object at the URL. Used in cases such as "Save Link As..." | 352 // Download the object at the URL. Used in cases such as "Save Link As..." |
| 350 void DownloadUrl(const GURL& url, | 353 void DownloadUrl(const GURL& url, |
| 351 const GURL& referrer, | 354 const GURL& referrer, |
| 352 WebContents* web_contents); | 355 WebContents* web_contents); |
| 353 | 356 |
| 354 // Allow objects to observe the download creation process. | 357 // Allow objects to observe the download creation process. |
| 355 void AddObserver(Observer* observer); | 358 void AddObserver(Observer* observer); |
| 356 | 359 |
| 357 // Remove a download observer from ourself. | 360 // Remove a download observer from ourself. |
| 358 void RemoveObserver(Observer* observer); | 361 void RemoveObserver(Observer* observer); |
| 359 | 362 |
| 360 // Methods called on completion of a query sent to the history system. | 363 // Methods called on completion of a query sent to the history system. |
| 361 void OnQueryDownloadEntriesComplete( | 364 void OnQueryDownloadEntriesComplete( |
| 362 std::vector<DownloadCreateInfo>* entries); | 365 std::vector<DownloadCreateInfo>* entries); |
| 363 void OnCreateDownloadEntryComplete(DownloadCreateInfo info, int64 db_handle); | 366 void OnCreateDownloadEntryComplete(DownloadCreateInfo info, int64 db_handle); |
| 364 void OnSearchComplete(HistoryService::Handle handle, | 367 void OnSearchComplete(HistoryService::Handle handle, |
| 365 std::vector<int64>* results); | 368 std::vector<int64>* results); |
| 366 | 369 |
| 367 // Show or Open a download via the Windows shell. | 370 // Opens a download. For Chrome extensions call |
| 371 // ExtensionsServices::InstallExtension, for everything else call |
| 372 // OpenDownloadInShell. |
| 373 void OpenDownload(const DownloadItem* download, |
| 374 gfx::NativeView parent_window); |
| 375 |
| 376 // Show a download via the Windows shell. |
| 368 void ShowDownloadInShell(const DownloadItem* download); | 377 void ShowDownloadInShell(const DownloadItem* download); |
| 369 void OpenDownloadInShell(const DownloadItem* download, | |
| 370 gfx::NativeView parent_window); | |
| 371 | 378 |
| 372 // The number of in progress (including paused) downloads. | 379 // The number of in progress (including paused) downloads. |
| 373 int in_progress_count() const { | 380 int in_progress_count() const { |
| 374 return static_cast<int>(in_progress_.size()); | 381 return static_cast<int>(in_progress_.size()); |
| 375 } | 382 } |
| 376 | 383 |
| 377 FilePath download_path() { | 384 FilePath download_path() { |
| 378 return FilePath::FromWStringHack(*download_path_); | 385 return FilePath::FromWStringHack(*download_path_); |
| 379 } | 386 } |
| 380 | 387 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 // Called when the user has validated the donwload of a dangerous file. | 420 // Called when the user has validated the donwload of a dangerous file. |
| 414 void DangerousDownloadValidated(DownloadItem* download); | 421 void DangerousDownloadValidated(DownloadItem* download); |
| 415 | 422 |
| 416 // Used to make sure we have a safe file extension and filename for a | 423 // Used to make sure we have a safe file extension and filename for a |
| 417 // download. |file_name| can either be just the file name or it can be a | 424 // download. |file_name| can either be just the file name or it can be a |
| 418 // full path to a file. | 425 // full path to a file. |
| 419 void GenerateSafeFilename(const std::string& mime_type, | 426 void GenerateSafeFilename(const std::string& mime_type, |
| 420 FilePath* file_name); | 427 FilePath* file_name); |
| 421 | 428 |
| 422 private: | 429 private: |
| 430 // Opens a download via the Windows shell. |
| 431 void OpenDownloadInShell(const DownloadItem* download, |
| 432 gfx::NativeView parent_window); |
| 433 |
| 434 // Opens downloaded Chrome extension file (*.crx). |
| 435 void OpenChromeExtension(const FilePath& full_path); |
| 436 |
| 423 // Shutdown the download manager. This call is needed only after Init. | 437 // Shutdown the download manager. This call is needed only after Init. |
| 424 void Shutdown(); | 438 void Shutdown(); |
| 425 | 439 |
| 426 // Called on the download thread to check whether the suggested file path | 440 // Called on the download thread to check whether the suggested file path |
| 427 // exists. We don't check if the file exists on the UI thread to avoid UI | 441 // exists. We don't check if the file exists on the UI thread to avoid UI |
| 428 // stalls from interacting with the file system. | 442 // stalls from interacting with the file system. |
| 429 void CheckIfSuggestedPathExists(DownloadCreateInfo* info); | 443 void CheckIfSuggestedPathExists(DownloadCreateInfo* info); |
| 430 | 444 |
| 431 // Called on the UI thread once the DownloadManager has determined whether the | 445 // Called on the UI thread once the DownloadManager has determined whether the |
| 432 // suggested file path exists. | 446 // suggested file path exists. |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 PendingFinishedMap pending_finished_downloads_; | 586 PendingFinishedMap pending_finished_downloads_; |
| 573 | 587 |
| 574 // The "Save As" dialog box used to ask the user where a file should be | 588 // The "Save As" dialog box used to ask the user where a file should be |
| 575 // saved. | 589 // saved. |
| 576 scoped_refptr<SelectFileDialog> select_file_dialog_; | 590 scoped_refptr<SelectFileDialog> select_file_dialog_; |
| 577 | 591 |
| 578 DISALLOW_COPY_AND_ASSIGN(DownloadManager); | 592 DISALLOW_COPY_AND_ASSIGN(DownloadManager); |
| 579 }; | 593 }; |
| 580 | 594 |
| 581 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_MANAGER_H_ | 595 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_MANAGER_H_ |
| OLD | NEW |