| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index 6827468ee7e9f251932b47b4b3dd4591ccf714e8..a8bf80dac0a8f9d96099442c34385c7f44fef4ad 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -3249,7 +3249,7 @@ WebNavigationPolicy RenderViewImpl::decidePolicyForNavigation(
|
| // browser process, and issue a special POST navigation in WebKit (via
|
| // FrameLoader::loadFrameRequest). See ResourceDispatcher and WebURLLoaderImpl
|
| // for examples of how to send the httpBody data.
|
| - if (!frame->parent() && is_content_initiated &&
|
| + if (!frame->parent() && (is_content_initiated || is_redirect) &&
|
| !url.SchemeIs(chrome::kAboutScheme)) {
|
| bool send_referrer = false;
|
|
|
| @@ -3641,8 +3641,16 @@ void RenderViewImpl::didFailProvisionalLoad(WebFrame* frame,
|
| return;
|
| }
|
|
|
| - if (RenderThreadImpl::current()->layout_test_mode())
|
| + // Allow the embedder to suppress an error page.
|
| + if (GetContentClient()->renderer()->ShouldSuppressErrorPage(
|
| + error.unreachableURL)) {
|
| return;
|
| + }
|
| +
|
| + if (RenderThreadImpl::current() &&
|
| + RenderThreadImpl::current()->layout_test_mode()) {
|
| + return;
|
| + }
|
|
|
| // Make sure we never show errors in view source mode.
|
| frame->enableViewSourceMode(false);
|
|
|