Chromium Code Reviews| 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()) |
|
jam
2014/01/16 16:17:23
note: this landed yesterday, so you can now do thi
|
| + 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); |
|
nasko
2014/01/14 19:22:15
helper will be NULL for subframes, so you need to
|
| helper->GetErrorHTML(frame, error, is_post, error_html); |
| } |
| } |