| Index: content/browser/tab_contents/navigation_controller.cc
|
| diff --git a/content/browser/tab_contents/navigation_controller.cc b/content/browser/tab_contents/navigation_controller.cc
|
| index c5c4e25c2e3d3d30c5e4d1d4fa7330c94f23dafa..acefc38c0085e5c6cb3471bfc6a56e3d435b0132 100644
|
| --- a/content/browser/tab_contents/navigation_controller.cc
|
| +++ b/content/browser/tab_contents/navigation_controller.cc
|
| @@ -641,14 +641,15 @@ NavigationType::Type NavigationController::ClassifyNavigation(
|
| // Anything below here we know is a main frame navigation.
|
| if (pending_entry_ &&
|
| existing_entry != pending_entry_ &&
|
| - pending_entry_->page_id() == -1) {
|
| + pending_entry_->page_id() == -1 &&
|
| + existing_entry == GetLastCommittedEntry()) {
|
| // In this case, we have a pending entry for a URL but WebCore didn't do a
|
| // new navigation. This happens when you press enter in the URL bar to
|
| // reload. We will create a pending entry, but WebKit will convert it to
|
| // a reload since it's the same page and not create a new entry for it
|
| // (the user doesn't want to have a new back/forward entry when they do
|
| - // this). In this case, we want to just ignore the pending entry and go
|
| - // back to where we were (the "existing entry").
|
| + // this). If this matches the last committed entry, we want to just ignore
|
| + // the pending entry and go back to where we were (the "existing entry").
|
| return NavigationType::SAME_PAGE;
|
| }
|
|
|
|
|