input_ack_handler.h revision 4e180b6a0b4720a9b8e9e959a882386f690f08ff
1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ACK_HANDLER_H_ 6#define CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ACK_HANDLER_H_ 7 8#include "base/basictypes.h" 9#include "content/port/browser/event_with_latency_info.h" 10#include "content/port/common/input_event_ack_state.h" 11#include "content/public/browser/native_web_keyboard_event.h" 12#include "third_party/WebKit/public/web/WebInputEvent.h" 13 14namespace content { 15 16// Provided customized ack response for input events. 17class CONTENT_EXPORT InputAckHandler { 18 public: 19 virtual ~InputAckHandler() {} 20 21 // Called upon event ack receipt from the renderer. 22 virtual void OnKeyboardEventAck(const NativeWebKeyboardEvent& event, 23 InputEventAckState ack_result) = 0; 24 virtual void OnWheelEventAck(const MouseWheelEventWithLatencyInfo& event, 25 InputEventAckState ack_result) = 0; 26 virtual void OnTouchEventAck(const TouchEventWithLatencyInfo& event, 27 InputEventAckState ack_result) = 0; 28 virtual void OnGestureEventAck(const GestureEventWithLatencyInfo& event, 29 InputEventAckState ack_result) = 0; 30 31 enum UnexpectedEventAckType { 32 UNEXPECTED_ACK, 33 UNEXPECTED_EVENT_TYPE, 34 BAD_ACK_MESSAGE 35 }; 36 virtual void OnUnexpectedEventAck(UnexpectedEventAckType type) = 0; 37}; 38 39} // namespace content 40 41#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ACK_HANDLER_H_ 42