| Index: chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
|
| diff --git a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
|
| index cede2fe261628b87aafc6973b236772fad9f72ba..f5968f23f84311b9a5122b2bc11ecaae15ea8a0b 100644
|
| --- a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
|
| +++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
|
| @@ -51,6 +51,8 @@
|
| #include "extensions/browser/notification_types.h"
|
| #include "net/base/data_url.h"
|
| #include "net/test/embedded_test_server/embedded_test_server.h"
|
| +#include "net/test/embedded_test_server/http_request.h"
|
| +#include "net/test/embedded_test_server/http_response.h"
|
| #include "net/test/url_request/url_request_slow_download_job.h"
|
| #include "net/url_request/url_request.h"
|
| #include "net/url_request/url_request_context.h"
|
| @@ -801,6 +803,19 @@ downloads::InterruptReason InterruptReasonContentToExtension(
|
| return downloads::INTERRUPT_REASON_NONE;
|
| }
|
|
|
| +std::unique_ptr<net::test_server::HttpResponse> RedirectRequestHandler(
|
| + const std::string& relative_url,
|
| + const GURL& target_url,
|
| + const net::test_server::HttpRequest& request) {
|
| + std::unique_ptr<net::test_server::BasicHttpResponse> response;
|
| + if (request.relative_url == relative_url) {
|
| + response.reset(new net::test_server::BasicHttpResponse);
|
| + response->set_code(net::HTTP_FOUND);
|
| + response->AddCustomHeader("Location", target_url.spec());
|
| + }
|
| + return std::move(response);
|
| +}
|
| +
|
| } // namespace
|
|
|
| #if defined(OS_CHROMEOS)
|
| @@ -829,7 +844,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"application/octet-stream\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_item->GetURL().spec().c_str(),
|
| download_item->GetURL().spec().c_str())));
|
| open_function = new DownloadsOpenFunction();
|
| open_function->set_user_gesture(true);
|
| @@ -1518,7 +1535,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(
|
| WaitFor(downloads::OnChanged::kEventName,
|
| @@ -1536,6 +1555,59 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| result_id)));
|
| }
|
|
|
| +// Test that we can start a download that gets redirected and that the correct
|
| +// sequence of events is fired for it.
|
| +IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| + DownloadExtensionTest_Download_Redirect) {
|
| + LoadExtension("downloads_split");
|
| + ASSERT_TRUE(StartEmbeddedTestServer());
|
| + const char redirect_path[] = "/slow_redirect";
|
| + GURL download_url = embedded_test_server()->GetURL(redirect_path);
|
| + GURL download_final_url = embedded_test_server()->GetURL("/slow?0");
|
| + embedded_test_server()->RegisterRequestHandler(
|
| + base::Bind(&RedirectRequestHandler, redirect_path, download_final_url));
|
| +
|
| + GoOnTheRecord();
|
| +
|
| + // Start downloading a file.
|
| + std::unique_ptr<base::Value> result(RunFunctionAndReturnResult(
|
| + new DownloadsDownloadFunction(),
|
| + base::StringPrintf("[{\"url\": \"%s\"}]", download_url.spec().c_str())));
|
| + ASSERT_TRUE(result.get());
|
| + int result_id = -1;
|
| + ASSERT_TRUE(result->GetAsInteger(&result_id));
|
| + DownloadItem* item = GetCurrentManager()->GetDownload(result_id);
|
| + ASSERT_TRUE(item);
|
| + ScopedCancellingItem canceller(item);
|
| + ASSERT_EQ(download_url, item->GetOriginalUrl());
|
| + ASSERT_EQ(GetExtensionURL(), item->GetSiteUrl().spec());
|
| +
|
| + ASSERT_TRUE(WaitFor(downloads::OnCreated::kEventName,
|
| + base::StringPrintf(
|
| + "[{\"danger\": \"safe\","
|
| + " \"incognito\": false,"
|
| + " \"mime\": \"text/plain\","
|
| + " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| + " \"url\": \"%s\"}]",
|
| + download_final_url.spec().c_str(),
|
| + download_url.spec().c_str())));
|
| + ASSERT_TRUE(
|
| + WaitFor(downloads::OnChanged::kEventName,
|
| + base::StringPrintf("[{\"id\": %d,"
|
| + " \"filename\": {"
|
| + " \"previous\": \"\","
|
| + " \"current\": \"%s\"}}]",
|
| + result_id, GetFilename("slow.txt").c_str())));
|
| + ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| + base::StringPrintf(
|
| + "[{\"id\": %d,"
|
| + " \"state\": {"
|
| + " \"previous\": \"in_progress\","
|
| + " \"current\": \"complete\"}}]",
|
| + result_id)));
|
| +}
|
| +
|
| // Test that we can start a download from an incognito context, and that the
|
| // download knows that it's incognito.
|
| IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| @@ -1563,7 +1635,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": true,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(
|
| WaitFor(downloads::OnChanged::kEventName,
|
| @@ -1747,7 +1821,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -1882,7 +1958,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(
|
| WaitFor(downloads::OnChanged::kEventName,
|
| @@ -1925,7 +2003,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -1961,7 +2041,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2006,7 +2088,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2062,7 +2146,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/html\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2112,7 +2198,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| base::StringPrintf("[{\"danger\": \"safe\","
|
| " \"incognito\": false,"
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| }
|
|
|
| @@ -2151,7 +2239,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"application/octet-stream\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2208,7 +2298,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"fileSize\": 0.0,"
|
| " \"mime\": \"\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| }
|
|
|
| @@ -2247,7 +2339,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"bytesReceived\": 0.0,"
|
| " \"mime\": \"text/html\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2292,7 +2386,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"application/octet-stream\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2349,8 +2445,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"mime\": \"\","
|
| " \"paused\": false,"
|
| " \"id\": %d,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| }
|
|
|
| @@ -2392,8 +2490,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"mime\": \"\","
|
| " \"paused\": false,"
|
| " \"id\": %d,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| }
|
|
|
| @@ -2428,8 +2528,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"mime\": \"application/octet-stream\","
|
| " \"paused\": false,"
|
| " \"id\": %d,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| item->Cancel(true);
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| @@ -2489,7 +2591,9 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"incognito\": false,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnChanged::kEventName,
|
| base::StringPrintf(
|
| @@ -2539,8 +2643,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -2611,8 +2717,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(
|
| downloads::OnDeterminingFilename::kEventName,
|
| @@ -2667,8 +2775,10 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(
|
| downloads::OnDeterminingFilename::kEventName,
|
| @@ -2746,8 +2856,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -2824,8 +2936,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -2890,8 +3004,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -2956,8 +3072,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3029,8 +3147,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3095,8 +3215,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3161,8 +3283,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3227,8 +3351,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3294,8 +3420,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3361,8 +3489,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3418,8 +3548,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3487,8 +3619,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3544,8 +3678,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3624,8 +3760,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3681,8 +3819,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3742,8 +3882,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| // On-Record renderers should not see events for off-record items.
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| @@ -3820,8 +3962,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
| @@ -3881,8 +4025,10 @@ IN_PROC_BROWSER_TEST_F(
|
| " \"id\": %d,"
|
| " \"mime\": \"text/plain\","
|
| " \"paused\": false,"
|
| + " \"finalUrl\": \"%s\","
|
| " \"url\": \"%s\"}]",
|
| result_id,
|
| + download_url.c_str(),
|
| download_url.c_str())));
|
| ASSERT_TRUE(WaitFor(downloads::OnDeterminingFilename::kEventName,
|
| base::StringPrintf(
|
|
|