Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 137463002: RenderFrame: flesh out Observer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: More fixes Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/alternate_error_tab_observer.cc ('k') | chrome/renderer/net/net_error_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698