Chromium Code Reviews| 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 527eda7d6c833688a45331a6b1d1c5ee40d9771b..59a0754e5806840c8c29dfbc262e762b1e87d1b9 100644 |
| --- a/content/browser/frame_host/navigator_impl.cc |
| +++ b/content/browser/frame_host/navigator_impl.cc |
| @@ -173,6 +173,16 @@ void NavigatorImpl::DidFailProvisionalLoadWithError( |
| << ", showing_repost_interstitial: " << |
| params.showing_repost_interstitial |
| << ", frame_id: " << render_frame_host->GetRoutingID(); |
| + if (controller_->GetPendingEntry() && params.nav_entry_id != 0 && |
| + controller_->GetPendingEntry()->GetUniqueID() != params.nav_entry_id) { |
| + // If this failure is browser-initiated but isn't that of the pending entry, |
| + // ignore it. This can happen if there is an outstanding request that never |
| + // committed, and then a user makes a new request. In that case the new |
| + // request will be the pending entry, and the attempt to load the new |
| + // request will cause a failure message from the old request. |
| + return; |
|
Charlie Reis
2015/04/10 23:54:21
I'm a little surprised this didn't cause issues wi
Avi (use Gerrit)
2015/04/13 22:42:48
This was full of surprise to me, and I was kinda s
|
| + } |
| + |
| GURL validated_url(params.url); |
| RenderProcessHost* render_process_host = render_frame_host->GetProcess(); |
| render_process_host->FilterURL(false, &validated_url); |