Chromium Code Reviews| 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 2d90ebb2f9db861d3fd425e46ce60d45039c25a8..218446898993733af3d660b34c0f4c58f3654d4f 100644 |
| --- a/content/browser/frame_host/navigation_controller_impl.cc |
| +++ b/content/browser/frame_host/navigation_controller_impl.cc |
| @@ -1782,6 +1782,25 @@ 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() && |
| + // Android uses data urls in WebViews. Skipping them here to see if |
| + // it fixes http://crbug.com/664319. Should we check for OS_ANDROID here? |
| + !pending_entry_->GetURL().SchemeIs(url::kDataScheme) && |
|
Charlie Reis
2016/12/15 22:28:09
I like the idea of keeping essentially the same fi
ananta
2016/12/16 00:42:28
Thanks. I checked with boliu. He mentioned that th
|
| + // This check is required for Android WebView loadDataWithBaseURL. |
| + GetLastCommittedEntry()->GetVirtualURL() == |
| + pending_entry_->GetVirtualURL()) { |
| + reload_type = ReloadType::NORMAL; |
| + } |
| + |
| // For session history navigations only the pending_entry_index_ is set. |
| if (!pending_entry_) { |
| CHECK_NE(pending_entry_index_, -1); |