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

Unified Diff: content/browser/web_contents/web_contents_impl.cc

Issue 1410313006: Separate RenderViewHost from RenderWidgetHost, part 5: move calls to the RenderWidgetHostDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: no functionality change 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/web_contents/web_contents_impl.cc
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index e01a4d5484380c82981615cd9ccd33e2f8c18092..38991ea01929ae8f01435a9c259c7d87d1f96ec8 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -1198,8 +1198,10 @@ void WebContentsImpl::WasShown() {
// The resize rect might have changed while this was inactive -- send the new
// one to make sure it's up to date.
RenderViewHostImpl* rvh = GetRenderViewHost();
- if (rvh)
- rvh->GetWidget()->ResizeRectChanged(GetRootWindowResizerRect());
+ if (rvh) {
+ rvh->GetWidget()->ResizeRectChanged(
+ GetRootWindowResizerRect(rvh->GetWidget()));
+ }
// Restore power save blocker if there are active video players running.
if (!active_video_players_.empty() && !video_power_save_blocker_)
@@ -1665,13 +1667,19 @@ blink::WebDisplayMode WebContentsImpl::GetDisplayMode() const {
: blink::WebDisplayModeBrowser;
}
-void WebContentsImpl::RequestToLockMouse(bool user_gesture,
- bool last_unlocked_by_target) {
- if (delegate_) {
- delegate_->RequestToLockMouse(this, user_gesture, last_unlocked_by_target);
- } else {
+void WebContentsImpl::RequestToLockMouse(
+ RenderWidgetHostImpl* render_widget_host,
+ bool user_gesture,
+ bool last_unlocked_by_target) {
+ if (render_widget_host != GetRenderViewHost()->GetWidget()) {
GotResponseToLockMouseRequest(false);
ncarter (slow) 2015/11/02 17:46:56 Should be: render_widget_host->GotResponseToLockM
Avi (use Gerrit) 2015/11/02 18:42:13 Done.
+ return;
}
+
+ if (delegate_)
+ delegate_->RequestToLockMouse(this, user_gesture, last_unlocked_by_target);
+ else
+ GotResponseToLockMouseRequest(false);
}
void WebContentsImpl::LostMouseLock() {
@@ -2169,7 +2177,12 @@ void WebContentsImpl::UpdatePreferredSize(const gfx::Size& pref_size) {
OnPreferredSizeChanged(old_size);
}
-void WebContentsImpl::ResizeDueToAutoResize(const gfx::Size& new_size) {
+void WebContentsImpl::ResizeDueToAutoResize(
+ RenderWidgetHostImpl* render_widget_host,
+ const gfx::Size& new_size) {
+ if (render_widget_host != GetRenderViewHost()->GetWidget())
+ return;
+
if (delegate_)
delegate_->ResizeDueToAutoResize(this, new_size);
}
@@ -2614,7 +2627,7 @@ void WebContentsImpl::SystemDragEnded() {
}
void WebContentsImpl::UserGestureDone() {
- OnUserGesture();
+ OnUserGesture(GetRenderViewHost()->GetWidget());
}
void WebContentsImpl::SetClosedByUserGesture(bool value) {
@@ -3777,7 +3790,11 @@ RendererPreferences WebContentsImpl::GetRendererPrefs(
return renderer_preferences_;
}
-gfx::Rect WebContentsImpl::GetRootWindowResizerRect() const {
+gfx::Rect WebContentsImpl::GetRootWindowResizerRect(
+ RenderWidgetHostImpl* render_widget_host) const {
+ if (render_widget_host != GetRenderViewHost()->GetWidget())
+ return gfx::Rect();
+
if (delegate_)
return delegate_->GetRootWindowResizerRect();
return gfx::Rect();
@@ -4208,7 +4225,10 @@ int WebContentsImpl::CreateSwappedOutRenderView(
return render_view_routing_id;
}
-void WebContentsImpl::OnUserGesture() {
+void WebContentsImpl::OnUserGesture(RenderWidgetHostImpl* render_widget_host) {
+ if (render_widget_host != GetRenderViewHost()->GetWidget())
+ return;
+
// Notify observers.
FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetUserGesture());
@@ -4227,14 +4247,14 @@ void WebContentsImpl::OnIgnoredUIEvent() {
FOR_EACH_OBSERVER(WebContentsObserver, observers_, DidGetIgnoredUIEvent());
}
-void WebContentsImpl::RendererUnresponsive(RenderViewHost* render_view_host) {
+void WebContentsImpl::RendererUnresponsive(
+ RenderWidgetHostImpl* render_widget_host) {
// Don't show hung renderer dialog for a swapped out RVH.
- if (render_view_host != GetRenderViewHost())
+ if (render_widget_host != GetRenderViewHost()->GetWidget())
return;
- RenderViewHostImpl* rvhi = static_cast<RenderViewHostImpl*>(render_view_host);
RenderFrameHostImpl* rfhi =
- static_cast<RenderFrameHostImpl*>(rvhi->GetMainFrame());
+ static_cast<RenderFrameHostImpl*>(GetRenderViewHost()->GetMainFrame());
// Ignore renderer unresponsive event if debugger is attached to the tab
// since the event may be a result of the renderer sitting on a breakpoint.
@@ -4246,7 +4266,7 @@ void WebContentsImpl::RendererUnresponsive(RenderViewHost* render_view_host) {
rfhi->IsWaitingForUnloadACK()) {
// Hang occurred while firing the beforeunload/unload handler.
// Pretend the handler fired so tab closing continues as if it had.
- rvhi->set_sudden_termination_allowed(true);
+ GetRenderViewHost()->set_sudden_termination_allowed(true);
if (!GetRenderManager()->ShouldCloseTabOnUnresponsiveRenderer())
return;
@@ -4262,7 +4282,7 @@ void WebContentsImpl::RendererUnresponsive(RenderViewHost* render_view_host) {
delegate_->BeforeUnloadFired(this, true, &close);
}
if (close)
- Close(rvhi);
+ Close();
return;
}
@@ -4273,7 +4293,11 @@ void WebContentsImpl::RendererUnresponsive(RenderViewHost* render_view_host) {
delegate_->RendererUnresponsive(this);
}
-void WebContentsImpl::RendererResponsive(RenderViewHost* render_view_host) {
+void WebContentsImpl::RendererResponsive(
+ RenderWidgetHostImpl* render_widget_host) {
+ if (render_widget_host != GetRenderViewHost()->GetWidget())
+ return;
+
if (delegate_)
delegate_->RendererResponsive(this);
}
« no previous file with comments | « content/browser/web_contents/web_contents_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698