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

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

Issue 2248873002: Convert WindowOpenDisposition to an enum class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 3 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
OLDNEW
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 #include "chrome/browser/download/download_browsertest.h" 5 #include "chrome/browser/download/download_browsertest.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <sstream> 8 #include <sstream>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 observer->WaitForFinished(); 598 observer->WaitForFinished();
599 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); 599 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE));
600 // We don't expect a file chooser to be shown. 600 // We don't expect a file chooser to be shown.
601 EXPECT_FALSE(DidShowFileChooser()); 601 EXPECT_FALSE(DidShowFileChooser());
602 } 602 }
603 603
604 // Download a file in the current tab, then wait for the download to finish. 604 // Download a file in the current tab, then wait for the download to finish.
605 void DownloadAndWait(Browser* browser, 605 void DownloadAndWait(Browser* browser,
606 const GURL& url) { 606 const GURL& url) {
607 DownloadAndWaitWithDisposition( 607 DownloadAndWaitWithDisposition(
608 browser, 608 browser, url, WindowOpenDisposition::CURRENT_TAB,
609 url,
610 CURRENT_TAB,
611 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 609 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
612 } 610 }
613 611
614 // Should only be called when the download is known to have finished 612 // Should only be called when the download is known to have finished
615 // (in error or not). 613 // (in error or not).
616 // Returning false indicates a failure of the function, and should be asserted 614 // Returning false indicates a failure of the function, and should be asserted
617 // in the caller. 615 // in the caller.
618 bool CheckDownload(Browser* browser, 616 bool CheckDownload(Browser* browser,
619 const base::FilePath& downloaded_filename, 617 const base::FilePath& downloaded_filename,
620 const base::FilePath& origin_filename) { 618 const base::FilePath& origin_filename) {
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 // - Add a member function to |DownloadShelf| to get the status text 724 // - Add a member function to |DownloadShelf| to get the status text
727 // of a given member (for example, via the name in |DownloadItemView|'s 725 // of a given member (for example, via the name in |DownloadItemView|'s
728 // GetAccessibleState() member function), by index. 726 // GetAccessibleState() member function), by index.
729 // - Iterate over browser->window()->GetDownloadShelf()'s members 727 // - Iterate over browser->window()->GetDownloadShelf()'s members
730 // to see if any match the status text we want. Start with the last one. 728 // to see if any match the status text we want. Start with the last one.
731 729
732 // Allow the request to finish. We do this by loading a second URL in a 730 // Allow the request to finish. We do this by loading a second URL in a
733 // separate tab. 731 // separate tab.
734 GURL finish_url(net::URLRequestSlowDownloadJob::kFinishDownloadUrl); 732 GURL finish_url(net::URLRequestSlowDownloadJob::kFinishDownloadUrl);
735 ui_test_utils::NavigateToURLWithDisposition( 733 ui_test_utils::NavigateToURLWithDisposition(
736 browser, 734 browser, finish_url, WindowOpenDisposition::NEW_FOREGROUND_TAB,
737 finish_url,
738 NEW_FOREGROUND_TAB,
739 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 735 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
740 observer->WaitForFinished(); 736 observer->WaitForFinished();
741 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE)); 737 EXPECT_EQ(1u, observer->NumDownloadsSeenInState(DownloadItem::COMPLETE));
742 CheckDownloadStatesForBrowser(browser, 1, DownloadItem::COMPLETE); 738 CheckDownloadStatesForBrowser(browser, 1, DownloadItem::COMPLETE);
743 739
744 EXPECT_EQ(2, browser->tab_strip_model()->count()); 740 EXPECT_EQ(2, browser->tab_strip_model()->count());
745 741
746 // TODO(ahendrickson): check download status text after downloading. 742 // TODO(ahendrickson): check download status text after downloading.
747 743
748 base::FilePath basefilename(filename.BaseName()); 744 base::FilePath basefilename(filename.BaseName());
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after
1443 EXPECT_TRUE(base::GetFileSize(origin, &origin_file_size)); 1439 EXPECT_TRUE(base::GetFileSize(origin, &origin_file_size));
1444 std::string original_contents; 1440 std::string original_contents;
1445 EXPECT_TRUE(base::ReadFileToString(origin, &original_contents)); 1441 EXPECT_TRUE(base::ReadFileToString(origin, &original_contents));
1446 1442
1447 std::vector<DownloadItem*> download_items; 1443 std::vector<DownloadItem*> download_items;
1448 GetDownloads(browser(), &download_items); 1444 GetDownloads(browser(), &download_items);
1449 ASSERT_TRUE(download_items.empty()); 1445 ASSERT_TRUE(download_items.empty());
1450 1446
1451 // Download a file in the on-record browser and check that it was downloaded 1447 // Download a file in the on-record browser and check that it was downloaded
1452 // correctly. 1448 // correctly.
1453 DownloadAndWaitWithDisposition(browser(), 1449 DownloadAndWaitWithDisposition(browser(), url,
1454 url, 1450 WindowOpenDisposition::CURRENT_TAB,
1455 CURRENT_TAB,
1456 ui_test_utils::BROWSER_TEST_NONE); 1451 ui_test_utils::BROWSER_TEST_NONE);
1457 GetDownloads(browser(), &download_items); 1452 GetDownloads(browser(), &download_items);
1458 ASSERT_EQ(1UL, download_items.size()); 1453 ASSERT_EQ(1UL, download_items.size());
1459 ASSERT_EQ(base::FilePath(FILE_PATH_LITERAL("a_zip_file.zip")), 1454 ASSERT_EQ(base::FilePath(FILE_PATH_LITERAL("a_zip_file.zip")),
1460 download_items[0]->GetTargetFilePath().BaseName()); 1455 download_items[0]->GetTargetFilePath().BaseName());
1461 ASSERT_TRUE(base::PathExists(download_items[0]->GetTargetFilePath())); 1456 ASSERT_TRUE(base::PathExists(download_items[0]->GetTargetFilePath()));
1462 EXPECT_TRUE(VerifyFile(download_items[0]->GetTargetFilePath(), 1457 EXPECT_TRUE(VerifyFile(download_items[0]->GetTargetFilePath(),
1463 original_contents, origin_file_size)); 1458 original_contents, origin_file_size));
1464 1459
1465 // Setup an incognito window. 1460 // Setup an incognito window.
1466 Browser* incognito = CreateIncognitoBrowser(); 1461 Browser* incognito = CreateIncognitoBrowser();
1467 ASSERT_TRUE(incognito); 1462 ASSERT_TRUE(incognito);
1468 int window_count = BrowserList::GetInstance()->size(); 1463 int window_count = BrowserList::GetInstance()->size();
1469 EXPECT_EQ(2, window_count); 1464 EXPECT_EQ(2, window_count);
1470 incognito->profile()->GetPrefs()->SetFilePath( 1465 incognito->profile()->GetPrefs()->SetFilePath(
1471 prefs::kDownloadDefaultDirectory, 1466 prefs::kDownloadDefaultDirectory,
1472 GetDownloadsDirectory()); 1467 GetDownloadsDirectory());
1473 incognito->profile()->GetPrefs()->SetFilePath( 1468 incognito->profile()->GetPrefs()->SetFilePath(
1474 prefs::kSaveFileDefaultDirectory, 1469 prefs::kSaveFileDefaultDirectory,
1475 GetDownloadsDirectory()); 1470 GetDownloadsDirectory());
1476 1471
1477 download_items.clear(); 1472 download_items.clear();
1478 GetDownloads(incognito, &download_items); 1473 GetDownloads(incognito, &download_items);
1479 ASSERT_TRUE(download_items.empty()); 1474 ASSERT_TRUE(download_items.empty());
1480 1475
1481 // Download a file in the incognito browser and check that it was downloaded 1476 // Download a file in the incognito browser and check that it was downloaded
1482 // correctly. 1477 // correctly.
1483 DownloadAndWaitWithDisposition(incognito, 1478 DownloadAndWaitWithDisposition(incognito, url,
1484 url, 1479 WindowOpenDisposition::CURRENT_TAB,
1485 CURRENT_TAB,
1486 ui_test_utils::BROWSER_TEST_NONE); 1480 ui_test_utils::BROWSER_TEST_NONE);
1487 GetDownloads(incognito, &download_items); 1481 GetDownloads(incognito, &download_items);
1488 ASSERT_EQ(1UL, download_items.size()); 1482 ASSERT_EQ(1UL, download_items.size());
1489 ASSERT_EQ(base::FilePath(FILE_PATH_LITERAL("a_zip_file (1).zip")), 1483 ASSERT_EQ(base::FilePath(FILE_PATH_LITERAL("a_zip_file (1).zip")),
1490 download_items[0]->GetTargetFilePath().BaseName()); 1484 download_items[0]->GetTargetFilePath().BaseName());
1491 ASSERT_TRUE(base::PathExists(download_items[0]->GetTargetFilePath())); 1485 ASSERT_TRUE(base::PathExists(download_items[0]->GetTargetFilePath()));
1492 EXPECT_TRUE(VerifyFile(download_items[0]->GetTargetFilePath(), 1486 EXPECT_TRUE(VerifyFile(download_items[0]->GetTargetFilePath(),
1493 original_contents, origin_file_size)); 1487 original_contents, origin_file_size));
1494 } 1488 }
1495 1489
1496 // Navigate to a new background page, but don't download. 1490 // Navigate to a new background page, but don't download.
1497 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab1) { 1491 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab1) {
1498 // Because it's an HTML link, it should open a web page rather than 1492 // Because it's an HTML link, it should open a web page rather than
1499 // downloading. 1493 // downloading.
1500 GURL url(URLRequestMockHTTPJob::GetMockUrl("download-test2.html")); 1494 GURL url(URLRequestMockHTTPJob::GetMockUrl("download-test2.html"));
1501 1495
1502 // Open a web page and wait. 1496 // Open a web page and wait.
1503 ui_test_utils::NavigateToURLWithDisposition( 1497 ui_test_utils::NavigateToURLWithDisposition(
1504 browser(), 1498 browser(), url, WindowOpenDisposition::NEW_BACKGROUND_TAB,
1505 url,
1506 NEW_BACKGROUND_TAB,
1507 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 1499 ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
1508 1500
1509 // We should have two tabs now. 1501 // We should have two tabs now.
1510 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 1502 EXPECT_EQ(2, browser()->tab_strip_model()->count());
1511 EXPECT_TRUE(VerifyNoDownloads()); 1503 EXPECT_TRUE(VerifyNoDownloads());
1512 } 1504 }
1513 1505
1514 // Download a file in a background tab. Verify that the tab is closed 1506 // Download a file in a background tab. Verify that the tab is closed
1515 // automatically. 1507 // automatically.
1516 IN_PROC_BROWSER_TEST_F(DownloadTest, CloseNewTab1) { 1508 IN_PROC_BROWSER_TEST_F(DownloadTest, CloseNewTab1) {
1517 // Download a file in a new background tab and wait. The tab is automatically 1509 // Download a file in a new background tab and wait. The tab is automatically
1518 // closed when the download begins. 1510 // closed when the download begins.
1519 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path)); 1511 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path));
1520 DownloadAndWaitWithDisposition( 1512 DownloadAndWaitWithDisposition(browser(), url,
1521 browser(), 1513 WindowOpenDisposition::NEW_BACKGROUND_TAB, 0);
1522 url,
1523 NEW_BACKGROUND_TAB,
1524 0);
1525 1514
1526 // When the download finishes, we should still have one tab. 1515 // When the download finishes, we should still have one tab.
1527 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 1516 EXPECT_EQ(1, browser()->tab_strip_model()->count());
1528 1517
1529 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 1518 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
1530 CheckDownload(browser(), file, file); 1519 CheckDownload(browser(), file, file);
1531 } 1520 }
1532 1521
1533 // Open a web page in the current tab, then download a file in another tab via 1522 // Open a web page in the current tab, then download a file in another tab via
1534 // a Javascript call. 1523 // a Javascript call.
1535 // Verify that we have 2 tabs. 1524 // Verify that we have 2 tabs.
1536 // 1525 //
1537 // The download_page1.html page contains an openNew() function that opens a 1526 // The download_page1.html page contains an openNew() function that opens a
1538 // tab and then downloads download-test1.lib. 1527 // tab and then downloads download-test1.lib.
1539 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab2) { 1528 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab2) {
1540 // Because it's an HTML link, it should open a web page rather than 1529 // Because it's an HTML link, it should open a web page rather than
1541 // downloading. 1530 // downloading.
1542 GURL url(URLRequestMockHTTPJob::GetMockUrl("download_page1.html")); 1531 GURL url(URLRequestMockHTTPJob::GetMockUrl("download_page1.html"));
1543 1532
1544 // Open a web page and wait. 1533 // Open a web page and wait.
1545 ui_test_utils::NavigateToURL(browser(), url); 1534 ui_test_utils::NavigateToURL(browser(), url);
1546 1535
1547 // Download a file in a new tab and wait (via Javascript). 1536 // Download a file in a new tab and wait (via Javascript).
1548 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 1537 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
1549 DownloadAndWaitWithDisposition(browser(), 1538 DownloadAndWaitWithDisposition(browser(), GURL("javascript:openNew()"),
1550 GURL("javascript:openNew()"), 1539 WindowOpenDisposition::CURRENT_TAB,
1551 CURRENT_TAB,
1552 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); 1540 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB);
1553 1541
1554 // When the download finishes, we should have two tabs. 1542 // When the download finishes, we should have two tabs.
1555 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 1543 EXPECT_EQ(2, browser()->tab_strip_model()->count());
1556 1544
1557 CheckDownload(browser(), file, file); 1545 CheckDownload(browser(), file, file);
1558 } 1546 }
1559 1547
1560 // Open a web page in the current tab, open another tab via a Javascript call, 1548 // Open a web page in the current tab, open another tab via a Javascript call,
1561 // then download a file in the new tab. 1549 // then download a file in the new tab.
1562 // Verify that we have 2 tabs. 1550 // Verify that we have 2 tabs.
1563 // 1551 //
1564 // The download_page2.html page contains an openNew() function that opens a 1552 // The download_page2.html page contains an openNew() function that opens a
1565 // tab. 1553 // tab.
1566 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab3) { 1554 IN_PROC_BROWSER_TEST_F(DownloadTest, DontCloseNewTab3) {
1567 // Because it's an HTML link, it should open a web page rather than 1555 // Because it's an HTML link, it should open a web page rather than
1568 // downloading. 1556 // downloading.
1569 GURL url1(URLRequestMockHTTPJob::GetMockUrl("download_page2.html")); 1557 GURL url1(URLRequestMockHTTPJob::GetMockUrl("download_page2.html"));
1570 1558
1571 // Open a web page and wait. 1559 // Open a web page and wait.
1572 ui_test_utils::NavigateToURL(browser(), url1); 1560 ui_test_utils::NavigateToURL(browser(), url1);
1573 1561
1574 // Open a new tab and wait. 1562 // Open a new tab and wait.
1575 ui_test_utils::NavigateToURLWithDisposition( 1563 ui_test_utils::NavigateToURLWithDisposition(
1576 browser(), 1564 browser(), GURL("javascript:openNew()"),
1577 GURL("javascript:openNew()"), 1565 WindowOpenDisposition::CURRENT_TAB,
1578 CURRENT_TAB,
1579 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); 1566 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB);
1580 1567
1581 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 1568 EXPECT_EQ(2, browser()->tab_strip_model()->count());
1582 1569
1583 // Download a file and wait. 1570 // Download a file and wait.
1584 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path)); 1571 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path));
1585 DownloadAndWaitWithDisposition(browser(), 1572 DownloadAndWaitWithDisposition(browser(), url,
1586 url, 1573 WindowOpenDisposition::CURRENT_TAB,
1587 CURRENT_TAB,
1588 ui_test_utils::BROWSER_TEST_NONE); 1574 ui_test_utils::BROWSER_TEST_NONE);
1589 1575
1590 // When the download finishes, we should have two tabs. 1576 // When the download finishes, we should have two tabs.
1591 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 1577 EXPECT_EQ(2, browser()->tab_strip_model()->count());
1592 1578
1593 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 1579 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
1594 CheckDownload(browser(), file, file); 1580 CheckDownload(browser(), file, file);
1595 } 1581 }
1596 1582
1597 // Open a web page in the current tab, then download a file via Javascript, 1583 // Open a web page in the current tab, then download a file via Javascript,
1598 // which will do so in a temporary tab. Verify that we have 1 tab. 1584 // which will do so in a temporary tab. Verify that we have 1 tab.
1599 // 1585 //
1600 // The download_page3.html page contains an openNew() function that opens a 1586 // The download_page3.html page contains an openNew() function that opens a
1601 // tab with download-test1.lib in the URL. When the URL is determined to be 1587 // tab with download-test1.lib in the URL. When the URL is determined to be
1602 // a download, the tab is closed automatically. 1588 // a download, the tab is closed automatically.
1603 IN_PROC_BROWSER_TEST_F(DownloadTest, CloseNewTab2) { 1589 IN_PROC_BROWSER_TEST_F(DownloadTest, CloseNewTab2) {
1604 // Because it's an HTML link, it should open a web page rather than 1590 // Because it's an HTML link, it should open a web page rather than
1605 // downloading. 1591 // downloading.
1606 GURL url(URLRequestMockHTTPJob::GetMockUrl("download_page3.html")); 1592 GURL url(URLRequestMockHTTPJob::GetMockUrl("download_page3.html"));
1607 1593
1608 // Open a web page and wait. 1594 // Open a web page and wait.
1609 ui_test_utils::NavigateToURL(browser(), url); 1595 ui_test_utils::NavigateToURL(browser(), url);
1610 1596
1611 // Download a file and wait. 1597 // Download a file and wait.
1612 // The file to download is "download-test1.lib". 1598 // The file to download is "download-test1.lib".
1613 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 1599 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
1614 DownloadAndWaitWithDisposition(browser(), 1600 DownloadAndWaitWithDisposition(browser(), GURL("javascript:openNew()"),
1615 GURL("javascript:openNew()"), 1601 WindowOpenDisposition::CURRENT_TAB,
1616 CURRENT_TAB,
1617 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); 1602 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB);
1618 1603
1619 // When the download finishes, we should still have one tab. 1604 // When the download finishes, we should still have one tab.
1620 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 1605 EXPECT_EQ(1, browser()->tab_strip_model()->count());
1621 1606
1622 CheckDownload(browser(), file, file); 1607 CheckDownload(browser(), file, file);
1623 } 1608 }
1624 1609
1625 // Open a web page in the current tab, then call Javascript via a button to 1610 // Open a web page in the current tab, then call Javascript via a button to
1626 // download a file in a new tab, which is closed automatically when the 1611 // download a file in a new tab, which is closed automatically when the
1627 // download begins. 1612 // download begins.
1628 // Verify that we have 1 tab. 1613 // Verify that we have 1 tab.
1629 // 1614 //
1630 // The download_page4.html page contains a form with download-test1.lib as the 1615 // The download_page4.html page contains a form with download-test1.lib as the
1631 // action. 1616 // action.
1632 IN_PROC_BROWSER_TEST_F(DownloadTest, CloseNewTab3) { 1617 IN_PROC_BROWSER_TEST_F(DownloadTest, CloseNewTab3) {
1633 // Because it's an HTML link, it should open a web page rather than 1618 // Because it's an HTML link, it should open a web page rather than
1634 // downloading. 1619 // downloading.
1635 GURL url(URLRequestMockHTTPJob::GetMockUrl("download_page4.html")); 1620 GURL url(URLRequestMockHTTPJob::GetMockUrl("download_page4.html"));
1636 1621
1637 // Open a web page and wait. 1622 // Open a web page and wait.
1638 ui_test_utils::NavigateToURL(browser(), url); 1623 ui_test_utils::NavigateToURL(browser(), url);
1639 1624
1640 // Download a file in a new tab and wait. The tab will automatically close 1625 // Download a file in a new tab and wait. The tab will automatically close
1641 // when the download begins. 1626 // when the download begins.
1642 // The file to download is "download-test1.lib". 1627 // The file to download is "download-test1.lib".
1643 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib")); 1628 base::FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
1644 DownloadAndWaitWithDisposition( 1629 DownloadAndWaitWithDisposition(
1645 browser(), 1630 browser(), GURL("javascript:document.getElementById('form').submit()"),
1646 GURL("javascript:document.getElementById('form').submit()"), 1631 WindowOpenDisposition::CURRENT_TAB,
1647 CURRENT_TAB,
1648 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); 1632 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB);
1649 1633
1650 // When the download finishes, we should still have one tab. 1634 // When the download finishes, we should still have one tab.
1651 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 1635 EXPECT_EQ(1, browser()->tab_strip_model()->count());
1652 1636
1653 CheckDownload(browser(), file, file); 1637 CheckDownload(browser(), file, file);
1654 } 1638 }
1655 1639
1656 // Open a second tab, then download a file in that tab. However, have the 1640 // Open a second tab, then download a file in that tab. However, have the
1657 // download be canceled by having the file picker act like the user canceled 1641 // download be canceled by having the file picker act like the user canceled
(...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after
2902 } 2886 }
2903 } 2887 }
2904 2888
2905 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadTest_Remove) { 2889 IN_PROC_BROWSER_TEST_F(DownloadTest, DownloadTest_Remove) {
2906 GURL url = net::URLRequestMockHTTPJob::GetMockUrl("downloads/a_zip_file.zip"); 2890 GURL url = net::URLRequestMockHTTPJob::GetMockUrl("downloads/a_zip_file.zip");
2907 std::vector<DownloadItem*> download_items; 2891 std::vector<DownloadItem*> download_items;
2908 GetDownloads(browser(), &download_items); 2892 GetDownloads(browser(), &download_items);
2909 ASSERT_TRUE(download_items.empty()); 2893 ASSERT_TRUE(download_items.empty());
2910 2894
2911 // Download a file. 2895 // Download a file.
2912 DownloadAndWaitWithDisposition(browser(), 2896 DownloadAndWaitWithDisposition(browser(), url,
2913 url, 2897 WindowOpenDisposition::CURRENT_TAB,
2914 CURRENT_TAB,
2915 ui_test_utils::BROWSER_TEST_NONE); 2898 ui_test_utils::BROWSER_TEST_NONE);
2916 GetDownloads(browser(), &download_items); 2899 GetDownloads(browser(), &download_items);
2917 ASSERT_EQ(1UL, download_items.size()); 2900 ASSERT_EQ(1UL, download_items.size());
2918 base::FilePath downloaded(download_items[0]->GetTargetFilePath()); 2901 base::FilePath downloaded(download_items[0]->GetTargetFilePath());
2919 2902
2920 // Remove the DownloadItem but not the file, then check that the file still 2903 // Remove the DownloadItem but not the file, then check that the file still
2921 // exists. 2904 // exists.
2922 download_items[0]->Remove(); 2905 download_items[0]->Remove();
2923 download_items.clear(); 2906 download_items.clear();
2924 GetDownloads(browser(), &download_items); 2907 GetDownloads(browser(), &download_items);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2976 int64_t free_space = 2959 int64_t free_space =
2977 base::SysInfo::AmountOfFreeDiskSpace(GetDownloadDirectory(browser())); 2960 base::SysInfo::AmountOfFreeDiskSpace(GetDownloadDirectory(browser()));
2978 ASSERT_LE(size, free_space) << "Not enough disk space to download. Got " 2961 ASSERT_LE(size, free_space) << "Not enough disk space to download. Got "
2979 << free_space; 2962 << free_space;
2980 GURL file_url(net::FilePathToFileURL(file_path)); 2963 GURL file_url(net::FilePathToFileURL(file_path));
2981 std::unique_ptr<content::DownloadTestObserver> progress_waiter( 2964 std::unique_ptr<content::DownloadTestObserver> progress_waiter(
2982 CreateInProgressWaiter(browser(), 1)); 2965 CreateInProgressWaiter(browser(), 1));
2983 2966
2984 // Start downloading a file, wait for it to be created. 2967 // Start downloading a file, wait for it to be created.
2985 ui_test_utils::NavigateToURLWithDisposition( 2968 ui_test_utils::NavigateToURLWithDisposition(
2986 browser(), file_url, CURRENT_TAB, ui_test_utils::BROWSER_TEST_NONE); 2969 browser(), file_url, WindowOpenDisposition::CURRENT_TAB,
2970 ui_test_utils::BROWSER_TEST_NONE);
2987 progress_waiter->WaitForFinished(); 2971 progress_waiter->WaitForFinished();
2988 EXPECT_EQ(1u, progress_waiter->NumDownloadsSeenInState( 2972 EXPECT_EQ(1u, progress_waiter->NumDownloadsSeenInState(
2989 DownloadItem::IN_PROGRESS)); 2973 DownloadItem::IN_PROGRESS));
2990 std::vector<DownloadItem*> download_items; 2974 std::vector<DownloadItem*> download_items;
2991 GetDownloads(browser(), &download_items); 2975 GetDownloads(browser(), &download_items);
2992 ASSERT_EQ(1UL, download_items.size()); 2976 ASSERT_EQ(1UL, download_items.size());
2993 2977
2994 // Wait for the download to complete, checking along the way that the 2978 // Wait for the download to complete, checking along the way that the
2995 // PercentComplete() never regresses. 2979 // PercentComplete() never regresses.
2996 PercentWaiter waiter(download_items[0]); 2980 PercentWaiter waiter(download_items[0]);
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
3226 browser()->profile()->GetPrefs()->SetBoolean(prefs::kSafeBrowsingEnabled, 3210 browser()->profile()->GetPrefs()->SetBoolean(prefs::kSafeBrowsingEnabled,
3227 true); 3211 true);
3228 GURL download_url = 3212 GURL download_url =
3229 net::URLRequestMockHTTPJob::GetMockUrl(kDangerousMockFilePath); 3213 net::URLRequestMockHTTPJob::GetMockUrl(kDangerousMockFilePath);
3230 std::unique_ptr<content::DownloadTestObserver> dangerous_observer( 3214 std::unique_ptr<content::DownloadTestObserver> dangerous_observer(
3231 DangerousDownloadWaiter( 3215 DangerousDownloadWaiter(
3232 browser(), 1, 3216 browser(), 1,
3233 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT)); 3217 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT));
3234 std::unique_ptr<content::DownloadTestObserver> in_progress_observer( 3218 std::unique_ptr<content::DownloadTestObserver> in_progress_observer(
3235 new DisableSafeBrowsingOnInProgressDownload(browser())); 3219 new DisableSafeBrowsingOnInProgressDownload(browser()));
3236 ui_test_utils::NavigateToURLWithDisposition(browser(), 3220 ui_test_utils::NavigateToURLWithDisposition(
3237 download_url, 3221 browser(), download_url, WindowOpenDisposition::NEW_BACKGROUND_TAB,
3238 NEW_BACKGROUND_TAB, 3222 ui_test_utils::BROWSER_TEST_NONE);
3239 ui_test_utils::BROWSER_TEST_NONE);
3240 in_progress_observer->WaitForFinished(); 3223 in_progress_observer->WaitForFinished();
3241 3224
3242 // SafeBrowsing should have been disabled by our observer. 3225 // SafeBrowsing should have been disabled by our observer.
3243 ASSERT_FALSE(browser()->profile()->GetPrefs()->GetBoolean( 3226 ASSERT_FALSE(browser()->profile()->GetPrefs()->GetBoolean(
3244 prefs::kSafeBrowsingEnabled)); 3227 prefs::kSafeBrowsingEnabled));
3245 3228
3246 std::vector<DownloadItem*> downloads; 3229 std::vector<DownloadItem*> downloads;
3247 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads); 3230 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads);
3248 ASSERT_EQ(1u, downloads.size()); 3231 ASSERT_EQ(1u, downloads.size());
3249 DownloadItem* download = downloads[0]; 3232 DownloadItem* download = downloads[0];
(...skipping 10 matching lines...) Expand all
3260 // Disable SafeBrowsing 3243 // Disable SafeBrowsing
3261 browser()->profile()->GetPrefs()->SetBoolean(prefs::kSafeBrowsingEnabled, 3244 browser()->profile()->GetPrefs()->SetBoolean(prefs::kSafeBrowsingEnabled,
3262 false); 3245 false);
3263 3246
3264 GURL download_url = 3247 GURL download_url =
3265 net::URLRequestMockHTTPJob::GetMockUrl(kDangerousMockFilePath); 3248 net::URLRequestMockHTTPJob::GetMockUrl(kDangerousMockFilePath);
3266 std::unique_ptr<content::DownloadTestObserver> dangerous_observer( 3249 std::unique_ptr<content::DownloadTestObserver> dangerous_observer(
3267 DangerousDownloadWaiter( 3250 DangerousDownloadWaiter(
3268 browser(), 1, 3251 browser(), 1,
3269 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT)); 3252 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT));
3270 ui_test_utils::NavigateToURLWithDisposition(browser(), 3253 ui_test_utils::NavigateToURLWithDisposition(
3271 download_url, 3254 browser(), download_url, WindowOpenDisposition::NEW_BACKGROUND_TAB,
3272 NEW_BACKGROUND_TAB, 3255 ui_test_utils::BROWSER_TEST_NONE);
3273 ui_test_utils::BROWSER_TEST_NONE);
3274 dangerous_observer->WaitForFinished(); 3256 dangerous_observer->WaitForFinished();
3275 3257
3276 std::vector<DownloadItem*> downloads; 3258 std::vector<DownloadItem*> downloads;
3277 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads); 3259 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads);
3278 ASSERT_EQ(1u, downloads.size()); 3260 ASSERT_EQ(1u, downloads.size());
3279 3261
3280 DownloadItem* download = downloads[0]; 3262 DownloadItem* download = downloads[0];
3281 EXPECT_TRUE(download->IsDangerous()); 3263 EXPECT_TRUE(download->IsDangerous());
3282 EXPECT_EQ(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE, 3264 EXPECT_EQ(content::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE,
3283 download->GetDangerType()); 3265 download->GetDangerType());
(...skipping 20 matching lines...) Expand all
3304 3286
3305 IN_PROC_BROWSER_TEST_F(DownloadTest, FeedbackService) { 3287 IN_PROC_BROWSER_TEST_F(DownloadTest, FeedbackService) {
3306 // Make a dangerous file. 3288 // Make a dangerous file.
3307 GURL download_url(net::URLRequestMockHTTPJob::GetMockUrl( 3289 GURL download_url(net::URLRequestMockHTTPJob::GetMockUrl(
3308 "downloads/dangerous/dangerous.swf")); 3290 "downloads/dangerous/dangerous.swf"));
3309 std::unique_ptr<content::DownloadTestObserverInterrupted> observer( 3291 std::unique_ptr<content::DownloadTestObserverInterrupted> observer(
3310 new content::DownloadTestObserverInterrupted( 3292 new content::DownloadTestObserverInterrupted(
3311 DownloadManagerForBrowser(browser()), 1, 3293 DownloadManagerForBrowser(browser()), 1,
3312 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT)); 3294 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_QUIT));
3313 ui_test_utils::NavigateToURLWithDisposition( 3295 ui_test_utils::NavigateToURLWithDisposition(
3314 browser(), 3296 browser(), GURL(download_url), WindowOpenDisposition::NEW_BACKGROUND_TAB,
3315 GURL(download_url),
3316 NEW_BACKGROUND_TAB,
3317 ui_test_utils::BROWSER_TEST_NONE); 3297 ui_test_utils::BROWSER_TEST_NONE);
3318 observer->WaitForFinished(); 3298 observer->WaitForFinished();
3319 3299
3320 // Get the download from the DownloadManager. 3300 // Get the download from the DownloadManager.
3321 std::vector<DownloadItem*> downloads; 3301 std::vector<DownloadItem*> downloads;
3322 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads); 3302 DownloadManagerForBrowser(browser())->GetAllDownloads(&downloads);
3323 ASSERT_EQ(1u, downloads.size()); 3303 ASSERT_EQ(1u, downloads.size());
3324 EXPECT_TRUE(downloads[0]->IsDangerous()); 3304 EXPECT_TRUE(downloads[0]->IsDangerous());
3325 3305
3326 // Save fake pings for the download. 3306 // Save fake pings for the download.
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
3513 // 3493 //
3514 // Regression test for http://crbug.com/44454 3494 // Regression test for http://crbug.com/44454
3515 IN_PROC_BROWSER_TEST_F(DownloadTest, NewWindow) { 3495 IN_PROC_BROWSER_TEST_F(DownloadTest, NewWindow) {
3516 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path)); 3496 GURL url(URLRequestMockHTTPJob::GetMockUrl(kDownloadTest1Path));
3517 #if !defined(OS_MACOSX) 3497 #if !defined(OS_MACOSX)
3518 // See below. 3498 // See below.
3519 Browser* first_browser = browser(); 3499 Browser* first_browser = browser();
3520 #endif 3500 #endif
3521 3501
3522 // Download a file in a new window and wait. 3502 // Download a file in a new window and wait.
3523 DownloadAndWaitWithDisposition(browser(), url, NEW_WINDOW, 3503 DownloadAndWaitWithDisposition(browser(), url,
3504 WindowOpenDisposition::NEW_WINDOW,
3524 ui_test_utils::BROWSER_TEST_NONE); 3505 ui_test_utils::BROWSER_TEST_NONE);
3525 3506
3526 // When the download finishes, the download shelf SHOULD NOT be visible in 3507 // When the download finishes, the download shelf SHOULD NOT be visible in
3527 // the first window. 3508 // the first window.
3528 ExpectWindowCountAfterDownload(2); 3509 ExpectWindowCountAfterDownload(2);
3529 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 3510 EXPECT_EQ(1, browser()->tab_strip_model()->count());
3530 // Download shelf should close. 3511 // Download shelf should close.
3531 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); 3512 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible());
3532 3513
3533 // The download shelf SHOULD be visible in the second window. 3514 // The download shelf SHOULD be visible in the second window.
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
3659 browser(), 1, 3640 browser(), 1,
3660 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY)); 3641 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY));
3661 ui_test_utils::NavigateToURL(browser(), extension_url); 3642 ui_test_utils::NavigateToURL(browser(), extension_url);
3662 3643
3663 observer->WaitForFinished(); 3644 observer->WaitForFinished();
3664 3645
3665 // Download shelf should close. 3646 // Download shelf should close.
3666 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible()); 3647 EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible());
3667 } 3648 }
3668 #endif // defined(OS_CHROMEOS) 3649 #endif // defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/browser/download/chrome_download_manager_delegate.cc ('k') | chrome/browser/download/download_commands.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698