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

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

Issue 1202593002: Move browser-to-renderer opener plumbing to frame routing IDs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@opener-create-opener-render-views
Patch Set: More cleanup Created 5 years, 5 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 4016 matching lines...) Expand 10 before | Expand all | Expand 10 after
4027 if (!delegate_) 4027 if (!delegate_)
4028 return false; 4028 return false;
4029 return delegate_->AddMessageToConsole(this, level, message, line_no, 4029 return delegate_->AddMessageToConsole(this, level, message, line_no,
4030 source_id); 4030 source_id);
4031 } 4031 }
4032 4032
4033 int WebContentsImpl::CreateSwappedOutRenderView( 4033 int WebContentsImpl::CreateSwappedOutRenderView(
4034 SiteInstance* instance) { 4034 SiteInstance* instance) {
4035 int render_view_routing_id = MSG_ROUTING_NONE; 4035 int render_view_routing_id = MSG_ROUTING_NONE;
4036 if (RenderFrameHostManager::IsSwappedOutStateForbidden()) { 4036 if (RenderFrameHostManager::IsSwappedOutStateForbidden()) {
4037 GetRenderManager()->CreateRenderFrameProxy(instance); 4037 GetRenderManager()->CreateRenderFrameProxy(instance, true);
4038 } else { 4038 } else {
4039 GetRenderManager()->CreateRenderFrame( 4039 GetRenderManager()->CreateRenderFrame(
4040 instance, nullptr, MSG_ROUTING_NONE, 4040 instance, nullptr,
4041 CREATE_RF_SWAPPED_OUT | CREATE_RF_FOR_MAIN_FRAME_NAVIGATION | 4041 CREATE_RF_SWAPPED_OUT | CREATE_RF_FOR_MAIN_FRAME_NAVIGATION |
4042 CREATE_RF_HIDDEN, 4042 CREATE_RF_HIDDEN | CREATE_RF_SUPPRESS_OPENER,
4043 &render_view_routing_id); 4043 &render_view_routing_id);
4044 } 4044 }
4045 return render_view_routing_id; 4045 return render_view_routing_id;
4046 } 4046 }
4047 4047
4048 void WebContentsImpl::OnUserGesture() { 4048 void WebContentsImpl::OnUserGesture() {
4049 // Notify observers. 4049 // Notify observers.
4050 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture()); 4050 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture());
4051 4051
4052 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get(); 4052 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get();
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
4206 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI(url))); 4206 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI(url)));
4207 } 4207 }
4208 4208
4209 NavigationEntry* 4209 NavigationEntry*
4210 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() { 4210 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() {
4211 return controller_.GetLastCommittedEntry(); 4211 return controller_.GetLastCommittedEntry();
4212 } 4212 }
4213 4213
4214 bool WebContentsImpl::CreateRenderViewForRenderManager( 4214 bool WebContentsImpl::CreateRenderViewForRenderManager(
4215 RenderViewHost* render_view_host, 4215 RenderViewHost* render_view_host,
4216 int opener_route_id, 4216 int opener_frame_routing_id,
4217 int proxy_routing_id, 4217 int proxy_routing_id,
4218 const FrameReplicationState& replicated_frame_state, 4218 const FrameReplicationState& replicated_frame_state,
4219 bool for_main_frame_navigation) { 4219 bool for_main_frame_navigation) {
4220 TRACE_EVENT0("browser,navigation", 4220 TRACE_EVENT0("browser,navigation",
4221 "WebContentsImpl::CreateRenderViewForRenderManager"); 4221 "WebContentsImpl::CreateRenderViewForRenderManager");
4222 // Can be NULL during tests. 4222 // Can be NULL during tests.
4223 RenderWidgetHostViewBase* rwh_view; 4223 RenderWidgetHostViewBase* rwh_view;
4224 // TODO(kenrb): RenderWidgetHostViewChildFrame special casing is temporary 4224 // TODO(kenrb): RenderWidgetHostViewChildFrame special casing is temporary
4225 // until RenderWidgetHost is attached to RenderFrameHost. We need to special 4225 // until RenderWidgetHost is attached to RenderFrameHost. We need to special
4226 // case this because RWH is still a base class of RenderViewHost, and child 4226 // case this because RWH is still a base class of RenderViewHost, and child
(...skipping 12 matching lines...) Expand all
4239 4239
4240 // Now that the RenderView has been created, we need to tell it its size. 4240 // Now that the RenderView has been created, we need to tell it its size.
4241 if (rwh_view) 4241 if (rwh_view)
4242 rwh_view->SetSize(GetSizeForNewRenderView()); 4242 rwh_view->SetSize(GetSizeForNewRenderView());
4243 4243
4244 // Make sure we use the correct starting page_id in the new RenderView. 4244 // Make sure we use the correct starting page_id in the new RenderView.
4245 UpdateMaxPageIDIfNecessary(render_view_host); 4245 UpdateMaxPageIDIfNecessary(render_view_host);
4246 int32 max_page_id = 4246 int32 max_page_id =
4247 GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance()); 4247 GetMaxPageIDForSiteInstance(render_view_host->GetSiteInstance());
4248 4248
4249 if (!static_cast<RenderViewHostImpl*>( 4249 if (!static_cast<RenderViewHostImpl*>(render_view_host)
4250 render_view_host)->CreateRenderView(opener_route_id, 4250 ->CreateRenderView(opener_frame_routing_id, proxy_routing_id,
4251 proxy_routing_id, 4251 max_page_id, replicated_frame_state,
4252 max_page_id, 4252 created_with_opener_)) {
4253 replicated_frame_state,
4254 created_with_opener_)) {
4255 return false; 4253 return false;
4256 } 4254 }
4257 4255
4258 SetHistoryOffsetAndLengthForView(render_view_host, 4256 SetHistoryOffsetAndLengthForView(render_view_host,
4259 controller_.GetLastCommittedEntryIndex(), 4257 controller_.GetLastCommittedEntryIndex(),
4260 controller_.GetEntryCount()); 4258 controller_.GetEntryCount());
4261 4259
4262 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) 4260 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
4263 // Force a ViewMsg_Resize to be sent, needed to make plugins show up on 4261 // Force a ViewMsg_Resize to be sent, needed to make plugins show up on
4264 // linux. See crbug.com/83941. 4262 // linux. See crbug.com/83941.
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
4484 player_map->erase(it); 4482 player_map->erase(it);
4485 } 4483 }
4486 4484
4487 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4485 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4488 force_disable_overscroll_content_ = force_disable; 4486 force_disable_overscroll_content_ = force_disable;
4489 if (view_) 4487 if (view_)
4490 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4488 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4491 } 4489 }
4492 4490
4493 } // namespace content 4491 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698