IndexedDBFactory now ForceCloses databases.
[chromium-blink-merge.git] / content / browser / renderer_host / input / web_input_event_util.cc
blob804c0b126c19ee0223b10b5048ca9a7dca276259
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.
5 #include "content/browser/renderer_host/input/web_input_event_util.h"
7 #include "base/strings/string_util.h"
8 #include "third_party/WebKit/public/web/WebInputEvent.h"
10 namespace {
12 const char* GetKeyIdentifier(ui::KeyboardCode key_code) {
13 switch (key_code) {
14 case ui::VKEY_MENU:
15 return "Alt";
16 case ui::VKEY_CONTROL:
17 return "Control";
18 case ui::VKEY_SHIFT:
19 return "Shift";
20 case ui::VKEY_CAPITAL:
21 return "CapsLock";
22 case ui::VKEY_LWIN:
23 case ui::VKEY_RWIN:
24 return "Win";
25 case ui::VKEY_CLEAR:
26 return "Clear";
27 case ui::VKEY_DOWN:
28 return "Down";
29 case ui::VKEY_END:
30 return "End";
31 case ui::VKEY_RETURN:
32 return "Enter";
33 case ui::VKEY_EXECUTE:
34 return "Execute";
35 case ui::VKEY_F1:
36 return "F1";
37 case ui::VKEY_F2:
38 return "F2";
39 case ui::VKEY_F3:
40 return "F3";
41 case ui::VKEY_F4:
42 return "F4";
43 case ui::VKEY_F5:
44 return "F5";
45 case ui::VKEY_F6:
46 return "F6";
47 case ui::VKEY_F7:
48 return "F7";
49 case ui::VKEY_F8:
50 return "F8";
51 case ui::VKEY_F9:
52 return "F9";
53 case ui::VKEY_F10:
54 return "F10";
55 case ui::VKEY_F11:
56 return "F11";
57 case ui::VKEY_F12:
58 return "F12";
59 case ui::VKEY_F13:
60 return "F13";
61 case ui::VKEY_F14:
62 return "F14";
63 case ui::VKEY_F15:
64 return "F15";
65 case ui::VKEY_F16:
66 return "F16";
67 case ui::VKEY_F17:
68 return "F17";
69 case ui::VKEY_F18:
70 return "F18";
71 case ui::VKEY_F19:
72 return "F19";
73 case ui::VKEY_F20:
74 return "F20";
75 case ui::VKEY_F21:
76 return "F21";
77 case ui::VKEY_F22:
78 return "F22";
79 case ui::VKEY_F23:
80 return "F23";
81 case ui::VKEY_F24:
82 return "F24";
83 case ui::VKEY_HELP:
84 return "Help";
85 case ui::VKEY_HOME:
86 return "Home";
87 case ui::VKEY_INSERT:
88 return "Insert";
89 case ui::VKEY_LEFT:
90 return "Left";
91 case ui::VKEY_NEXT:
92 return "PageDown";
93 case ui::VKEY_PRIOR:
94 return "PageUp";
95 case ui::VKEY_PAUSE:
96 return "Pause";
97 case ui::VKEY_SNAPSHOT:
98 return "PrintScreen";
99 case ui::VKEY_RIGHT:
100 return "Right";
101 case ui::VKEY_SCROLL:
102 return "Scroll";
103 case ui::VKEY_SELECT:
104 return "Select";
105 case ui::VKEY_UP:
106 return "Up";
107 case ui::VKEY_DELETE:
108 return "U+007F"; // Standard says that DEL becomes U+007F.
109 case ui::VKEY_MEDIA_NEXT_TRACK:
110 return "MediaNextTrack";
111 case ui::VKEY_MEDIA_PREV_TRACK:
112 return "MediaPreviousTrack";
113 case ui::VKEY_MEDIA_STOP:
114 return "MediaStop";
115 case ui::VKEY_MEDIA_PLAY_PAUSE:
116 return "MediaPlayPause";
117 case ui::VKEY_VOLUME_MUTE:
118 return "VolumeMute";
119 case ui::VKEY_VOLUME_DOWN:
120 return "VolumeDown";
121 case ui::VKEY_VOLUME_UP:
122 return "VolumeUp";
123 default:
124 return NULL;
128 } // namespace
130 namespace content {
132 void UpdateWindowsKeyCodeAndKeyIdentifier(blink::WebKeyboardEvent* event,
133 ui::KeyboardCode windows_key_code) {
134 event->windowsKeyCode = windows_key_code;
136 const char* id = GetKeyIdentifier(windows_key_code);
137 if (id) {
138 base::strlcpy(event->keyIdentifier, id, sizeof(event->keyIdentifier) - 1);
139 } else {
140 base::snprintf(event->keyIdentifier, sizeof(event->keyIdentifier), "U+%04X",
141 base::ToUpperASCII(static_cast<int>(windows_key_code)));
145 } // namespace content