| Index: content/browser/renderer_host/render_widget_host_view_aura.cc
|
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| index 6963b213ad3806a21bdf94826a1268a601d402f4..3a46b4c3c4f2220dd8ca20b272296b707eb5d3fa 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
| @@ -481,6 +481,7 @@ RenderWidgetHostViewAura::RenderWidgetHostViewAura(RenderWidgetHost* host,
|
| begin_frame_observer_proxy_(this),
|
| set_focus_on_mouse_down_or_key_event_(false),
|
| device_scale_factor_(0.0f),
|
| + disable_input_event_router_for_testing_(false),
|
| weak_ptr_factory_(this) {
|
| if (!is_guest_view_hack_)
|
| host_->SetView(this);
|
| @@ -869,7 +870,8 @@ bool RenderWidgetHostViewAura::ShouldRouteEvent(const ui::Event* event) const {
|
| // frame. TODO(wjmaclean): At present, this doesn't work for OOPIF, but
|
| // it should be a simple extension to modify RenderWidgetHostViewChildFrame
|
| // in a similar manner to RenderWidgetHostViewGuest.
|
| - bool result = host_->delegate() && host_->delegate()->GetInputEventRouter();
|
| + bool result = host_->delegate() && host_->delegate()->GetInputEventRouter() &&
|
| + !disable_input_event_router_for_testing_;
|
| if (event->IsMouseEvent())
|
| result = result && SiteIsolationPolicy::AreCrossProcessFramesPossible();
|
| return result;
|
| @@ -2260,6 +2262,12 @@ void RenderWidgetHostViewAura::ProcessTouchEvent(
|
| host_->ForwardTouchEventWithLatencyInfo(event, latency);
|
| }
|
|
|
| +void RenderWidgetHostViewAura::ProcessGestureEvent(
|
| + const blink::WebGestureEvent& event,
|
| + const ui::LatencyInfo& latency) {
|
| + host_->ForwardGestureEventWithLatencyInfo(event, latency);
|
| +}
|
| +
|
| void RenderWidgetHostViewAura::TransformPointToLocalCoordSpace(
|
| const gfx::Point& point,
|
| cc::SurfaceId original_surface,
|
| @@ -2368,11 +2376,21 @@ void RenderWidgetHostViewAura::OnGestureEvent(ui::GestureEvent* event) {
|
| blink::WebGestureEvent fling_cancel = gesture;
|
| fling_cancel.type = blink::WebInputEvent::GestureFlingCancel;
|
| fling_cancel.sourceDevice = blink::WebGestureDeviceTouchscreen;
|
| - host_->ForwardGestureEvent(fling_cancel);
|
| + if (ShouldRouteEvent(event)) {
|
| + host_->delegate()->GetInputEventRouter()->RouteGestureEvent(
|
| + this, &fling_cancel, ui::LatencyInfo());
|
| + } else {
|
| + host_->ForwardGestureEvent(fling_cancel);
|
| + }
|
| }
|
|
|
| if (gesture.type != blink::WebInputEvent::Undefined) {
|
| - host_->ForwardGestureEventWithLatencyInfo(gesture, *event->latency());
|
| + if (ShouldRouteEvent(event)) {
|
| + host_->delegate()->GetInputEventRouter()->RouteGestureEvent(
|
| + this, &gesture, *event->latency());
|
| + } else {
|
| + host_->ForwardGestureEventWithLatencyInfo(gesture, *event->latency());
|
| + }
|
|
|
| if (event->type() == ui::ET_GESTURE_SCROLL_BEGIN ||
|
| event->type() == ui::ET_GESTURE_SCROLL_UPDATE ||
|
| @@ -2738,6 +2756,7 @@ void RenderWidgetHostViewAura::SetSelectionControllerClientForTest(
|
| scoped_ptr<TouchSelectionControllerClientAura> client) {
|
| selection_controller_client_.swap(client);
|
| CreateSelectionController();
|
| + disable_input_event_router_for_testing_ = true;
|
| }
|
|
|
| void RenderWidgetHostViewAura::InternalSetBounds(const gfx::Rect& rect) {
|
|
|