Chromium Code Reviews| 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 df0abf17426c08bb1ce88778bc4da654ebc9f901..76f6130f347d8b626419f97e7ce94b8e96c665cd 100644 |
| --- a/content/browser/frame_host/navigation_controller_impl_browsertest.cc |
| +++ b/content/browser/frame_host/navigation_controller_impl_browsertest.cc |
| @@ -297,10 +297,9 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest, |
| NavigateToURL(shell(), js_url); |
| EXPECT_EQ(2, controller.GetEntryCount()); |
| NavigationEntryImpl* entry = controller.GetLastCommittedEntry(); |
| - // TODO(boliu): These expectations maybe incorrect due to crbug.com/561034. |
|
Charlie Reis
2016/07/26 14:53:15
boliu@: These were fixed by cloning the last commi
|
| - EXPECT_TRUE(entry->GetBaseURLForDataURL().is_empty()); |
| - EXPECT_TRUE(entry->GetHistoryURLForDataURL().is_empty()); |
| - EXPECT_EQ(data_url, entry->GetVirtualURL()); |
| + EXPECT_EQ(base_url, entry->GetBaseURLForDataURL()); |
| + EXPECT_EQ(history_url, entry->GetVirtualURL()); |
| + EXPECT_EQ(history_url, entry->GetVirtualURL()); |
|
boliu
2016/07/26 15:17:27
this is repeated twice?
Charlie Reis
2016/07/26 15:30:46
Oops, that was supposed to be GetHistoryURLForData
|
| EXPECT_EQ(data_url, entry->GetURL()); |
| // Passes if renderer is still alive. |
| @@ -2375,6 +2374,9 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest, |
| GURL main_url(embedded_test_server()->GetURL( |
| "/navigation_controller/page_with_iframe.html")); |
| NavigateToURL(shell(), main_url); |
| + const NavigationControllerImpl& controller = |
| + static_cast<const NavigationControllerImpl&>( |
| + shell()->web_contents()->GetController()); |
| FrameTreeNode* root = |
| static_cast<WebContentsImpl*>(shell()->web_contents())-> |
| GetFrameTree()->root(); |
| @@ -2399,7 +2401,17 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest, |
| EXPECT_TRUE(ExecuteScript(root, push_script)); |
| EXPECT_TRUE(WaitForLoadStop(shell()->web_contents())); |
| - // TODO(creis): Verify subframe entries. https://crbug.com/522193. |
| + // Verify subframe entries if they're enabled (e.g. in --site-per-process). |
| + NavigationEntryImpl* entry = controller.GetLastCommittedEntry(); |
| + if (SiteIsolationPolicy::UseSubframeNavigationEntries()) { |
| + // The entry should have a FrameNavigationEntry for the subframe. |
| + ASSERT_EQ(1U, entry->root_node()->children.size()); |
| + EXPECT_EQ(subframe_url, |
| + entry->root_node()->children[0]->frame_entry->url()); |
| + } else { |
| + // There are no subframe FrameNavigationEntries by default. |
| + EXPECT_EQ(0U, entry->root_node()->children.size()); |
| + } |
| // 3. Add a nested subframe. |
| { |
| @@ -2413,7 +2425,20 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest, |
| capturer.transition_type(), ui::PAGE_TRANSITION_AUTO_SUBFRAME)); |
| } |
| - // TODO(creis): Verify subframe entries. https://crbug.com/522193. |
| + // Verify subframe entries if they're enabled (e.g. in --site-per-process). |
| + entry = controller.GetLastCommittedEntry(); |
| + if (SiteIsolationPolicy::UseSubframeNavigationEntries()) { |
| + // The entry should have a FrameNavigationEntry for the subframe. |
| + ASSERT_EQ(1U, entry->root_node()->children.size()); |
| + EXPECT_EQ(subframe_url, |
| + entry->root_node()->children[0]->frame_entry->url()); |
| + ASSERT_EQ(1U, entry->root_node()->children[0]->children.size()); |
| + EXPECT_EQ(subframe_url, |
| + entry->root_node()->children[0]->children[0]->frame_entry->url()); |
| + } else { |
| + // There are no subframe FrameNavigationEntries by default. |
| + EXPECT_EQ(0U, entry->root_node()->children.size()); |
| + } |
| } |
| // Verify the tree of FrameNavigationEntries after back/forward navigations in a |