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

Side by Side Diff: chrome/browser/download/download_browsertest.cc

Issue 8135017: Refactor downloads into a ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Incorporated comments. Created 9 years, 2 months 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/bind_helpers.h" 6 #include "base/bind_helpers.h"
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/path_service.h" 10 #include "base/path_service.h"
11 #include "base/scoped_temp_dir.h" 11 #include "base/scoped_temp_dir.h"
12 #include "base/stl_util.h" 12 #include "base/stl_util.h"
13 #include "base/test/test_file_util.h" 13 #include "base/test/test_file_util.h"
14 #include "base/utf_string_conversions.h" 14 #include "base/utf_string_conversions.h"
15 #include "chrome/browser/browser_process.h" 15 #include "chrome/browser/browser_process.h"
16 #include "chrome/browser/download/chrome_download_manager_delegate.h" 16 #include "chrome/browser/download/chrome_download_manager_delegate.h"
17 #include "chrome/browser/download/download_crx_util.h" 17 #include "chrome/browser/download/download_crx_util.h"
18 #include "chrome/browser/download/download_history.h" 18 #include "chrome/browser/download/download_history.h"
19 #include "chrome/browser/download/download_prefs.h" 19 #include "chrome/browser/download/download_prefs.h"
20 #include "chrome/browser/download/download_service.h"
21 #include "chrome/browser/download/download_service_factory.h"
20 #include "chrome/browser/download/download_shelf.h" 22 #include "chrome/browser/download/download_shelf.h"
21 #include "chrome/browser/download/download_util.h" 23 #include "chrome/browser/download/download_util.h"
22 #include "chrome/browser/extensions/extension_install_ui.h" 24 #include "chrome/browser/extensions/extension_install_ui.h"
23 #include "chrome/browser/extensions/extension_service.h" 25 #include "chrome/browser/extensions/extension_service.h"
24 #include "chrome/browser/history/history.h" 26 #include "chrome/browser/history/history.h"
25 #include "chrome/browser/net/url_request_mock_util.h" 27 #include "chrome/browser/net/url_request_mock_util.h"
26 #include "chrome/browser/prefs/pref_service.h" 28 #include "chrome/browser/prefs/pref_service.h"
27 #include "chrome/browser/profiles/profile.h" 29 #include "chrome/browser/profiles/profile.h"
28 #include "chrome/browser/ui/browser.h" 30 #include "chrome/browser/ui/browser.h"
29 #include "chrome/browser/ui/browser_list.h" 31 #include "chrome/browser/ui/browser_list.h"
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 int rdh_pending_requests_; 493 int rdh_pending_requests_;
492 int dfm_pending_downloads_; 494 int dfm_pending_downloads_;
493 495
494 DISALLOW_COPY_AND_ASSIGN(CancelTestDataCollector); 496 DISALLOW_COPY_AND_ASSIGN(CancelTestDataCollector);
495 }; 497 };
496 498
497 class PickSuggestedFileDelegate : public ChromeDownloadManagerDelegate { 499 class PickSuggestedFileDelegate : public ChromeDownloadManagerDelegate {
498 public: 500 public:
499 explicit PickSuggestedFileDelegate(Profile* profile) 501 explicit PickSuggestedFileDelegate(Profile* profile)
500 : ChromeDownloadManagerDelegate(profile) { 502 : ChromeDownloadManagerDelegate(profile) {
501 SetDownloadManager(profile->GetDownloadManager()); 503 SetDownloadManager(
504 DownloadServiceFactory::GetForProfile(profile)->GetDownloadManager());
502 } 505 }
503 506
504 virtual void ChooseDownloadPath(TabContents* tab_contents, 507 virtual void ChooseDownloadPath(TabContents* tab_contents,
505 const FilePath& suggested_path, 508 const FilePath& suggested_path,
506 void* data) OVERRIDE { 509 void* data) OVERRIDE {
507 if (download_manager_) 510 if (download_manager_)
508 download_manager_->FileSelected(suggested_path, data); 511 download_manager_->FileSelected(suggested_path, data);
509 } 512 }
510 }; 513 };
511 514
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 590
588 // Proceed without confirmation prompt. 591 // Proceed without confirmation prompt.
589 virtual void ConfirmInstall(Delegate* delegate, const Extension* extension) { 592 virtual void ConfirmInstall(Delegate* delegate, const Extension* extension) {
590 delegate->InstallUIProceed(); 593 delegate->InstallUIProceed();
591 } 594 }
592 595
593 virtual void OnInstallSuccess(const Extension* extension, SkBitmap* icon) {} 596 virtual void OnInstallSuccess(const Extension* extension, SkBitmap* icon) {}
594 virtual void OnInstallFailure(const std::string& error) {} 597 virtual void OnInstallFailure(const std::string& error) {}
595 }; 598 };
596 599
600 static DownloadManager* DownloadManagerForBrowser(Browser* browser) {
601 return DownloadServiceFactory::GetForProfile(browser->profile())
602 ->GetDownloadManager();
603 }
604
597 } // namespace 605 } // namespace
598 606
599 // While an object of this class exists, it will mock out download 607 // While an object of this class exists, it will mock out download
600 // opening for all downloads created on the specified download manager. 608 // opening for all downloads created on the specified download manager.
601 class MockDownloadOpeningObserver : public DownloadManager::Observer { 609 class MockDownloadOpeningObserver : public DownloadManager::Observer {
602 public: 610 public:
603 explicit MockDownloadOpeningObserver(DownloadManager* manager) 611 explicit MockDownloadOpeningObserver(DownloadManager* manager)
604 : download_manager_(manager) { 612 : download_manager_(manager) {
605 download_manager_->AddObserver(this); 613 download_manager_->AddObserver(this);
606 } 614 }
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); 667 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible());
660 668
661 // Set up the temporary download folder. 669 // Set up the temporary download folder.
662 bool created_downloads_dir = CreateAndSetDownloadsDirectory(browser()); 670 bool created_downloads_dir = CreateAndSetDownloadsDirectory(browser());
663 EXPECT_TRUE(created_downloads_dir); 671 EXPECT_TRUE(created_downloads_dir);
664 if (!created_downloads_dir) 672 if (!created_downloads_dir)
665 return false; 673 return false;
666 browser()->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload, 674 browser()->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload,
667 prompt_for_download); 675 prompt_for_download);
668 676
669 DownloadManager* manager = browser()->profile()->GetDownloadManager(); 677 DownloadManager* manager = DownloadManagerForBrowser(browser());
670 DownloadPrefs::FromDownloadManager(manager)->ResetAutoOpen(); 678 DownloadPrefs::FromDownloadManager(manager)->ResetAutoOpen();
671 manager->RemoveAllDownloads(); 679 manager->RemoveAllDownloads();
672 680
673 return true; 681 return true;
674 } 682 }
675 683
676 protected: 684 protected:
677 685
678 enum SizeTestType { 686 enum SizeTestType {
679 SIZE_TEST_TYPE_KNOWN, 687 SIZE_TEST_TYPE_KNOWN,
(...skipping 23 matching lines...) Expand all
703 711
704 browser->profile()->GetPrefs()->SetFilePath( 712 browser->profile()->GetPrefs()->SetFilePath(
705 prefs::kDownloadDefaultDirectory, 713 prefs::kDownloadDefaultDirectory,
706 downloads_directory_.path()); 714 downloads_directory_.path());
707 715
708 return true; 716 return true;
709 } 717 }
710 718
711 DownloadPrefs* GetDownloadPrefs(Browser* browser) { 719 DownloadPrefs* GetDownloadPrefs(Browser* browser) {
712 return DownloadPrefs::FromDownloadManager( 720 return DownloadPrefs::FromDownloadManager(
713 browser->profile()->GetDownloadManager()); 721 DownloadManagerForBrowser(browser));
714 } 722 }
715 723
716 FilePath GetDownloadDirectory(Browser* browser) { 724 FilePath GetDownloadDirectory(Browser* browser) {
717 return GetDownloadPrefs(browser)->download_path(); 725 return GetDownloadPrefs(browser)->download_path();
718 } 726 }
719 727
720 // Create a DownloadsObserver that will wait for the 728 // Create a DownloadsObserver that will wait for the
721 // specified number of downloads to finish. 729 // specified number of downloads to finish.
722 DownloadsObserver* CreateWaiter(Browser* browser, int num_downloads) { 730 DownloadsObserver* CreateWaiter(Browser* browser, int num_downloads) {
723 DownloadManager* download_manager = 731 DownloadManager* download_manager = DownloadManagerForBrowser(browser);
724 browser->profile()->GetDownloadManager();
725 return new DownloadsObserver( 732 return new DownloadsObserver(
726 download_manager, num_downloads, 733 download_manager, num_downloads,
727 DownloadItem::COMPLETE, // Really done 734 DownloadItem::COMPLETE, // Really done
728 true, // Bail on select file 735 true, // Bail on select file
729 ON_DANGEROUS_DOWNLOAD_FAIL); 736 ON_DANGEROUS_DOWNLOAD_FAIL);
730 } 737 }
731 738
732 // Create a DownloadsObserver that will wait for the 739 // Create a DownloadsObserver that will wait for the
733 // specified number of downloads to start. 740 // specified number of downloads to start.
734 DownloadsObserver* CreateInProgressWaiter(Browser* browser, 741 DownloadsObserver* CreateInProgressWaiter(Browser* browser,
735 int num_downloads) { 742 int num_downloads) {
736 DownloadManager* download_manager = 743 DownloadManager* download_manager = DownloadManagerForBrowser(browser);
737 browser->profile()->GetDownloadManager();
738 return new DownloadsObserver( 744 return new DownloadsObserver(
739 download_manager, num_downloads, 745 download_manager, num_downloads,
740 DownloadItem::IN_PROGRESS, // Has started 746 DownloadItem::IN_PROGRESS, // Has started
741 true, // Bail on select file 747 true, // Bail on select file
742 ON_DANGEROUS_DOWNLOAD_FAIL); 748 ON_DANGEROUS_DOWNLOAD_FAIL);
743 } 749 }
744 750
745 // Create a DownloadsObserver that will wait for the 751 // Create a DownloadsObserver that will wait for the
746 // specified number of downloads to finish, or for 752 // specified number of downloads to finish, or for
747 // a dangerous download warning to be shown. 753 // a dangerous download warning to be shown.
748 DownloadsObserver* DangerousInstallWaiter( 754 DownloadsObserver* DangerousInstallWaiter(
749 Browser* browser, 755 Browser* browser,
750 int num_downloads, 756 int num_downloads,
751 DownloadItem::DownloadState final_state, 757 DownloadItem::DownloadState final_state,
752 DangerousDownloadAction dangerous_download_action) { 758 DangerousDownloadAction dangerous_download_action) {
753 DownloadManager* download_manager = 759 DownloadManager* download_manager = DownloadManagerForBrowser(browser);
754 browser->profile()->GetDownloadManager();
755 return new DownloadsObserver( 760 return new DownloadsObserver(
756 download_manager, num_downloads, 761 download_manager, num_downloads,
757 final_state, 762 final_state,
758 true, // Bail on select file 763 true, // Bail on select file
759 dangerous_download_action); 764 dangerous_download_action);
760 } 765 }
761 766
762 // Download |url|, then wait for the download to finish. 767 // Download |url|, then wait for the download to finish.
763 // |disposition| indicates where the navigation occurs (current tab, new 768 // |disposition| indicates where the navigation occurs (current tab, new
764 // foreground tab, etc). 769 // foreground tab, etc).
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 909
905 // Delete the file we just downloaded. 910 // Delete the file we just downloaded.
906 EXPECT_TRUE(file_util::DieFileDie(download_path, true)); 911 EXPECT_TRUE(file_util::DieFileDie(download_path, true));
907 EXPECT_FALSE(file_util::PathExists(download_path)); 912 EXPECT_FALSE(file_util::PathExists(download_path));
908 913
909 return true; 914 return true;
910 } 915 }
911 916
912 void GetDownloads(Browser* browser, std::vector<DownloadItem*>* downloads) { 917 void GetDownloads(Browser* browser, std::vector<DownloadItem*>* downloads) {
913 DCHECK(downloads); 918 DCHECK(downloads);
914 DownloadManager* manager = browser->profile()->GetDownloadManager(); 919 DownloadManager* manager = DownloadManagerForBrowser(browser);
915 manager->SearchDownloads(string16(), downloads); 920 manager->SearchDownloads(string16(), downloads);
916 } 921 }
917 922
918 // Check that the download UI (shelf on non-chromeos or panel on chromeos) 923 // Check that the download UI (shelf on non-chromeos or panel on chromeos)
919 // is visible or not as expected. Additionally, check that the filename 924 // is visible or not as expected. Additionally, check that the filename
920 // is present in the UI (currently only on chromeos). 925 // is present in the UI (currently only on chromeos).
921 void CheckDownloadUI(Browser* browser, bool expected_non_cros, 926 void CheckDownloadUI(Browser* browser, bool expected_non_cros,
922 bool expected_cros, const FilePath& filename) { 927 bool expected_cros, const FilePath& filename) {
923 #if defined(OS_CHROMEOS) 928 #if defined(OS_CHROMEOS)
924 #if defined(TOUCH_UI) 929 #if defined(TOUCH_UI)
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 #endif 971 #endif
967 EXPECT_EQ(expected, BrowserList::size()); 972 EXPECT_EQ(expected, BrowserList::size());
968 } 973 }
969 974
970 // Arrange for select file calls on the given browser from the 975 // Arrange for select file calls on the given browser from the
971 // download manager to always choose the suggested file. 976 // download manager to always choose the suggested file.
972 void NullSelectFile(Browser* browser) { 977 void NullSelectFile(Browser* browser) {
973 PickSuggestedFileDelegate* new_delegate = 978 PickSuggestedFileDelegate* new_delegate =
974 new PickSuggestedFileDelegate(browser->profile()); 979 new PickSuggestedFileDelegate(browser->profile());
975 980
976 DownloadManager* manager = browser->profile()->GetDownloadManager(); 981 // Gives ownership to DownloadService.
977 982 DownloadServiceFactory::GetForProfile(
978 new_delegate->SetDownloadManager(manager); 983 browser->profile())->SetDownloadManagerDelegateForTesting(new_delegate);
979 manager->set_delegate(new_delegate);
980
981 // Gives ownership to Profile.
982 browser->profile()->SetDownloadManagerDelegate(new_delegate);
983 } 984 }
984 985
985 private: 986 private:
986 // Location of the test data. 987 // Location of the test data.
987 FilePath test_dir_; 988 FilePath test_dir_;
988 989
989 // Location of the downloads directory for these tests 990 // Location of the downloads directory for these tests
990 ScopedTempDir downloads_directory_; 991 ScopedTempDir downloads_directory_;
991 }; 992 };
992 993
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1039 ASSERT_TRUE(InitialSetup(true)); 1040 ASSERT_TRUE(InitialSetup(true));
1040 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 1041 FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
1041 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); 1042 GURL url(URLRequestMockHTTPJob::GetMockUrl(file));
1042 1043
1043 NullSelectFile(browser()); 1044 NullSelectFile(browser());
1044 1045
1045 // Download the file and wait. We expect the Select File dialog to appear 1046 // Download the file and wait. We expect the Select File dialog to appear
1046 // due to the MIME type, but we still wait until the download completes. 1047 // due to the MIME type, but we still wait until the download completes.
1047 scoped_ptr<DownloadsObserver> observer( 1048 scoped_ptr<DownloadsObserver> observer(
1048 new DownloadsObserver( 1049 new DownloadsObserver(
1049 browser()->profile()->GetDownloadManager(), 1050 DownloadManagerForBrowser(browser()),
1050 1, 1051 1,
1051 DownloadItem::COMPLETE, // Really done 1052 DownloadItem::COMPLETE, // Really done
1052 false, // Continue on select file. 1053 false, // Continue on select file.
1053 ON_DANGEROUS_DOWNLOAD_FAIL)); 1054 ON_DANGEROUS_DOWNLOAD_FAIL));
1054 ui_test_utils::NavigateToURLWithDisposition( 1055 ui_test_utils::NavigateToURLWithDisposition(
1055 browser(), url, CURRENT_TAB, 1056 browser(), url, CURRENT_TAB,
1056 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 1057 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
1057 observer->WaitForFinished(); 1058 observer->WaitForFinished();
1058 EXPECT_TRUE(observer->select_file_dialog_seen()); 1059 EXPECT_TRUE(observer->select_file_dialog_seen());
1059 1060
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
1484 1485
1485 // Create a download, wait until it's started, and confirm 1486 // Create a download, wait until it's started, and confirm
1486 // we're in the expected state. 1487 // we're in the expected state.
1487 scoped_ptr<DownloadsObserver> observer( 1488 scoped_ptr<DownloadsObserver> observer(
1488 CreateInProgressWaiter(browser(), 1)); 1489 CreateInProgressWaiter(browser(), 1));
1489 ui_test_utils::NavigateToURL( 1490 ui_test_utils::NavigateToURL(
1490 browser(), GURL(URLRequestSlowDownloadJob::kUnknownSizeUrl)); 1491 browser(), GURL(URLRequestSlowDownloadJob::kUnknownSizeUrl));
1491 observer->WaitForFinished(); 1492 observer->WaitForFinished();
1492 1493
1493 std::vector<DownloadItem*> downloads; 1494 std::vector<DownloadItem*> downloads;
1494 browser()->profile()->GetDownloadManager()->SearchDownloads( 1495 DownloadManagerForBrowser(browser())->SearchDownloads(
1495 string16(), &downloads); 1496 string16(), &downloads);
1496 ASSERT_EQ(1u, downloads.size()); 1497 ASSERT_EQ(1u, downloads.size());
1497 ASSERT_EQ(DownloadItem::IN_PROGRESS, downloads[0]->state()); 1498 ASSERT_EQ(DownloadItem::IN_PROGRESS, downloads[0]->state());
1498 CheckDownloadUI(browser(), true, true, FilePath()); 1499 CheckDownloadUI(browser(), true, true, FilePath());
1499 1500
1500 // Cancel the download and wait for download system quiesce. 1501 // Cancel the download and wait for download system quiesce.
1501 downloads[0]->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD); 1502 downloads[0]->Delete(DownloadItem::DELETE_DUE_TO_USER_DISCARD);
1502 scoped_refptr<DownloadsFlushObserver> flush_observer( 1503 scoped_refptr<DownloadsFlushObserver> flush_observer(
1503 new DownloadsFlushObserver(browser()->profile()->GetDownloadManager())); 1504 new DownloadsFlushObserver(DownloadManagerForBrowser(browser())));
1504 flush_observer->WaitForFlush(); 1505 flush_observer->WaitForFlush();
1505 1506
1506 // Get the important info from other threads and check it. 1507 // Get the important info from other threads and check it.
1507 scoped_refptr<CancelTestDataCollector> info(new CancelTestDataCollector()); 1508 scoped_refptr<CancelTestDataCollector> info(new CancelTestDataCollector());
1508 info->WaitForDataCollected(); 1509 info->WaitForDataCollected();
1509 EXPECT_EQ(0, info->rdh_pending_requests()); 1510 EXPECT_EQ(0, info->rdh_pending_requests());
1510 EXPECT_EQ(0, info->dfm_pending_downloads()); 1511 EXPECT_EQ(0, info->dfm_pending_downloads());
1511 1512
1512 // Using "DownloadItem::Remove" follows the discard dangerous download path, 1513 // Using "DownloadItem::Remove" follows the discard dangerous download path,
1513 // which completely removes the browser from the shelf and closes the shelf 1514 // which completely removes the browser from the shelf and closes the shelf
(...skipping 20 matching lines...) Expand all
1534 int64 db_handle = downloads[0]->db_handle(); 1535 int64 db_handle = downloads[0]->db_handle();
1535 1536
1536 // Check state. 1537 // Check state.
1537 EXPECT_EQ(1, browser()->tab_count()); 1538 EXPECT_EQ(1, browser()->tab_count());
1538 CheckDownload(browser(), file, file); 1539 CheckDownload(browser(), file, file);
1539 CheckDownloadUI(browser(), true, true, file); 1540 CheckDownloadUI(browser(), true, true, file);
1540 1541
1541 // Check history results. 1542 // Check history results.
1542 DownloadsHistoryDataCollector history_collector( 1543 DownloadsHistoryDataCollector history_collector(
1543 db_handle, 1544 db_handle,
1544 browser()->profile()->GetDownloadManager()); 1545 DownloadManagerForBrowser(browser()));
1545 DownloadPersistentStoreInfo info; 1546 DownloadPersistentStoreInfo info;
1546 EXPECT_TRUE(history_collector.GetDownloadsHistoryEntry(&info)) << db_handle; 1547 EXPECT_TRUE(history_collector.GetDownloadsHistoryEntry(&info)) << db_handle;
1547 EXPECT_EQ(file, info.path.BaseName()); 1548 EXPECT_EQ(file, info.path.BaseName());
1548 EXPECT_EQ(url, info.url); 1549 EXPECT_EQ(url, info.url);
1549 // Ignore start_time. 1550 // Ignore start_time.
1550 EXPECT_EQ(origin_size, info.received_bytes); 1551 EXPECT_EQ(origin_size, info.received_bytes);
1551 EXPECT_EQ(origin_size, info.total_bytes); 1552 EXPECT_EQ(origin_size, info.total_bytes);
1552 EXPECT_EQ(DownloadItem::COMPLETE, info.state); 1553 EXPECT_EQ(DownloadItem::COMPLETE, info.state);
1553 } 1554 }
1554 1555
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 IN_PROC_BROWSER_TEST_F(DownloadTest, AutoOpen) { 1629 IN_PROC_BROWSER_TEST_F(DownloadTest, AutoOpen) {
1629 ASSERT_TRUE(InitialSetup(false)); 1630 ASSERT_TRUE(InitialSetup(false));
1630 FilePath file(FILE_PATH_LITERAL("download-autoopen.txt")); 1631 FilePath file(FILE_PATH_LITERAL("download-autoopen.txt"));
1631 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); 1632 GURL url(URLRequestMockHTTPJob::GetMockUrl(file));
1632 1633
1633 ASSERT_TRUE( 1634 ASSERT_TRUE(
1634 GetDownloadPrefs(browser())->EnableAutoOpenBasedOnExtension(file)); 1635 GetDownloadPrefs(browser())->EnableAutoOpenBasedOnExtension(file));
1635 1636
1636 // Mock out external opening on all downloads until end of test. 1637 // Mock out external opening on all downloads until end of test.
1637 MockDownloadOpeningObserver observer( 1638 MockDownloadOpeningObserver observer(
1638 browser()->profile()->GetDownloadManager()); 1639 DownloadManagerForBrowser(browser()));
1639 1640
1640 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); 1641 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG);
1641 1642
1642 // Find the download and confirm it was opened. 1643 // Find the download and confirm it was opened.
1643 std::vector<DownloadItem*> downloads; 1644 std::vector<DownloadItem*> downloads;
1644 browser()->profile()->GetDownloadManager()->SearchDownloads( 1645 DownloadManagerForBrowser(browser())->SearchDownloads(
1645 string16(), &downloads); 1646 string16(), &downloads);
1646 ASSERT_EQ(1u, downloads.size()); 1647 ASSERT_EQ(1u, downloads.size());
1647 EXPECT_EQ(DownloadItem::COMPLETE, downloads[0]->state()); 1648 EXPECT_EQ(DownloadItem::COMPLETE, downloads[0]->state());
1648 EXPECT_TRUE(downloads[0]->opened()); 1649 EXPECT_TRUE(downloads[0]->opened());
1649 1650
1650 // As long as we're here, confirmed everything else is good. 1651 // As long as we're here, confirmed everything else is good.
1651 EXPECT_EQ(1, browser()->tab_count()); 1652 EXPECT_EQ(1, browser()->tab_count());
1652 CheckDownload(browser(), file, file); 1653 CheckDownload(browser(), file, file);
1653 // Download shelf should close. Download panel stays open on ChromeOS. 1654 // Download shelf should close. Download panel stays open on ChromeOS.
1654 CheckDownloadUI(browser(), false, true, FilePath()); 1655 CheckDownloadUI(browser(), false, true, FilePath());
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
1787 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); 1788 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen());
1788 1789
1789 // Download shelf should close. Download panel stays open on ChromeOS. 1790 // Download shelf should close. Download panel stays open on ChromeOS.
1790 CheckDownloadUI(browser(), false, true, FilePath()); 1791 CheckDownloadUI(browser(), false, true, FilePath());
1791 1792
1792 // Check that the extension was installed. 1793 // Check that the extension was installed.
1793 ExtensionService* extension_service = 1794 ExtensionService* extension_service =
1794 browser()->profile()->GetExtensionService(); 1795 browser()->profile()->GetExtensionService();
1795 ASSERT_TRUE(extension_service->GetExtensionById(kLargeThemeCrxId, false)); 1796 ASSERT_TRUE(extension_service->GetExtensionById(kLargeThemeCrxId, false));
1796 } 1797 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698