Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1259)

Unified Diff: content/browser/frame_host/navigation_controller_impl_browsertest.cc

Issue 2584513003: PlzNavigate: identify same-page browser-initiated navigation. (Closed)
Patch Set: Adding a DCHECK to probably make a lot of tests fail. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 af3a4999865428e40593d9cde1d99fc5b55f3435..084ae088b29789d2fd57694157bf7b0ab10c0f17 100644
--- a/content/browser/frame_host/navigation_controller_impl_browsertest.cc
+++ b/content/browser/frame_host/navigation_controller_impl_browsertest.cc
@@ -2331,7 +2331,7 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest,
}
// Ensure that we don't crash when navigating subframes after in-page
-// navigations. See https://crbug.com/522193.
+// navigations. See https://crbug.com/522193.
nasko 2017/01/13 19:36:56 nit: No need for just empty space change.
arthursonzogni 2017/01/17 15:24:47 Done.
IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest,
FrameNavigationEntry_SubframeAfterInPage) {
// 1. Start on a page with a subframe.
@@ -6166,17 +6166,35 @@ IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest,
EXPECT_EQ(cross_origin_url, web_contents->GetLastCommittedURL());
EXPECT_EQ(2, web_contents->GetController().GetLastCommittedEntryIndex());
- // Wait for the back navigation to commit as well.
- history_commit_observer.Wait();
- EXPECT_EQ(start_url, web_contents->GetLastCommittedURL());
- EXPECT_EQ(0, web_contents->GetController().GetLastCommittedEntryIndex());
-
- // Verify the expected origin through JavaScript. It also has the additional
- // verification of the process also being still alive.
- std::string origin;
- EXPECT_TRUE(ExecuteScriptAndExtractString(
- web_contents, "domAutomationController.send(document.origin)", &origin));
- EXPECT_EQ(start_url.GetOrigin().spec(), origin + "/");
+ if (IsBrowserSideNavigationEnabled()) {
+ // With browser-side-navigation, the history navigation is dropped.
+ // Navigate to another URL to give the back navigation the opportunity to
+ // commit if it was not dropped.
+ GURL start_url(embedded_test_server()->GetURL("b.com", "/title1.html"));
+ EXPECT_TRUE(NavigateToURL(shell(), start_url));
+ EXPECT_EQ(3, web_contents->GetController().GetLastCommittedEntryIndex());
+ EXPECT_EQ(4, web_contents->GetController().GetEntryCount());
+
+ // Check that the renderer is still alive.
+ std::string is_alive;
+ EXPECT_TRUE(ExecuteScriptAndExtractString(
+ web_contents, "domAutomationController.send('alive')", &is_alive));
nasko 2017/01/13 19:36:56 Why not use the origin? It gives you extra informa
arthursonzogni 2017/01/17 15:24:47 Done.
+ EXPECT_EQ("alive", is_alive);
+ } else {
+ // Wait for the back navigation to commit as well.
+ history_commit_observer.Wait();
+ EXPECT_EQ(start_url, web_contents->GetLastCommittedURL());
+ EXPECT_EQ(0, web_contents->GetController().GetLastCommittedEntryIndex());
+ EXPECT_EQ(3, web_contents->GetController().GetEntryCount());
+
+ // Verify the expected origin through JavaScript. It also has the additional
+ // verification of the process also being still alive.
+ std::string origin;
+ EXPECT_TRUE(ExecuteScriptAndExtractString(
+ web_contents, "domAutomationController.send(document.origin)",
+ &origin));
+ EXPECT_EQ(start_url.GetOrigin().spec(), origin + "/");
+ }
}
// Test that verifies that Referer and Origin http headers are correctly sent

Powered by Google App Engine
This is Rietveld 408576698