| Index: content/browser/frame_host/navigator_impl.cc
|
| diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc
|
| index 755178be9cc0210776f06636a7eb7406c4c7c672..35ee34045fe2e103feba01397def76930c1c261f 100644
|
| --- a/content/browser/frame_host/navigator_impl.cc
|
| +++ b/content/browser/frame_host/navigator_impl.cc
|
| @@ -1024,7 +1024,12 @@ void NavigatorImpl::DidStartMainFrameNavigation(
|
| NavigationEntryImpl* pending_entry = controller_->GetPendingEntry();
|
| bool has_browser_initiated_pending_entry =
|
| pending_entry && !pending_entry->is_renderer_initiated();
|
| - if (!has_browser_initiated_pending_entry) {
|
| +
|
| + // If there is a transient entry, creating a new pending entry will result
|
| + // in deleting it, which leads to inconsistent state.
|
| + bool has_transient_entry = !!controller_->GetTransientEntry();
|
| +
|
| + if (!has_browser_initiated_pending_entry && !has_transient_entry) {
|
| scoped_ptr<NavigationEntryImpl> entry =
|
| NavigationEntryImpl::FromNavigationEntry(
|
| controller_->CreateNavigationEntry(
|
|
|