| 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 8853e1e125981d554238682c2ea6f8385f44b414..d2d0b81f07a4162030fb7314d25f31ba51b6b0ba 100644
|
| --- a/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
|
| +++ b/chrome/browser/extensions/api/downloads/downloads_api_browsertest.cc
|
| @@ -1603,7 +1603,7 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
|
|
| for (size_t index = 0; index < arraysize(kUnsafeHeaders); ++index) {
|
| std::string download_url = test_server()->GetURL("slow?0").spec();
|
| - EXPECT_STREQ(errors::kInvalidHeader,
|
| + EXPECT_STREQ(errors::kInvalidHeaderUnsafe,
|
| RunFunctionAndReturnError(new DownloadsDownloadFunction(),
|
| base::StringPrintf(
|
| "[{\"url\": \"%s\","
|
| @@ -1617,6 +1617,35 @@ IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| }
|
| }
|
|
|
| +// Tests that invalid header names and values are rejected.
|
| +IN_PROC_BROWSER_TEST_F(DownloadExtensionTest,
|
| + DownloadExtensionTest_Download_InvalidHeaders) {
|
| + LoadExtension("downloads_split");
|
| + ASSERT_TRUE(StartEmbeddedTestServer());
|
| + ASSERT_TRUE(test_server()->Start());
|
| + GoOnTheRecord();
|
| + std::string download_url = test_server()->GetURL("slow?0").spec();
|
| + EXPECT_STREQ(errors::kInvalidHeaderName,
|
| + RunFunctionAndReturnError(new DownloadsDownloadFunction(),
|
| + base::StringPrintf(
|
| + "[{\"url\": \"%s\","
|
| + " \"filename\": \"unsafe-header-crlf.txt\","
|
| + " \"headers\": [{"
|
| + " \"name\": \"Header\\r\\nSec-Spoof: Hey\\r\\nX-Split:X\","
|
| + " \"value\": \"unsafe\"}]}]",
|
| + download_url.c_str())).c_str());
|
| +
|
| + EXPECT_STREQ(errors::kInvalidHeaderValue,
|
| + RunFunctionAndReturnError(new DownloadsDownloadFunction(),
|
| + base::StringPrintf(
|
| + "[{\"url\": \"%s\","
|
| + " \"filename\": \"unsafe-header-crlf.txt\","
|
| + " \"headers\": [{"
|
| + " \"name\": \"Invalid-value\","
|
| + " \"value\": \"hey\\r\\nSec-Spoof: Hey\"}]}]",
|
| + download_url.c_str())).c_str());
|
| +}
|
| +
|
| #if defined(OS_WIN)
|
| #define MAYBE_DownloadExtensionTest_Download_Subdirectory\
|
| DISABLED_DownloadExtensionTest_Download_Subdirectory
|
|
|