| 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 3e000ac0afb3ede2080e08cc572d53be38f01e98..3e70085d082f59f719cb9c318cb76307c48f9e73 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -376,6 +376,12 @@ void ChromeContentRendererClient::RenderFrameCreated(
|
| if (prerender::PrerenderHelper::IsPrerendering(parent_frame))
|
| 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.
|
| + new NetErrorHelper(render_frame);
|
| + }
|
| }
|
|
|
| void ChromeContentRendererClient::RenderViewCreated(
|
| @@ -404,8 +410,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) {
|
| @@ -998,7 +1002,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);
|
| }
|
| }
|
|
|