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 85147fc722557e130a9049b9df029300620f0b7d..bfaa578f2c0f37ed3314ae83f62b9ad4f90bc4a0 100644 |
--- a/chrome/browser/download/save_page_browsertest.cc |
+++ b/chrome/browser/download/save_page_browsertest.cc |
@@ -1063,8 +1063,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{ |
+ "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)); |