Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: chrome/browser/download/download_manager.h

Issue 337042: Revert 30168 - Commit patch set from http://codereview.chromium.org/149796... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/file_path_unittest.cc ('k') | chrome/browser/download/download_manager.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 FilePath download_path() { 412 FilePath download_path() {
413 return FilePath::FromWStringHack(*download_path_); 413 return FilePath::FromWStringHack(*download_path_);
414 } 414 }
415 415
416 // Clears the last download path, used to initialize "save as" dialogs. 416 // Clears the last download path, used to initialize "save as" dialogs.
417 void ClearLastDownloadPath(); 417 void ClearLastDownloadPath();
418 418
419 // Registers this file extension for automatic opening upon download 419 // Registers this file extension for automatic opening upon download
420 // completion if 'open' is true, or prevents the extension from automatic 420 // completion if 'open' is true, or prevents the extension from automatic
421 // opening if 'open' is false. 421 // opening if 'open' is false.
422 void OpenFilesBasedOnExtension(const FilePath& path, bool open); 422 void OpenFilesOfExtension(const FilePath::StringType& extension, bool open);
423 423
424 // Tests if a file type should be opened automatically. 424 // Tests if a file type should be opened automatically.
425 bool ShouldOpenFileBasedOnExtension(const FilePath& path) const; 425 bool ShouldOpenFileExtension(const FilePath::StringType& extension);
426 426
427 // Tests if we think the server means for this mime_type to be executable. 427 // Tests if we think the server means for this mime_type to be executable.
428 static bool IsExecutableMimeType(const std::string& mime_type); 428 static bool IsExecutableMimeType(const std::string& mime_type);
429 429
430 // Tests if a file is considered executable, based on its type.
431 bool IsExecutableFile(const FilePath& path) const;
432
433 // Tests if a file type is considered executable. 430 // Tests if a file type is considered executable.
434 bool IsExecutableExtension(const FilePath::StringType& extension) const; 431 bool IsExecutable(const FilePath::StringType& extension);
435 432
436 // Resets the automatic open preference. 433 // Resets the automatic open preference.
437 void ResetAutoOpenFiles(); 434 void ResetAutoOpenFiles();
438 435
439 // Returns true if there are automatic handlers registered for any file 436 // Returns true if there are automatic handlers registered for any file
440 // types. 437 // types.
441 bool HasAutoOpenFileTypesRegistered() const; 438 bool HasAutoOpenFileTypesRegistered() const;
442 439
443 // Overridden from SelectFileDialog::Listener: 440 // Overridden from SelectFileDialog::Listener:
444 virtual void FileSelected(const FilePath& path, int index, void* params); 441 virtual void FileSelected(const FilePath& path, int index, void* params);
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 598
602 // User preferences 599 // User preferences
603 BooleanPrefMember prompt_for_download_; 600 BooleanPrefMember prompt_for_download_;
604 StringPrefMember download_path_; 601 StringPrefMember download_path_;
605 602
606 // The user's last choice for download directory. This is only used when the 603 // The user's last choice for download directory. This is only used when the
607 // user wants us to prompt for a save location for each download. 604 // user wants us to prompt for a save location for each download.
608 FilePath last_download_path_; 605 FilePath last_download_path_;
609 606
610 // Set of file extensions to open at download completion. 607 // Set of file extensions to open at download completion.
611 struct AutoOpenCompareFunctor { 608 std::set<FilePath::StringType> auto_open_;
612 inline bool operator()(const FilePath::StringType& a,
613 const FilePath::StringType& b) const {
614 return FilePath::CompareLessIgnoreCase(a, b);
615 }
616 };
617 typedef std::set<FilePath::StringType, AutoOpenCompareFunctor> AutoOpenSet;
618 AutoOpenSet auto_open_;
619 609
620 // Set of file extensions that are executables and shouldn't be auto opened. 610 // Set of file extensions that are executables and shouldn't be auto opened.
621 std::set<std::string> exe_types_; 611 std::set<std::string> exe_types_;
622 612
623 // Keep track of downloads that are completed before the user selects the 613 // Keep track of downloads that are completed before the user selects the
624 // destination, so that observers are appropriately notified of completion 614 // destination, so that observers are appropriately notified of completion
625 // after this determination is made. 615 // after this determination is made.
626 // The map is of download_id->remaining size (bytes), both of which are 616 // The map is of download_id->remaining size (bytes), both of which are
627 // required when calling DownloadFinished. 617 // required when calling DownloadFinished.
628 typedef std::map<int32, int64> PendingFinishedMap; 618 typedef std::map<int32, int64> PendingFinishedMap;
629 PendingFinishedMap pending_finished_downloads_; 619 PendingFinishedMap pending_finished_downloads_;
630 620
631 // The "Save As" dialog box used to ask the user where a file should be 621 // The "Save As" dialog box used to ask the user where a file should be
632 // saved. 622 // saved.
633 scoped_refptr<SelectFileDialog> select_file_dialog_; 623 scoped_refptr<SelectFileDialog> select_file_dialog_;
634 624
635 DISALLOW_COPY_AND_ASSIGN(DownloadManager); 625 DISALLOW_COPY_AND_ASSIGN(DownloadManager);
636 }; 626 };
637 627
638 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_MANAGER_H_ 628 #endif // CHROME_BROWSER_DOWNLOAD_DOWNLOAD_MANAGER_H_
OLDNEW
« no previous file with comments | « base/file_path_unittest.cc ('k') | chrome/browser/download/download_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698