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

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: Smash changesets together Created 6 years, 11 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 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
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->GetRenderView()->GetMainRenderFrame() == render_frame) {
382 // Only attach NetErrorHelper to the main frame, since only the main frame
383 // should get error pages.
384 // TODO(ellyjones): when RenderFrame is 1:1 with WebFrame, change this
385 // condition to if (!render_frame()->GetWebFrame()->parent())
386 new NetErrorHelper(render_frame);
387 }
380 } 388 }
381 389
382 void ChromeContentRendererClient::RenderViewCreated( 390 void ChromeContentRendererClient::RenderViewCreated(
383 content::RenderView* render_view) { 391 content::RenderView* render_view) {
384 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); 392 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get());
385 new PageLoadHistograms(render_view); 393 new PageLoadHistograms(render_view);
386 #if defined(ENABLE_PRINTING) 394 #if defined(ENABLE_PRINTING)
387 new printing::PrintWebViewHelper(render_view); 395 new printing::PrintWebViewHelper(render_view);
388 #endif 396 #endif
389 #if defined(ENABLE_SPELLCHECK) 397 #if defined(ENABLE_SPELLCHECK)
390 new SpellCheckProvider(render_view, spellcheck_.get()); 398 new SpellCheckProvider(render_view, spellcheck_.get());
391 #endif 399 #endif
392 new prerender::PrerendererClient(render_view); 400 new prerender::PrerendererClient(render_view);
393 #if defined(FULL_SAFE_BROWSING) 401 #if defined(FULL_SAFE_BROWSING)
394 safe_browsing::MalwareDOMDetails::Create(render_view); 402 safe_browsing::MalwareDOMDetails::Create(render_view);
395 #endif 403 #endif
396 404
397 PasswordAutofillAgent* password_autofill_agent = 405 PasswordAutofillAgent* password_autofill_agent =
398 new PasswordAutofillAgent(render_view); 406 new PasswordAutofillAgent(render_view);
399 new AutofillAgent(render_view, password_autofill_agent); 407 new AutofillAgent(render_view, password_autofill_agent);
400 408
401 CommandLine* command_line = CommandLine::ForCurrentProcess(); 409 CommandLine* command_line = CommandLine::ForCurrentProcess();
402 if (autofill::password_generation::IsPasswordGenerationEnabled()) 410 if (autofill::password_generation::IsPasswordGenerationEnabled())
403 new PasswordGenerationAgent(render_view); 411 new PasswordGenerationAgent(render_view);
404 if (command_line->HasSwitch(switches::kInstantProcess)) 412 if (command_line->HasSwitch(switches::kInstantProcess))
405 new SearchBox(render_view); 413 new SearchBox(render_view);
406 414
407 new ChromeRenderViewObserver(render_view, chrome_observer_.get()); 415 new ChromeRenderViewObserver(render_view, chrome_observer_.get());
408
409 new NetErrorHelper(render_view);
410 } 416 }
411 417
412 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { 418 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) {
413 base::debug::SetCrashKeyValue(crash_keys::kNumberOfViews, 419 base::debug::SetCrashKeyValue(crash_keys::kNumberOfViews,
414 base::IntToString(number_of_views)); 420 base::IntToString(number_of_views));
415 } 421 }
416 422
417 SkBitmap* ChromeContentRendererClient::GetSadPluginBitmap() { 423 SkBitmap* ChromeContentRendererClient::GetSadPluginBitmap() {
418 return const_cast<SkBitmap*>(ResourceBundle::GetSharedInstance(). 424 return const_cast<SkBitmap*>(ResourceBundle::GetSharedInstance().
419 GetImageNamed(IDR_SAD_PLUGIN).ToSkBitmap()); 425 GetImageNamed(IDR_SAD_PLUGIN).ToSkBitmap());
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 NOTREACHED() << "unable to load template. ID: " << resource_id; 998 NOTREACHED() << "unable to load template. ID: " << resource_id;
993 } else { 999 } else {
994 base::DictionaryValue error_strings; 1000 base::DictionaryValue error_strings;
995 LocalizedError::GetAppErrorStrings(failed_url, extension, 1001 LocalizedError::GetAppErrorStrings(failed_url, extension,
996 &error_strings); 1002 &error_strings);
997 // "t" is the id of the template's root node. 1003 // "t" is the id of the template's root node.
998 *error_html = webui::GetTemplatesHtml(template_html, &error_strings, 1004 *error_html = webui::GetTemplatesHtml(template_html, &error_strings,
999 "t"); 1005 "t");
1000 } 1006 }
1001 } else { 1007 } else {
1002 NetErrorHelper* helper = NetErrorHelper::Get(render_view); 1008 // TODO(ellyjones): change GetNavigationErrorStrings to take a RenderFrame
1009 // instead of a RenderView, then pass that in.
1010 // This is safe for now because we only install the NetErrorHelper on the
1011 // main render frame anyway; see the TODO(ellyjones) in
1012 // RenderFrameCreated.
1013 content::RenderFrame* main_render_frame =
1014 render_view->GetMainRenderFrame();
1015 NetErrorHelper* helper = NetErrorHelper::Get(main_render_frame);
1003 helper->GetErrorHTML(frame, error, is_post, error_html); 1016 helper->GetErrorHTML(frame, error, is_post, error_html);
1004 } 1017 }
1005 } 1018 }
1006 1019
1007 if (error_description) { 1020 if (error_description) {
1008 if (!extension) 1021 if (!extension)
1009 *error_description = LocalizedError::GetErrorDetails(error, is_post); 1022 *error_description = LocalizedError::GetErrorDetails(error, is_post);
1010 } 1023 }
1011 } 1024 }
1012 1025
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
1391 CommandLine* command_line = CommandLine::ForCurrentProcess(); 1404 CommandLine* command_line = CommandLine::ForCurrentProcess();
1392 return !command_line->HasSwitch(switches::kExtensionProcess); 1405 return !command_line->HasSwitch(switches::kExtensionProcess);
1393 } 1406 }
1394 1407
1395 blink::WebWorkerPermissionClientProxy* 1408 blink::WebWorkerPermissionClientProxy*
1396 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( 1409 ChromeContentRendererClient::CreateWorkerPermissionClientProxy(
1397 content::RenderFrame* render_frame, 1410 content::RenderFrame* render_frame,
1398 blink::WebFrame* frame) { 1411 blink::WebFrame* frame) {
1399 return new WorkerPermissionClientProxy(render_frame, frame); 1412 return new WorkerPermissionClientProxy(render_frame, frame);
1400 } 1413 }
OLDNEW
« no previous file with comments | « no previous file | chrome/renderer/net/net_error_helper.h » ('j') | content/public/renderer/render_frame_observer.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698