Commit 2708646c authored by Dave Tapuska's avatar Dave Tapuska Committed by Commit Bot

Fix bad casts to NativeWebKeyboardEvent in unittests

When a vtable was added to WebKeyboardEvent in
crrev.com/547be407

the CFI bot started failing because it was in fact detecting a bad cast.
The test never failed before because the cast was to super class that
the pointer was actually of and CFI couldn't detect this.

BUG=836826

Change-Id: I4dac686561120ec5d363ddccdd47b29629d7389a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1988247Reviewed-by: default avatarKen Buchanan <kenrb@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728575}
parent 4bfbe021
...@@ -1519,13 +1519,13 @@ TEST_F(RenderWidgetHostViewAuraTest, ...@@ -1519,13 +1519,13 @@ TEST_F(RenderWidgetHostViewAuraTest,
base::RunLoop().RunUntilIdle(); base::RunLoop().RunUntilIdle();
auto events = GetAndResetDispatchedMessages(); auto events = GetAndResetDispatchedMessages();
ASSERT_FALSE(events.empty()); ASSERT_FALSE(events.empty());
const NativeWebKeyboardEvent* native_key_event1 = const blink::WebKeyboardEvent* blink_key_event1 =
static_cast<const NativeWebKeyboardEvent*>( static_cast<const blink::WebKeyboardEvent*>(
events[0]->ToEvent()->Event()->web_event.get()); events[0]->ToEvent()->Event()->web_event.get());
ASSERT_TRUE(native_key_event1); ASSERT_TRUE(blink_key_event1);
ASSERT_EQ(key_event1.key_code(), native_key_event1->windows_key_code); ASSERT_EQ(key_event1.key_code(), blink_key_event1->windows_key_code);
ASSERT_EQ(ui::KeycodeConverter::DomCodeToNativeKeycode(key_event1.code()), ASSERT_EQ(ui::KeycodeConverter::DomCodeToNativeKeycode(key_event1.code()),
native_key_event1->native_key_code); blink_key_event1->native_key_code);
// These keys will pass through the prehandler since they aren't locked. // These keys will pass through the prehandler since they aren't locked.
std::vector<ui::DomCode> dom_codes = { std::vector<ui::DomCode> dom_codes = {
...@@ -1621,15 +1621,15 @@ TEST_F(RenderWidgetHostViewAuraTest, ...@@ -1621,15 +1621,15 @@ TEST_F(RenderWidgetHostViewAuraTest,
ASSERT_FALSE(events.empty()) ASSERT_FALSE(events.empty())
<< "Failed for DomCode: " << "Failed for DomCode: "
<< ui::KeycodeConverter::DomCodeToCodeString(dom_code); << ui::KeycodeConverter::DomCodeToCodeString(dom_code);
const NativeWebKeyboardEvent* native_key_event = const blink::WebKeyboardEvent* blink_key_event =
static_cast<const NativeWebKeyboardEvent*>( static_cast<const blink::WebKeyboardEvent*>(
events[0]->ToEvent()->Event()->web_event.get()); events[0]->ToEvent()->Event()->web_event.get());
ASSERT_TRUE(native_key_event) ASSERT_TRUE(blink_key_event)
<< "Failed for DomCode: " << "Failed for DomCode: "
<< ui::KeycodeConverter::DomCodeToCodeString(dom_code); << ui::KeycodeConverter::DomCodeToCodeString(dom_code);
ASSERT_EQ(key_event.key_code(), native_key_event->windows_key_code); ASSERT_EQ(key_event.key_code(), blink_key_event->windows_key_code);
ASSERT_EQ(ui::KeycodeConverter::DomCodeToNativeKeycode(key_event.code()), ASSERT_EQ(ui::KeycodeConverter::DomCodeToNativeKeycode(key_event.code()),
native_key_event->native_key_code); blink_key_event->native_key_code);
} }
// Although this key was locked, it will still pass through the prehandler as // Although this key was locked, it will still pass through the prehandler as
......
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