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

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

Powered by Google App Engine
This is Rietveld 408576698