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

Unified Diff: content/browser/renderer_host/input/input_router_impl.cc

Issue 291003002: Move OverscrollController to RenderWidgetHostViewAura (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: DCHECK_GE Created 6 years, 7 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
Index: content/browser/renderer_host/input/input_router_impl.cc
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc
index 5167b266b5b26c2a18945e8c0c48c8bd556f727f..db392b4e3619b71265dd15d9cf49bfaca1afc157 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -15,7 +15,6 @@
#include "content/browser/renderer_host/input/input_router_client.h"
#include "content/browser/renderer_host/input/touch_event_queue.h"
#include "content/browser/renderer_host/input/touchpad_tap_suppression_controller.h"
-#include "content/browser/renderer_host/overscroll_controller.h"
#include "content/common/content_constants_internal.h"
#include "content/common/edit_command.h"
#include "content/common/input/input_event_ack_state.h"
@@ -184,13 +183,8 @@ void InputRouterImpl::SendGestureEvent(
if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen)
touch_event_queue_.OnGestureScrollEvent(gesture_event);
- if (!IsInOverscrollGesture() &&
- !gesture_event_queue_.ShouldForward(gesture_event)) {
- OverscrollController* controller = client_->GetOverscrollController();
- if (controller)
- controller->DiscardingGestureEvent(gesture_event.event);
+ if (!gesture_event_queue_.ShouldForward(gesture_event))
return;
- }
SendGestureEventImmediately(gesture_event);
}
@@ -299,7 +293,6 @@ void InputRouterImpl::OnGestureEventAck(
const GestureEventWithLatencyInfo& event,
InputEventAckState ack_result) {
touch_event_queue_.OnGestureEventAck(event, ack_result);
- ProcessAckForOverscroll(event.event, ack_result);
ack_handler_->OnGestureEventAck(event, ack_result);
}
@@ -347,9 +340,6 @@ void InputRouterImpl::FilterAndSendWebInputEvent(
void InputRouterImpl::OfferToHandlers(const WebInputEvent& input_event,
const ui::LatencyInfo& latency_info,
bool is_keyboard_shortcut) {
- if (OfferToOverscrollController(input_event, latency_info))
- return;
-
if (OfferToClient(input_event, latency_info))
return;
@@ -372,41 +362,6 @@ void InputRouterImpl::OfferToHandlers(const WebInputEvent& input_event,
}
}
-bool InputRouterImpl::OfferToOverscrollController(
- const WebInputEvent& input_event,
- const ui::LatencyInfo& latency_info) {
- OverscrollController* controller = client_->GetOverscrollController();
- if (!controller)
- return false;
-
- OverscrollController::Disposition disposition =
- controller->DispatchEvent(input_event, latency_info);
-
- bool consumed = disposition == OverscrollController::CONSUMED;
-
- if (disposition == OverscrollController::SHOULD_FORWARD_TO_GESTURE_QUEUE) {
- DCHECK(WebInputEvent::isGestureEventType(input_event.type));
- const blink::WebGestureEvent& gesture_event =
- static_cast<const blink::WebGestureEvent&>(input_event);
- // An ACK is expected for the event, so mark it as consumed.
- consumed = !gesture_event_queue_.ShouldForward(
- GestureEventWithLatencyInfo(gesture_event, latency_info));
- }
-
- if (consumed) {
- InputEventAckState overscroll_ack =
- WebInputEvent::isTouchEventType(input_event.type) ?
- INPUT_EVENT_ACK_STATE_NOT_CONSUMED : INPUT_EVENT_ACK_STATE_CONSUMED;
- ProcessInputEventAck(input_event.type,
- overscroll_ack,
- latency_info,
- OVERSCROLL_CONTROLLER);
- // WARNING: |this| may be deleted at this point.
- }
-
- return consumed;
-}
-
bool InputRouterImpl::OfferToClient(const WebInputEvent& input_event,
const ui::LatencyInfo& latency_info) {
bool consumed = false;
@@ -651,7 +606,6 @@ void InputRouterImpl::ProcessWheelAck(InputEventAckState ack_result,
} else {
// Process the unhandled wheel event here before calling SendWheelEvent()
// since it will mutate current_wheel_event_.
- ProcessAckForOverscroll(current_wheel_event_.event.event, ack_result);
ack_handler_->OnWheelEventAck(current_wheel_event_.event, ack_result);
}
@@ -672,12 +626,8 @@ void InputRouterImpl::ProcessWheelAck(InputEventAckState ack_result,
void InputRouterImpl::ProcessGestureAck(WebInputEvent::Type type,
InputEventAckState ack_result,
const ui::LatencyInfo& latency) {
- // If |ack_result| originated from the overscroll controller, only
- // feed |gesture_event_queue_| the ack if it was expecting one.
- if (current_ack_source_ == OVERSCROLL_CONTROLLER &&
- !gesture_event_queue_.ExpectingGestureAck()) {
+ if (!gesture_event_queue_.ExpectingGestureAck())
return;
- }
// |gesture_event_queue_| will forward to OnGestureEventAck when appropriate.
gesture_event_queue_.ProcessGestureAck(ack_result, type, latency);
@@ -690,21 +640,6 @@ void InputRouterImpl::ProcessTouchAck(
touch_event_queue_.ProcessTouchAck(ack_result, latency);
}
-void InputRouterImpl::ProcessAckForOverscroll(const WebInputEvent& event,
- InputEventAckState ack_result) {
- // Acks sent from the overscroll controller need not be fed back into the
- // overscroll controller.
- if (current_ack_source_ == OVERSCROLL_CONTROLLER)
- return;
-
- OverscrollController* controller = client_->GetOverscrollController();
- if (!controller)
- return;
-
- controller->ReceivedEventACK(
- event, (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result));
-}
-
void InputRouterImpl::UpdateTouchAckTimeoutEnabled() {
// Mobile sites tend to be well-behaved with respect to touch handling, so
// they have less need for the touch timeout fallback.
@@ -744,11 +679,6 @@ bool InputRouterImpl::HasPendingEvents() const {
move_caret_pending_;
}
-bool InputRouterImpl::IsInOverscrollGesture() const {
- OverscrollController* controller = client_->GetOverscrollController();
- return controller && controller->overscroll_mode() != OVERSCROLL_NONE;
-}
-
InputRouterImpl::QueuedWheelEvent::QueuedWheelEvent()
: synthesized_from_pinch(false) {
}

Powered by Google App Engine
This is Rietveld 408576698