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

Side by Side Diff: content/browser/web_contents/render_view_host_manager.cc

Issue 10377158: Move keyboard related methods from RenderViewHostDelegate to a new RenderWidgetHostDelegate (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove crbug link Created 8 years, 7 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 | Annotate | Revision Log
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 "content/browser/web_contents/render_view_host_manager.h" 5 #include "content/browser/web_contents/render_view_host_manager.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 21 matching lines...) Expand all
32 using content::NavigationEntryImpl; 32 using content::NavigationEntryImpl;
33 using content::RenderViewHost; 33 using content::RenderViewHost;
34 using content::RenderViewHostImpl; 34 using content::RenderViewHostImpl;
35 using content::RenderWidgetHostView; 35 using content::RenderWidgetHostView;
36 using content::RenderWidgetHostViewPort; 36 using content::RenderWidgetHostViewPort;
37 using content::SiteInstance; 37 using content::SiteInstance;
38 using content::WebUIControllerFactory; 38 using content::WebUIControllerFactory;
39 39
40 RenderViewHostManager::RenderViewHostManager( 40 RenderViewHostManager::RenderViewHostManager(
41 content::RenderViewHostDelegate* render_view_delegate, 41 content::RenderViewHostDelegate* render_view_delegate,
42 content::RenderWidgetHostDelegate* render_widget_delegate,
42 Delegate* delegate) 43 Delegate* delegate)
43 : delegate_(delegate), 44 : delegate_(delegate),
44 cross_navigation_pending_(false), 45 cross_navigation_pending_(false),
45 render_view_delegate_(render_view_delegate), 46 render_view_delegate_(render_view_delegate),
47 render_widget_delegate_(render_widget_delegate),
46 render_view_host_(NULL), 48 render_view_host_(NULL),
47 pending_render_view_host_(NULL), 49 pending_render_view_host_(NULL),
48 interstitial_page_(NULL) { 50 interstitial_page_(NULL) {
49 } 51 }
50 52
51 RenderViewHostManager::~RenderViewHostManager() { 53 RenderViewHostManager::~RenderViewHostManager() {
52 if (pending_render_view_host_) 54 if (pending_render_view_host_)
53 CancelPending(); 55 CancelPending();
54 56
55 // We should always have a main RenderViewHost. 57 // We should always have a main RenderViewHost.
(...skipping 12 matching lines...) Expand all
68 void RenderViewHostManager::Init(content::BrowserContext* browser_context, 70 void RenderViewHostManager::Init(content::BrowserContext* browser_context,
69 SiteInstance* site_instance, 71 SiteInstance* site_instance,
70 int routing_id) { 72 int routing_id) {
71 // Create a RenderViewHost, once we have an instance. It is important to 73 // Create a RenderViewHost, once we have an instance. It is important to
72 // immediately give this SiteInstance to a RenderViewHost so that it is 74 // immediately give this SiteInstance to a RenderViewHost so that it is
73 // ref counted. 75 // ref counted.
74 if (!site_instance) 76 if (!site_instance)
75 site_instance = SiteInstance::Create(browser_context); 77 site_instance = SiteInstance::Create(browser_context);
76 render_view_host_ = static_cast<RenderViewHostImpl*>( 78 render_view_host_ = static_cast<RenderViewHostImpl*>(
77 RenderViewHostFactory::Create( 79 RenderViewHostFactory::Create(
78 site_instance, render_view_delegate_, routing_id, false, delegate_-> 80 site_instance, render_view_delegate_, render_widget_delegate_,
81 routing_id, false, delegate_->
79 GetControllerForRenderManager().GetSessionStorageNamespace())); 82 GetControllerForRenderManager().GetSessionStorageNamespace()));
80 83
81 // Keep track of renderer processes as they start to shut down. 84 // Keep track of renderer processes as they start to shut down.
82 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CLOSING, 85 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_CLOSING,
83 content::NotificationService::AllSources()); 86 content::NotificationService::AllSources());
84 } 87 }
85 88
86 RenderViewHostImpl* RenderViewHostManager::current_host() const { 89 RenderViewHostImpl* RenderViewHostManager::current_host() const {
87 return render_view_host_; 90 return render_view_host_;
88 } 91 }
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 RenderViewHostImpl* new_render_view_host = static_cast<RenderViewHostImpl*>( 562 RenderViewHostImpl* new_render_view_host = static_cast<RenderViewHostImpl*>(
560 GetSwappedOutRenderViewHost(instance)); 563 GetSwappedOutRenderViewHost(instance));
561 if (new_render_view_host) { 564 if (new_render_view_host) {
562 // Prevent the process from exiting while we're trying to use it. 565 // Prevent the process from exiting while we're trying to use it.
563 if (!swapped_out) 566 if (!swapped_out)
564 new_render_view_host->GetProcess()->AddPendingView(); 567 new_render_view_host->GetProcess()->AddPendingView();
565 } else { 568 } else {
566 // Create a new RenderViewHost if we don't find an existing one. 569 // Create a new RenderViewHost if we don't find an existing one.
567 new_render_view_host = static_cast<RenderViewHostImpl*>( 570 new_render_view_host = static_cast<RenderViewHostImpl*>(
568 RenderViewHostFactory::Create(instance, 571 RenderViewHostFactory::Create(instance,
569 render_view_delegate_, MSG_ROUTING_NONE, swapped_out, delegate_-> 572 render_view_delegate_, render_widget_delegate_, MSG_ROUTING_NONE,
573 swapped_out, delegate_->
570 GetControllerForRenderManager().GetSessionStorageNamespace())); 574 GetControllerForRenderManager().GetSessionStorageNamespace()));
571 575
572 // If the new RVH is swapped out already, store it. Otherwise prevent the 576 // If the new RVH is swapped out already, store it. Otherwise prevent the
573 // process from exiting while we're trying to navigate in it. 577 // process from exiting while we're trying to navigate in it.
574 if (swapped_out) { 578 if (swapped_out) {
575 swapped_out_hosts_[instance->GetId()] = new_render_view_host; 579 swapped_out_hosts_[instance->GetId()] = new_render_view_host;
576 } else { 580 } else {
577 new_render_view_host->GetProcess()->AddPendingView(); 581 new_render_view_host->GetProcess()->AddPendingView();
578 } 582 }
579 583
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 } 897 }
894 898
895 RenderViewHost* RenderViewHostManager::GetSwappedOutRenderViewHost( 899 RenderViewHost* RenderViewHostManager::GetSwappedOutRenderViewHost(
896 SiteInstance* instance) { 900 SiteInstance* instance) {
897 RenderViewHostMap::iterator iter = swapped_out_hosts_.find(instance->GetId()); 901 RenderViewHostMap::iterator iter = swapped_out_hosts_.find(instance->GetId());
898 if (iter != swapped_out_hosts_.end()) 902 if (iter != swapped_out_hosts_.end())
899 return iter->second; 903 return iter->second;
900 904
901 return NULL; 905 return NULL;
902 } 906 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698