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_WEB_INPUT_EVENT_UTIL_H_
6#define CONTENT_BROWSER_RENDERER_HOST_INPUT_WEB_INPUT_EVENT_UTIL_H_
7
8#include "content/common/content_export.h"
9#include "third_party/WebKit/public/web/WebInputEvent.h"
10#include "ui/events/keycodes/keyboard_codes.h"
11
12namespace ui {
13struct GestureEventData;
14class MotionEvent;
15}
16
17namespace content {
18
19// Update |event|'s windowsKeyCode and keyIdentifer properties using the
20// provided |windows_key_code|.
21CONTENT_EXPORT void UpdateWindowsKeyCodeAndKeyIdentifier(
22    blink::WebKeyboardEvent* event,
23    ui::KeyboardCode windows_key_code);
24
25// Creates a WebTouchEvent from |event|, scaling all size components from
26// |event| by |scale|.
27CONTENT_EXPORT blink::WebTouchEvent CreateWebTouchEventFromMotionEvent(
28    const ui::MotionEvent& event);
29
30// Creates a WebGestureEvent from |event|, scaling all size components from
31// |event| by |scale|.
32CONTENT_EXPORT blink::WebGestureEvent CreateWebGestureEventFromGestureEventData(
33    const ui::GestureEventData& data);
34
35int EventFlagsToWebEventModifiers(int flags);
36
37int WebEventModifiersToEventFlags(int modifiers);
38
39}  // namespace content
40
41#endif  // CONTENT_BROWSER_RENDERER_HOST_INPUT_WEB_INPUT_EVENT_UTIL_H_
42