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

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: Rebase to fix patch errors. Created 5 years, 1 month 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 3778 matching lines...) Expand 10 before | Expand all | Expand 10 after
3789 return; 3789 return;
3790 3790
3791 if (delegate_) 3791 if (delegate_)
3792 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 3792 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
3793 3793
3794 NotificationService::current()->Notify( 3794 NotificationService::current()->Notify(
3795 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED, 3795 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED,
3796 Source<WebContents>(this), 3796 Source<WebContents>(this),
3797 Details<RenderViewHost>(render_view_host)); 3797 Details<RenderViewHost>(render_view_host));
3798 3798
3799 // When we're creating views, we're still doing initial setup, so we always
3800 // use the pending Web UI rather than any possibly existing committed one.
3801 if (GetRenderManager()->pending_web_ui())
3802 GetRenderManager()->pending_web_ui()->RenderViewCreated(render_view_host);
3803
3804 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
3805 switches::kEnableBrowserSideNavigation) &&
3806 GetRenderManager()->speculative_web_ui()) {
3807 GetRenderManager()->speculative_web_ui()->RenderViewCreated(
3808 render_view_host);
3809 }
3810
3811 NavigationEntry* entry = controller_.GetPendingEntry(); 3799 NavigationEntry* entry = controller_.GetPendingEntry();
3812 if (entry && entry->IsViewSourceMode()) { 3800 if (entry && entry->IsViewSourceMode()) {
3813 // Put the renderer in view source mode. 3801 // Put the renderer in view source mode.
3814 render_view_host->Send( 3802 render_view_host->Send(
3815 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); 3803 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
3816 } 3804 }
3817 3805
3818 view_->RenderViewCreated(render_view_host); 3806 view_->RenderViewCreated(render_view_host);
3819 3807
3820 FOR_EACH_OBSERVER( 3808 FOR_EACH_OBSERVER(
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
4188 source_id); 4176 source_id);
4189 } 4177 }
4190 4178
4191 int WebContentsImpl::CreateSwappedOutRenderView( 4179 int WebContentsImpl::CreateSwappedOutRenderView(
4192 SiteInstance* instance) { 4180 SiteInstance* instance) {
4193 int render_view_routing_id = MSG_ROUTING_NONE; 4181 int render_view_routing_id = MSG_ROUTING_NONE;
4194 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { 4182 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) {
4195 GetRenderManager()->CreateRenderFrameProxy(instance); 4183 GetRenderManager()->CreateRenderFrameProxy(instance);
4196 } else { 4184 } else {
4197 GetRenderManager()->CreateRenderFrame( 4185 GetRenderManager()->CreateRenderFrame(
4198 instance, nullptr, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN, 4186 instance, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN,
4199 &render_view_routing_id); 4187 &render_view_routing_id);
4200 } 4188 }
4201 return render_view_routing_id; 4189 return render_view_routing_id;
4202 } 4190 }
4203 4191
4204 void WebContentsImpl::OnUserGesture() { 4192 void WebContentsImpl::OnUserGesture() {
4205 // Notify observers. 4193 // Notify observers.
4206 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture()); 4194 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture());
4207 4195
4208 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get(); 4196 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get();
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
4355 void WebContentsImpl::NotifyMainFrameSwappedFromRenderManager( 4343 void WebContentsImpl::NotifyMainFrameSwappedFromRenderManager(
4356 RenderViewHost* old_host, 4344 RenderViewHost* old_host,
4357 RenderViewHost* new_host) { 4345 RenderViewHost* new_host) {
4358 NotifyViewSwapped(old_host, new_host); 4346 NotifyViewSwapped(old_host, new_host);
4359 } 4347 }
4360 4348
4361 NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() { 4349 NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() {
4362 return GetController(); 4350 return GetController();
4363 } 4351 }
4364 4352
4365 scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderManager( 4353 scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost(
4366 const GURL& url) { 4354 const GURL& url) {
4367 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI( 4355 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI(
4368 url, std::string()))); 4356 url, std::string())));
4369 } 4357 }
4370 4358
4371 NavigationEntry* 4359 NavigationEntry*
4372 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() { 4360 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() {
4373 return controller_.GetLastCommittedEntry(); 4361 return controller_.GetLastCommittedEntry();
4374 } 4362 }
4375 4363
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
4672 return NULL; 4660 return NULL;
4673 } 4661 }
4674 4662
4675 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4663 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4676 force_disable_overscroll_content_ = force_disable; 4664 force_disable_overscroll_content_ = force_disable;
4677 if (view_) 4665 if (view_)
4678 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4666 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4679 } 4667 }
4680 4668
4681 } // namespace content 4669 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698