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 6bd94ca14d58794d9d23d67e680f4f2d682f1565..9b612dd86bfeca42a177e0a175808571a91c2f97 100644 |
--- a/chrome/browser/download/save_page_browsertest.cc |
+++ b/chrome/browser/download/save_page_browsertest.cc |
@@ -1076,8 +1076,34 @@ IN_PROC_BROWSER_TEST_P(SavePageMultiFrameBrowserTest, NestedFrames) { |
TestMultiFramePage(save_page_type, url, 3, expected_substrings); |
} |
+// Test for crbug.com/106364 and crbug.com/538188. |
+// Test frames have the same uri ... |
+// subframe1 and subframe2 - both have src=b.htm |
+// subframe3 and subframe4 - about:blank (no src, only srcdoc attribute). |
+// ... but different content (generated by main frame's javascript). |
+IN_PROC_BROWSER_TEST_P(SavePageMultiFrameBrowserTest, RuntimeChanges) { |
+ content::SavePageType save_page_type = GetParam(); |
+ |
+ std::vector<std::string> expected_substrings{ |
dcheng
2015/12/02 22:43:26
Btw, using initializer lists isn't actually allowe
Łukasz Anforowicz
2015/12/02 23:23:54
:-(
Done. (replaced initializer lists with array
|
+ "frames-runtime-changes.htm: 4388232f-8d45-4d2e-9807-721b381be153", |
+ "subframe1: 21595339-61fc-4854-b6df-0668328ea263", |
+ "subframe2: adf55719-15e7-45be-9eda-d12fe782a1bd", |
+ "subframe3: 50e294bf-3a5b-499d-8772-651ead26952f", |
+ "subframe4: e0ea9289-7467-4d32-ba5c-c604e8d84cb7", |
+ }; |
+ |
+ // TODO(lukasza): crbug.com/106364: Fix complete-html mode as well. |
+ if (save_page_type == content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML) |
+ return; |
+ |
+ GURL url(embedded_test_server()->GetURL( |
+ "a.com", "/save_page/frames-runtime-changes.htm?do_runtime_changes=1")); |
+ |
+ TestMultiFramePage(save_page_type, url, 5, expected_substrings); |
+} |
+ |
INSTANTIATE_TEST_CASE_P( |
- , |
+ SaveType, |
SavePageMultiFrameBrowserTest, |
::testing::Values(content::SAVE_PAGE_TYPE_AS_COMPLETE_HTML, |
content::SAVE_PAGE_TYPE_AS_MHTML)); |