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

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

Issue 1352813006: Move WebUI ownership from the RenderFrameHostManager to the RenderFrameHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Simplified the code mainly by consolidating WebUIImpl::RenderView* calls. Created 5 years, 2 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 3750 matching lines...) Expand 10 before | Expand all | Expand 10 after
3761 return; 3761 return;
3762 3762
3763 if (delegate_) 3763 if (delegate_)
3764 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 3764 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
3765 3765
3766 NotificationService::current()->Notify( 3766 NotificationService::current()->Notify(
3767 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED, 3767 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED,
3768 Source<WebContents>(this), 3768 Source<WebContents>(this),
3769 Details<RenderViewHost>(render_view_host)); 3769 Details<RenderViewHost>(render_view_host));
3770 3770
3771 // When we're creating views, we're still doing initial setup, so we always
3772 // use the pending Web UI rather than any possibly existing committed one.
3773 if (GetRenderManager()->pending_web_ui())
3774 GetRenderManager()->pending_web_ui()->RenderViewCreated(render_view_host);
3775
3776 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
3777 switches::kEnableBrowserSideNavigation) &&
3778 GetRenderManager()->speculative_web_ui()) {
3779 GetRenderManager()->speculative_web_ui()->RenderViewCreated(
3780 render_view_host);
3781 }
3782
3783 NavigationEntry* entry = controller_.GetPendingEntry(); 3771 NavigationEntry* entry = controller_.GetPendingEntry();
3784 if (entry && entry->IsViewSourceMode()) { 3772 if (entry && entry->IsViewSourceMode()) {
3785 // Put the renderer in view source mode. 3773 // Put the renderer in view source mode.
3786 render_view_host->Send( 3774 render_view_host->Send(
3787 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); 3775 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
3788 } 3776 }
3789 3777
3790 view_->RenderViewCreated(render_view_host); 3778 view_->RenderViewCreated(render_view_host);
3791 3779
3792 FOR_EACH_OBSERVER( 3780 FOR_EACH_OBSERVER(
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
4160 source_id); 4148 source_id);
4161 } 4149 }
4162 4150
4163 int WebContentsImpl::CreateSwappedOutRenderView( 4151 int WebContentsImpl::CreateSwappedOutRenderView(
4164 SiteInstance* instance) { 4152 SiteInstance* instance) {
4165 int render_view_routing_id = MSG_ROUTING_NONE; 4153 int render_view_routing_id = MSG_ROUTING_NONE;
4166 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { 4154 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) {
4167 GetRenderManager()->CreateRenderFrameProxy(instance); 4155 GetRenderManager()->CreateRenderFrameProxy(instance);
4168 } else { 4156 } else {
4169 GetRenderManager()->CreateRenderFrame( 4157 GetRenderManager()->CreateRenderFrame(
4170 instance, nullptr, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN, 4158 instance, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN,
4171 &render_view_routing_id); 4159 &render_view_routing_id);
4172 } 4160 }
4173 return render_view_routing_id; 4161 return render_view_routing_id;
4174 } 4162 }
4175 4163
4176 void WebContentsImpl::OnUserGesture() { 4164 void WebContentsImpl::OnUserGesture() {
4177 // Notify observers. 4165 // Notify observers.
4178 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture()); 4166 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture());
4179 4167
4180 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get(); 4168 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get();
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
4322 void WebContentsImpl::NotifyMainFrameSwappedFromRenderManager( 4310 void WebContentsImpl::NotifyMainFrameSwappedFromRenderManager(
4323 RenderViewHost* old_host, 4311 RenderViewHost* old_host,
4324 RenderViewHost* new_host) { 4312 RenderViewHost* new_host) {
4325 NotifyViewSwapped(old_host, new_host); 4313 NotifyViewSwapped(old_host, new_host);
4326 } 4314 }
4327 4315
4328 NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() { 4316 NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() {
4329 return GetController(); 4317 return GetController();
4330 } 4318 }
4331 4319
4332 scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderManager( 4320 scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost(
4333 const GURL& url) { 4321 const GURL& url) {
4334 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI( 4322 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI(
4335 url, std::string()))); 4323 url, std::string())));
4336 } 4324 }
4337 4325
4338 NavigationEntry* 4326 NavigationEntry*
4339 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() { 4327 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() {
4340 return controller_.GetLastCommittedEntry(); 4328 return controller_.GetLastCommittedEntry();
4341 } 4329 }
4342 4330
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
4639 return NULL; 4627 return NULL;
4640 } 4628 }
4641 4629
4642 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4630 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4643 force_disable_overscroll_content_ = force_disable; 4631 force_disable_overscroll_content_ = force_disable;
4644 if (view_) 4632 if (view_)
4645 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4633 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4646 } 4634 }
4647 4635
4648 } // namespace content 4636 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698