OLD | NEW |
---|---|
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/file_path.h" | 5 #include "base/file_path.h" |
6 #include "base/file_util.h" | 6 #include "base/file_util.h" |
7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/scoped_temp_dir.h" | 9 #include "base/scoped_temp_dir.h" |
10 #include "base/stl_util-inl.h" | 10 #include "base/stl_util-inl.h" |
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
601 } | 601 } |
602 | 602 |
603 // Create a DownloadsObserver that will wait for the | 603 // Create a DownloadsObserver that will wait for the |
604 // specified number of downloads to finish, or for | 604 // specified number of downloads to finish, or for |
605 // a dangerous download warning to be shown. | 605 // a dangerous download warning to be shown. |
606 DownloadsObserver* DangerousInstallWaiter( | 606 DownloadsObserver* DangerousInstallWaiter( |
607 Browser* browser, | 607 Browser* browser, |
608 int num_downloads, | 608 int num_downloads, |
609 DownloadItem::DownloadState final_state, | 609 DownloadItem::DownloadState final_state, |
610 DangerousDownloadAction dangerous_download_action) { | 610 DangerousDownloadAction dangerous_download_action) { |
611 | |
achuithb
2011/06/24 00:10:06
Fix lint error.
| |
612 DownloadManager* download_manager = | 611 DownloadManager* download_manager = |
613 browser->profile()->GetDownloadManager(); | 612 browser->profile()->GetDownloadManager(); |
614 return new DownloadsObserver( | 613 return new DownloadsObserver( |
615 download_manager, num_downloads, | 614 download_manager, num_downloads, |
616 final_state, | 615 final_state, |
617 true, // Bail on select file | 616 true, // Bail on select file |
618 dangerous_download_action); | 617 dangerous_download_action); |
619 } | 618 } |
620 | 619 |
621 // Download |url|, then wait for the download to finish. | 620 // Download |url|, then wait for the download to finish. |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
750 EXPECT_EQ(2, browser->tab_count()); | 749 EXPECT_EQ(2, browser->tab_count()); |
751 | 750 |
752 // TODO(ahendrickson): check download status text after downloading. | 751 // TODO(ahendrickson): check download status text after downloading. |
753 | 752 |
754 // Make sure the download shelf is showing. | 753 // Make sure the download shelf is showing. |
755 CheckDownloadUIVisible(browser, true, true); | 754 CheckDownloadUIVisible(browser, true, true); |
756 | 755 |
757 FilePath basefilename(filename.BaseName()); | 756 FilePath basefilename(filename.BaseName()); |
758 net::FileURLToFilePath(url, &filename); | 757 net::FileURLToFilePath(url, &filename); |
759 FilePath download_path = downloads_directory_.path().Append(basefilename); | 758 FilePath download_path = downloads_directory_.path().Append(basefilename); |
759 CheckDownloadExistsInUI(browser, basefilename); | |
760 | 760 |
761 bool downloaded_path_exists = file_util::PathExists(download_path); | 761 bool downloaded_path_exists = file_util::PathExists(download_path); |
762 EXPECT_TRUE(downloaded_path_exists); | 762 EXPECT_TRUE(downloaded_path_exists); |
763 if (!downloaded_path_exists) | 763 if (!downloaded_path_exists) |
764 return false; | 764 return false; |
765 | 765 |
766 // Delete the file we just downloaded. | 766 // Delete the file we just downloaded. |
767 EXPECT_TRUE(file_util::DieFileDie(download_path, true)); | 767 EXPECT_TRUE(file_util::DieFileDie(download_path, true)); |
768 EXPECT_FALSE(file_util::PathExists(download_path)); | 768 EXPECT_FALSE(file_util::PathExists(download_path)); |
769 | 769 |
770 return true; | 770 return true; |
771 } | 771 } |
772 | 772 |
773 void GetDownloads(Browser* browser, std::vector<DownloadItem*>* downloads) { | 773 void GetDownloads(Browser* browser, std::vector<DownloadItem*>* downloads) { |
774 DCHECK(downloads); | 774 DCHECK(downloads); |
775 DownloadManager* manager = browser->profile()->GetDownloadManager(); | 775 DownloadManager* manager = browser->profile()->GetDownloadManager(); |
776 manager->SearchDownloads(string16(), downloads); | 776 manager->SearchDownloads(string16(), downloads); |
777 } | 777 } |
778 | 778 |
779 void CheckDownloadExistsInUI(Browser* browser, | |
780 const FilePath& file_path) { | |
781 #if defined(OS_CHROMEOS) | |
782 Browser* popup = ActiveDownloadsUI::GetPopup(browser->profile()); | |
783 DCHECK(popup); | |
Paweł Hajdan Jr.
2011/06/24 08:36:33
No DCHECKs in test code. They crash the entire thi
achuithb
2011/06/24 21:08:53
Done.
| |
784 ActiveDownloadsUI* downloads_ui = static_cast<ActiveDownloadsUI*>( | |
785 popup->GetSelectedTabContents()->web_ui()); | |
786 DCHECK(downloads_ui); | |
787 const ActiveDownloadsUI::DownloadList& downloads = | |
788 downloads_ui->GetDownloads(); | |
789 EXPECT_EQ(downloads.size(), size_t(1)); | |
Paweł Hajdan Jr.
2011/06/24 08:36:33
nit: 1U instead of size_t(1).
achuithb
2011/06/24 21:08:53
Done.
| |
790 | |
791 FilePath download_path; | |
792 FilePath full_path(DestinationFile(browser, file_path)); | |
793 for (size_t i = 0; i < downloads.size(); ++i) { | |
794 if (downloads[i]->full_path() == full_path) { | |
795 download_path = full_path; | |
796 break; | |
797 } | |
798 } | |
799 EXPECT_EQ(full_path, download_path); | |
800 #endif | |
Paweł Hajdan Jr.
2011/06/24 08:36:33
nit: // defined(OS_CHROMEOS)
achuithb
2011/06/24 21:08:53
There's now also an else clause for non-chromeos.
| |
801 } | |
802 | |
779 // Figure out if the appropriate download visibility was done. A | 803 // Figure out if the appropriate download visibility was done. A |
780 // utility function to support ChromeOS variations. | 804 // utility function to support ChromeOS variations. |
781 static void CheckDownloadUIVisible(Browser* browser, | 805 static void CheckDownloadUIVisible(Browser* browser, |
782 bool expected_non_chromeos, | 806 bool expected_non_chromeos, |
783 bool expected_chromeos) { | 807 bool expected_chromeos) { |
784 #if defined(OS_CHROMEOS) | 808 #if defined(OS_CHROMEOS) |
785 EXPECT_EQ(expected_chromeos, | 809 EXPECT_EQ(expected_chromeos, |
786 NULL != ActiveDownloadsUI::GetPopup(browser->profile())); | 810 NULL != ActiveDownloadsUI::GetPopup(browser->profile())); |
787 #else | 811 #else |
788 EXPECT_EQ(expected_non_chromeos, | 812 EXPECT_EQ(expected_non_chromeos, |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
933 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 957 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
934 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 958 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
935 | 959 |
936 // Download the file and wait. We do not expect the Select File dialog. | 960 // Download the file and wait. We do not expect the Select File dialog. |
937 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); | 961 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); |
938 | 962 |
939 // Check state. | 963 // Check state. |
940 EXPECT_EQ(1, browser()->tab_count()); | 964 EXPECT_EQ(1, browser()->tab_count()); |
941 CheckDownload(browser(), file, file); | 965 CheckDownload(browser(), file, file); |
942 CheckDownloadUIVisible(browser(), true, true); | 966 CheckDownloadUIVisible(browser(), true, true); |
967 CheckDownloadExistsInUI(browser(), file); | |
943 } | 968 } |
944 | 969 |
945 #if defined(OS_WIN) | 970 #if defined(OS_WIN) |
946 // Download a file and confirm that the zone identifier (on windows) | 971 // Download a file and confirm that the zone identifier (on windows) |
947 // is set to internet. | 972 // is set to internet. |
948 IN_PROC_BROWSER_TEST_F(DownloadTest, CheckInternetZone) { | 973 IN_PROC_BROWSER_TEST_F(DownloadTest, CheckInternetZone) { |
949 ASSERT_TRUE(InitialSetup(false)); | 974 ASSERT_TRUE(InitialSetup(false)); |
950 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 975 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
951 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 976 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
952 | 977 |
953 // Download the file and wait. We do not expect the Select File dialog. | 978 // Download the file and wait. We do not expect the Select File dialog. |
954 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); | 979 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); |
955 | 980 |
956 // Check state. Special file state must be checked before CheckDownload, | 981 // Check state. Special file state must be checked before CheckDownload, |
957 // as CheckDownload will delete the output file. | 982 // as CheckDownload will delete the output file. |
958 EXPECT_EQ(1, browser()->tab_count()); | 983 EXPECT_EQ(1, browser()->tab_count()); |
959 FilePath downloaded_file(DestinationFile(browser(), file)); | 984 FilePath downloaded_file(DestinationFile(browser(), file)); |
960 if (file_util::VolumeSupportsADS(downloaded_file)) | 985 if (file_util::VolumeSupportsADS(downloaded_file)) |
961 EXPECT_TRUE(file_util::HasInternetZoneIdentifier(downloaded_file)); | 986 EXPECT_TRUE(file_util::HasInternetZoneIdentifier(downloaded_file)); |
962 CheckDownload(browser(), file, file); | 987 CheckDownload(browser(), file, file); |
963 CheckDownloadUIVisible(browser(), true, true); | 988 CheckDownloadUIVisible(browser(), true, true); |
989 CheckDownloadExistsInUI(browser(), file); | |
964 } | 990 } |
965 #endif | 991 #endif |
966 | 992 |
967 // Put up a Select File dialog when the file is downloaded, due to its MIME | 993 // Put up a Select File dialog when the file is downloaded, due to its MIME |
968 // type. | 994 // type. |
969 // | 995 // |
970 // This test runs correctly, but leaves behind turds in the test user's | 996 // This test runs correctly, but leaves behind turds in the test user's |
971 // download directory because of http://crbug.com/62099. No big loss; it | 997 // download directory because of http://crbug.com/62099. No big loss; it |
972 // was primarily confirming DownloadsObserver wait on select file dialog | 998 // was primarily confirming DownloadsObserver wait on select file dialog |
973 // functionality anyway. | 999 // functionality anyway. |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1017 FilePath download_file(FILE_PATH_LITERAL("download-test3-attachment.gif")); | 1043 FilePath download_file(FILE_PATH_LITERAL("download-test3-attachment.gif")); |
1018 | 1044 |
1019 // Download a file and wait. | 1045 // Download a file and wait. |
1020 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); | 1046 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); |
1021 | 1047 |
1022 CheckDownload(browser(), download_file, file); | 1048 CheckDownload(browser(), download_file, file); |
1023 | 1049 |
1024 // Check state. | 1050 // Check state. |
1025 EXPECT_EQ(1, browser()->tab_count()); | 1051 EXPECT_EQ(1, browser()->tab_count()); |
1026 CheckDownloadUIVisible(browser(), true, true); | 1052 CheckDownloadUIVisible(browser(), true, true); |
1053 CheckDownloadExistsInUI(browser(), download_file); | |
1027 } | 1054 } |
1028 | 1055 |
1029 #if !defined(OS_CHROMEOS) // Download shelf is not per-window on ChromeOS. | 1056 #if !defined(OS_CHROMEOS) // Download shelf is not per-window on ChromeOS. |
1030 // Test that the download shelf is per-window by starting a download in one | 1057 // Test that the download shelf is per-window by starting a download in one |
1031 // tab, opening a second tab, closing the shelf, going back to the first tab, | 1058 // tab, opening a second tab, closing the shelf, going back to the first tab, |
1032 // and checking that the shelf is closed. | 1059 // and checking that the shelf is closed. |
1033 IN_PROC_BROWSER_TEST_F(DownloadTest, PerWindowShelf) { | 1060 IN_PROC_BROWSER_TEST_F(DownloadTest, PerWindowShelf) { |
1034 ASSERT_TRUE(InitialSetup(false)); | 1061 ASSERT_TRUE(InitialSetup(false)); |
1035 FilePath file(FILE_PATH_LITERAL("download-test3.gif")); | 1062 FilePath file(FILE_PATH_LITERAL("download-test3.gif")); |
1036 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1063 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1037 FilePath download_file(FILE_PATH_LITERAL("download-test3-attachment.gif")); | 1064 FilePath download_file(FILE_PATH_LITERAL("download-test3-attachment.gif")); |
1038 | 1065 |
1039 // Download a file and wait. | 1066 // Download a file and wait. |
1040 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); | 1067 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); |
1041 | 1068 |
1042 CheckDownload(browser(), download_file, file); | 1069 CheckDownload(browser(), download_file, file); |
1043 | 1070 |
1044 // Check state. | 1071 // Check state. |
1045 EXPECT_EQ(1, browser()->tab_count()); | 1072 EXPECT_EQ(1, browser()->tab_count()); |
1046 CheckDownloadUIVisible(browser(), true, true); | 1073 CheckDownloadUIVisible(browser(), true, true); |
1074 CheckDownloadExistsInUI(browser(), download_file); | |
1047 | 1075 |
1048 // Open a second tab and wait. | 1076 // Open a second tab and wait. |
1049 EXPECT_NE(static_cast<TabContentsWrapper*>(NULL), | 1077 EXPECT_NE(static_cast<TabContentsWrapper*>(NULL), |
1050 browser()->AddSelectedTabWithURL(GURL(), PageTransition::TYPED)); | 1078 browser()->AddSelectedTabWithURL(GURL(), PageTransition::TYPED)); |
1051 EXPECT_EQ(2, browser()->tab_count()); | 1079 EXPECT_EQ(2, browser()->tab_count()); |
1052 CheckDownloadUIVisible(browser(), true, true); | 1080 CheckDownloadUIVisible(browser(), true, true); |
1081 CheckDownloadExistsInUI(browser(), download_file); | |
1053 | 1082 |
1054 // Hide the download shelf. | 1083 // Hide the download shelf. |
1055 browser()->window()->GetDownloadShelf()->Close(); | 1084 browser()->window()->GetDownloadShelf()->Close(); |
1056 CheckDownloadUIVisible(browser(), false, false); | 1085 CheckDownloadUIVisible(browser(), false, false); |
1057 | 1086 |
1058 // Go to the first tab. | 1087 // Go to the first tab. |
1059 browser()->ActivateTabAt(0, true); | 1088 browser()->ActivateTabAt(0, true); |
1060 EXPECT_EQ(2, browser()->tab_count()); | 1089 EXPECT_EQ(2, browser()->tab_count()); |
1061 | 1090 |
1062 // The download shelf should not be visible. | 1091 // The download shelf should not be visible. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1102 // Since |incognito| is a separate browser, we have to set it up explicitly. | 1131 // Since |incognito| is a separate browser, we have to set it up explicitly. |
1103 incognito->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload, | 1132 incognito->profile()->GetPrefs()->SetBoolean(prefs::kPromptForDownload, |
1104 false); | 1133 false); |
1105 DownloadAndWait(incognito, url, EXPECT_NO_SELECT_DIALOG); | 1134 DownloadAndWait(incognito, url, EXPECT_NO_SELECT_DIALOG); |
1106 | 1135 |
1107 // We should still have 2 windows. | 1136 // We should still have 2 windows. |
1108 ExpectWindowCountAfterDownload(2); | 1137 ExpectWindowCountAfterDownload(2); |
1109 | 1138 |
1110 // Verify that the download shelf is showing for the Incognito window. | 1139 // Verify that the download shelf is showing for the Incognito window. |
1111 CheckDownloadUIVisible(incognito, true, true); | 1140 CheckDownloadUIVisible(incognito, true, true); |
1141 CheckDownloadExistsInUI(incognito, file); | |
1112 | 1142 |
1113 #if !defined(OS_MACOSX) | 1143 #if !defined(OS_MACOSX) |
1114 // On Mac OS X, the UI window close is delayed until the outermost | 1144 // On Mac OS X, the UI window close is delayed until the outermost |
1115 // message loop runs. So it isn't possible to get a BROWSER_CLOSED | 1145 // message loop runs. So it isn't possible to get a BROWSER_CLOSED |
1116 // notification inside of a test. | 1146 // notification inside of a test. |
1117 ui_test_utils::WindowedNotificationObserver signal( | 1147 ui_test_utils::WindowedNotificationObserver signal( |
1118 NotificationType::BROWSER_CLOSED, | 1148 NotificationType::BROWSER_CLOSED, |
1119 Source<Browser>(incognito)); | 1149 Source<Browser>(incognito)); |
1120 #endif | 1150 #endif |
1121 | 1151 |
1122 // Close the Incognito window and don't crash. | 1152 // Close the Incognito window and don't crash. |
1123 incognito->CloseWindow(); | 1153 incognito->CloseWindow(); |
1124 | 1154 |
1125 #if !defined(OS_MACOSX) | 1155 #if !defined(OS_MACOSX) |
1126 signal.Wait(); | 1156 signal.Wait(); |
1127 ExpectWindowCountAfterDownload(1); | 1157 ExpectWindowCountAfterDownload(1); |
1128 #endif | 1158 #endif |
1129 | 1159 |
1130 // Verify that the regular window does not have a download shelf. | 1160 // Verify that the regular window does not have a download shelf. |
1131 // On ChromeOS, the download panel is common to both profiles, so | 1161 // On ChromeOS, the download panel is common to both profiles, so |
1132 // it is still visible. | 1162 // it is still visible. |
1133 CheckDownloadUIVisible(browser(), false, true); | 1163 CheckDownloadUIVisible(browser(), false, true); |
1164 CheckDownloadExistsInUI(browser(), file); | |
1134 | 1165 |
1135 CheckDownload(browser(), file, file); | 1166 CheckDownload(browser(), file, file); |
1136 } | 1167 } |
1137 | 1168 |
1138 // Navigate to a new background page, but don't download. Confirm that the | 1169 // Navigate to a new background page, but don't download. Confirm that the |
1139 // download shelf is not visible and that we have two tabs. | 1170 // download shelf is not visible and that we have two tabs. |
1140 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab1) { | 1171 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab1) { |
1141 ASSERT_TRUE(InitialSetup(false)); | 1172 ASSERT_TRUE(InitialSetup(false)); |
1142 // Because it's an HTML link, it should open a web page rather than | 1173 // Because it's an HTML link, it should open a web page rather than |
1143 // downloading. | 1174 // downloading. |
(...skipping 23 matching lines...) Expand all Loading... | |
1167 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1198 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1168 DownloadAndWaitWithDisposition( | 1199 DownloadAndWaitWithDisposition( |
1169 browser(), | 1200 browser(), |
1170 url, | 1201 url, |
1171 NEW_BACKGROUND_TAB, | 1202 NEW_BACKGROUND_TAB, |
1172 EXPECT_NO_SELECT_DIALOG, | 1203 EXPECT_NO_SELECT_DIALOG, |
1173 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); | 1204 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
1174 | 1205 |
1175 // When the download finishes, we should still have one tab. | 1206 // When the download finishes, we should still have one tab. |
1176 CheckDownloadUIVisible(browser(), true, true); | 1207 CheckDownloadUIVisible(browser(), true, true); |
1208 CheckDownloadExistsInUI(browser(), file); | |
1177 EXPECT_EQ(1, browser()->tab_count()); | 1209 EXPECT_EQ(1, browser()->tab_count()); |
1178 | 1210 |
1179 CheckDownload(browser(), file, file); | 1211 CheckDownload(browser(), file, file); |
1180 } | 1212 } |
1181 | 1213 |
1182 // Open a web page in the current tab, then download a file in another tab via | 1214 // Open a web page in the current tab, then download a file in another tab via |
1183 // a Javascript call. | 1215 // a Javascript call. |
1184 // Verify that we have 2 tabs, and the download shelf is visible in the current | 1216 // Verify that we have 2 tabs, and the download shelf is visible in the current |
1185 // tab. | 1217 // tab. |
1186 // | 1218 // |
(...skipping 12 matching lines...) Expand all Loading... | |
1199 // Download a file in a new tab and wait (via Javascript). | 1231 // Download a file in a new tab and wait (via Javascript). |
1200 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1232 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1201 DownloadAndWaitWithDisposition(browser(), | 1233 DownloadAndWaitWithDisposition(browser(), |
1202 GURL("javascript:openNew()"), | 1234 GURL("javascript:openNew()"), |
1203 CURRENT_TAB, | 1235 CURRENT_TAB, |
1204 EXPECT_NO_SELECT_DIALOG, | 1236 EXPECT_NO_SELECT_DIALOG, |
1205 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 1237 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
1206 | 1238 |
1207 // When the download finishes, we should have two tabs. | 1239 // When the download finishes, we should have two tabs. |
1208 CheckDownloadUIVisible(browser(), true, true); | 1240 CheckDownloadUIVisible(browser(), true, true); |
1241 CheckDownloadExistsInUI(browser(), file); | |
1209 EXPECT_EQ(2, browser()->tab_count()); | 1242 EXPECT_EQ(2, browser()->tab_count()); |
1210 | 1243 |
1211 CheckDownload(browser(), file, file); | 1244 CheckDownload(browser(), file, file); |
1212 } | 1245 } |
1213 | 1246 |
1214 // Open a web page in the current tab, open another tab via a Javascript call, | 1247 // Open a web page in the current tab, open another tab via a Javascript call, |
1215 // then download a file in the new tab. | 1248 // then download a file in the new tab. |
1216 // Verify that we have 2 tabs, and the download shelf is visible in the current | 1249 // Verify that we have 2 tabs, and the download shelf is visible in the current |
1217 // tab. | 1250 // tab. |
1218 // | 1251 // |
(...skipping 22 matching lines...) Expand all Loading... | |
1241 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1274 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1242 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1275 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1243 DownloadAndWaitWithDisposition(browser(), | 1276 DownloadAndWaitWithDisposition(browser(), |
1244 url, | 1277 url, |
1245 CURRENT_TAB, | 1278 CURRENT_TAB, |
1246 EXPECT_NO_SELECT_DIALOG, | 1279 EXPECT_NO_SELECT_DIALOG, |
1247 ui_test_utils::BROWSER_TEST_NONE); | 1280 ui_test_utils::BROWSER_TEST_NONE); |
1248 | 1281 |
1249 // When the download finishes, we should have two tabs. | 1282 // When the download finishes, we should have two tabs. |
1250 CheckDownloadUIVisible(browser(), true, true); | 1283 CheckDownloadUIVisible(browser(), true, true); |
1284 CheckDownloadExistsInUI(browser(), file); | |
1251 EXPECT_EQ(2, browser()->tab_count()); | 1285 EXPECT_EQ(2, browser()->tab_count()); |
1252 | 1286 |
1253 CheckDownload(browser(), file, file); | 1287 CheckDownload(browser(), file, file); |
1254 } | 1288 } |
1255 | 1289 |
1256 // Open a web page in the current tab, then download a file via Javascript, | 1290 // Open a web page in the current tab, then download a file via Javascript, |
1257 // which will do so in a temporary tab. | 1291 // which will do so in a temporary tab. |
1258 // Verify that we have 1 tab, and the download shelf is visible. | 1292 // Verify that we have 1 tab, and the download shelf is visible. |
1259 // | 1293 // |
1260 // The download_page3.html page contains an openNew() function that opens a | 1294 // The download_page3.html page contains an openNew() function that opens a |
(...skipping 13 matching lines...) Expand all Loading... | |
1274 // The file to download is "download-test1.lib". | 1308 // The file to download is "download-test1.lib". |
1275 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1309 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1276 DownloadAndWaitWithDisposition(browser(), | 1310 DownloadAndWaitWithDisposition(browser(), |
1277 GURL("javascript:openNew()"), | 1311 GURL("javascript:openNew()"), |
1278 CURRENT_TAB, | 1312 CURRENT_TAB, |
1279 EXPECT_NO_SELECT_DIALOG, | 1313 EXPECT_NO_SELECT_DIALOG, |
1280 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 1314 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
1281 | 1315 |
1282 // When the download finishes, we should still have one tab. | 1316 // When the download finishes, we should still have one tab. |
1283 CheckDownloadUIVisible(browser(), true, true); | 1317 CheckDownloadUIVisible(browser(), true, true); |
1318 CheckDownloadExistsInUI(browser(), file); | |
1284 EXPECT_EQ(1, browser()->tab_count()); | 1319 EXPECT_EQ(1, browser()->tab_count()); |
1285 | 1320 |
1286 CheckDownload(browser(), file, file); | 1321 CheckDownload(browser(), file, file); |
1287 } | 1322 } |
1288 | 1323 |
1289 // Open a web page in the current tab, then call Javascript via a button to | 1324 // Open a web page in the current tab, then call Javascript via a button to |
1290 // download a file in a new tab, which is closed automatically when the | 1325 // download a file in a new tab, which is closed automatically when the |
1291 // download begins. | 1326 // download begins. |
1292 // Verify that we have 1 tab, and the download shelf is visible. | 1327 // Verify that we have 1 tab, and the download shelf is visible. |
1293 // | 1328 // |
(...skipping 15 matching lines...) Expand all Loading... | |
1309 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1344 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1310 DownloadAndWaitWithDisposition( | 1345 DownloadAndWaitWithDisposition( |
1311 browser(), | 1346 browser(), |
1312 GURL("javascript:document.getElementById('form').submit()"), | 1347 GURL("javascript:document.getElementById('form').submit()"), |
1313 CURRENT_TAB, | 1348 CURRENT_TAB, |
1314 EXPECT_NO_SELECT_DIALOG, | 1349 EXPECT_NO_SELECT_DIALOG, |
1315 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 1350 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
1316 | 1351 |
1317 // When the download finishes, we should still have one tab. | 1352 // When the download finishes, we should still have one tab. |
1318 CheckDownloadUIVisible(browser(), true, true); | 1353 CheckDownloadUIVisible(browser(), true, true); |
1354 CheckDownloadExistsInUI(browser(), file); | |
1319 EXPECT_EQ(1, browser()->tab_count()); | 1355 EXPECT_EQ(1, browser()->tab_count()); |
1320 | 1356 |
1321 CheckDownload(browser(), file, file); | 1357 CheckDownload(browser(), file, file); |
1322 } | 1358 } |
1323 | 1359 |
1324 // Download a file in a new window. | 1360 // Download a file in a new window. |
1325 // Verify that we have 2 windows, and the download shelf is not visible in the | 1361 // Verify that we have 2 windows, and the download shelf is not visible in the |
1326 // first window, but is visible in the second window. | 1362 // first window, but is visible in the second window. |
1327 // Close the new window. | 1363 // Close the new window. |
1328 // Verify that we have 1 window, and the download shelf is not visible. | 1364 // Verify that we have 1 window, and the download shelf is not visible. |
(...skipping 12 matching lines...) Expand all Loading... | |
1341 DownloadAndWaitWithDisposition(browser(), | 1377 DownloadAndWaitWithDisposition(browser(), |
1342 url, | 1378 url, |
1343 NEW_WINDOW, | 1379 NEW_WINDOW, |
1344 EXPECT_NO_SELECT_DIALOG, | 1380 EXPECT_NO_SELECT_DIALOG, |
1345 ui_test_utils::BROWSER_TEST_NONE); | 1381 ui_test_utils::BROWSER_TEST_NONE); |
1346 | 1382 |
1347 // When the download finishes, the download shelf SHOULD NOT be visible in | 1383 // When the download finishes, the download shelf SHOULD NOT be visible in |
1348 // the first window. | 1384 // the first window. |
1349 ExpectWindowCountAfterDownload(2); | 1385 ExpectWindowCountAfterDownload(2); |
1350 EXPECT_EQ(1, browser()->tab_count()); | 1386 EXPECT_EQ(1, browser()->tab_count()); |
1351 // Except on Chrome OS, where the download window sticks around. | 1387 // Download shelf should close. Download panel stays open on ChromeOS. |
1352 CheckDownloadUIVisible(browser(), false, true); | 1388 CheckDownloadUIVisible(browser(), false, true); |
1389 CheckDownloadExistsInUI(browser(), file); | |
1353 | 1390 |
1354 // The download shelf SHOULD be visible in the second window. | 1391 // The download shelf SHOULD be visible in the second window. |
1355 std::set<Browser*> original_browsers; | 1392 std::set<Browser*> original_browsers; |
1356 original_browsers.insert(browser()); | 1393 original_browsers.insert(browser()); |
1357 Browser* download_browser = | 1394 Browser* download_browser = |
1358 ui_test_utils::GetBrowserNotInSet(original_browsers); | 1395 ui_test_utils::GetBrowserNotInSet(original_browsers); |
1359 ASSERT_TRUE(download_browser != NULL); | 1396 ASSERT_TRUE(download_browser != NULL); |
1360 EXPECT_NE(download_browser, browser()); | 1397 EXPECT_NE(download_browser, browser()); |
1361 EXPECT_EQ(1, download_browser->tab_count()); | 1398 EXPECT_EQ(1, download_browser->tab_count()); |
1362 CheckDownloadUIVisible(download_browser, true, true); | 1399 CheckDownloadUIVisible(download_browser, true, true); |
1400 CheckDownloadExistsInUI(download_browser, file); | |
1363 | 1401 |
1364 #if !defined(OS_MACOSX) | 1402 #if !defined(OS_MACOSX) |
1365 // On Mac OS X, the UI window close is delayed until the outermost | 1403 // On Mac OS X, the UI window close is delayed until the outermost |
1366 // message loop runs. So it isn't possible to get a BROWSER_CLOSED | 1404 // message loop runs. So it isn't possible to get a BROWSER_CLOSED |
1367 // notification inside of a test. | 1405 // notification inside of a test. |
1368 ui_test_utils::WindowedNotificationObserver signal( | 1406 ui_test_utils::WindowedNotificationObserver signal( |
1369 NotificationType::BROWSER_CLOSED, | 1407 NotificationType::BROWSER_CLOSED, |
1370 Source<Browser>(download_browser)); | 1408 Source<Browser>(download_browser)); |
1371 #endif | 1409 #endif |
1372 | 1410 |
1373 // Close the new window. | 1411 // Close the new window. |
1374 download_browser->CloseWindow(); | 1412 download_browser->CloseWindow(); |
1375 | 1413 |
1376 #if !defined(OS_MACOSX) | 1414 #if !defined(OS_MACOSX) |
1377 signal.Wait(); | 1415 signal.Wait(); |
1378 EXPECT_EQ(first_browser, browser()); | 1416 EXPECT_EQ(first_browser, browser()); |
1379 ExpectWindowCountAfterDownload(1); | 1417 ExpectWindowCountAfterDownload(1); |
1380 #endif | 1418 #endif |
1381 | 1419 |
1382 EXPECT_EQ(1, browser()->tab_count()); | 1420 EXPECT_EQ(1, browser()->tab_count()); |
1383 // On ChromeOS, the popup sticks around. | 1421 // Download shelf should close. Download panel stays open on ChromeOS. |
1384 CheckDownloadUIVisible(browser(), false, true); | 1422 CheckDownloadUIVisible(browser(), false, true); |
1423 CheckDownloadExistsInUI(browser(), file); | |
1385 | 1424 |
1386 CheckDownload(browser(), file, file); | 1425 CheckDownload(browser(), file, file); |
1387 } | 1426 } |
1388 | 1427 |
1389 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadCancelled) { | 1428 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadCancelled) { |
1390 ASSERT_TRUE(InitialSetup(false)); | 1429 ASSERT_TRUE(InitialSetup(false)); |
1391 EXPECT_EQ(1, browser()->tab_count()); | 1430 EXPECT_EQ(1, browser()->tab_count()); |
1392 | 1431 |
1393 // TODO(rdsmith): Fragile code warning! The code below relies on the | 1432 // TODO(rdsmith): Fragile code warning! The code below relies on the |
1394 // DownloadsObserver only finishing when the new download has reached | 1433 // DownloadsObserver only finishing when the new download has reached |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1428 flush_observer->WaitForFlush(); | 1467 flush_observer->WaitForFlush(); |
1429 | 1468 |
1430 // Get the important info from other threads and check it. | 1469 // Get the important info from other threads and check it. |
1431 scoped_refptr<CancelTestDataCollector> info(new CancelTestDataCollector()); | 1470 scoped_refptr<CancelTestDataCollector> info(new CancelTestDataCollector()); |
1432 info->WaitForDataCollected(); | 1471 info->WaitForDataCollected(); |
1433 EXPECT_EQ(0, info->rdh_pending_requests()); | 1472 EXPECT_EQ(0, info->rdh_pending_requests()); |
1434 EXPECT_EQ(0, info->dfm_pending_downloads()); | 1473 EXPECT_EQ(0, info->dfm_pending_downloads()); |
1435 | 1474 |
1436 // Using "DownloadItem::Remove" follows the discard dangerous download path, | 1475 // Using "DownloadItem::Remove" follows the discard dangerous download path, |
1437 // which completely removes the browser from the shelf and closes the shelf | 1476 // which completely removes the browser from the shelf and closes the shelf |
1438 // if it was there. Chrome OS is an exception to this, where if we | 1477 // if it was there. Download panel stays open on ChromeOS. |
1439 // bring up the downloads panel, it stays there. | |
1440 CheckDownloadUIVisible(browser(), false, true); | 1478 CheckDownloadUIVisible(browser(), false, true); |
1441 } | 1479 } |
1442 | 1480 |
1443 // Confirm a download makes it into the history properly. | 1481 // Confirm a download makes it into the history properly. |
1444 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadHistoryCheck) { | 1482 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadHistoryCheck) { |
1445 ASSERT_TRUE(InitialSetup(false)); | 1483 ASSERT_TRUE(InitialSetup(false)); |
1446 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); | 1484 FilePath file(FILE_PATH_LITERAL("download-test1.lib")); |
1447 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); | 1485 GURL url(URLRequestMockHTTPJob::GetMockUrl(file)); |
1448 FilePath origin_file(OriginFile(file)); | 1486 FilePath origin_file(OriginFile(file)); |
1449 int64 origin_size; | 1487 int64 origin_size; |
1450 file_util::GetFileSize(origin_file, &origin_size); | 1488 file_util::GetFileSize(origin_file, &origin_size); |
1451 | 1489 |
1452 // Download the file and wait. We do not expect the Select File dialog. | 1490 // Download the file and wait. We do not expect the Select File dialog. |
1453 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); | 1491 DownloadAndWait(browser(), url, EXPECT_NO_SELECT_DIALOG); |
1454 | 1492 |
1455 // Get details of what downloads have just happened. | 1493 // Get details of what downloads have just happened. |
1456 std::vector<DownloadItem*> downloads; | 1494 std::vector<DownloadItem*> downloads; |
1457 GetDownloads(browser(), &downloads); | 1495 GetDownloads(browser(), &downloads); |
1458 ASSERT_EQ(1u, downloads.size()); | 1496 ASSERT_EQ(1u, downloads.size()); |
1459 int64 db_handle = downloads[0]->db_handle(); | 1497 int64 db_handle = downloads[0]->db_handle(); |
1460 | 1498 |
1461 // Check state. | 1499 // Check state. |
1462 EXPECT_EQ(1, browser()->tab_count()); | 1500 EXPECT_EQ(1, browser()->tab_count()); |
1463 CheckDownload(browser(), file, file); | 1501 CheckDownload(browser(), file, file); |
1464 CheckDownloadUIVisible(browser(), true, true); | 1502 CheckDownloadUIVisible(browser(), true, true); |
1503 CheckDownloadExistsInUI(browser(), file); | |
1465 | 1504 |
1466 // Check history results. | 1505 // Check history results. |
1467 DownloadsHistoryDataCollector history_collector( | 1506 DownloadsHistoryDataCollector history_collector( |
1468 db_handle, | 1507 db_handle, |
1469 browser()->profile()->GetDownloadManager()); | 1508 browser()->profile()->GetDownloadManager()); |
1470 DownloadHistoryInfo info; | 1509 DownloadHistoryInfo info; |
1471 EXPECT_TRUE(history_collector.GetDownloadsHistoryEntry(&info)) << db_handle; | 1510 EXPECT_TRUE(history_collector.GetDownloadsHistoryEntry(&info)) << db_handle; |
1472 EXPECT_EQ(file, info.path.BaseName()); | 1511 EXPECT_EQ(file, info.path.BaseName()); |
1473 EXPECT_EQ(url, info.url); | 1512 EXPECT_EQ(url, info.url); |
1474 // Ignore start_time. | 1513 // Ignore start_time. |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1552 std::vector<DownloadItem*> downloads; | 1591 std::vector<DownloadItem*> downloads; |
1553 browser()->profile()->GetDownloadManager()->SearchDownloads( | 1592 browser()->profile()->GetDownloadManager()->SearchDownloads( |
1554 string16(), &downloads); | 1593 string16(), &downloads); |
1555 ASSERT_EQ(1u, downloads.size()); | 1594 ASSERT_EQ(1u, downloads.size()); |
1556 EXPECT_EQ(DownloadItem::COMPLETE, downloads[0]->state()); | 1595 EXPECT_EQ(DownloadItem::COMPLETE, downloads[0]->state()); |
1557 EXPECT_TRUE(downloads[0]->opened()); | 1596 EXPECT_TRUE(downloads[0]->opened()); |
1558 | 1597 |
1559 // As long as we're here, confirmed everything else is good. | 1598 // As long as we're here, confirmed everything else is good. |
1560 EXPECT_EQ(1, browser()->tab_count()); | 1599 EXPECT_EQ(1, browser()->tab_count()); |
1561 CheckDownload(browser(), file, file); | 1600 CheckDownload(browser(), file, file); |
1562 // Dissapears on most UIs, but the download panel sticks around for | 1601 // Download shelf should close. Download panel stays open on ChromeOS. |
1563 // chrome os. | |
1564 CheckDownloadUIVisible(browser(), false, true); | 1602 CheckDownloadUIVisible(browser(), false, true); |
1603 CheckDownloadExistsInUI(browser(), file); | |
1565 } | 1604 } |
1566 | 1605 |
1567 // Download an extension. Expect a dangerous download warning. | 1606 // Download an extension. Expect a dangerous download warning. |
1568 // Deny the download. | 1607 // Deny the download. |
1569 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxDenyInstall) { | 1608 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxDenyInstall) { |
1570 ASSERT_TRUE(InitialSetup(false)); | 1609 ASSERT_TRUE(InitialSetup(false)); |
1571 GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); | 1610 GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); |
1572 | 1611 |
1573 scoped_ptr<DownloadsObserver> observer( | 1612 scoped_ptr<DownloadsObserver> observer( |
1574 DangerousInstallWaiter(browser(), | 1613 DangerousInstallWaiter(browser(), |
1575 1, | 1614 1, |
1576 DownloadItem::CANCELLED, | 1615 DownloadItem::CANCELLED, |
1577 ON_DANGEROUS_DOWNLOAD_DENY)); | 1616 ON_DANGEROUS_DOWNLOAD_DENY)); |
1578 ui_test_utils::NavigateToURL(browser(), extension_url); | 1617 ui_test_utils::NavigateToURL(browser(), extension_url); |
1579 | 1618 |
1580 observer->WaitForFinished(); | 1619 observer->WaitForFinished(); |
1581 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); | 1620 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); |
1582 | 1621 |
1622 // Download shelf should close. Download panel stays open on ChromeOS. | |
1583 CheckDownloadUIVisible(browser(), false, true); | 1623 CheckDownloadUIVisible(browser(), false, true); |
1584 | 1624 |
1585 // Check that the CRX is not installed. | 1625 // Check that the CRX is not installed. |
1586 ExtensionService* extension_service = | 1626 ExtensionService* extension_service = |
1587 browser()->profile()->GetExtensionService(); | 1627 browser()->profile()->GetExtensionService(); |
1588 ASSERT_FALSE(extension_service->GetExtensionById(kGoodCrxId, false)); | 1628 ASSERT_FALSE(extension_service->GetExtensionById(kGoodCrxId, false)); |
1589 } | 1629 } |
1590 | 1630 |
1591 // Download an extension. Expect a dangerous download warning. | 1631 // Download an extension. Expect a dangerous download warning. |
1592 // Allow the download, deny the install. | 1632 // Allow the download, deny the install. |
1593 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInstallDenysPermissions) { | 1633 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInstallDenysPermissions) { |
1594 ASSERT_TRUE(InitialSetup(false)); | 1634 ASSERT_TRUE(InitialSetup(false)); |
1595 GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); | 1635 GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); |
1596 | 1636 |
1597 // Install a mock install UI that simulates a user denying permission to | 1637 // Install a mock install UI that simulates a user denying permission to |
1598 // finish the install. | 1638 // finish the install. |
1599 download_crx_util::SetMockInstallUIForTesting( | 1639 download_crx_util::SetMockInstallUIForTesting( |
1600 new MockAbortExtensionInstallUI()); | 1640 new MockAbortExtensionInstallUI()); |
1601 | 1641 |
1602 scoped_ptr<DownloadsObserver> observer( | 1642 scoped_ptr<DownloadsObserver> observer( |
1603 DangerousInstallWaiter(browser(), | 1643 DangerousInstallWaiter(browser(), |
1604 1, | 1644 1, |
1605 DownloadItem::COMPLETE, | 1645 DownloadItem::COMPLETE, |
1606 ON_DANGEROUS_DOWNLOAD_ACCEPT)); | 1646 ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
1607 ui_test_utils::NavigateToURL(browser(), extension_url); | 1647 ui_test_utils::NavigateToURL(browser(), extension_url); |
1608 | 1648 |
1609 observer->WaitForFinished(); | 1649 observer->WaitForFinished(); |
1610 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); | 1650 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); |
1611 | 1651 |
1612 // DL Shelf should close. Download panel sticks around on ChromeOS. | 1652 // Download shelf should close. Download panel stays open on ChromeOS. |
1613 CheckDownloadUIVisible(browser(), false, true); | 1653 CheckDownloadUIVisible(browser(), false, true); |
1614 | 1654 |
1615 // Check that the extension was not installed. | 1655 // Check that the extension was not installed. |
1616 ExtensionService* extension_service = | 1656 ExtensionService* extension_service = |
1617 browser()->profile()->GetExtensionService(); | 1657 browser()->profile()->GetExtensionService(); |
1618 ASSERT_FALSE(extension_service->GetExtensionById(kGoodCrxId, false)); | 1658 ASSERT_FALSE(extension_service->GetExtensionById(kGoodCrxId, false)); |
1619 } | 1659 } |
1620 | 1660 |
1621 // Download an extension. Expect a dangerous download warning. | 1661 // Download an extension. Expect a dangerous download warning. |
1622 // Allow the download, and the install. | 1662 // Allow the download, and the install. |
1623 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInstallAcceptPermissions) { | 1663 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInstallAcceptPermissions) { |
1624 ASSERT_TRUE(InitialSetup(false)); | 1664 ASSERT_TRUE(InitialSetup(false)); |
1625 GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); | 1665 GURL extension_url(URLRequestMockHTTPJob::GetMockUrl(kGoodCrxPath)); |
1626 | 1666 |
1627 // Install a mock install UI that simulates a user allowing permission to | 1667 // Install a mock install UI that simulates a user allowing permission to |
1628 // finish the install. | 1668 // finish the install. |
1629 download_crx_util::SetMockInstallUIForTesting( | 1669 download_crx_util::SetMockInstallUIForTesting( |
1630 new MockAutoConfirmExtensionInstallUI(browser()->profile())); | 1670 new MockAutoConfirmExtensionInstallUI(browser()->profile())); |
1631 | 1671 |
1632 scoped_ptr<DownloadsObserver> observer( | 1672 scoped_ptr<DownloadsObserver> observer( |
1633 DangerousInstallWaiter(browser(), | 1673 DangerousInstallWaiter(browser(), |
1634 1, | 1674 1, |
1635 DownloadItem::COMPLETE, | 1675 DownloadItem::COMPLETE, |
1636 ON_DANGEROUS_DOWNLOAD_ACCEPT)); | 1676 ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
1637 ui_test_utils::NavigateToURL(browser(), extension_url); | 1677 ui_test_utils::NavigateToURL(browser(), extension_url); |
1638 | 1678 |
1639 observer->WaitForFinished(); | 1679 observer->WaitForFinished(); |
1640 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); | 1680 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); |
1641 | 1681 |
1642 // DL Shelf should close. Download panel sticks around on ChromeOS. | 1682 // Download shelf should close. Download panel stays open on ChromeOS. |
1643 CheckDownloadUIVisible(browser(), false, true); | 1683 CheckDownloadUIVisible(browser(), false, true); |
1644 | 1684 |
1645 // Check that the extension was installed. | 1685 // Check that the extension was installed. |
1646 ExtensionService* extension_service = | 1686 ExtensionService* extension_service = |
1647 browser()->profile()->GetExtensionService(); | 1687 browser()->profile()->GetExtensionService(); |
1648 ASSERT_TRUE(extension_service->GetExtensionById(kGoodCrxId, false)); | 1688 ASSERT_TRUE(extension_service->GetExtensionById(kGoodCrxId, false)); |
1649 } | 1689 } |
1650 | 1690 |
1651 // Test installing a CRX that fails integrity checks. | 1691 // Test installing a CRX that fails integrity checks. |
1652 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInvalid) { | 1692 IN_PROC_BROWSER_TEST_F(DownloadTest, CrxInvalid) { |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1688 scoped_ptr<DownloadsObserver> observer( | 1728 scoped_ptr<DownloadsObserver> observer( |
1689 DangerousInstallWaiter(browser(), | 1729 DangerousInstallWaiter(browser(), |
1690 1, | 1730 1, |
1691 DownloadItem::COMPLETE, | 1731 DownloadItem::COMPLETE, |
1692 ON_DANGEROUS_DOWNLOAD_ACCEPT)); | 1732 ON_DANGEROUS_DOWNLOAD_ACCEPT)); |
1693 ui_test_utils::NavigateToURL(browser(), extension_url); | 1733 ui_test_utils::NavigateToURL(browser(), extension_url); |
1694 | 1734 |
1695 observer->WaitForFinished(); | 1735 observer->WaitForFinished(); |
1696 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); | 1736 EXPECT_EQ(1u, observer->NumDangerousDownloadsSeen()); |
1697 | 1737 |
1698 // DL Shelf should close. Download panel sticks around on ChromeOS. | 1738 // Download shelf should close. Download panel stays open on ChromeOS. |
1699 CheckDownloadUIVisible(browser(), false, true); | 1739 CheckDownloadUIVisible(browser(), false, true); |
1700 | 1740 |
1701 // Check that the extension was installed. | 1741 // Check that the extension was installed. |
1702 ExtensionService* extension_service = | 1742 ExtensionService* extension_service = |
1703 browser()->profile()->GetExtensionService(); | 1743 browser()->profile()->GetExtensionService(); |
1704 ASSERT_TRUE(extension_service->GetExtensionById(kLargeThemeCrxId, false)); | 1744 ASSERT_TRUE(extension_service->GetExtensionById(kLargeThemeCrxId, false)); |
1705 } | 1745 } |
OLD | NEW |