| 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 5981a342a3b3a13f687c25d78d6881aa79fee872..fb0579bba8e48fddb2c5b2fa99f70c6be041a831 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -377,6 +377,14 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
| new prerender::PrerenderHelper(render_frame);
|
| }
|
| }
|
| +
|
| + if (render_frame->GetRenderView()->GetMainRenderFrame() == render_frame) {
|
| + // Only attach NetErrorHelper to the main frame, since only the main frame
|
| + // should get error pages.
|
| + // TODO(ellyjones): when RenderFrame is 1:1 with WebFrame, change this
|
| + // condition to if (!render_frame()->GetWebFrame()->parent())
|
| + new NetErrorHelper(render_frame);
|
| + }
|
| }
|
|
|
| void ChromeContentRendererClient::RenderViewCreated(
|
| @@ -405,8 +413,6 @@ void ChromeContentRendererClient::RenderViewCreated(
|
| new SearchBox(render_view);
|
|
|
| new ChromeRenderViewObserver(render_view, chrome_observer_.get());
|
| -
|
| - new NetErrorHelper(render_view);
|
| }
|
|
|
| void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) {
|
| @@ -999,7 +1005,14 @@ void ChromeContentRendererClient::GetNavigationErrorStrings(
|
| "t");
|
| }
|
| } else {
|
| - NetErrorHelper* helper = NetErrorHelper::Get(render_view);
|
| + // TODO(ellyjones): change GetNavigationErrorStrings to take a RenderFrame
|
| + // instead of a RenderView, then pass that in.
|
| + // This is safe for now because we only install the NetErrorHelper on the
|
| + // main render frame anyway; see the TODO(ellyjones) in
|
| + // RenderFrameCreated.
|
| + content::RenderFrame* main_render_frame =
|
| + render_view->GetMainRenderFrame();
|
| + NetErrorHelper* helper = NetErrorHelper::Get(main_render_frame);
|
| helper->GetErrorHTML(frame, error, is_post, error_html);
|
| }
|
| }
|
|
|