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

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

Issue 2584513003: PlzNavigate: identify same-page browser-initiated navigation. (Closed)
Patch Set: Allow renderer-initiated reloads. 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..da69e056661105beb9cf68aa0fd25dbfc7e63657 100644
--- a/content/browser/frame_host/navigation_controller_impl_browsertest.cc
+++ b/content/browser/frame_host/navigation_controller_impl_browsertest.cc
@@ -6166,17 +6166,37 @@ 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 another_url(embedded_test_server()->GetURL("b.com", "/title1.html"));
+ EXPECT_TRUE(NavigateToURL(shell(), another_url));
+ EXPECT_EQ(3, web_contents->GetController().GetLastCommittedEntryIndex());
+ EXPECT_EQ(4, 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(another_url.GetOrigin().spec(), origin + "/");
+ } 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