#ifndef CONTENT_BROWSER_ANDROID_IN_PROCESS_SYNCHRONOUS_INPUT_EVENT_FILTER_H_
#define CONTENT_BROWSER_ANDROID_IN_PROCESS_SYNCHRONOUS_INPUT_EVENT_FILTER_H_
#include "base/basictypes.h"
#include "base/callback.h"
#include "base/compiler_specific.h"
#include "content/port/common/input_event_ack_state.h"
#include "content/renderer/input/input_handler_manager_client.h"
#include "ui/gfx/vector2d_f.h"
namespace blink {
class WebInputEvent;
}
namespace content {
class SynchronousInputEventFilter : public InputHandlerManagerClient {
public:
SynchronousInputEventFilter();
virtual ~SynchronousInputEventFilter();
InputEventAckState HandleInputEvent(int routing_id,
const blink::WebInputEvent& input_event);
virtual void SetBoundHandler(const Handler& handler) OVERRIDE;
virtual void DidAddInputHandler(int routing_id,
cc::InputHandler* input_handler) OVERRIDE;
virtual void DidRemoveInputHandler(int routing_id) OVERRIDE;
virtual void DidOverscroll(int routing_id,
const DidOverscrollParams& params) OVERRIDE;
virtual void DidStopFlinging(int routing_id) OVERRIDE;
private:
void SetBoundHandlerOnUIThread(const Handler& handler);
Handler handler_;
};
}
#endif