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

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: Fixed uninitialized variable and missing call to WebUIImpl::RenderViewReused. 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 3760 matching lines...) Expand 10 before | Expand all | Expand 10 after
3771 return; 3771 return;
3772 3772
3773 if (delegate_) 3773 if (delegate_)
3774 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 3774 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
3775 3775
3776 NotificationService::current()->Notify( 3776 NotificationService::current()->Notify(
3777 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED, 3777 NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED,
3778 Source<WebContents>(this), 3778 Source<WebContents>(this),
3779 Details<RenderViewHost>(render_view_host)); 3779 Details<RenderViewHost>(render_view_host));
3780 3780
3781 // When we're creating views, we're still doing initial setup, so we always
3782 // use the pending Web UI rather than any possibly existing committed one.
3783 if (GetRenderManager()->pending_web_ui())
3784 GetRenderManager()->pending_web_ui()->RenderViewCreated(render_view_host);
3785
3786 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
3787 switches::kEnableBrowserSideNavigation) &&
3788 GetRenderManager()->speculative_web_ui()) {
3789 GetRenderManager()->speculative_web_ui()->RenderViewCreated(
3790 render_view_host);
3791 }
3792
3793 NavigationEntry* entry = controller_.GetPendingEntry(); 3781 NavigationEntry* entry = controller_.GetPendingEntry();
3794 if (entry && entry->IsViewSourceMode()) { 3782 if (entry && entry->IsViewSourceMode()) {
3795 // Put the renderer in view source mode. 3783 // Put the renderer in view source mode.
3796 render_view_host->Send( 3784 render_view_host->Send(
3797 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID())); 3785 new ViewMsg_EnableViewSourceMode(render_view_host->GetRoutingID()));
3798 } 3786 }
3799 3787
3800 view_->RenderViewCreated(render_view_host); 3788 view_->RenderViewCreated(render_view_host);
3801 3789
3802 FOR_EACH_OBSERVER( 3790 FOR_EACH_OBSERVER(
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
4170 source_id); 4158 source_id);
4171 } 4159 }
4172 4160
4173 int WebContentsImpl::CreateSwappedOutRenderView( 4161 int WebContentsImpl::CreateSwappedOutRenderView(
4174 SiteInstance* instance) { 4162 SiteInstance* instance) {
4175 int render_view_routing_id = MSG_ROUTING_NONE; 4163 int render_view_routing_id = MSG_ROUTING_NONE;
4176 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) { 4164 if (SiteIsolationPolicy::IsSwappedOutStateForbidden()) {
4177 GetRenderManager()->CreateRenderFrameProxy(instance); 4165 GetRenderManager()->CreateRenderFrameProxy(instance);
4178 } else { 4166 } else {
4179 GetRenderManager()->CreateRenderFrame( 4167 GetRenderManager()->CreateRenderFrame(
4180 instance, nullptr, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN, 4168 instance, CREATE_RF_SWAPPED_OUT | CREATE_RF_HIDDEN,
4181 &render_view_routing_id); 4169 &render_view_routing_id);
4182 } 4170 }
4183 return render_view_routing_id; 4171 return render_view_routing_id;
4184 } 4172 }
4185 4173
4186 void WebContentsImpl::OnUserGesture() { 4174 void WebContentsImpl::OnUserGesture() {
4187 // Notify observers. 4175 // Notify observers.
4188 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture()); 4176 FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture());
4189 4177
4190 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get(); 4178 ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get();
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
4332 void WebContentsImpl::NotifyMainFrameSwappedFromRenderManager( 4320 void WebContentsImpl::NotifyMainFrameSwappedFromRenderManager(
4333 RenderViewHost* old_host, 4321 RenderViewHost* old_host,
4334 RenderViewHost* new_host) { 4322 RenderViewHost* new_host) {
4335 NotifyViewSwapped(old_host, new_host); 4323 NotifyViewSwapped(old_host, new_host);
4336 } 4324 }
4337 4325
4338 NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() { 4326 NavigationControllerImpl& WebContentsImpl::GetControllerForRenderManager() {
4339 return GetController(); 4327 return GetController();
4340 } 4328 }
4341 4329
4342 scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderManager( 4330 scoped_ptr<WebUIImpl> WebContentsImpl::CreateWebUIForRenderFrameHost(
4343 const GURL& url) { 4331 const GURL& url) {
4344 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI( 4332 return scoped_ptr<WebUIImpl>(static_cast<WebUIImpl*>(CreateWebUI(
4345 url, std::string()))); 4333 url, std::string())));
4346 } 4334 }
4347 4335
4348 NavigationEntry* 4336 NavigationEntry*
4349 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() { 4337 WebContentsImpl::GetLastCommittedNavigationEntryForRenderManager() {
4350 return controller_.GetLastCommittedEntry(); 4338 return controller_.GetLastCommittedEntry();
4351 } 4339 }
4352 4340
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
4649 return NULL; 4637 return NULL;
4650 } 4638 }
4651 4639
4652 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { 4640 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) {
4653 force_disable_overscroll_content_ = force_disable; 4641 force_disable_overscroll_content_ = force_disable;
4654 if (view_) 4642 if (view_)
4655 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); 4643 view_->SetOverscrollControllerEnabled(CanOverscrollContent());
4656 } 4644 }
4657 4645
4658 } // namespace content 4646 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698