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

Side by Side Diff: chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc

Issue 1706193002: Expose final download URL (actual url after redirects) in the extension API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: IDL doc update. Created 4 years, 6 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 // Disable everything on windows only. http://crbug.com/306144 5 // Disable everything on windows only. http://crbug.com/306144
6 #ifndef OS_WIN 6 #ifndef OS_WIN
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 #include "content/public/browser/notification_service.h" 44 #include "content/public/browser/notification_service.h"
45 #include "content/public/browser/storage_partition.h" 45 #include "content/public/browser/storage_partition.h"
46 #include "content/public/browser/web_contents.h" 46 #include "content/public/browser/web_contents.h"
47 #include "content/public/common/content_features.h" 47 #include "content/public/common/content_features.h"
48 #include "content/public/test/download_test_observer.h" 48 #include "content/public/test/download_test_observer.h"
49 #include "content/public/test/test_download_request_handler.h" 49 #include "content/public/test/test_download_request_handler.h"
50 #include "extensions/browser/event_router.h" 50 #include "extensions/browser/event_router.h"
51 #include "extensions/browser/notification_types.h" 51 #include "extensions/browser/notification_types.h"
52 #include "net/base/data_url.h" 52 #include "net/base/data_url.h"
53 #include "net/test/embedded_test_server/embedded_test_server.h" 53 #include "net/test/embedded_test_server/embedded_test_server.h"
54 #include "net/test/embedded_test_server/http_request.h"
55 #include "net/test/embedded_test_server/http_response.h"
54 #include "net/test/url_request/url_request_slow_download_job.h" 56 #include "net/test/url_request/url_request_slow_download_job.h"
55 #include "net/url_request/url_request.h" 57 #include "net/url_request/url_request.h"
56 #include "net/url_request/url_request_context.h" 58 #include "net/url_request/url_request_context.h"
57 #include "net/url_request/url_request_job.h" 59 #include "net/url_request/url_request_job.h"
58 #include "net/url_request/url_request_job_factory.h" 60 #include "net/url_request/url_request_job_factory.h"
59 #include "net/url_request/url_request_job_factory_impl.h" 61 #include "net/url_request/url_request_job_factory_impl.h"
60 #include "storage/browser/fileapi/file_system_context.h" 62 #include "storage/browser/fileapi/file_system_context.h"
61 #include "storage/browser/fileapi/file_system_operation_runner.h" 63 #include "storage/browser/fileapi/file_system_operation_runner.h"
62 #include "storage/browser/fileapi/file_system_url.h" 64 #include "storage/browser/fileapi/file_system_url.h"
63 #include "ui/base/page_transition_types.h" 65 #include "ui/base/page_transition_types.h"
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 #define INTERRUPT_REASON(name, value) \ 796 #define INTERRUPT_REASON(name, value) \
795 case content::DOWNLOAD_INTERRUPT_REASON_##name: \ 797 case content::DOWNLOAD_INTERRUPT_REASON_##name: \
796 return downloads::INTERRUPT_REASON_##name; 798 return downloads::INTERRUPT_REASON_##name;
797 #include "content/public/browser/download_interrupt_reason_values.h" 799 #include "content/public/browser/download_interrupt_reason_values.h"
798 #undef INTERRUPT_REASON 800 #undef INTERRUPT_REASON
799 } 801 }
800 NOTREACHED(); 802 NOTREACHED();
801 return downloads::INTERRUPT_REASON_NONE; 803 return downloads::INTERRUPT_REASON_NONE;
802 } 804 }
803 805
806 std::unique_ptr<net::test_server::HttpResponse> RedirectRequestHandler(
asanka 2016/06/22 19:05:14 There's a canned redirect handler that you can use
mharanczyk 2016/06/23 10:33:21 Done.
807 const std::string& relative_url,
808 const GURL& target_url,
809 const net::test_server::HttpRequest& request) {
810 std::unique_ptr<net::test_server::BasicHttpResponse> response;
811 if (request.relative_url == relative_url) {
812 response.reset(new net::test_server::BasicHttpResponse);
813 response->set_code(net::HTTP_FOUND);
814 response->AddCustomHeader("Location", target_url.spec());
815 }
816 return std::move(response);
817 }
818
804 } // namespace 819 } // namespace
805 820
806 #if defined(OS_CHROMEOS) 821 #if defined(OS_CHROMEOS)
807 // http://crbug.com/396510 822 // http://crbug.com/396510
808 #define MAYBE_DownloadExtensionTest_Open DISABLED_DownloadExtensionTest_Open 823 #define MAYBE_DownloadExtensionTest_Open DISABLED_DownloadExtensionTest_Open
809 #else 824 #else
810 #define MAYBE_DownloadExtensionTest_Open DownloadExtensionTest_Open 825 #define MAYBE_DownloadExtensionTest_Open DownloadExtensionTest_Open
811 #endif 826 #endif
812 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, 827 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
813 MAYBE_DownloadExtensionTest_Open) { 828 MAYBE_DownloadExtensionTest_Open) {
814 LoadExtension("downloads_split"); 829 LoadExtension("downloads_split");
815 DownloadsOpenFunction* open_function = new DownloadsOpenFunction(); 830 DownloadsOpenFunction* open_function = new DownloadsOpenFunction();
816 open_function->set_user_gesture(true); 831 open_function->set_user_gesture(true);
817 EXPECT_STREQ(errors::kInvalidId, 832 EXPECT_STREQ(errors::kInvalidId,
818 RunFunctionAndReturnError( 833 RunFunctionAndReturnError(
819 open_function, 834 open_function,
820 "[-42]").c_str()); 835 "[-42]").c_str());
821 836
822 DownloadItem* download_item = CreateSlowTestDownload(); 837 DownloadItem* download_item = CreateSlowTestDownload();
823 ASSERT_TRUE(download_item); 838 ASSERT_TRUE(download_item);
824 EXPECT_FALSE(download_item->GetOpened()); 839 EXPECT_FALSE(download_item->GetOpened());
825 EXPECT_FALSE(download_item->GetOpenWhenComplete()); 840 EXPECT_FALSE(download_item->GetOpenWhenComplete());
826 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 841 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
827 base::StringPrintf( 842 base::StringPrintf(
828 "[{\"danger\": \"safe\"," 843 "[{\"danger\": \"safe\","
829 " \"incognito\": false," 844 " \"incognito\": false,"
830 " \"mime\": \"application/octet-stream\"," 845 " \"mime\": \"application/octet-stream\","
831 " \"paused\": false," 846 " \"paused\": false,"
847 " \"finalUrl\": \"%s\","
832 " \"url\": \"%s\"}]", 848 " \"url\": \"%s\"}]",
849 download_item->GetURL().spec().c_str(),
833 download_item->GetURL().spec().c_str()))); 850 download_item->GetURL().spec().c_str())));
834 open_function = new DownloadsOpenFunction(); 851 open_function = new DownloadsOpenFunction();
835 open_function->set_user_gesture(true); 852 open_function->set_user_gesture(true);
836 EXPECT_STREQ(errors::kNotComplete, 853 EXPECT_STREQ(errors::kNotComplete,
837 RunFunctionAndReturnError( 854 RunFunctionAndReturnError(
838 open_function, 855 open_function,
839 DownloadItemIdAsArgList(download_item)).c_str()); 856 DownloadItemIdAsArgList(download_item)).c_str());
840 857
841 FinishPendingSlowDownloads(); 858 FinishPendingSlowDownloads();
842 EXPECT_FALSE(download_item->GetOpened()); 859 EXPECT_FALSE(download_item->GetOpened());
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after
1511 ScopedCancellingItem canceller(item); 1528 ScopedCancellingItem canceller(item);
1512 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 1529 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
1513 ASSERT_EQ(GetExtensionURL(), item->GetSiteUrl().spec()); 1530 ASSERT_EQ(GetExtensionURL(), item->GetSiteUrl().spec());
1514 1531
1515 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 1532 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1516 base::StringPrintf( 1533 base::StringPrintf(
1517 "[{\"danger\": \"safe\"," 1534 "[{\"danger\": \"safe\","
1518 " \"incognito\": false," 1535 " \"incognito\": false,"
1519 " \"mime\": \"text/plain\"," 1536 " \"mime\": \"text/plain\","
1520 " \"paused\": false," 1537 " \"paused\": false,"
1538 " \"finalUrl\": \"%s\","
1521 " \"url\": \"%s\"}]", 1539 " \"url\": \"%s\"}]",
1540 download_url.c_str(),
1522 download_url.c_str()))); 1541 download_url.c_str())));
1523 ASSERT_TRUE( 1542 ASSERT_TRUE(
1524 WaitFor(downloads::OnChanged::kEventName, 1543 WaitFor(downloads::OnChanged::kEventName,
1525 base::StringPrintf("[{\"id\": %d," 1544 base::StringPrintf("[{\"id\": %d,"
1526 " \"filename\": {" 1545 " \"filename\": {"
1527 " \"previous\": \"\"," 1546 " \"previous\": \"\","
1528 " \"current\": \"%s\"}}]", 1547 " \"current\": \"%s\"}}]",
1529 result_id, GetFilename("slow.txt").c_str()))); 1548 result_id, GetFilename("slow.txt").c_str())));
1530 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 1549 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1531 base::StringPrintf( 1550 base::StringPrintf(
1532 "[{\"id\": %d," 1551 "[{\"id\": %d,"
1533 " \"state\": {" 1552 " \"state\": {"
1534 " \"previous\": \"in_progress\"," 1553 " \"previous\": \"in_progress\","
1535 " \"current\": \"complete\"}}]", 1554 " \"current\": \"complete\"}}]",
1536 result_id))); 1555 result_id)));
1537 } 1556 }
1538 1557
1558 // Test that we can start a download that gets redirected and that the correct
1559 // sequence of events is fired for it.
1560 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
1561 DownloadExtensionTest_Download_Redirect) {
1562 LoadExtension("downloads_split");
1563 ASSERT_TRUE(StartEmbeddedTestServer());
1564 const char redirect_path[] = "/slow_redirect";
1565 GURL download_url = embedded_test_server()->GetURL(redirect_path);
1566 GURL download_final_url = embedded_test_server()->GetURL("/slow?0");
1567 embedded_test_server()->RegisterRequestHandler(
1568 base::Bind(&RedirectRequestHandler, redirect_path, download_final_url));
1569
1570 GoOnTheRecord();
1571
1572 // Start downloading a file.
1573 std::unique_ptr<base::Value> result(RunFunctionAndReturnResult(
1574 new DownloadsDownloadFunction(),
1575 base::StringPrintf("[{\"url\": \"%s\"}]", download_url.spec().c_str())));
1576 ASSERT_TRUE(result.get());
1577 int result_id = -1;
1578 ASSERT_TRUE(result->GetAsInteger(&result_id));
1579 DownloadItem* item = GetCurrentManager()->GetDownload(result_id);
1580 ASSERT_TRUE(item);
1581 ScopedCancellingItem canceller(item);
1582 ASSERT_EQ(download_url, item->GetOriginalUrl());
1583 ASSERT_EQ(GetExtensionURL(), item->GetSiteUrl().spec());
1584
1585 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1586 base::StringPrintf(
1587 "[{\"danger\": \"safe\","
1588 " \"incognito\": false,"
1589 " \"mime\": \"text/plain\","
1590 " \"paused\": false,"
1591 " \"finalUrl\": \"%s\","
1592 " \"url\": \"%s\"}]",
1593 download_final_url.spec().c_str(),
1594 download_url.spec().c_str())));
1595 ASSERT_TRUE(
1596 WaitFor(downloads::OnChanged::kEventName,
1597 base::StringPrintf("[{\"id\": %d,"
1598 " \"filename\": {"
1599 " \"previous\": \"\","
1600 " \"current\": \"%s\"}}]",
1601 result_id, GetFilename("slow.txt").c_str())));
1602 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1603 base::StringPrintf(
1604 "[{\"id\": %d,"
1605 " \"state\": {"
1606 " \"previous\": \"in_progress\","
1607 " \"current\": \"complete\"}}]",
1608 result_id)));
1609 }
1610
1539 // Test that we can start a download from an incognito context, and that the 1611 // Test that we can start a download from an incognito context, and that the
1540 // download knows that it's incognito. 1612 // download knows that it's incognito.
1541 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, 1613 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
1542 DownloadExtensionTest_Download_Incognito) { 1614 DownloadExtensionTest_Download_Incognito) {
1543 LoadExtension("downloads_split"); 1615 LoadExtension("downloads_split");
1544 ASSERT_TRUE(StartEmbeddedTestServer()); 1616 ASSERT_TRUE(StartEmbeddedTestServer());
1545 GoOffTheRecord(); 1617 GoOffTheRecord();
1546 std::string download_url = embedded_test_server()->GetURL("/slow?0").spec(); 1618 std::string download_url = embedded_test_server()->GetURL("/slow?0").spec();
1547 1619
1548 // Start downloading a file. 1620 // Start downloading a file.
1549 std::unique_ptr<base::Value> result(RunFunctionAndReturnResult( 1621 std::unique_ptr<base::Value> result(RunFunctionAndReturnResult(
1550 new DownloadsDownloadFunction(), 1622 new DownloadsDownloadFunction(),
1551 base::StringPrintf("[{\"url\": \"%s\"}]", download_url.c_str()))); 1623 base::StringPrintf("[{\"url\": \"%s\"}]", download_url.c_str())));
1552 ASSERT_TRUE(result.get()); 1624 ASSERT_TRUE(result.get());
1553 int result_id = -1; 1625 int result_id = -1;
1554 ASSERT_TRUE(result->GetAsInteger(&result_id)); 1626 ASSERT_TRUE(result->GetAsInteger(&result_id));
1555 DownloadItem* item = GetCurrentManager()->GetDownload(result_id); 1627 DownloadItem* item = GetCurrentManager()->GetDownload(result_id);
1556 ASSERT_TRUE(item); 1628 ASSERT_TRUE(item);
1557 ScopedCancellingItem canceller(item); 1629 ScopedCancellingItem canceller(item);
1558 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 1630 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
1559 1631
1560 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 1632 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1561 base::StringPrintf( 1633 base::StringPrintf(
1562 "[{\"danger\": \"safe\"," 1634 "[{\"danger\": \"safe\","
1563 " \"incognito\": true," 1635 " \"incognito\": true,"
1564 " \"mime\": \"text/plain\"," 1636 " \"mime\": \"text/plain\","
1565 " \"paused\": false," 1637 " \"paused\": false,"
1638 " \"finalUrl\": \"%s\","
1566 " \"url\": \"%s\"}]", 1639 " \"url\": \"%s\"}]",
1640 download_url.c_str(),
1567 download_url.c_str()))); 1641 download_url.c_str())));
1568 ASSERT_TRUE( 1642 ASSERT_TRUE(
1569 WaitFor(downloads::OnChanged::kEventName, 1643 WaitFor(downloads::OnChanged::kEventName,
1570 base::StringPrintf("[{\"id\":%d," 1644 base::StringPrintf("[{\"id\":%d,"
1571 " \"filename\": {" 1645 " \"filename\": {"
1572 " \"previous\": \"\"," 1646 " \"previous\": \"\","
1573 " \"current\": \"%s\"}}]", 1647 " \"current\": \"%s\"}}]",
1574 result_id, GetFilename("slow.txt").c_str()))); 1648 result_id, GetFilename("slow.txt").c_str())));
1575 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 1649 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1576 base::StringPrintf( 1650 base::StringPrintf(
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 ASSERT_TRUE(item); 1814 ASSERT_TRUE(item);
1741 ScopedCancellingItem canceller(item); 1815 ScopedCancellingItem canceller(item);
1742 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 1816 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
1743 1817
1744 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 1818 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1745 base::StringPrintf( 1819 base::StringPrintf(
1746 "[{\"danger\": \"safe\"," 1820 "[{\"danger\": \"safe\","
1747 " \"incognito\": false," 1821 " \"incognito\": false,"
1748 " \"mime\": \"text/plain\"," 1822 " \"mime\": \"text/plain\","
1749 " \"paused\": false," 1823 " \"paused\": false,"
1824 " \"finalUrl\": \"%s\","
1750 " \"url\": \"%s\"}]", 1825 " \"url\": \"%s\"}]",
1826 download_url.c_str(),
1751 download_url.c_str()))); 1827 download_url.c_str())));
1752 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 1828 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1753 base::StringPrintf( 1829 base::StringPrintf(
1754 "[{\"id\": %d," 1830 "[{\"id\": %d,"
1755 " \"filename\": {" 1831 " \"filename\": {"
1756 " \"previous\": \"\"," 1832 " \"previous\": \"\","
1757 " \"current\": \"%s\"}}]", 1833 " \"current\": \"%s\"}}]",
1758 result_id, 1834 result_id,
1759 GetFilename("sub/dir/ect/ory.txt").c_str()))); 1835 GetFilename("sub/dir/ect/ory.txt").c_str())));
1760 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 1836 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1875 ASSERT_TRUE(item); 1951 ASSERT_TRUE(item);
1876 ScopedCancellingItem canceller(item); 1952 ScopedCancellingItem canceller(item);
1877 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 1953 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
1878 1954
1879 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 1955 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1880 base::StringPrintf( 1956 base::StringPrintf(
1881 "[{\"danger\": \"safe\"," 1957 "[{\"danger\": \"safe\","
1882 " \"incognito\": false," 1958 " \"incognito\": false,"
1883 " \"mime\": \"text/plain\"," 1959 " \"mime\": \"text/plain\","
1884 " \"paused\": false," 1960 " \"paused\": false,"
1961 " \"finalUrl\": \"%s\","
1885 " \"url\": \"%s\"}]", 1962 " \"url\": \"%s\"}]",
1963 download_url.c_str(),
1886 download_url.c_str()))); 1964 download_url.c_str())));
1887 ASSERT_TRUE( 1965 ASSERT_TRUE(
1888 WaitFor(downloads::OnChanged::kEventName, 1966 WaitFor(downloads::OnChanged::kEventName,
1889 base::StringPrintf("[{\"id\": %d," 1967 base::StringPrintf("[{\"id\": %d,"
1890 " \"filename\": {" 1968 " \"filename\": {"
1891 " \"previous\": \"\"," 1969 " \"previous\": \"\","
1892 " \"current\": \"%s\"}}]", 1970 " \"current\": \"%s\"}}]",
1893 result_id, GetFilename("slow.txt").c_str()))); 1971 result_id, GetFilename("slow.txt").c_str())));
1894 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 1972 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1895 base::StringPrintf( 1973 base::StringPrintf(
(...skipping 22 matching lines...) Expand all
1918 ASSERT_TRUE(item); 1996 ASSERT_TRUE(item);
1919 ScopedCancellingItem canceller(item); 1997 ScopedCancellingItem canceller(item);
1920 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 1998 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
1921 1999
1922 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2000 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1923 base::StringPrintf( 2001 base::StringPrintf(
1924 "[{\"danger\": \"safe\"," 2002 "[{\"danger\": \"safe\","
1925 " \"incognito\": false," 2003 " \"incognito\": false,"
1926 " \"mime\": \"text/plain\"," 2004 " \"mime\": \"text/plain\","
1927 " \"paused\": false," 2005 " \"paused\": false,"
2006 " \"finalUrl\": \"%s\","
1928 " \"url\": \"%s\"}]", 2007 " \"url\": \"%s\"}]",
2008 download_url.c_str(),
1929 download_url.c_str()))); 2009 download_url.c_str())));
1930 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2010 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1931 base::StringPrintf( 2011 base::StringPrintf(
1932 "[{\"id\": %d," 2012 "[{\"id\": %d,"
1933 " \"filename\": {" 2013 " \"filename\": {"
1934 " \"previous\": \"\"," 2014 " \"previous\": \"\","
1935 " \"current\": \"%s\"}}]", 2015 " \"current\": \"%s\"}}]",
1936 result_id, 2016 result_id,
1937 GetFilename(kFilename).c_str()))); 2017 GetFilename(kFilename).c_str())));
1938 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2018 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 15 matching lines...) Expand all
1954 ASSERT_TRUE(item); 2034 ASSERT_TRUE(item);
1955 ScopedCancellingItem canceller2(item); 2035 ScopedCancellingItem canceller2(item);
1956 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2036 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
1957 2037
1958 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2038 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
1959 base::StringPrintf( 2039 base::StringPrintf(
1960 "[{\"danger\": \"safe\"," 2040 "[{\"danger\": \"safe\","
1961 " \"incognito\": false," 2041 " \"incognito\": false,"
1962 " \"mime\": \"text/plain\"," 2042 " \"mime\": \"text/plain\","
1963 " \"paused\": false," 2043 " \"paused\": false,"
2044 " \"finalUrl\": \"%s\","
1964 " \"url\": \"%s\"}]", 2045 " \"url\": \"%s\"}]",
2046 download_url.c_str(),
1965 download_url.c_str()))); 2047 download_url.c_str())));
1966 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2048 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
1967 base::StringPrintf( 2049 base::StringPrintf(
1968 "[{\"id\": %d," 2050 "[{\"id\": %d,"
1969 " \"filename\": {" 2051 " \"filename\": {"
1970 " \"previous\": \"\"," 2052 " \"previous\": \"\","
1971 " \"current\": \"%s\"}}]", 2053 " \"current\": \"%s\"}}]",
1972 result_id, 2054 result_id,
1973 GetFilename(kFilename).c_str()))); 2055 GetFilename(kFilename).c_str())));
1974 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2056 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 24 matching lines...) Expand all
1999 ASSERT_TRUE(item); 2081 ASSERT_TRUE(item);
2000 ScopedCancellingItem canceller(item); 2082 ScopedCancellingItem canceller(item);
2001 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2083 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2002 2084
2003 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2085 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2004 base::StringPrintf( 2086 base::StringPrintf(
2005 "[{\"danger\": \"safe\"," 2087 "[{\"danger\": \"safe\","
2006 " \"incognito\": false," 2088 " \"incognito\": false,"
2007 " \"mime\": \"text/plain\"," 2089 " \"mime\": \"text/plain\","
2008 " \"paused\": false," 2090 " \"paused\": false,"
2091 " \"finalUrl\": \"%s\","
2009 " \"url\": \"%s\"}]", 2092 " \"url\": \"%s\"}]",
2093 download_url.c_str(),
2010 download_url.c_str()))); 2094 download_url.c_str())));
2011 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2095 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2012 base::StringPrintf( 2096 base::StringPrintf(
2013 "[{\"id\": %d," 2097 "[{\"id\": %d,"
2014 " \"filename\": {" 2098 " \"filename\": {"
2015 " \"previous\": \"\"," 2099 " \"previous\": \"\","
2016 " \"current\": \"%s\"}}]", 2100 " \"current\": \"%s\"}}]",
2017 result_id, 2101 result_id,
2018 GetFilename("data.txt").c_str()))); 2102 GetFilename("data.txt").c_str())));
2019 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2103 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
2055 ASSERT_TRUE(item); 2139 ASSERT_TRUE(item);
2056 ScopedCancellingItem canceller(item); 2140 ScopedCancellingItem canceller(item);
2057 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2141 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2058 2142
2059 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2143 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2060 base::StringPrintf( 2144 base::StringPrintf(
2061 "[{\"danger\": \"safe\"," 2145 "[{\"danger\": \"safe\","
2062 " \"incognito\": false," 2146 " \"incognito\": false,"
2063 " \"mime\": \"text/html\"," 2147 " \"mime\": \"text/html\","
2064 " \"paused\": false," 2148 " \"paused\": false,"
2149 " \"finalUrl\": \"%s\","
2065 " \"url\": \"%s\"}]", 2150 " \"url\": \"%s\"}]",
2151 download_url.c_str(),
2066 download_url.c_str()))); 2152 download_url.c_str())));
2067 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2153 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2068 base::StringPrintf( 2154 base::StringPrintf(
2069 "[{\"id\": %d," 2155 "[{\"id\": %d,"
2070 " \"filename\": {" 2156 " \"filename\": {"
2071 " \"previous\": \"\"," 2157 " \"previous\": \"\","
2072 " \"current\": \"%s\"}}]", 2158 " \"current\": \"%s\"}}]",
2073 result_id, 2159 result_id,
2074 GetFilename("file.txt").c_str()))); 2160 GetFilename("file.txt").c_str())));
2075 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2161 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 29 matching lines...) Expand all
2105 ASSERT_TRUE(item); 2191 ASSERT_TRUE(item);
2106 ScopedCancellingItem canceller(item); 2192 ScopedCancellingItem canceller(item);
2107 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2193 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2108 2194
2109 ASSERT_TRUE(WaitForInterruption( 2195 ASSERT_TRUE(WaitForInterruption(
2110 item, 2196 item,
2111 content::DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED, 2197 content::DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED,
2112 base::StringPrintf("[{\"danger\": \"safe\"," 2198 base::StringPrintf("[{\"danger\": \"safe\","
2113 " \"incognito\": false," 2199 " \"incognito\": false,"
2114 " \"paused\": false," 2200 " \"paused\": false,"
2201 " \"finalUrl\": \"%s\","
2115 " \"url\": \"%s\"}]", 2202 " \"url\": \"%s\"}]",
2203 download_url.c_str(),
2116 download_url.c_str()))); 2204 download_url.c_str())));
2117 } 2205 }
2118 2206
2119 // Test that DownloadsDownloadFunction propagates |headers| to the URLRequest. 2207 // Test that DownloadsDownloadFunction propagates |headers| to the URLRequest.
2120 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, 2208 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
2121 DownloadExtensionTest_Download_Headers) { 2209 DownloadExtensionTest_Download_Headers) {
2122 LoadExtension("downloads_split"); 2210 LoadExtension("downloads_split");
2123 ASSERT_TRUE(StartEmbeddedTestServer()); 2211 ASSERT_TRUE(StartEmbeddedTestServer());
2124 std::string download_url = 2212 std::string download_url =
2125 embedded_test_server() 2213 embedded_test_server()
(...skipping 18 matching lines...) Expand all
2144 ASSERT_TRUE(item); 2232 ASSERT_TRUE(item);
2145 ScopedCancellingItem canceller(item); 2233 ScopedCancellingItem canceller(item);
2146 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2234 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2147 2235
2148 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2236 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2149 base::StringPrintf( 2237 base::StringPrintf(
2150 "[{\"danger\": \"safe\"," 2238 "[{\"danger\": \"safe\","
2151 " \"incognito\": false," 2239 " \"incognito\": false,"
2152 " \"mime\": \"application/octet-stream\"," 2240 " \"mime\": \"application/octet-stream\","
2153 " \"paused\": false," 2241 " \"paused\": false,"
2242 " \"finalUrl\": \"%s\","
2154 " \"url\": \"%s\"}]", 2243 " \"url\": \"%s\"}]",
2244 download_url.c_str(),
2155 download_url.c_str()))); 2245 download_url.c_str())));
2156 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2246 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2157 base::StringPrintf( 2247 base::StringPrintf(
2158 "[{\"id\": %d," 2248 "[{\"id\": %d,"
2159 " \"filename\": {" 2249 " \"filename\": {"
2160 " \"previous\": \"\"," 2250 " \"previous\": \"\","
2161 " \"current\": \"%s\"}}]", 2251 " \"current\": \"%s\"}}]",
2162 result_id, 2252 result_id,
2163 GetFilename("headers-succeed.txt").c_str()))); 2253 GetFilename("headers-succeed.txt").c_str())));
2164 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2254 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
2201 2291
2202 ASSERT_TRUE(WaitForInterruption( 2292 ASSERT_TRUE(WaitForInterruption(
2203 item, 2293 item,
2204 content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT, 2294 content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT,
2205 base::StringPrintf("[{\"danger\": \"safe\"," 2295 base::StringPrintf("[{\"danger\": \"safe\","
2206 " \"incognito\": false," 2296 " \"incognito\": false,"
2207 " \"bytesReceived\": 0.0," 2297 " \"bytesReceived\": 0.0,"
2208 " \"fileSize\": 0.0," 2298 " \"fileSize\": 0.0,"
2209 " \"mime\": \"\"," 2299 " \"mime\": \"\","
2210 " \"paused\": false," 2300 " \"paused\": false,"
2301 " \"finalUrl\": \"%s\","
2211 " \"url\": \"%s\"}]", 2302 " \"url\": \"%s\"}]",
2303 download_url.c_str(),
2212 download_url.c_str()))); 2304 download_url.c_str())));
2213 } 2305 }
2214 2306
2215 // Test that DownloadsDownloadFunction propagates the Authorization header 2307 // Test that DownloadsDownloadFunction propagates the Authorization header
2216 // correctly. 2308 // correctly.
2217 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, 2309 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
2218 DownloadExtensionTest_Download_AuthBasic) { 2310 DownloadExtensionTest_Download_AuthBasic) {
2219 LoadExtension("downloads_split"); 2311 LoadExtension("downloads_split");
2220 ASSERT_TRUE(StartEmbeddedTestServer()); 2312 ASSERT_TRUE(StartEmbeddedTestServer());
2221 std::string download_url = 2313 std::string download_url =
(...skipping 18 matching lines...) Expand all
2240 ScopedCancellingItem canceller(item); 2332 ScopedCancellingItem canceller(item);
2241 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2333 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2242 2334
2243 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2335 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2244 base::StringPrintf( 2336 base::StringPrintf(
2245 "[{\"danger\": \"safe\"," 2337 "[{\"danger\": \"safe\","
2246 " \"incognito\": false," 2338 " \"incognito\": false,"
2247 " \"bytesReceived\": 0.0," 2339 " \"bytesReceived\": 0.0,"
2248 " \"mime\": \"text/html\"," 2340 " \"mime\": \"text/html\","
2249 " \"paused\": false," 2341 " \"paused\": false,"
2342 " \"finalUrl\": \"%s\","
2250 " \"url\": \"%s\"}]", 2343 " \"url\": \"%s\"}]",
2344 download_url.c_str(),
2251 download_url.c_str()))); 2345 download_url.c_str())));
2252 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2346 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2253 base::StringPrintf( 2347 base::StringPrintf(
2254 "[{\"id\": %d," 2348 "[{\"id\": %d,"
2255 " \"state\": {" 2349 " \"state\": {"
2256 " \"previous\": \"in_progress\"," 2350 " \"previous\": \"in_progress\","
2257 " \"current\": \"complete\"}}]", 2351 " \"current\": \"complete\"}}]",
2258 result_id))); 2352 result_id)));
2259 } 2353 }
2260 2354
(...skipping 24 matching lines...) Expand all
2285 ASSERT_TRUE(item); 2379 ASSERT_TRUE(item);
2286 ScopedCancellingItem canceller(item); 2380 ScopedCancellingItem canceller(item);
2287 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2381 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2288 2382
2289 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2383 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2290 base::StringPrintf( 2384 base::StringPrintf(
2291 "[{\"danger\": \"safe\"," 2385 "[{\"danger\": \"safe\","
2292 " \"incognito\": false," 2386 " \"incognito\": false,"
2293 " \"mime\": \"application/octet-stream\"," 2387 " \"mime\": \"application/octet-stream\","
2294 " \"paused\": false," 2388 " \"paused\": false,"
2389 " \"finalUrl\": \"%s\","
2295 " \"url\": \"%s\"}]", 2390 " \"url\": \"%s\"}]",
2391 download_url.c_str(),
2296 download_url.c_str()))); 2392 download_url.c_str())));
2297 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2393 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2298 base::StringPrintf( 2394 base::StringPrintf(
2299 "[{\"id\": %d," 2395 "[{\"id\": %d,"
2300 " \"filename\": {" 2396 " \"filename\": {"
2301 " \"previous\": \"\"," 2397 " \"previous\": \"\","
2302 " \"current\": \"%s\"}}]", 2398 " \"current\": \"%s\"}}]",
2303 result_id, 2399 result_id,
2304 GetFilename("post-succeed.txt").c_str()))); 2400 GetFilename("post-succeed.txt").c_str())));
2305 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2401 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
2342 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2438 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2343 2439
2344 ASSERT_TRUE(WaitForInterruption( 2440 ASSERT_TRUE(WaitForInterruption(
2345 item, 2441 item,
2346 content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT, 2442 content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT,
2347 base::StringPrintf("[{\"danger\": \"safe\"," 2443 base::StringPrintf("[{\"danger\": \"safe\","
2348 " \"incognito\": false," 2444 " \"incognito\": false,"
2349 " \"mime\": \"\"," 2445 " \"mime\": \"\","
2350 " \"paused\": false," 2446 " \"paused\": false,"
2351 " \"id\": %d," 2447 " \"id\": %d,"
2448 " \"finalUrl\": \"%s\","
2352 " \"url\": \"%s\"}]", 2449 " \"url\": \"%s\"}]",
2353 result_id, 2450 result_id,
2451 download_url.c_str(),
2354 download_url.c_str()))); 2452 download_url.c_str())));
2355 } 2453 }
2356 2454
2357 // Test that downloadPostSuccess would fail if the resource requires the POST 2455 // Test that downloadPostSuccess would fail if the resource requires the POST
2358 // method, and chrome fails to propagate the |body| parameter back to the 2456 // method, and chrome fails to propagate the |body| parameter back to the
2359 // server. This tests both that testserver.py does not succeed when it should 2457 // server. This tests both that testserver.py does not succeed when it should
2360 // fail, and this tests how the downloads extension api exposes the failure to 2458 // fail, and this tests how the downloads extension api exposes the failure to
2361 // extensions. 2459 // extensions.
2362 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, 2460 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
2363 DownloadExtensionTest_Download_Post_NoBody) { 2461 DownloadExtensionTest_Download_Post_NoBody) {
(...skipping 21 matching lines...) Expand all
2385 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2483 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2386 2484
2387 ASSERT_TRUE(WaitForInterruption( 2485 ASSERT_TRUE(WaitForInterruption(
2388 item, 2486 item,
2389 content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT, 2487 content::DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT,
2390 base::StringPrintf("[{\"danger\": \"safe\"," 2488 base::StringPrintf("[{\"danger\": \"safe\","
2391 " \"incognito\": false," 2489 " \"incognito\": false,"
2392 " \"mime\": \"\"," 2490 " \"mime\": \"\","
2393 " \"paused\": false," 2491 " \"paused\": false,"
2394 " \"id\": %d," 2492 " \"id\": %d,"
2493 " \"finalUrl\": \"%s\","
2395 " \"url\": \"%s\"}]", 2494 " \"url\": \"%s\"}]",
2396 result_id, 2495 result_id,
2496 download_url.c_str(),
2397 download_url.c_str()))); 2497 download_url.c_str())));
2398 } 2498 }
2399 2499
2400 // Test that cancel()ing an in-progress download causes its state to transition 2500 // Test that cancel()ing an in-progress download causes its state to transition
2401 // to interrupted, and test that that state transition is detectable by an 2501 // to interrupted, and test that that state transition is detectable by an
2402 // onChanged event listener. TODO(benjhayden): Test other sources of 2502 // onChanged event listener. TODO(benjhayden): Test other sources of
2403 // interruptions such as server death. 2503 // interruptions such as server death.
2404 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest, 2504 IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
2405 DownloadExtensionTest_Download_Cancel) { 2505 DownloadExtensionTest_Download_Cancel) {
2406 LoadExtension("downloads_split"); 2506 LoadExtension("downloads_split");
(...skipping 14 matching lines...) Expand all
2421 ScopedCancellingItem canceller(item); 2521 ScopedCancellingItem canceller(item);
2422 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2522 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2423 2523
2424 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2524 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2425 base::StringPrintf( 2525 base::StringPrintf(
2426 "[{\"danger\": \"safe\"," 2526 "[{\"danger\": \"safe\","
2427 " \"incognito\": false," 2527 " \"incognito\": false,"
2428 " \"mime\": \"application/octet-stream\"," 2528 " \"mime\": \"application/octet-stream\","
2429 " \"paused\": false," 2529 " \"paused\": false,"
2430 " \"id\": %d," 2530 " \"id\": %d,"
2531 " \"finalUrl\": \"%s\","
2431 " \"url\": \"%s\"}]", 2532 " \"url\": \"%s\"}]",
2432 result_id, 2533 result_id,
2534 download_url.c_str(),
2433 download_url.c_str()))); 2535 download_url.c_str())));
2434 item->Cancel(true); 2536 item->Cancel(true);
2435 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2537 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2436 base::StringPrintf( 2538 base::StringPrintf(
2437 "[{\"id\": %d," 2539 "[{\"id\": %d,"
2438 " \"error\": {\"current\":\"USER_CANCELED\"}," 2540 " \"error\": {\"current\":\"USER_CANCELED\"},"
2439 " \"state\": {" 2541 " \"state\": {"
2440 " \"previous\": \"in_progress\"," 2542 " \"previous\": \"in_progress\","
2441 " \"current\": \"interrupted\"}}]", 2543 " \"current\": \"interrupted\"}}]",
2442 result_id))); 2544 result_id)));
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
2482 ASSERT_TRUE(item); 2584 ASSERT_TRUE(item);
2483 ScopedCancellingItem canceller(item); 2585 ScopedCancellingItem canceller(item);
2484 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2586 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2485 2587
2486 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2588 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2487 base::StringPrintf( 2589 base::StringPrintf(
2488 "[{\"danger\": \"safe\"," 2590 "[{\"danger\": \"safe\","
2489 " \"incognito\": false," 2591 " \"incognito\": false,"
2490 " \"mime\": \"text/plain\"," 2592 " \"mime\": \"text/plain\","
2491 " \"paused\": false," 2593 " \"paused\": false,"
2594 " \"finalUrl\": \"%s\","
2492 " \"url\": \"%s\"}]", 2595 " \"url\": \"%s\"}]",
2596 download_url.c_str(),
2493 download_url.c_str()))); 2597 download_url.c_str())));
2494 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2598 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
2495 base::StringPrintf( 2599 base::StringPrintf(
2496 "[{\"id\": %d," 2600 "[{\"id\": %d,"
2497 " \"filename\": {" 2601 " \"filename\": {"
2498 " \"previous\": \"\"," 2602 " \"previous\": \"\","
2499 " \"current\": \"%s\"}}]", 2603 " \"current\": \"%s\"}}]",
2500 result_id, 2604 result_id,
2501 GetFilename("on_record.txt").c_str()))); 2605 GetFilename("on_record.txt").c_str())));
2502 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName, 2606 ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
(...skipping 29 matching lines...) Expand all
2532 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2636 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2533 2637
2534 // Wait for the onCreated and onDeterminingFilename events. 2638 // Wait for the onCreated and onDeterminingFilename events.
2535 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2639 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2536 base::StringPrintf( 2640 base::StringPrintf(
2537 "[{\"danger\": \"safe\"," 2641 "[{\"danger\": \"safe\","
2538 " \"incognito\": false," 2642 " \"incognito\": false,"
2539 " \"id\": %d," 2643 " \"id\": %d,"
2540 " \"mime\": \"text/plain\"," 2644 " \"mime\": \"text/plain\","
2541 " \"paused\": false," 2645 " \"paused\": false,"
2646 " \"finalUrl\": \"%s\","
2542 " \"url\": \"%s\"}]", 2647 " \"url\": \"%s\"}]",
2543 result_id, 2648 result_id,
2649 download_url.c_str(),
2544 download_url.c_str()))); 2650 download_url.c_str())));
2545 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 2651 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
2546 base::StringPrintf( 2652 base::StringPrintf(
2547 "[{\"id\": %d," 2653 "[{\"id\": %d,"
2548 " \"filename\":\"slow.txt\"}]", 2654 " \"filename\":\"slow.txt\"}]",
2549 result_id))); 2655 result_id)));
2550 ASSERT_TRUE(item->GetTargetFilePath().empty()); 2656 ASSERT_TRUE(item->GetTargetFilePath().empty());
2551 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 2657 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2552 2658
2553 // Respond to the onDeterminingFilename. 2659 // Respond to the onDeterminingFilename.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
2604 ScopedCancellingItem canceller(item); 2710 ScopedCancellingItem canceller(item);
2605 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2711 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2606 2712
2607 // Wait for the onCreated and onDeterminingFilename events. 2713 // Wait for the onCreated and onDeterminingFilename events.
2608 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2714 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2609 base::StringPrintf("[{\"danger\": \"safe\"," 2715 base::StringPrintf("[{\"danger\": \"safe\","
2610 " \"incognito\": false," 2716 " \"incognito\": false,"
2611 " \"id\": %d," 2717 " \"id\": %d,"
2612 " \"mime\": \"text/plain\"," 2718 " \"mime\": \"text/plain\","
2613 " \"paused\": false," 2719 " \"paused\": false,"
2720 " \"finalUrl\": \"%s\","
2614 " \"url\": \"%s\"}]", 2721 " \"url\": \"%s\"}]",
2615 result_id, 2722 result_id,
2723 download_url.c_str(),
2616 download_url.c_str()))); 2724 download_url.c_str())));
2617 ASSERT_TRUE(WaitFor( 2725 ASSERT_TRUE(WaitFor(
2618 downloads::OnDeterminingFilename::kEventName, 2726 downloads::OnDeterminingFilename::kEventName,
2619 base::StringPrintf("[{\"id\": %d," 2727 base::StringPrintf("[{\"id\": %d,"
2620 " \"filename\":\"slow.txt\"}]", 2728 " \"filename\":\"slow.txt\"}]",
2621 result_id))); 2729 result_id)));
2622 ASSERT_TRUE(item->GetTargetFilePath().empty()); 2730 ASSERT_TRUE(item->GetTargetFilePath().empty());
2623 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 2731 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2624 2732
2625 // Do not respond to the onDeterminingFilename. 2733 // Do not respond to the onDeterminingFilename.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2660 ScopedCancellingItem canceller(item); 2768 ScopedCancellingItem canceller(item);
2661 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2769 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2662 2770
2663 // Wait for the onCreated and onDeterminingFilename events. 2771 // Wait for the onCreated and onDeterminingFilename events.
2664 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2772 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2665 base::StringPrintf("[{\"danger\": \"safe\"," 2773 base::StringPrintf("[{\"danger\": \"safe\","
2666 " \"incognito\": false," 2774 " \"incognito\": false,"
2667 " \"id\": %d," 2775 " \"id\": %d,"
2668 " \"mime\": \"text/plain\"," 2776 " \"mime\": \"text/plain\","
2669 " \"paused\": false," 2777 " \"paused\": false,"
2778 " \"finalUrl\": \"%s\","
2670 " \"url\": \"%s\"}]", 2779 " \"url\": \"%s\"}]",
2671 result_id, 2780 result_id,
2781 download_url.c_str(),
2672 download_url.c_str()))); 2782 download_url.c_str())));
2673 ASSERT_TRUE(WaitFor( 2783 ASSERT_TRUE(WaitFor(
2674 downloads::OnDeterminingFilename::kEventName, 2784 downloads::OnDeterminingFilename::kEventName,
2675 base::StringPrintf("[{\"id\": %d," 2785 base::StringPrintf("[{\"id\": %d,"
2676 " \"filename\":\"slow.txt\"}]", 2786 " \"filename\":\"slow.txt\"}]",
2677 result_id))); 2787 result_id)));
2678 ASSERT_TRUE(item->GetTargetFilePath().empty()); 2788 ASSERT_TRUE(item->GetTargetFilePath().empty());
2679 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 2789 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2680 2790
2681 // Respond to the onDeterminingFilename. 2791 // Respond to the onDeterminingFilename.
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
2739 ScopedCancellingItem canceller(item); 2849 ScopedCancellingItem canceller(item);
2740 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2850 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2741 2851
2742 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2852 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2743 base::StringPrintf( 2853 base::StringPrintf(
2744 "[{\"danger\": \"safe\"," 2854 "[{\"danger\": \"safe\","
2745 " \"incognito\": false," 2855 " \"incognito\": false,"
2746 " \"id\": %d," 2856 " \"id\": %d,"
2747 " \"mime\": \"text/plain\"," 2857 " \"mime\": \"text/plain\","
2748 " \"paused\": false," 2858 " \"paused\": false,"
2859 " \"finalUrl\": \"%s\","
2749 " \"url\": \"%s\"}]", 2860 " \"url\": \"%s\"}]",
2750 result_id, 2861 result_id,
2862 download_url.c_str(),
2751 download_url.c_str()))); 2863 download_url.c_str())));
2752 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 2864 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
2753 base::StringPrintf( 2865 base::StringPrintf(
2754 "[{\"id\": %d," 2866 "[{\"id\": %d,"
2755 " \"filename\":\"slow.txt\"}]", 2867 " \"filename\":\"slow.txt\"}]",
2756 result_id))); 2868 result_id)));
2757 ASSERT_TRUE(item->GetTargetFilePath().empty()); 2869 ASSERT_TRUE(item->GetTargetFilePath().empty());
2758 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 2870 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2759 2871
2760 // Respond to the onDeterminingFilename. 2872 // Respond to the onDeterminingFilename.
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2817 ScopedCancellingItem canceller(item); 2929 ScopedCancellingItem canceller(item);
2818 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2930 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2819 2931
2820 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 2932 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2821 base::StringPrintf( 2933 base::StringPrintf(
2822 "[{\"danger\": \"safe\"," 2934 "[{\"danger\": \"safe\","
2823 " \"incognito\": false," 2935 " \"incognito\": false,"
2824 " \"id\": %d," 2936 " \"id\": %d,"
2825 " \"mime\": \"text/plain\"," 2937 " \"mime\": \"text/plain\","
2826 " \"paused\": false," 2938 " \"paused\": false,"
2939 " \"finalUrl\": \"%s\","
2827 " \"url\": \"%s\"}]", 2940 " \"url\": \"%s\"}]",
2828 result_id, 2941 result_id,
2942 download_url.c_str(),
2829 download_url.c_str()))); 2943 download_url.c_str())));
2830 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 2944 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
2831 base::StringPrintf( 2945 base::StringPrintf(
2832 "[{\"id\": %d," 2946 "[{\"id\": %d,"
2833 " \"filename\":\"slow.txt\"}]", 2947 " \"filename\":\"slow.txt\"}]",
2834 result_id))); 2948 result_id)));
2835 ASSERT_TRUE(item->GetTargetFilePath().empty()); 2949 ASSERT_TRUE(item->GetTargetFilePath().empty());
2836 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 2950 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2837 2951
2838 // Respond to the onDeterminingFilename. 2952 // Respond to the onDeterminingFilename.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2883 ScopedCancellingItem canceller(item); 2997 ScopedCancellingItem canceller(item);
2884 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 2998 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2885 2999
2886 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3000 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2887 base::StringPrintf( 3001 base::StringPrintf(
2888 "[{\"danger\": \"safe\"," 3002 "[{\"danger\": \"safe\","
2889 " \"incognito\": false," 3003 " \"incognito\": false,"
2890 " \"id\": %d," 3004 " \"id\": %d,"
2891 " \"mime\": \"text/plain\"," 3005 " \"mime\": \"text/plain\","
2892 " \"paused\": false," 3006 " \"paused\": false,"
3007 " \"finalUrl\": \"%s\","
2893 " \"url\": \"%s\"}]", 3008 " \"url\": \"%s\"}]",
2894 result_id, 3009 result_id,
3010 download_url.c_str(),
2895 download_url.c_str()))); 3011 download_url.c_str())));
2896 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3012 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
2897 base::StringPrintf( 3013 base::StringPrintf(
2898 "[{\"id\": %d," 3014 "[{\"id\": %d,"
2899 " \"filename\":\"slow.txt\"}]", 3015 " \"filename\":\"slow.txt\"}]",
2900 result_id))); 3016 result_id)));
2901 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3017 ASSERT_TRUE(item->GetTargetFilePath().empty());
2902 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3018 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2903 3019
2904 // Respond to the onDeterminingFilename. 3020 // Respond to the onDeterminingFilename.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
2949 ScopedCancellingItem canceller(item); 3065 ScopedCancellingItem canceller(item);
2950 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3066 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
2951 3067
2952 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3068 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
2953 base::StringPrintf( 3069 base::StringPrintf(
2954 "[{\"danger\": \"safe\"," 3070 "[{\"danger\": \"safe\","
2955 " \"incognito\": false," 3071 " \"incognito\": false,"
2956 " \"id\": %d," 3072 " \"id\": %d,"
2957 " \"mime\": \"text/plain\"," 3073 " \"mime\": \"text/plain\","
2958 " \"paused\": false," 3074 " \"paused\": false,"
3075 " \"finalUrl\": \"%s\","
2959 " \"url\": \"%s\"}]", 3076 " \"url\": \"%s\"}]",
2960 result_id, 3077 result_id,
3078 download_url.c_str(),
2961 download_url.c_str()))); 3079 download_url.c_str())));
2962 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3080 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
2963 base::StringPrintf( 3081 base::StringPrintf(
2964 "[{\"id\": %d," 3082 "[{\"id\": %d,"
2965 " \"filename\":\"slow.txt\"}]", 3083 " \"filename\":\"slow.txt\"}]",
2966 result_id))); 3084 result_id)));
2967 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3085 ASSERT_TRUE(item->GetTargetFilePath().empty());
2968 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3086 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
2969 3087
2970 // Respond to the onDeterminingFilename. 3088 // Respond to the onDeterminingFilename.
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
3022 ScopedCancellingItem canceller(item); 3140 ScopedCancellingItem canceller(item);
3023 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3141 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3024 3142
3025 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3143 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3026 base::StringPrintf( 3144 base::StringPrintf(
3027 "[{\"danger\": \"safe\"," 3145 "[{\"danger\": \"safe\","
3028 " \"incognito\": false," 3146 " \"incognito\": false,"
3029 " \"id\": %d," 3147 " \"id\": %d,"
3030 " \"mime\": \"text/plain\"," 3148 " \"mime\": \"text/plain\","
3031 " \"paused\": false," 3149 " \"paused\": false,"
3150 " \"finalUrl\": \"%s\","
3032 " \"url\": \"%s\"}]", 3151 " \"url\": \"%s\"}]",
3033 result_id, 3152 result_id,
3153 download_url.c_str(),
3034 download_url.c_str()))); 3154 download_url.c_str())));
3035 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3155 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3036 base::StringPrintf( 3156 base::StringPrintf(
3037 "[{\"id\": %d," 3157 "[{\"id\": %d,"
3038 " \"filename\":\"slow.txt\"}]", 3158 " \"filename\":\"slow.txt\"}]",
3039 result_id))); 3159 result_id)));
3040 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3160 ASSERT_TRUE(item->GetTargetFilePath().empty());
3041 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3161 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3042 3162
3043 // Respond to the onDeterminingFilename. 3163 // Respond to the onDeterminingFilename.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
3088 ScopedCancellingItem canceller(item); 3208 ScopedCancellingItem canceller(item);
3089 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3209 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3090 3210
3091 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3211 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3092 base::StringPrintf( 3212 base::StringPrintf(
3093 "[{\"danger\": \"safe\"," 3213 "[{\"danger\": \"safe\","
3094 " \"incognito\": false," 3214 " \"incognito\": false,"
3095 " \"id\": %d," 3215 " \"id\": %d,"
3096 " \"mime\": \"text/plain\"," 3216 " \"mime\": \"text/plain\","
3097 " \"paused\": false," 3217 " \"paused\": false,"
3218 " \"finalUrl\": \"%s\","
3098 " \"url\": \"%s\"}]", 3219 " \"url\": \"%s\"}]",
3099 result_id, 3220 result_id,
3221 download_url.c_str(),
3100 download_url.c_str()))); 3222 download_url.c_str())));
3101 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3223 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3102 base::StringPrintf( 3224 base::StringPrintf(
3103 "[{\"id\": %d," 3225 "[{\"id\": %d,"
3104 " \"filename\":\"slow.txt\"}]", 3226 " \"filename\":\"slow.txt\"}]",
3105 result_id))); 3227 result_id)));
3106 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3228 ASSERT_TRUE(item->GetTargetFilePath().empty());
3107 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3229 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3108 3230
3109 // Respond to the onDeterminingFilename. 3231 // Respond to the onDeterminingFilename.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
3154 ScopedCancellingItem canceller(item); 3276 ScopedCancellingItem canceller(item);
3155 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3277 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3156 3278
3157 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3279 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3158 base::StringPrintf( 3280 base::StringPrintf(
3159 "[{\"danger\": \"safe\"," 3281 "[{\"danger\": \"safe\","
3160 " \"incognito\": false," 3282 " \"incognito\": false,"
3161 " \"id\": %d," 3283 " \"id\": %d,"
3162 " \"mime\": \"text/plain\"," 3284 " \"mime\": \"text/plain\","
3163 " \"paused\": false," 3285 " \"paused\": false,"
3286 " \"finalUrl\": \"%s\","
3164 " \"url\": \"%s\"}]", 3287 " \"url\": \"%s\"}]",
3165 result_id, 3288 result_id,
3289 download_url.c_str(),
3166 download_url.c_str()))); 3290 download_url.c_str())));
3167 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3291 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3168 base::StringPrintf( 3292 base::StringPrintf(
3169 "[{\"id\": %d," 3293 "[{\"id\": %d,"
3170 " \"filename\":\"slow.txt\"}]", 3294 " \"filename\":\"slow.txt\"}]",
3171 result_id))); 3295 result_id)));
3172 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3296 ASSERT_TRUE(item->GetTargetFilePath().empty());
3173 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3297 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3174 3298
3175 // Respond to the onDeterminingFilename. 3299 // Respond to the onDeterminingFilename.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
3220 ScopedCancellingItem canceller(item); 3344 ScopedCancellingItem canceller(item);
3221 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3345 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3222 3346
3223 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3347 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3224 base::StringPrintf( 3348 base::StringPrintf(
3225 "[{\"danger\": \"safe\"," 3349 "[{\"danger\": \"safe\","
3226 " \"incognito\": false," 3350 " \"incognito\": false,"
3227 " \"id\": %d," 3351 " \"id\": %d,"
3228 " \"mime\": \"text/plain\"," 3352 " \"mime\": \"text/plain\","
3229 " \"paused\": false," 3353 " \"paused\": false,"
3354 " \"finalUrl\": \"%s\","
3230 " \"url\": \"%s\"}]", 3355 " \"url\": \"%s\"}]",
3231 result_id, 3356 result_id,
3357 download_url.c_str(),
3232 download_url.c_str()))); 3358 download_url.c_str())));
3233 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3359 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3234 base::StringPrintf( 3360 base::StringPrintf(
3235 "[{\"id\": %d," 3361 "[{\"id\": %d,"
3236 " \"filename\":\"slow.txt\"}]", 3362 " \"filename\":\"slow.txt\"}]",
3237 result_id))); 3363 result_id)));
3238 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3364 ASSERT_TRUE(item->GetTargetFilePath().empty());
3239 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3365 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3240 3366
3241 // Respond to the onDeterminingFilename. Absolute paths should be rejected. 3367 // Respond to the onDeterminingFilename. Absolute paths should be rejected.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
3287 ScopedCancellingItem canceller(item); 3413 ScopedCancellingItem canceller(item);
3288 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3414 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3289 3415
3290 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3416 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3291 base::StringPrintf( 3417 base::StringPrintf(
3292 "[{\"danger\": \"safe\"," 3418 "[{\"danger\": \"safe\","
3293 " \"incognito\": false," 3419 " \"incognito\": false,"
3294 " \"id\": %d," 3420 " \"id\": %d,"
3295 " \"mime\": \"text/plain\"," 3421 " \"mime\": \"text/plain\","
3296 " \"paused\": false," 3422 " \"paused\": false,"
3423 " \"finalUrl\": \"%s\","
3297 " \"url\": \"%s\"}]", 3424 " \"url\": \"%s\"}]",
3298 result_id, 3425 result_id,
3426 download_url.c_str(),
3299 download_url.c_str()))); 3427 download_url.c_str())));
3300 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3428 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3301 base::StringPrintf( 3429 base::StringPrintf(
3302 "[{\"id\": %d," 3430 "[{\"id\": %d,"
3303 " \"filename\":\"slow.txt\"}]", 3431 " \"filename\":\"slow.txt\"}]",
3304 result_id))); 3432 result_id)));
3305 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3433 ASSERT_TRUE(item->GetTargetFilePath().empty());
3306 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3434 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3307 3435
3308 // Respond to the onDeterminingFilename. Empty basenames should be rejected. 3436 // Respond to the onDeterminingFilename. Empty basenames should be rejected.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
3354 ASSERT_TRUE(item); 3482 ASSERT_TRUE(item);
3355 ScopedCancellingItem canceller(item); 3483 ScopedCancellingItem canceller(item);
3356 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3484 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3357 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3485 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3358 base::StringPrintf( 3486 base::StringPrintf(
3359 "[{\"danger\": \"safe\"," 3487 "[{\"danger\": \"safe\","
3360 " \"incognito\": false," 3488 " \"incognito\": false,"
3361 " \"id\": %d," 3489 " \"id\": %d,"
3362 " \"mime\": \"text/plain\"," 3490 " \"mime\": \"text/plain\","
3363 " \"paused\": false," 3491 " \"paused\": false,"
3492 " \"finalUrl\": \"%s\","
3364 " \"url\": \"%s\"}]", 3493 " \"url\": \"%s\"}]",
3365 result_id, 3494 result_id,
3495 download_url.c_str(),
3366 download_url.c_str()))); 3496 download_url.c_str())));
3367 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3497 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3368 base::StringPrintf( 3498 base::StringPrintf(
3369 "[{\"id\": %d," 3499 "[{\"id\": %d,"
3370 " \"filename\":\"slow.txt\"}]", 3500 " \"filename\":\"slow.txt\"}]",
3371 result_id))); 3501 result_id)));
3372 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3502 ASSERT_TRUE(item->GetTargetFilePath().empty());
3373 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3503 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3374 3504
3375 // Respond to the onDeterminingFilename. 3505 // Respond to the onDeterminingFilename.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
3411 ScopedCancellingItem canceller2(item); 3541 ScopedCancellingItem canceller2(item);
3412 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3542 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3413 3543
3414 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3544 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3415 base::StringPrintf( 3545 base::StringPrintf(
3416 "[{\"danger\": \"safe\"," 3546 "[{\"danger\": \"safe\","
3417 " \"incognito\": false," 3547 " \"incognito\": false,"
3418 " \"id\": %d," 3548 " \"id\": %d,"
3419 " \"mime\": \"text/plain\"," 3549 " \"mime\": \"text/plain\","
3420 " \"paused\": false," 3550 " \"paused\": false,"
3551 " \"finalUrl\": \"%s\","
3421 " \"url\": \"%s\"}]", 3552 " \"url\": \"%s\"}]",
3422 result_id, 3553 result_id,
3554 download_url.c_str(),
3423 download_url.c_str()))); 3555 download_url.c_str())));
3424 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3556 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3425 base::StringPrintf( 3557 base::StringPrintf(
3426 "[{\"id\": %d," 3558 "[{\"id\": %d,"
3427 " \"filename\":\"slow.txt\"}]", 3559 " \"filename\":\"slow.txt\"}]",
3428 result_id))); 3560 result_id)));
3429 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3561 ASSERT_TRUE(item->GetTargetFilePath().empty());
3430 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3562 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3431 3563
3432 // Respond to the onDeterminingFilename. 3564 // Respond to the onDeterminingFilename.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3480 ASSERT_TRUE(item); 3612 ASSERT_TRUE(item);
3481 ScopedCancellingItem canceller(item); 3613 ScopedCancellingItem canceller(item);
3482 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3614 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3483 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3615 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3484 base::StringPrintf( 3616 base::StringPrintf(
3485 "[{\"danger\": \"safe\"," 3617 "[{\"danger\": \"safe\","
3486 " \"incognito\": false," 3618 " \"incognito\": false,"
3487 " \"id\": %d," 3619 " \"id\": %d,"
3488 " \"mime\": \"text/plain\"," 3620 " \"mime\": \"text/plain\","
3489 " \"paused\": false," 3621 " \"paused\": false,"
3622 " \"finalUrl\": \"%s\","
3490 " \"url\": \"%s\"}]", 3623 " \"url\": \"%s\"}]",
3491 result_id, 3624 result_id,
3625 download_url.c_str(),
3492 download_url.c_str()))); 3626 download_url.c_str())));
3493 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3627 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3494 base::StringPrintf( 3628 base::StringPrintf(
3495 "[{\"id\": %d," 3629 "[{\"id\": %d,"
3496 " \"filename\":\"slow.txt\"}]", 3630 " \"filename\":\"slow.txt\"}]",
3497 result_id))); 3631 result_id)));
3498 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3632 ASSERT_TRUE(item->GetTargetFilePath().empty());
3499 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3633 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3500 3634
3501 // Respond to the onDeterminingFilename. 3635 // Respond to the onDeterminingFilename.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
3537 ScopedCancellingItem canceller2(item); 3671 ScopedCancellingItem canceller2(item);
3538 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3672 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3539 3673
3540 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3674 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3541 base::StringPrintf( 3675 base::StringPrintf(
3542 "[{\"danger\": \"safe\"," 3676 "[{\"danger\": \"safe\","
3543 " \"incognito\": false," 3677 " \"incognito\": false,"
3544 " \"id\": %d," 3678 " \"id\": %d,"
3545 " \"mime\": \"text/plain\"," 3679 " \"mime\": \"text/plain\","
3546 " \"paused\": false," 3680 " \"paused\": false,"
3681 " \"finalUrl\": \"%s\","
3547 " \"url\": \"%s\"}]", 3682 " \"url\": \"%s\"}]",
3548 result_id, 3683 result_id,
3684 download_url.c_str(),
3549 download_url.c_str()))); 3685 download_url.c_str())));
3550 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3686 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3551 base::StringPrintf( 3687 base::StringPrintf(
3552 "[{\"id\": %d," 3688 "[{\"id\": %d,"
3553 " \"filename\":\"slow.txt\"}]", 3689 " \"filename\":\"slow.txt\"}]",
3554 result_id))); 3690 result_id)));
3555 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3691 ASSERT_TRUE(item->GetTargetFilePath().empty());
3556 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3692 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3557 3693
3558 // Respond to the onDeterminingFilename. 3694 // Respond to the onDeterminingFilename.
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
3617 ScopedCancellingItem canceller(item); 3753 ScopedCancellingItem canceller(item);
3618 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3754 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3619 3755
3620 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3756 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3621 base::StringPrintf( 3757 base::StringPrintf(
3622 "[{\"danger\": \"safe\"," 3758 "[{\"danger\": \"safe\","
3623 " \"incognito\": false," 3759 " \"incognito\": false,"
3624 " \"id\": %d," 3760 " \"id\": %d,"
3625 " \"mime\": \"text/plain\"," 3761 " \"mime\": \"text/plain\","
3626 " \"paused\": false," 3762 " \"paused\": false,"
3763 " \"finalUrl\": \"%s\","
3627 " \"url\": \"%s\"}]", 3764 " \"url\": \"%s\"}]",
3628 result_id, 3765 result_id,
3766 download_url.c_str(),
3629 download_url.c_str()))); 3767 download_url.c_str())));
3630 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3768 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3631 base::StringPrintf( 3769 base::StringPrintf(
3632 "[{\"id\": %d," 3770 "[{\"id\": %d,"
3633 " \"filename\":\"slow.txt\"}]", 3771 " \"filename\":\"slow.txt\"}]",
3634 result_id))); 3772 result_id)));
3635 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3773 ASSERT_TRUE(item->GetTargetFilePath().empty());
3636 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3774 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3637 3775
3638 // Remove a determiner while waiting for it. 3776 // Remove a determiner while waiting for it.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
3674 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3812 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3675 3813
3676 // Wait for the onCreated and onDeterminingFilename events. 3814 // Wait for the onCreated and onDeterminingFilename events.
3677 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3815 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3678 base::StringPrintf( 3816 base::StringPrintf(
3679 "[{\"danger\": \"safe\"," 3817 "[{\"danger\": \"safe\","
3680 " \"incognito\": false," 3818 " \"incognito\": false,"
3681 " \"id\": %d," 3819 " \"id\": %d,"
3682 " \"mime\": \"text/plain\"," 3820 " \"mime\": \"text/plain\","
3683 " \"paused\": false," 3821 " \"paused\": false,"
3822 " \"finalUrl\": \"%s\","
3684 " \"url\": \"%s\"}]", 3823 " \"url\": \"%s\"}]",
3685 result_id, 3824 result_id,
3825 download_url.c_str(),
3686 download_url.c_str()))); 3826 download_url.c_str())));
3687 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3827 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3688 base::StringPrintf( 3828 base::StringPrintf(
3689 "[{\"id\": %d," 3829 "[{\"id\": %d,"
3690 " \"incognito\": false," 3830 " \"incognito\": false,"
3691 " \"filename\":\"slow.txt\"}]", 3831 " \"filename\":\"slow.txt\"}]",
3692 result_id))); 3832 result_id)));
3693 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3833 ASSERT_TRUE(item->GetTargetFilePath().empty());
3694 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3834 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3695 3835
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
3735 ScopedCancellingItem canceller2(item); 3875 ScopedCancellingItem canceller2(item);
3736 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3876 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3737 3877
3738 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3878 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3739 base::StringPrintf( 3879 base::StringPrintf(
3740 "[{\"danger\": \"safe\"," 3880 "[{\"danger\": \"safe\","
3741 " \"incognito\": true," 3881 " \"incognito\": true,"
3742 " \"id\": %d," 3882 " \"id\": %d,"
3743 " \"mime\": \"text/plain\"," 3883 " \"mime\": \"text/plain\","
3744 " \"paused\": false," 3884 " \"paused\": false,"
3885 " \"finalUrl\": \"%s\","
3745 " \"url\": \"%s\"}]", 3886 " \"url\": \"%s\"}]",
3746 result_id, 3887 result_id,
3888 download_url.c_str(),
3747 download_url.c_str()))); 3889 download_url.c_str())));
3748 // On-Record renderers should not see events for off-record items. 3890 // On-Record renderers should not see events for off-record items.
3749 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3891 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3750 base::StringPrintf( 3892 base::StringPrintf(
3751 "[{\"id\": %d," 3893 "[{\"id\": %d,"
3752 " \"incognito\": true," 3894 " \"incognito\": true,"
3753 " \"filename\":\"slow.txt\"}]", 3895 " \"filename\":\"slow.txt\"}]",
3754 result_id))); 3896 result_id)));
3755 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3897 ASSERT_TRUE(item->GetTargetFilePath().empty());
3756 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3898 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
3813 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 3955 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3814 3956
3815 // Wait for the onCreated and onDeterminingFilename events. 3957 // Wait for the onCreated and onDeterminingFilename events.
3816 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 3958 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3817 base::StringPrintf( 3959 base::StringPrintf(
3818 "[{\"danger\": \"safe\"," 3960 "[{\"danger\": \"safe\","
3819 " \"incognito\": false," 3961 " \"incognito\": false,"
3820 " \"id\": %d," 3962 " \"id\": %d,"
3821 " \"mime\": \"text/plain\"," 3963 " \"mime\": \"text/plain\","
3822 " \"paused\": false," 3964 " \"paused\": false,"
3965 " \"finalUrl\": \"%s\","
3823 " \"url\": \"%s\"}]", 3966 " \"url\": \"%s\"}]",
3824 result_id, 3967 result_id,
3968 download_url.c_str(),
3825 download_url.c_str()))); 3969 download_url.c_str())));
3826 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 3970 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3827 base::StringPrintf( 3971 base::StringPrintf(
3828 "[{\"id\": %d," 3972 "[{\"id\": %d,"
3829 " \"incognito\": false," 3973 " \"incognito\": false,"
3830 " \"filename\":\"slow.txt\"}]", 3974 " \"filename\":\"slow.txt\"}]",
3831 result_id))); 3975 result_id)));
3832 ASSERT_TRUE(item->GetTargetFilePath().empty()); 3976 ASSERT_TRUE(item->GetTargetFilePath().empty());
3833 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 3977 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3834 3978
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
3874 ScopedCancellingItem canceller2(item); 4018 ScopedCancellingItem canceller2(item);
3875 ASSERT_EQ(download_url, item->GetOriginalUrl().spec()); 4019 ASSERT_EQ(download_url, item->GetOriginalUrl().spec());
3876 4020
3877 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName, 4021 ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
3878 base::StringPrintf( 4022 base::StringPrintf(
3879 "[{\"danger\": \"safe\"," 4023 "[{\"danger\": \"safe\","
3880 " \"incognito\": true," 4024 " \"incognito\": true,"
3881 " \"id\": %d," 4025 " \"id\": %d,"
3882 " \"mime\": \"text/plain\"," 4026 " \"mime\": \"text/plain\","
3883 " \"paused\": false," 4027 " \"paused\": false,"
4028 " \"finalUrl\": \"%s\","
3884 " \"url\": \"%s\"}]", 4029 " \"url\": \"%s\"}]",
3885 result_id, 4030 result_id,
4031 download_url.c_str(),
3886 download_url.c_str()))); 4032 download_url.c_str())));
3887 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName, 4033 ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
3888 base::StringPrintf( 4034 base::StringPrintf(
3889 "[{\"id\": %d," 4035 "[{\"id\": %d,"
3890 " \"incognito\": true," 4036 " \"incognito\": true,"
3891 " \"filename\":\"slow.txt\"}]", 4037 " \"filename\":\"slow.txt\"}]",
3892 result_id))); 4038 result_id)));
3893 ASSERT_TRUE(item->GetTargetFilePath().empty()); 4039 ASSERT_TRUE(item->GetTargetFilePath().empty());
3894 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState()); 4040 ASSERT_EQ(DownloadItem::IN_PROGRESS, item->GetState());
3895 4041
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
4228 EXPECT_EQ(downloads::FILENAME_CONFLICT_ACTION_PROMPT, conflict_action); 4374 EXPECT_EQ(downloads::FILENAME_CONFLICT_ACTION_PROMPT, conflict_action);
4229 EXPECT_FALSE(warnings.empty()); 4375 EXPECT_FALSE(warnings.empty());
4230 EXPECT_EQ(Warning::kDownloadFilenameConflict, 4376 EXPECT_EQ(Warning::kDownloadFilenameConflict,
4231 warnings.begin()->warning_type()); 4377 warnings.begin()->warning_type());
4232 EXPECT_EQ("incumbent", warnings.begin()->extension_id()); 4378 EXPECT_EQ("incumbent", warnings.begin()->extension_id());
4233 } 4379 }
4234 4380
4235 } // namespace extensions 4381 } // namespace extensions
4236 4382
4237 #endif // http://crbug.com/306144 4383 #endif // http://crbug.com/306144
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698