| 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..75355b5d71640e626b2890d9bfc1898a0bbf4c59 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -377,6 +377,12 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
| new prerender::PrerenderHelper(render_frame);
|
| }
|
| }
|
| +
|
| + if (!render_frame->GetWebFrame()->parent()) {
|
| + // Only attach NetErrorHelper to the main frame, since only the main frame
|
| + // should get error pages.
|
| + new NetErrorHelper(render_frame);
|
| + }
|
| }
|
|
|
| void ChromeContentRendererClient::RenderViewCreated(
|
| @@ -405,8 +411,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 +1003,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);
|
| }
|
| }
|
|
|