| Index: chrome/browser/download/save_page_browsertest.cc
|
| diff --git a/chrome/browser/download/save_page_browsertest.cc b/chrome/browser/download/save_page_browsertest.cc
|
| index 5f9c24c25501016ad7d766ad32f6d870406e54ff..b331969e10f96cfaae4a08b1f9b8b1fcea5cebb6 100644
|
| --- a/chrome/browser/download/save_page_browsertest.cc
|
| +++ b/chrome/browser/download/save_page_browsertest.cc
|
| @@ -776,6 +776,27 @@ IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SavePageBrowserTest_NonMHTML) {
|
| EXPECT_EQ("foo", contents);
|
| }
|
|
|
| +// Test that we don't crash when the page contains an iframe that
|
| +// was handled as a download (http://crbug.com/42212).
|
| +IN_PROC_BROWSER_TEST_F(SavePageBrowserTest, SaveDownloadableIFrame) {
|
| + GURL url = URLRequestMockHTTPJob::GetMockUrl(
|
| + base::FilePath(FILE_PATH_LITERAL("downloads"))
|
| + .AppendASCII("iframe-src-is-a-download.htm"));
|
| + ui_test_utils::NavigateToURL(browser(), url);
|
| +
|
| + // Wait for and then dismiss the non-save-page-as-related download item
|
| + // (the one associated with downloading of "thisdayinhistory.xls" file).
|
| + VerifySavePackageExpectations(browser(), url);
|
| + GetDownloadManager()->RemoveAllDownloads();
|
| +
|
| + base::FilePath full_file_name, dir;
|
| + SaveCurrentTab(url, content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML,
|
| + "iframe-src-is-a-download", 2, &dir, &full_file_name);
|
| + ASSERT_FALSE(HasFailure());
|
| +
|
| + EXPECT_TRUE(base::PathExists(full_file_name));
|
| +}
|
| +
|
| class SavePageSitePerProcessBrowserTest : public SavePageBrowserTest {
|
| public:
|
| SavePageSitePerProcessBrowserTest() {}
|
|
|