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