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

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

Issue 2381503003: PlzNav: Fix NavigationControllerBrowserTest.EnsureSamePageNavigationUpdatesFrameNaviga… (Closed)
Patch Set: update comment Created 4 years, 1 month 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
« no previous file with comments | « no previous file | testing/buildbot/filters/browser-side-navigation.linux.content_browsertests.filter » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/frame_host/navigation_controller_impl.cc
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 420e3fd1d6e77c6cd68710293df92ea490739f3b..69e9fd3862c1f9e060a9edb7e7ee75b8b06a3a98 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -1789,6 +1789,22 @@ void NavigationControllerImpl::NavigateToPendingEntry(ReloadType reload_type) {
CancelForNavigation();
}
+ // Convert Enter-in-omnibox to a reload. This is what Blink does in
+ // FrameLoader, but we want to handle it here so that if the navigation is
+ // redirected or handled purely on the browser side in PlzNavigate we have the
+ // same behaviour as Blink would. Note that we don't want to convert to a
+ // reload for history navigations, so this must be above the retrieval of the
+ // pending_entry_ below when pending_entry_index_ is used.
+ if (reload_type == ReloadType::NONE && GetLastCommittedEntry() &&
+ pending_entry_ && pending_entry_->frame_tree_node_id() == -1 &&
+ pending_entry_->GetURL() == GetLastCommittedEntry()->GetURL() &&
+ !pending_entry_->GetHasPostData() &&
+ // This check is required for Android WebView loadDataWithBaseURL.
+ GetLastCommittedEntry()->GetVirtualURL() ==
+ pending_entry_->GetVirtualURL()) {
+ reload_type = ReloadType::MAIN_RESOURCE;
+ }
+
// For session history navigations only the pending_entry_index_ is set.
if (!pending_entry_) {
CHECK_NE(pending_entry_index_, -1);
« no previous file with comments | « no previous file | testing/buildbot/filters/browser-side-navigation.linux.content_browsertests.filter » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698