| Index: content/browser/frame_host/navigation_controller_impl_browsertest.cc
|
| diff --git a/content/browser/frame_host/navigation_controller_impl_browsertest.cc b/content/browser/frame_host/navigation_controller_impl_browsertest.cc
|
| index 079902d6041b44b7db2351bb032e40ad9f45f36e..dd0d46161d8a3dfa429c5441572d868fa2b1d0f8 100644
|
| --- a/content/browser/frame_host/navigation_controller_impl_browsertest.cc
|
| +++ b/content/browser/frame_host/navigation_controller_impl_browsertest.cc
|
| @@ -3349,8 +3349,6 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest,
|
| back_load_observer.Wait();
|
| }
|
| ASSERT_EQ(1U, root->child_count());
|
| - // TODO(creis): This line is unexpectedly failing in PlzNavigate, so the test
|
| - // is disabled there for now.
|
| ASSERT_EQ(1U, root->child_at(0)->child_count());
|
| ASSERT_EQ(0U, root->child_at(0)->child_at(0)->child_count());
|
| EXPECT_EQ(main_url, root->current_url());
|
| @@ -6788,6 +6786,41 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest,
|
| }
|
| }
|
|
|
| +// Verifies that FrameNavigationEntry's srcdoc attribute is valid.
|
| +IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest,
|
| + FrameNavigationEntry_Srcdoc) {
|
| + // This test only makes sense when subframe FrameNavigationEntries are in use.
|
| + if (!SiteIsolationPolicy::UseSubframeNavigationEntries())
|
| + return;
|
| +
|
| + const NavigationControllerImpl& controller =
|
| + static_cast<const NavigationControllerImpl&>(
|
| + shell()->web_contents()->GetController());
|
| +
|
| + // Navigate to a page with two iframes, one with the srcdoc attribute and one
|
| + // without it.
|
| + GURL url(embedded_test_server()->GetURL(
|
| + "/navigation_controller/page_with_srcdoc.html"));
|
| + ASSERT_TRUE(NavigateToURL(shell(), url));
|
| +
|
| + // Check that there is two iframes.
|
| + ASSERT_EQ(1, controller.GetEntryCount());
|
| + NavigationEntryImpl* entry = controller.GetLastCommittedEntry();
|
| + ASSERT_EQ(2U, entry->root_node()->children.size());
|
| + FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents())
|
| + ->GetFrameTree()
|
| + ->root();
|
| + FrameNavigationEntry* frame_entry_1 = entry->GetFrameEntry(root->child_at(0));
|
| + FrameNavigationEntry* frame_entry_2 = entry->GetFrameEntry(root->child_at(1));
|
| +
|
| + // Check the is_srcdoc() method returns the right value.
|
| + EXPECT_EQ(frame_entry_1->is_srcdoc(), true);
|
| + EXPECT_EQ(frame_entry_2->is_srcdoc(), false);
|
| +
|
| + // Check the iframe URL has been converted from about::srcdoc to about::blank.
|
| + EXPECT_EQ(frame_entry_1->url(), GURL(url::kAboutBlankURL));
|
| +}
|
| +
|
| namespace {
|
|
|
| class RequestMonitoringNavigationBrowserTest : public ContentBrowserTest {
|
|
|