| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index c7f9a0eb92b9993838a58f96540c8f57065f679e..a6ac963e7f96640b85f9f66ed89f4021c83e3680 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -3238,7 +3238,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;
|
|
|
| @@ -3630,8 +3630,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);
|
|
|