Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
| diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| index be3ae940b51939837a448e06c5803f000a5ae32f..2f3287ac9b3dabebe5f728ffa0abd64a6a2cdac0 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
| +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
| @@ -52,6 +52,7 @@ |
| #include "content/common/edit_command.h" |
| #include "content/common/gpu/gpu_messages.h" |
| #include "content/common/input_messages.h" |
| +#include "content/common/site_isolation_policy.h" |
| #include "content/common/view_messages.h" |
| #include "content/common/webplugin_geometry.h" |
| #include "content/public/browser/browser_context.h" |
| @@ -1607,6 +1608,17 @@ uint32_t RenderWidgetHostViewMac::SurfaceIdNamespaceAtPoint( |
| return cc::SurfaceIdAllocator::NamespaceForId(id); |
| } |
| +bool RenderWidgetHostViewMac::ShouldRouteEvent( |
| + const WebInputEvent& event) const { |
| + // TODO(wjmaclean): update this function if RenderWidgetHostViewMac implements |
| + // OnTouchEvent(), to match what we are doing in RenderWidgetHostViewAura. |
|
Charlie Reis
2015/12/11 21:32:52
nit: Start with // See also RenderWidgetHostViewAu
wjmaclean
2015/12/14 14:17:40
Done.
|
| + DCHECK(WebInputEvent::isMouseEventType(event.type) || |
| + event.type == WebInputEvent::MouseWheel); |
| + return render_widget_host_->delegate() && |
| + render_widget_host_->delegate()->GetInputEventRouter() && |
| + SiteIsolationPolicy::AreCrossProcessFramesPossible(); |
| +} |
| + |
| void RenderWidgetHostViewMac::ProcessMouseEvent( |
| const blink::WebMouseEvent& event) { |
| render_widget_host_->ForwardMouseEvent(event); |
| @@ -1953,14 +1965,12 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
| WebMouseEvent enterEvent = WebMouseEventBuilder::Build(theEvent, self); |
| enterEvent.type = WebInputEvent::MouseMove; |
| enterEvent.button = WebMouseEvent::ButtonNone; |
| - if (renderWidgetHostView_->render_widget_host_->delegate() && |
| - renderWidgetHostView_->render_widget_host_->delegate() |
| - ->GetInputEventRouter()) { |
| + if (renderWidgetHostView_->ShouldRouteEvent(enterEvent)) { |
| renderWidgetHostView_->render_widget_host_->delegate() |
| ->GetInputEventRouter() |
| ->RouteMouseEvent(renderWidgetHostView_.get(), &enterEvent); |
| } else { |
| - renderWidgetHostView_->ForwardMouseEvent(enterEvent); |
| + renderWidgetHostView_->ProcessMouseEvent(enterEvent); |
| } |
| } |
| } |
| @@ -1990,14 +2000,12 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
| } |
| WebMouseEvent event = WebMouseEventBuilder::Build(theEvent, self); |
| - if (renderWidgetHostView_->render_widget_host_->delegate() && |
| - renderWidgetHostView_->render_widget_host_->delegate() |
| - ->GetInputEventRouter()) { |
| + if (renderWidgetHostView_->ShouldRouteEvent(event)) { |
| renderWidgetHostView_->render_widget_host_->delegate() |
| ->GetInputEventRouter() |
| ->RouteMouseEvent(renderWidgetHostView_.get(), &event); |
| } else { |
| - renderWidgetHostView_->ForwardMouseEvent(event); |
| + renderWidgetHostView_->ProcessMouseEvent(event); |
| } |
| } |
| @@ -2501,14 +2509,12 @@ void RenderWidgetHostViewMac::OnDisplayMetricsChanged( |
| WebMouseWheelEvent webEvent = WebMouseWheelEventBuilder::Build( |
| event, self, canRubberbandLeft, canRubberbandRight); |
| webEvent.railsMode = mouseWheelFilter_.UpdateRailsMode(webEvent); |
| - if (renderWidgetHostView_->render_widget_host_->delegate() && |
| - renderWidgetHostView_->render_widget_host_->delegate() |
| - ->GetInputEventRouter()) { |
| + if (renderWidgetHostView_->ShouldRouteEvent(webEvent)) { |
| renderWidgetHostView_->render_widget_host_->delegate() |
| ->GetInputEventRouter() |
| ->RouteMouseWheelEvent(renderWidgetHostView_.get(), &webEvent); |
| } else { |
| - renderWidgetHostView_->render_widget_host_->ForwardWheelEvent(webEvent); |
| + renderWidgetHostView_->ProcessMouseWheelEvent(webEvent); |
| } |
| } |
| } |