| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/renderer/chrome_content_renderer_client.h" | 5 #include "chrome/renderer/chrome_content_renderer_client.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/debug/crash_logging.h" | 8 #include "base/debug/crash_logging.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 // TODO(jam): when a RenderFrame is per WebFrame, this can be simplified by | 370 // TODO(jam): when a RenderFrame is per WebFrame, this can be simplified by |
| 371 // getting a RenderFrame's WebFrame and calling its parent() method. | 371 // getting a RenderFrame's WebFrame and calling its parent() method. |
| 372 if (render_frame->GetRenderView()->GetMainRenderFrame() != render_frame) { | 372 if (render_frame->GetRenderView()->GetMainRenderFrame() != render_frame) { |
| 373 // Avoid any race conditions from having the browser tell subframes that | 373 // Avoid any race conditions from having the browser tell subframes that |
| 374 // they're prerendering. | 374 // they're prerendering. |
| 375 if (prerender::PrerenderHelper::IsPrerendering( | 375 if (prerender::PrerenderHelper::IsPrerendering( |
| 376 render_frame->GetRenderView()->GetMainRenderFrame())) { | 376 render_frame->GetRenderView()->GetMainRenderFrame())) { |
| 377 new prerender::PrerenderHelper(render_frame); | 377 new prerender::PrerenderHelper(render_frame); |
| 378 } | 378 } |
| 379 } | 379 } |
| 380 |
| 381 if (!render_frame->GetWebFrame()->parent()) { |
| 382 // Only attach NetErrorHelper to the main frame, since only the main frame |
| 383 // should get error pages. |
| 384 new NetErrorHelper(render_frame); |
| 385 } |
| 380 } | 386 } |
| 381 | 387 |
| 382 void ChromeContentRendererClient::RenderViewCreated( | 388 void ChromeContentRendererClient::RenderViewCreated( |
| 383 content::RenderView* render_view) { | 389 content::RenderView* render_view) { |
| 384 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); | 390 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); |
| 385 new PageLoadHistograms(render_view); | 391 new PageLoadHistograms(render_view); |
| 386 #if defined(ENABLE_PRINTING) | 392 #if defined(ENABLE_PRINTING) |
| 387 new printing::PrintWebViewHelper(render_view); | 393 new printing::PrintWebViewHelper(render_view); |
| 388 #endif | 394 #endif |
| 389 #if defined(ENABLE_SPELLCHECK) | 395 #if defined(ENABLE_SPELLCHECK) |
| 390 new SpellCheckProvider(render_view, spellcheck_.get()); | 396 new SpellCheckProvider(render_view, spellcheck_.get()); |
| 391 #endif | 397 #endif |
| 392 new prerender::PrerendererClient(render_view); | 398 new prerender::PrerendererClient(render_view); |
| 393 #if defined(FULL_SAFE_BROWSING) | 399 #if defined(FULL_SAFE_BROWSING) |
| 394 safe_browsing::MalwareDOMDetails::Create(render_view); | 400 safe_browsing::MalwareDOMDetails::Create(render_view); |
| 395 #endif | 401 #endif |
| 396 | 402 |
| 397 PasswordAutofillAgent* password_autofill_agent = | 403 PasswordAutofillAgent* password_autofill_agent = |
| 398 new PasswordAutofillAgent(render_view); | 404 new PasswordAutofillAgent(render_view); |
| 399 new AutofillAgent(render_view, password_autofill_agent); | 405 new AutofillAgent(render_view, password_autofill_agent); |
| 400 | 406 |
| 401 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 407 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 402 if (autofill::password_generation::IsPasswordGenerationEnabled()) | 408 if (autofill::password_generation::IsPasswordGenerationEnabled()) |
| 403 new PasswordGenerationAgent(render_view); | 409 new PasswordGenerationAgent(render_view); |
| 404 if (command_line->HasSwitch(switches::kInstantProcess)) | 410 if (command_line->HasSwitch(switches::kInstantProcess)) |
| 405 new SearchBox(render_view); | 411 new SearchBox(render_view); |
| 406 | 412 |
| 407 new ChromeRenderViewObserver(render_view, chrome_observer_.get()); | 413 new ChromeRenderViewObserver(render_view, chrome_observer_.get()); |
| 408 | |
| 409 new NetErrorHelper(render_view); | |
| 410 } | 414 } |
| 411 | 415 |
| 412 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { | 416 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { |
| 413 base::debug::SetCrashKeyValue(crash_keys::kNumberOfViews, | 417 base::debug::SetCrashKeyValue(crash_keys::kNumberOfViews, |
| 414 base::IntToString(number_of_views)); | 418 base::IntToString(number_of_views)); |
| 415 } | 419 } |
| 416 | 420 |
| 417 SkBitmap* ChromeContentRendererClient::GetSadPluginBitmap() { | 421 SkBitmap* ChromeContentRendererClient::GetSadPluginBitmap() { |
| 418 return const_cast<SkBitmap*>(ResourceBundle::GetSharedInstance(). | 422 return const_cast<SkBitmap*>(ResourceBundle::GetSharedInstance(). |
| 419 GetImageNamed(IDR_SAD_PLUGIN).ToSkBitmap()); | 423 GetImageNamed(IDR_SAD_PLUGIN).ToSkBitmap()); |
| (...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 992 NOTREACHED() << "unable to load template. ID: " << resource_id; | 996 NOTREACHED() << "unable to load template. ID: " << resource_id; |
| 993 } else { | 997 } else { |
| 994 base::DictionaryValue error_strings; | 998 base::DictionaryValue error_strings; |
| 995 LocalizedError::GetAppErrorStrings(failed_url, extension, | 999 LocalizedError::GetAppErrorStrings(failed_url, extension, |
| 996 &error_strings); | 1000 &error_strings); |
| 997 // "t" is the id of the template's root node. | 1001 // "t" is the id of the template's root node. |
| 998 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, | 1002 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, |
| 999 "t"); | 1003 "t"); |
| 1000 } | 1004 } |
| 1001 } else { | 1005 } else { |
| 1002 NetErrorHelper* helper = NetErrorHelper::Get(render_view); | 1006 // TODO(ellyjones): change GetNavigationErrorStrings to take a RenderFrame |
| 1007 // instead of a RenderView, then pass that in. |
| 1008 // This is safe for now because we only install the NetErrorHelper on the |
| 1009 // main render frame anyway; see the TODO(ellyjones) in |
| 1010 // RenderFrameCreated. |
| 1011 content::RenderFrame* main_render_frame = |
| 1012 render_view->GetMainRenderFrame(); |
| 1013 NetErrorHelper* helper = NetErrorHelper::Get(main_render_frame); |
| 1003 helper->GetErrorHTML(frame, error, is_post, error_html); | 1014 helper->GetErrorHTML(frame, error, is_post, error_html); |
| 1004 } | 1015 } |
| 1005 } | 1016 } |
| 1006 | 1017 |
| 1007 if (error_description) { | 1018 if (error_description) { |
| 1008 if (!extension) | 1019 if (!extension) |
| 1009 *error_description = LocalizedError::GetErrorDetails(error, is_post); | 1020 *error_description = LocalizedError::GetErrorDetails(error, is_post); |
| 1010 } | 1021 } |
| 1011 } | 1022 } |
| 1012 | 1023 |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1391 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 1402 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 1392 return !command_line->HasSwitch(switches::kExtensionProcess); | 1403 return !command_line->HasSwitch(switches::kExtensionProcess); |
| 1393 } | 1404 } |
| 1394 | 1405 |
| 1395 blink::WebWorkerPermissionClientProxy* | 1406 blink::WebWorkerPermissionClientProxy* |
| 1396 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( | 1407 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( |
| 1397 content::RenderFrame* render_frame, | 1408 content::RenderFrame* render_frame, |
| 1398 blink::WebFrame* frame) { | 1409 blink::WebFrame* frame) { |
| 1399 return new WorkerPermissionClientProxy(render_frame, frame); | 1410 return new WorkerPermissionClientProxy(render_frame, frame); |
| 1400 } | 1411 } |
| OLD | NEW |