| Index: chrome/browser/download/download_browsertest.cc
|
| diff --git a/chrome/browser/download/download_browsertest.cc b/chrome/browser/download/download_browsertest.cc
|
| index a85588646eac1bf7c81cd56087a61af2f7a6e5d6..26262c00ceb47d7d445a78250c290bf262c74e69 100644
|
| --- a/chrome/browser/download/download_browsertest.cc
|
| +++ b/chrome/browser/download/download_browsertest.cc
|
| @@ -203,6 +203,13 @@ bool WasAutoOpened(DownloadItem* item) {
|
| return item->GetAutoOpened();
|
| }
|
|
|
| +// Called when a download starts. Marks the download as hidden.
|
| +void SetHiddenDownloadCallback(scoped_refptr<DownloadManager> download_manager,
|
| + DownloadItem* item,
|
| + net::Error error) {
|
| + download_util::SetShouldShowInShelf(item, false);
|
| +}
|
| +
|
| } // namespace
|
|
|
| // While an object of this class exists, it will mock out download
|
| @@ -2244,3 +2251,30 @@ IN_PROC_BROWSER_TEST_F(DownloadTest, LoadURLExternallyReferrerPolicy) {
|
| std::string expected_contents = test_server()->GetURL("").spec();
|
| ASSERT_TRUE(VerifyFile(file, expected_contents, expected_contents.length()));
|
| }
|
| +
|
| +IN_PROC_BROWSER_TEST_F(DownloadTest, HiddenDownload) {
|
| + FilePath file(FILE_PATH_LITERAL("download-test1.lib"));
|
| + GURL url(URLRequestMockHTTPJob::GetMockUrl(file));
|
| +
|
| + scoped_refptr<DownloadManager> download_manager =
|
| + DownloadManagerForBrowser(browser());
|
| + scoped_ptr<content::DownloadTestObserver> observer(
|
| + new content::DownloadTestObserverTerminal(
|
| + download_manager,
|
| + 1,
|
| + content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_FAIL));
|
| + content::DownloadSaveInfo save_info;
|
| + save_info.prompt_for_save_location = false;
|
| +
|
| + // Download and set IsHiddenDownload to true.
|
| + WebContents* web_contents = chrome::GetActiveWebContents(browser());
|
| + scoped_ptr<DownloadUrlParameters> params(
|
| + DownloadUrlParameters::FromWebContents(web_contents, url, save_info));
|
| + params->set_callback(
|
| + base::Bind(&SetHiddenDownloadCallback, download_manager));
|
| + download_manager->DownloadUrl(params.Pass());
|
| + observer->WaitForFinished();
|
| +
|
| + // Verify that download shelf is not shown.
|
| + EXPECT_FALSE(browser()->window()->IsDownloadShelfVisible());
|
| +}
|
|
|