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

Unified Diff: ui/events/keycodes/dom4/keycode_converter.cc

Issue 1120813002: Remove EF_FUNCTION_KEY and EF_NUMPAD_KEY. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add and fix tests Created 5 years, 8 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: ui/events/keycodes/dom4/keycode_converter.cc
diff --git a/ui/events/keycodes/dom4/keycode_converter.cc b/ui/events/keycodes/dom4/keycode_converter.cc
index d9a26a2c44461edf2c8c2deb9151f0afb755c23a..2a7fd228222afc82b1aa862c49bef6a4e26b11ce 100644
--- a/ui/events/keycodes/dom4/keycode_converter.cc
+++ b/ui/events/keycodes/dom4/keycode_converter.cc
@@ -139,6 +139,55 @@ const char* KeycodeConverter::DomCodeToCodeString(DomCode dom_code) {
}
// static
+DomCodeLocation KeycodeConverter::DomCodeToLocation(DomCode dom_code) {
+ static const struct {
+ DomCode code;
+ DomCodeLocation location;
+ } kLocations[] = {{DomCode::CONTROL_LEFT, DomCodeLocation::LEFT},
Wez 2015/05/05 00:29:09 Will this cause a static to be initialized on firs
kpschoedel 2015/05/05 16:30:08 'static const' lets it use the data directly from
+ {DomCode::SHIFT_LEFT, DomCodeLocation::LEFT},
+ {DomCode::ALT_LEFT, DomCodeLocation::LEFT},
+ {DomCode::OS_LEFT, DomCodeLocation::LEFT},
+ {DomCode::CONTROL_RIGHT, DomCodeLocation::RIGHT},
+ {DomCode::SHIFT_RIGHT, DomCodeLocation::RIGHT},
+ {DomCode::ALT_RIGHT, DomCodeLocation::RIGHT},
+ {DomCode::OS_RIGHT, DomCodeLocation::RIGHT},
+ {DomCode::NUMPAD_DIVIDE, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_MULTIPLY, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_SUBTRACT, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_ADD, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_ENTER, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD1, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD2, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD3, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD4, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD5, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD6, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD7, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD8, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD9, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD0, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_DECIMAL, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_EQUAL, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_COMMA, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_PAREN_LEFT, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_PAREN_RIGHT, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_BACKSPACE, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_MEMORY_STORE, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_MEMORY_RECALL, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_MEMORY_CLEAR, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_MEMORY_ADD, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_MEMORY_SUBTRACT, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_SIGN_CHANGE, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_CLEAR, DomCodeLocation::NUMPAD},
+ {DomCode::NUMPAD_CLEAR_ENTRY, DomCodeLocation::NUMPAD}};
Wez 2015/05/05 00:29:09 nit: Although this is future-proof, you could reas
kpschoedel 2015/05/05 16:30:08 Yes; my reasoning was that the non-digit NUMPAD va
Wez 2015/05/05 21:23:44 Acknowledged.
+ for (const auto& key : kLocations) {
+ if (key.code == dom_code)
+ return key.location;
+ }
+ return DomCodeLocation::STANDARD;
+}
+
+// static
DomKey KeycodeConverter::KeyStringToDomKey(const char* key) {
if (!key || !*key)
return DomKey::NONE;

Powered by Google App Engine
This is Rietveld 408576698