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

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

Issue 1199313006: Disable support for swapped out RenderFrame(Host) on desktop. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 "content/browser/web_contents/web_contents_impl.h" 5 #include "content/browser/web_contents/web_contents_impl.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/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 3619 matching lines...) Expand 10 before | Expand all | Expand 10 after
3630 view_->Focus(); 3630 view_->Focus();
3631 } 3631 }
3632 3632
3633 FOR_EACH_OBSERVER(WebContentsObserver, observers_, RenderViewReady()); 3633 FOR_EACH_OBSERVER(WebContentsObserver, observers_, RenderViewReady());
3634 } 3634 }
3635 3635
3636 void WebContentsImpl::RenderViewTerminated(RenderViewHost* rvh, 3636 void WebContentsImpl::RenderViewTerminated(RenderViewHost* rvh,
3637 base::TerminationStatus status, 3637 base::TerminationStatus status,
3638 int error_code) { 3638 int error_code) {
3639 if (rvh != GetRenderViewHost()) { 3639 if (rvh != GetRenderViewHost()) {
3640 LOG(ERROR) << "WC[" << this << "]::RenderViewTerminated:"
3641 << " not a match.";
3640 // The pending page's RenderViewHost is gone. 3642 // The pending page's RenderViewHost is gone.
3641 return; 3643 return;
3642 } 3644 }
3643 3645
3644 // Ensure fullscreen mode is exited in the |delegate_| since a crashed 3646 // Ensure fullscreen mode is exited in the |delegate_| since a crashed
3645 // renderer may not have made a clean exit. 3647 // renderer may not have made a clean exit.
3646 if (IsFullscreenForCurrentTab()) 3648 if (IsFullscreenForCurrentTab())
3647 ExitFullscreenMode(); 3649 ExitFullscreenMode();
3648 3650
3649 // Cancel any visible dialogs so they are not left dangling over the sad tab. 3651 // Cancel any visible dialogs so they are not left dangling over the sad tab.
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
3916 // to App windows. 3918 // to App windows.
3917 return GetBrowserPluginGuest() || GetBrowserPluginEmbedder(); 3919 return GetBrowserPluginGuest() || GetBrowserPluginEmbedder();
3918 } 3920 }
3919 3921
3920 void WebContentsImpl::EnsureOpenerProxiesExist(RenderFrameHost* source_rfh) { 3922 void WebContentsImpl::EnsureOpenerProxiesExist(RenderFrameHost* source_rfh) {
3921 WebContentsImpl* source_web_contents = static_cast<WebContentsImpl*>( 3923 WebContentsImpl* source_web_contents = static_cast<WebContentsImpl*>(
3922 WebContents::FromRenderFrameHost(source_rfh)); 3924 WebContents::FromRenderFrameHost(source_rfh));
3923 3925
3924 if (source_web_contents) { 3926 if (source_web_contents) {
3925 if (GetBrowserPluginGuest()) { 3927 if (GetBrowserPluginGuest()) {
3926 // We create a swapped out RenderView for the embedder in the guest's 3928 // We create a RenderFrameProxyHost for the embedder in the guest's
3927 // render process but we intentionally do not expose the embedder's 3929 // render process but we intentionally do not expose the embedder's
3928 // opener chain to it. 3930 // opener chain to it.
3929 source_web_contents->CreateSwappedOutRenderView(GetSiteInstance()); 3931 source_web_contents->GetRenderManager()->CreateRenderFrameProxy(GetSiteIns tance());
3930 } else { 3932 } else {
3931 RenderFrameHostImpl* source_rfhi = 3933 RenderFrameHostImpl* source_rfhi =
3932 static_cast<RenderFrameHostImpl*>(source_rfh); 3934 static_cast<RenderFrameHostImpl*>(source_rfh);
3933 source_rfhi->frame_tree_node()->render_manager()->CreateOpenerProxies( 3935 source_rfhi->frame_tree_node()->render_manager()->CreateOpenerProxies(
3934 GetSiteInstance()); 3936 GetSiteInstance());
3935 } 3937 }
3936 } 3938 }
3937 } 3939 }
3938 3940
3939 bool WebContentsImpl::AddMessageToConsole(int32 level, 3941 bool WebContentsImpl::AddMessageToConsole(int32 level,
3940 const base::string16& message, 3942 const base::string16& message,
3941 int32 line_no, 3943 int32 line_no,
3942 const base::string16& source_id) { 3944 const base::string16& source_id) {
3943 if (!delegate_) 3945 if (!delegate_)
3944 return false; 3946 return false;
3945 return delegate_->AddMessageToConsole(this, level, message, line_no, 3947 return delegate_->AddMessageToConsole(this, level, message, line_no,
3946 source_id); 3948 source_id);
3947 } 3949 }
3948 3950
3949 int WebContentsImpl::CreateSwappedOutRenderView( 3951 int WebContentsImpl::CreateSwappedOutRenderView(
Avi (use Gerrit) 2015/06/24 14:59:43 You remove all callers of this function; you shoul
3950 SiteInstance* instance) { 3952 SiteInstance* instance) {
3951 int render_view_routing_id = MSG_ROUTING_NONE; 3953 int render_view_routing_id = MSG_ROUTING_NONE;
3952 if (RenderFrameHostManager::IsSwappedOutStateForbidden()) { 3954 if (RenderFrameHostManager::IsSwappedOutStateForbidden()) {
3953 GetRenderManager()->CreateRenderFrameProxy(instance); 3955 GetRenderManager()->CreateRenderFrameProxy(instance);
3954 } else { 3956 } else {
3955 GetRenderManager()->CreateRenderFrame( 3957 GetRenderManager()->CreateRenderFrame(
3956 instance, nullptr, MSG_ROUTING_NONE, 3958 instance, nullptr, MSG_ROUTING_NONE,
3957 CREATE_RF_SWAPPED_OUT | CREATE_RF_FOR_MAIN_FRAME_NAVIGATION | 3959 CREATE_RF_SWAPPED_OUT | CREATE_RF_FOR_MAIN_FRAME_NAVIGATION |
3958 CREATE_RF_HIDDEN, 3960 CREATE_RF_HIDDEN,
3959 &render_view_routing_id); 3961 &render_view_routing_id);
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
4128 } 4130 }
4129 4131
4130 bool WebContentsImpl::CreateRenderViewForRenderManager( 4132 bool WebContentsImpl::CreateRenderViewForRenderManager(
4131 RenderViewHost* render_view_host, 4133 RenderViewHost* render_view_host,
4132 int opener_route_id, 4134 int opener_route_id,
4133 int proxy_routing_id, 4135 int proxy_routing_id,
4134 const FrameReplicationState& replicated_frame_state, 4136 const FrameReplicationState& replicated_frame_state,
4135 bool for_main_frame_navigation) { 4137 bool for_main_frame_navigation) {
4136 TRACE_EVENT0("browser,navigation", 4138 TRACE_EVENT0("browser,navigation",
4137 "WebContentsImpl::CreateRenderViewForRenderManager"); 4139 "WebContentsImpl::CreateRenderViewForRenderManager");
4140
4141 LOG(ERROR) << "WC[" << this << "]::CreateRenderFrameForRenderManager: "
4142 << " rvh:" << render_view_host;
4143
4138 // Can be NULL during tests. 4144 // Can be NULL during tests.
4139 RenderWidgetHostViewBase* rwh_view; 4145 RenderWidgetHostViewBase* rwh_view;
4140 // TODO(kenrb): RenderWidgetHostViewChildFrame special casing is temporary 4146 // TODO(kenrb): RenderWidgetHostViewChildFrame special casing is temporary
4141 // until RenderWidgetHost is attached to RenderFrameHost. We need to special 4147 // until RenderWidgetHost is attached to RenderFrameHost. We need to special
4142 // case this because RWH is still a base class of RenderViewHost, and child 4148 // case this because RWH is still a base class of RenderViewHost, and child
4143 // frame RWHVs are unique in that they do not have their own WebContents. 4149 // frame RWHVs are unique in that they do not have their own WebContents.
4144 if (!for_main_frame_navigation) { 4150 if (!for_main_frame_navigation) {
4145 RenderWidgetHostViewChildFrame* rwh_view_child = 4151 RenderWidgetHostViewChildFrame* rwh_view_child =
4146 new RenderWidgetHostViewChildFrame(render_view_host); 4152 new RenderWidgetHostViewChildFrame(render_view_host);
4147 rwh_view = rwh_view_child; 4153 rwh_view = rwh_view_child;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
4389 player_map->erase(it); 4395 player_map->erase(it);
4390 } 4396 }
4391 4397
4392 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4398 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4393 force_disable_overscroll_content_ = force_disable; 4399 force_disable_overscroll_content_ = force_disable;
4394 if (view_) 4400 if (view_)
4395 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4401 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4396 } 4402 }
4397 4403
4398 } // namespace content 4404 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698