Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index 870b7a343ea0929f3c26459f7398182068edf139..b4bfe6117627e10766053e6c55ca9275c197758d 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -351,6 +351,9 @@ void ChromeContentRendererClient::RenderThreadStarted() { |
WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
extension_resource_scheme); |
+ auto_reload_enabled_ = |
+ command_line->HasSwitch(switches::kEnableOfflineAutoReload); |
+ |
extensions::ExtensionsClient::Set( |
extensions::ChromeExtensionsClient::GetInstance()); |
} |
@@ -386,7 +389,8 @@ void ChromeContentRendererClient::RenderFrameCreated( |
if (render_frame->GetRenderView()->GetMainRenderFrame() == render_frame) { |
// Only attach NetErrorHelper to the main frame, since only the main frame |
// should get error pages. |
- new NetErrorHelper(render_frame); |
+ main_frame_net_error_helper_ = new NetErrorHelper(render_frame, |
+ auto_reload_enabled_); |
} |
} |
@@ -968,6 +972,9 @@ bool ChromeContentRendererClient::HasErrorPage(int http_status_code, |
bool ChromeContentRendererClient::ShouldSuppressErrorPage( |
content::RenderFrame* render_frame, |
const GURL& url) { |
+ if (render_frame->GetRenderView()->GetMainRenderFrame() == render_frame |
+ && main_frame_net_error_helper_->ShouldSuppressErrorPage(url)) |
+ return true; |
// Do not flash an error page if the Instant new tab page fails to load. |
return search_bouncer_.get() && search_bouncer_->IsNewTabPage(url); |
} |