Commit 103db443 authored by kpschoedel's avatar kpschoedel Committed by Commit bot

Remove some |char*| functions from KeycodeConverter

Convert code to use enum DomCode rather than strings.

BUG=444048
R=wez@chromium.org,bbudge@chromium.org,bauerb@chromium.org,jcivelli@chromium.org,sadrul@chromium.org

Presubmit has failed to acknowledge the "LGTM" at https://codereview.chromium.org/1124963003/#msg29 so I'm adding this TBR as a workaround:

TBR=jcivelli

Review URL: https://codereview.chromium.org/1124963003

Cr-Commit-Position: refs/heads/master@{#330158}
parent 5bb90a92
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#include "net/dns/mock_host_resolver.h" #include "net/dns/mock_host_resolver.h"
#include "net/test/embedded_test_server/embedded_test_server.h" #include "net/test/embedded_test_server/embedded_test_server.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/dom/keycode_converter.h" #include "ui/events/keycodes/dom/keycode_converter.h"
using content::WebContents; using content::WebContents;
...@@ -637,35 +638,38 @@ IN_PROC_BROWSER_TEST_F(PopupBlockerBrowserTest, CtrlEnterKey) { ...@@ -637,35 +638,38 @@ IN_PROC_BROWSER_TEST_F(PopupBlockerBrowserTest, CtrlEnterKey) {
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
int modifiers = blink::WebInputEvent::MetaKey; int modifiers = blink::WebInputEvent::MetaKey;
InjectRawKeyEvent(tab, blink::WebInputEvent::RawKeyDown, ui::VKEY_COMMAND, InjectRawKeyEvent(
ui::KeycodeConverter::CodeToNativeKeycode("OSLeft"), tab, blink::WebInputEvent::RawKeyDown, ui::VKEY_COMMAND,
ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::OS_LEFT),
modifiers); modifiers);
#else #else
int modifiers = blink::WebInputEvent::ControlKey; int modifiers = blink::WebInputEvent::ControlKey;
InjectRawKeyEvent(tab, blink::WebInputEvent::RawKeyDown, ui::VKEY_CONTROL, InjectRawKeyEvent(
ui::KeycodeConverter::CodeToNativeKeycode("ControlLeft"), tab, blink::WebInputEvent::RawKeyDown, ui::VKEY_CONTROL,
ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::CONTROL_LEFT),
modifiers); modifiers);
#endif #endif
InjectRawKeyEvent(tab, blink::WebInputEvent::RawKeyDown, ui::VKEY_RETURN, InjectRawKeyEvent(tab, blink::WebInputEvent::RawKeyDown, ui::VKEY_RETURN,
ui::KeycodeConverter::CodeToNativeKeycode(NULL), modifiers); ui::KeycodeConverter::InvalidNativeKeycode(), modifiers);
InjectRawKeyEvent(tab, blink::WebInputEvent::Char, ui::VKEY_RETURN, InjectRawKeyEvent(tab, blink::WebInputEvent::Char, ui::VKEY_RETURN,
ui::KeycodeConverter::CodeToNativeKeycode(NULL), modifiers); ui::KeycodeConverter::InvalidNativeKeycode(), modifiers);
InjectRawKeyEvent(tab, blink::WebInputEvent::KeyUp, ui::VKEY_RETURN, InjectRawKeyEvent(tab, blink::WebInputEvent::KeyUp, ui::VKEY_RETURN,
ui::KeycodeConverter::CodeToNativeKeycode(NULL), modifiers); ui::KeycodeConverter::InvalidNativeKeycode(), modifiers);
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
InjectRawKeyEvent(tab, blink::WebInputEvent::KeyUp, ui::VKEY_COMMAND, InjectRawKeyEvent(
ui::KeycodeConverter::CodeToNativeKeycode("OSLeft"), tab, blink::WebInputEvent::KeyUp, ui::VKEY_COMMAND,
ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::OS_LEFT),
modifiers); modifiers);
#else #else
InjectRawKeyEvent(tab, blink::WebInputEvent::KeyUp, ui::VKEY_CONTROL, InjectRawKeyEvent(
ui::KeycodeConverter::CodeToNativeKeycode("ControlLeft"), tab, blink::WebInputEvent::KeyUp, ui::VKEY_CONTROL,
ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::CONTROL_LEFT),
modifiers); modifiers);
#endif #endif
wait_for_new_tab.Wait(); wait_for_new_tab.Wait();
ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile(),
......
...@@ -561,11 +561,6 @@ ...@@ -561,11 +561,6 @@
'renderer/pepper/url_request_info_util.h', 'renderer/pepper/url_request_info_util.h',
'renderer/pepper/url_response_info_util.cc', 'renderer/pepper/url_response_info_util.cc',
'renderer/pepper/url_response_info_util.h', 'renderer/pepper/url_response_info_util.h',
'renderer/pepper/usb_key_code_conversion.cc',
'renderer/pepper/usb_key_code_conversion.h',
'renderer/pepper/usb_key_code_conversion_linux.cc',
'renderer/pepper/usb_key_code_conversion_mac.cc',
'renderer/pepper/usb_key_code_conversion_win.cc',
'renderer/pepper/v8_var_converter.cc', 'renderer/pepper/v8_var_converter.cc',
'renderer/pepper/v8_var_converter.h', 'renderer/pepper/v8_var_converter.h',
'renderer/pepper/v8object_var.cc', 'renderer/pepper/v8object_var.cc',
......
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include "ui/base/resource/resource_bundle.h" #include "ui/base/resource/resource_bundle.h"
#include "ui/compositor/test/draw_waiter_for_test.h" #include "ui/compositor/test/draw_waiter_for_test.h"
#include "ui/events/gesture_detection/gesture_configuration.h" #include "ui/events/gesture_detection/gesture_configuration.h"
#include "ui/events/keycodes/dom/dom_code.h"
#include "ui/events/keycodes/dom/keycode_converter.h" #include "ui/events/keycodes/dom/keycode_converter.h"
#include "ui/resources/grit/webui_resources.h" #include "ui/resources/grit/webui_resources.h"
...@@ -445,7 +446,8 @@ void SimulateKeyPressWithCode(WebContents* web_contents, ...@@ -445,7 +446,8 @@ void SimulateKeyPressWithCode(WebContents* web_contents,
bool shift, bool shift,
bool alt, bool alt,
bool command) { bool command) {
int native_key_code = ui::KeycodeConverter::CodeToNativeKeycode(code); int native_key_code = ui::KeycodeConverter::DomCodeToNativeKeycode(
ui::KeycodeConverter::CodeStringToDomCode(code));
int modifiers = 0; int modifiers = 0;
...@@ -453,95 +455,74 @@ void SimulateKeyPressWithCode(WebContents* web_contents, ...@@ -453,95 +455,74 @@ void SimulateKeyPressWithCode(WebContents* web_contents,
// For our simulation we can use either the left keys or the right keys. // For our simulation we can use either the left keys or the right keys.
if (control) { if (control) {
modifiers |= blink::WebInputEvent::ControlKey; modifiers |= blink::WebInputEvent::ControlKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::RawKeyDown, web_contents, blink::WebInputEvent::RawKeyDown, ui::VKEY_CONTROL,
ui::VKEY_CONTROL, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::CONTROL_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("ControlLeft"),
modifiers); modifiers);
} }
if (shift) { if (shift) {
modifiers |= blink::WebInputEvent::ShiftKey; modifiers |= blink::WebInputEvent::ShiftKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::RawKeyDown, web_contents, blink::WebInputEvent::RawKeyDown, ui::VKEY_SHIFT,
ui::VKEY_SHIFT, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::SHIFT_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("ShiftLeft"),
modifiers); modifiers);
} }
if (alt) { if (alt) {
modifiers |= blink::WebInputEvent::AltKey; modifiers |= blink::WebInputEvent::AltKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::RawKeyDown, web_contents, blink::WebInputEvent::RawKeyDown, ui::VKEY_MENU,
ui::VKEY_MENU, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::ALT_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("AltLeft"),
modifiers); modifiers);
} }
if (command) { if (command) {
modifiers |= blink::WebInputEvent::MetaKey; modifiers |= blink::WebInputEvent::MetaKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::RawKeyDown, web_contents, blink::WebInputEvent::RawKeyDown, ui::VKEY_COMMAND,
ui::VKEY_COMMAND, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::OS_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("OSLeft"),
modifiers); modifiers);
} }
InjectRawKeyEvent(web_contents, blink::WebInputEvent::RawKeyDown, key_code,
native_key_code, modifiers);
InjectRawKeyEvent( InjectRawKeyEvent(web_contents, blink::WebInputEvent::Char, key_code,
web_contents, native_key_code, modifiers);
blink::WebInputEvent::RawKeyDown,
key_code,
native_key_code,
modifiers);
InjectRawKeyEvent( InjectRawKeyEvent(web_contents, blink::WebInputEvent::KeyUp, key_code,
web_contents, native_key_code, modifiers);
blink::WebInputEvent::Char,
key_code,
native_key_code,
modifiers);
InjectRawKeyEvent(
web_contents,
blink::WebInputEvent::KeyUp,
key_code,
native_key_code,
modifiers);
// The order of these key releases shouldn't matter for our simulation. // The order of these key releases shouldn't matter for our simulation.
if (control) { if (control) {
modifiers &= ~blink::WebInputEvent::ControlKey; modifiers &= ~blink::WebInputEvent::ControlKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::KeyUp, web_contents, blink::WebInputEvent::KeyUp, ui::VKEY_CONTROL,
ui::VKEY_CONTROL, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::CONTROL_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("ControlLeft"),
modifiers); modifiers);
} }
if (shift) { if (shift) {
modifiers &= ~blink::WebInputEvent::ShiftKey; modifiers &= ~blink::WebInputEvent::ShiftKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::KeyUp, web_contents, blink::WebInputEvent::KeyUp, ui::VKEY_SHIFT,
ui::VKEY_SHIFT, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::SHIFT_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("ShiftLeft"),
modifiers); modifiers);
} }
if (alt) { if (alt) {
modifiers &= ~blink::WebInputEvent::AltKey; modifiers &= ~blink::WebInputEvent::AltKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::KeyUp, web_contents, blink::WebInputEvent::KeyUp, ui::VKEY_MENU,
ui::VKEY_MENU, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::ALT_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("AltLeft"),
modifiers); modifiers);
} }
if (command) { if (command) {
modifiers &= ~blink::WebInputEvent::MetaKey; modifiers &= ~blink::WebInputEvent::MetaKey;
InjectRawKeyEvent(web_contents, InjectRawKeyEvent(
blink::WebInputEvent::KeyUp, web_contents, blink::WebInputEvent::KeyUp, ui::VKEY_COMMAND,
ui::VKEY_COMMAND, ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::OS_LEFT),
ui::KeycodeConverter::CodeToNativeKeycode("OSLeft"),
modifiers); modifiers);
} }
......
...@@ -13,13 +13,13 @@ ...@@ -13,13 +13,13 @@
#include "base/strings/utf_string_conversion_utils.h" #include "base/strings/utf_string_conversion_utils.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "content/common/input/web_touch_event_traits.h" #include "content/common/input/web_touch_event_traits.h"
#include "content/renderer/pepper/usb_key_code_conversion.h"
#include "ppapi/c/pp_input_event.h" #include "ppapi/c/pp_input_event.h"
#include "ppapi/shared_impl/ppb_input_event_shared.h" #include "ppapi/shared_impl/ppb_input_event_shared.h"
#include "ppapi/shared_impl/time_conversion.h" #include "ppapi/shared_impl/time_conversion.h"
#include "third_party/WebKit/public/platform/WebGamepads.h" #include "third_party/WebKit/public/platform/WebGamepads.h"
#include "third_party/WebKit/public/platform/WebString.h" #include "third_party/WebKit/public/platform/WebString.h"
#include "third_party/WebKit/public/web/WebInputEvent.h" #include "third_party/WebKit/public/web/WebInputEvent.h"
#include "ui/events/keycodes/dom/keycode_converter.h"
using ppapi::EventTimeToPPTimeTicks; using ppapi::EventTimeToPPTimeTicks;
using ppapi::InputEventData; using ppapi::InputEventData;
...@@ -135,7 +135,8 @@ void AppendKeyEvent(const WebInputEvent& event, ...@@ -135,7 +135,8 @@ void AppendKeyEvent(const WebInputEvent& event,
InputEventData result = GetEventWithCommonFieldsAndType(event); InputEventData result = GetEventWithCommonFieldsAndType(event);
result.event_modifiers = key_event.modifiers; result.event_modifiers = key_event.modifiers;
result.key_code = key_event.windowsKeyCode; result.key_code = key_event.windowsKeyCode;
result.code = CodeForKeyboardEvent(key_event); result.code = ui::KeycodeConverter::DomCodeToCodeString(
static_cast<ui::DomCode>(key_event.domCode));
result_events->push_back(result); result_events->push_back(result);
} }
......
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/renderer/pepper/usb_key_code_conversion.h"
#include "build/build_config.h"
using blink::WebKeyboardEvent;
namespace content {
#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN)
uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
return 0;
}
const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
return NULL;
}
#endif
} // namespace content
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_RENDERER_PEPPER_USB_KEY_CODE_CONVERSION_H_
#define CONTENT_RENDERER_PEPPER_USB_KEY_CODE_CONVERSION_H_
#include "ppapi/c/pp_stdint.h"
namespace blink {
class WebKeyboardEvent;
} // namespace blink
namespace content {
// Returns a 32-bit "USB Key Code" for the key identifier by the supplied
// WebKeyboardEvent. The supplied event must be a KeyDown or KeyUp.
// The code consists of the USB Page (in the high-order 16-bit word) and
// USB Usage Id of the key. If no translation can be performed then zero
// is returned.
uint32_t UsbKeyCodeForKeyboardEvent(const blink::WebKeyboardEvent& key_event);
// Returns a string that represents the UI Event |code| parameter as specified
// in http://www.w3.org/TR/uievents/
const char* CodeForKeyboardEvent(const blink::WebKeyboardEvent& key_event);
} // namespace content
#endif // CONTENT_RENDERER_PEPPER_USB_KEY_CODE_CONVERSION_H_
...@@ -22,7 +22,8 @@ uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) { ...@@ -22,7 +22,8 @@ uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
} }
const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) { const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
return ui::KeycodeConverter::NativeKeycodeToCode(key_event.nativeKeyCode); return ui::KeycodeConverter::DomCodeToCodeString(
ui::KeycodeConverter::NativeKeycodeToDomCode(key_event.nativeKeyCode));
} }
} // namespace content } // namespace content
...@@ -18,7 +18,8 @@ uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) { ...@@ -18,7 +18,8 @@ uint32_t UsbKeyCodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
} }
const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) { const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
return ui::KeycodeConverter::NativeKeycodeToCode(key_event.nativeKeyCode); return ui::KeycodeConverter::DomCodeToCodeString(
ui::KeycodeConverter::NativeKeycodeToDomCode(key_event.nativeKeyCode));
} }
} // namespace content } // namespace content
...@@ -27,7 +27,8 @@ const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) { ...@@ -27,7 +27,8 @@ const char* CodeForKeyboardEvent(const WebKeyboardEvent& key_event) {
if ((key_event.nativeKeyCode & (1 << 24)) != 0) if ((key_event.nativeKeyCode & (1 << 24)) != 0)
scancode |= 0xe000; scancode |= 0xe000;
return ui::KeycodeConverter::NativeKeycodeToCode(scancode); return ui::KeycodeConverter::DomCodeToCodeString(
ui::KeycodeConverter::NativeKeycodeToDomCode(scancode));
} }
} // namespace content } // namespace content
...@@ -351,7 +351,7 @@ TEST(EventTest, KeyEventCode) { ...@@ -351,7 +351,7 @@ TEST(EventTest, KeyEventCode) {
ASSERT_EQ(kDomCodeForSpace, ASSERT_EQ(kDomCodeForSpace,
ui::KeycodeConverter::CodeStringToDomCode(kCodeForSpace)); ui::KeycodeConverter::CodeStringToDomCode(kCodeForSpace));
const uint16 kNativeCodeSpace = const uint16 kNativeCodeSpace =
ui::KeycodeConverter::CodeToNativeKeycode(kCodeForSpace); ui::KeycodeConverter::DomCodeToNativeKeycode(kDomCodeForSpace);
ASSERT_NE(ui::KeycodeConverter::InvalidNativeKeycode(), kNativeCodeSpace); ASSERT_NE(ui::KeycodeConverter::InvalidNativeKeycode(), kNativeCodeSpace);
ASSERT_EQ(kNativeCodeSpace, ASSERT_EQ(kNativeCodeSpace,
ui::KeycodeConverter::DomCodeToNativeKeycode(kDomCodeForSpace)); ui::KeycodeConverter::DomCodeToNativeKeycode(kDomCodeForSpace));
...@@ -433,8 +433,10 @@ void AdvanceKeyEventTimestamp(MSG& msg) { ...@@ -433,8 +433,10 @@ void AdvanceKeyEventTimestamp(MSG& msg) {
#if defined(USE_X11) || defined(OS_WIN) #if defined(USE_X11) || defined(OS_WIN)
TEST(EventTest, AutoRepeat) { TEST(EventTest, AutoRepeat) {
const uint16 kNativeCodeA = ui::KeycodeConverter::CodeToNativeKeycode("KeyA"); const uint16 kNativeCodeA =
const uint16 kNativeCodeB = ui::KeycodeConverter::CodeToNativeKeycode("KeyB"); ui::KeycodeConverter::DomCodeToNativeKeycode(DomCode::KEY_A);
const uint16 kNativeCodeB =
ui::KeycodeConverter::DomCodeToNativeKeycode(DomCode::KEY_B);
#if defined(USE_X11) #if defined(USE_X11)
ScopedXI2Event native_event_a_pressed; ScopedXI2Event native_event_a_pressed;
native_event_a_pressed.InitKeyEvent(ET_KEY_PRESSED, VKEY_A, kNativeCodeA); native_event_a_pressed.InitKeyEvent(ET_KEY_PRESSED, VKEY_A, kNativeCodeA);
......
...@@ -68,18 +68,6 @@ int KeycodeConverter::InvalidNativeKeycode() { ...@@ -68,18 +68,6 @@ int KeycodeConverter::InvalidNativeKeycode() {
return usb_keycode_map[0].native_keycode; return usb_keycode_map[0].native_keycode;
} }
// static
const char* KeycodeConverter::NativeKeycodeToCode(int native_keycode) {
for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
if (usb_keycode_map[i].native_keycode == native_keycode) {
if (usb_keycode_map[i].code != NULL)
return usb_keycode_map[i].code;
break;
}
}
return "";
}
// static // static
DomCode KeycodeConverter::NativeKeycodeToDomCode(int native_keycode) { DomCode KeycodeConverter::NativeKeycodeToDomCode(int native_keycode) {
for (size_t i = 0; i < kKeycodeMapEntries; ++i) { for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
...@@ -92,20 +80,6 @@ DomCode KeycodeConverter::NativeKeycodeToDomCode(int native_keycode) { ...@@ -92,20 +80,6 @@ DomCode KeycodeConverter::NativeKeycodeToDomCode(int native_keycode) {
return DomCode::NONE; return DomCode::NONE;
} }
// static
int KeycodeConverter::CodeToNativeKeycode(const char* code) {
if (!code || !*code)
return InvalidNativeKeycode();
for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
if (usb_keycode_map[i].code &&
strcmp(usb_keycode_map[i].code, code) == 0) {
return usb_keycode_map[i].native_keycode;
}
}
return InvalidNativeKeycode();
}
// static // static
int KeycodeConverter::DomCodeToNativeKeycode(DomCode code) { int KeycodeConverter::DomCodeToNativeKeycode(DomCode code) {
return UsbKeycodeToNativeKeycode(static_cast<uint32_t>(code)); return UsbKeycodeToNativeKeycode(static_cast<uint32_t>(code));
...@@ -129,7 +103,14 @@ DomCode KeycodeConverter::CodeStringToDomCode(const char* code) { ...@@ -129,7 +103,14 @@ DomCode KeycodeConverter::CodeStringToDomCode(const char* code) {
// static // static
const char* KeycodeConverter::DomCodeToCodeString(DomCode dom_code) { const char* KeycodeConverter::DomCodeToCodeString(DomCode dom_code) {
return UsbKeycodeToCode(static_cast<uint32_t>(dom_code)); for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
if (usb_keycode_map[i].usb_keycode == static_cast<uint32_t>(dom_code)) {
if (usb_keycode_map[i].code)
return usb_keycode_map[i].code;
break;
}
}
return "";
} }
// static // static
...@@ -239,24 +220,21 @@ uint32_t KeycodeConverter::NativeKeycodeToUsbKeycode(int native_keycode) { ...@@ -239,24 +220,21 @@ uint32_t KeycodeConverter::NativeKeycodeToUsbKeycode(int native_keycode) {
} }
// static // static
const char* KeycodeConverter::UsbKeycodeToCode(uint32_t usb_keycode) { DomCode KeycodeConverter::UsbKeycodeToDomCode(uint32_t usb_keycode) {
for (size_t i = 0; i < kKeycodeMapEntries; ++i) { for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
if (usb_keycode_map[i].usb_keycode == usb_keycode) { if (usb_keycode_map[i].usb_keycode == usb_keycode)
if (usb_keycode_map[i].code) return static_cast<DomCode>(usb_keycode);
return usb_keycode_map[i].code;
break;
}
} }
return ""; return DomCode::NONE;
} }
// static // static
DomCode KeycodeConverter::UsbKeycodeToDomCode(uint32_t usb_keycode) { uint32_t KeycodeConverter::DomCodeToUsbKeycode(DomCode dom_code) {
for (size_t i = 0; i < kKeycodeMapEntries; ++i) { for (size_t i = 0; i < kKeycodeMapEntries; ++i) {
if (usb_keycode_map[i].usb_keycode == usb_keycode) if (usb_keycode_map[i].usb_keycode == static_cast<uint32_t>(dom_code))
return static_cast<DomCode>(usb_keycode); return usb_keycode_map[i].usb_keycode;
} }
return DomCode::NONE; return InvalidUsbKeycode();
} }
// static // static
......
...@@ -45,16 +45,9 @@ class KeycodeConverter { ...@@ -45,16 +45,9 @@ class KeycodeConverter {
// Return the value that identifies an invalid native keycode. // Return the value that identifies an invalid native keycode.
static int InvalidNativeKeycode(); static int InvalidNativeKeycode();
// Convert a native (Mac/Win/Linux) keycode into the |code| string.
// The returned pointer references a static global string.
static const char* NativeKeycodeToCode(int native_keycode);
// Convert a native (Mac/Win/Linux) keycode into a DomCode. // Convert a native (Mac/Win/Linux) keycode into a DomCode.
static DomCode NativeKeycodeToDomCode(int native_keycode); static DomCode NativeKeycodeToDomCode(int native_keycode);
// Convert a UI Events |code| string value into a native keycode.
static int CodeToNativeKeycode(const char* code);
// Convert a DomCode into a native keycode. // Convert a DomCode into a native keycode.
static int DomCodeToNativeKeycode(DomCode code); static int DomCodeToNativeKeycode(DomCode code);
...@@ -88,13 +81,12 @@ class KeycodeConverter { ...@@ -88,13 +81,12 @@ class KeycodeConverter {
// Convert a platform native keycode into an equivalent USB keycode. // Convert a platform native keycode into an equivalent USB keycode.
static uint32_t NativeKeycodeToUsbKeycode(int native_keycode); static uint32_t NativeKeycodeToUsbKeycode(int native_keycode);
// Convert a USB keycode into the string with the DOM3 |code| value.
// The returned pointer references a static global string.
static const char* UsbKeycodeToCode(uint32_t usb_keycode);
// Convert a USB keycode into a DomCode. // Convert a USB keycode into a DomCode.
static DomCode UsbKeycodeToDomCode(uint32_t usb_keycode); static DomCode UsbKeycodeToDomCode(uint32_t usb_keycode);
// Convert a DomCode into a USB keycode.
static uint32_t DomCodeToUsbKeycode(DomCode dom_code);
// Convert a DOM3 Event |code| string into a USB keycode value. // Convert a DOM3 Event |code| string into a USB keycode value.
static uint32_t CodeToUsbKeycode(const char* code); static uint32_t CodeToUsbKeycode(const char* code);
......
...@@ -38,7 +38,7 @@ TEST(UsbKeycodeMap, Basic) { ...@@ -38,7 +38,7 @@ TEST(UsbKeycodeMap, Basic) {
EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(), EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
keycode_map[0].native_keycode); keycode_map[0].native_keycode);
EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(), EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
ui::KeycodeConverter::CodeToNativeKeycode("Unidentified")); ui::KeycodeConverter::DomCodeToNativeKeycode(ui::DomCode::NONE));
// Verify that there are no duplicate entries in the mapping. // Verify that there are no duplicate entries in the mapping.
std::map<uint32_t, uint16_t> usb_to_native; std::map<uint32_t, uint16_t> usb_to_native;
...@@ -55,17 +55,14 @@ TEST(UsbKeycodeMap, Basic) { ...@@ -55,17 +55,14 @@ TEST(UsbKeycodeMap, Basic) {
entry->native_keycode, entry->native_keycode,
ui::KeycodeConverter::UsbKeycodeToNativeKeycode(entry->usb_keycode)); ui::KeycodeConverter::UsbKeycodeToNativeKeycode(entry->usb_keycode));
// Verify CodeToNativeKeycode and NativeKeycodeToCode work correctly. // Verify DomCodeToNativeKeycode works correctly.
ui::DomCode dom_code =
ui::KeycodeConverter::CodeStringToDomCode(entry->code);
if (entry->code) { if (entry->code) {
EXPECT_EQ(entry->native_keycode, EXPECT_EQ(entry->native_keycode,
ui::KeycodeConverter::CodeToNativeKeycode(entry->code)); ui::KeycodeConverter::DomCodeToNativeKeycode(dom_code));
EXPECT_STREQ( } else {
entry->code, EXPECT_EQ(ui::DomCode::NONE, dom_code);
ui::KeycodeConverter::NativeKeycodeToCode(entry->native_keycode));
}
else {
EXPECT_EQ(ui::KeycodeConverter::InvalidNativeKeycode(),
ui::KeycodeConverter::CodeToNativeKeycode(entry->code));
} }
// Verify that the USB or native codes aren't duplicated. // Verify that the USB or native codes aren't duplicated.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment