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

Unified Diff: third_party/WebKit/Source/web/tests/WebViewTest.cpp

Issue 2569273002: Add constructors to WebInputEvents and setters so we can work at cleaning up these public structs. (Closed)
Patch Set: Fix mouse up event sender not modifying modifiers Created 4 years 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: third_party/WebKit/Source/web/tests/WebViewTest.cpp
diff --git a/third_party/WebKit/Source/web/tests/WebViewTest.cpp b/third_party/WebKit/Source/web/tests/WebViewTest.cpp
index ed93164b7a043d90af43ff59e15db7060add9379..0041dba746a32f488db3a930eb694a3fa773fe6f 100644
--- a/third_party/WebKit/Source/web/tests/WebViewTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebViewTest.cpp
@@ -1978,8 +1978,9 @@ bool WebViewTest::tapElement(WebInputEvent::Type type, Element* element) {
->contentsToScreen(element->layoutObject()->absoluteBoundingBoxRect())
.center();
- WebGestureEvent event;
- event.type = type;
+ WebGestureEvent event(type, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
+
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = center.x();
event.y = center.y();
@@ -2042,8 +2043,8 @@ TEST_P(WebViewTest, DetectContentAroundPosition) {
EXPECT_TRUE(client.wasInMainFrame());
// Tapping elsewhere should cancel the scheduled intent.
- WebGestureEvent event;
- event.type = WebInputEvent::GestureTap;
+ WebGestureEvent event(WebInputEvent::GestureTap, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
webView->handleInputEvent(event);
runPendingTasks();
@@ -2086,8 +2087,8 @@ TEST_P(WebViewTest, ClientTapHandling) {
client.reset();
WebView* webView =
m_webViewHelper.initializeAndLoad("about:blank", true, 0, &client);
- WebGestureEvent event;
- event.type = WebInputEvent::GestureTap;
+ WebGestureEvent event(WebInputEvent::GestureTap, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 3;
event.y = 8;
@@ -2096,7 +2097,7 @@ TEST_P(WebViewTest, ClientTapHandling) {
EXPECT_EQ(3, client.tapX());
EXPECT_EQ(8, client.tapY());
client.reset();
- event.type = WebInputEvent::GestureLongPress;
+ event.setType(WebInputEvent::GestureLongPress);
event.x = 25;
event.y = 7;
webView->handleInputEvent(event);
@@ -2121,8 +2122,8 @@ TEST_P(WebViewTest, ClientTapHandlingNullWebViewClient) {
// Eliminate this once WebView is no longer a WebWidget.
blink::WebFrameWidget::create(&webWidgetClient, webView, localFrame);
- WebGestureEvent event;
- event.type = WebInputEvent::GestureTap;
+ WebGestureEvent event(WebInputEvent::GestureTap, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 3;
event.y = 8;
@@ -2142,8 +2143,9 @@ TEST_P(WebViewTest, LongPressEmptyDiv) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 250;
event.y = 150;
@@ -2163,8 +2165,9 @@ TEST_P(WebViewTest, LongPressEmptyDivAlwaysShow) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 250;
event.y = 150;
@@ -2185,8 +2188,9 @@ TEST_P(WebViewTest, LongPressObject) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 10;
event.y = 10;
@@ -2211,8 +2215,9 @@ TEST_P(WebViewTest, LongPressObjectFallback) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 10;
event.y = 10;
@@ -2237,8 +2242,9 @@ TEST_P(WebViewTest, LongPressImage) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 10;
event.y = 10;
@@ -2259,8 +2265,9 @@ TEST_P(WebViewTest, LongPressVideo) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 10;
event.y = 10;
@@ -2281,8 +2288,9 @@ TEST_P(WebViewTest, LongPressLink) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 500;
event.y = 300;
@@ -2330,8 +2338,9 @@ TEST_P(WebViewTest, LongPressEmptyEditableSelection) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 10;
event.y = 10;
@@ -2351,8 +2360,9 @@ TEST_P(WebViewTest, LongPressEmptyNonEditableSelection) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebGestureEvent event;
- event.type = WebInputEvent::GestureLongPress;
+ WebGestureEvent event(WebInputEvent::GestureLongPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 300;
event.y = 300;
@@ -2406,8 +2416,8 @@ TEST_P(WebViewTest, TouchDoesntSelectEmptyTextarea) {
EXPECT_TRUE(frame->selectionAsText().isEmpty());
// Double-tap on carriage returns.
- WebGestureEvent event;
- event.type = WebInputEvent::GestureTap;
+ WebGestureEvent event(WebInputEvent::GestureTap, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 100;
event.y = 25;
@@ -2481,12 +2491,13 @@ TEST_P(WebViewTest, BlinkCaretOnClosingContextMenu) {
// We suspend caret blinking when pressing with mouse right button.
// Note that we do not send MouseUp event here since it will be consumed
// by the context menu once it shows up.
- WebMouseEvent mouseEvent;
+ WebMouseEvent mouseEvent(WebInputEvent::MouseDown, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
+
mouseEvent.button = WebMouseEvent::Button::Right;
mouseEvent.x = 1;
mouseEvent.y = 1;
mouseEvent.clickCount = 1;
- mouseEvent.type = WebInputEvent::MouseDown;
webView->handleInputEvent(mouseEvent);
runPendingTasks();
@@ -2535,86 +2546,87 @@ TEST_P(WebViewTest, KeyDownScrollsHandled) {
webView->updateAllLifecyclePhases();
runPendingTasks();
- WebKeyboardEvent keyEvent;
+ WebKeyboardEvent keyEvent(WebInputEvent::RawKeyDown,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
// RawKeyDown pagedown should be handled.
keyEvent.windowsKeyCode = VKEY_NEXT;
- keyEvent.type = WebInputEvent::RawKeyDown;
EXPECT_EQ(WebInputEventResult::HandledSystem,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
// Coalesced KeyDown arrow-down should be handled.
keyEvent.windowsKeyCode = VKEY_DOWN;
- keyEvent.type = WebInputEvent::KeyDown;
+ keyEvent.setType(WebInputEvent::KeyDown);
EXPECT_EQ(WebInputEventResult::HandledSystem,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
// Ctrl-Home should be handled...
keyEvent.windowsKeyCode = VKEY_HOME;
- keyEvent.modifiers = WebInputEvent::ControlKey;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setModifiers(WebInputEvent::ControlKey);
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::NotHandled,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
// But Ctrl-Down should not.
keyEvent.windowsKeyCode = VKEY_DOWN;
- keyEvent.modifiers = WebInputEvent::ControlKey;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setModifiers(WebInputEvent::ControlKey);
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::NotHandled,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
// Shift, meta, and alt should not be handled.
keyEvent.windowsKeyCode = VKEY_NEXT;
- keyEvent.modifiers = WebInputEvent::ShiftKey;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setModifiers(WebInputEvent::ShiftKey);
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::NotHandled,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
keyEvent.windowsKeyCode = VKEY_NEXT;
- keyEvent.modifiers = WebInputEvent::MetaKey;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setModifiers(WebInputEvent::MetaKey);
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::NotHandled,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
keyEvent.windowsKeyCode = VKEY_NEXT;
- keyEvent.modifiers = WebInputEvent::AltKey;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setModifiers(WebInputEvent::AltKey);
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::NotHandled,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
// System-key labeled Alt-Down (as in Windows) should do nothing,
// but non-system-key labeled Alt-Down (as in Mac) should be handled
// as a page-down.
keyEvent.windowsKeyCode = VKEY_DOWN;
- keyEvent.modifiers = WebInputEvent::AltKey;
+ keyEvent.setModifiers(WebInputEvent::AltKey);
keyEvent.isSystemKey = true;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::NotHandled,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
keyEvent.windowsKeyCode = VKEY_DOWN;
- keyEvent.modifiers = WebInputEvent::AltKey;
+ keyEvent.setModifiers(WebInputEvent::AltKey);
keyEvent.isSystemKey = false;
- keyEvent.type = WebInputEvent::RawKeyDown;
+ keyEvent.setType(WebInputEvent::RawKeyDown);
EXPECT_EQ(WebInputEventResult::HandledSystem,
webView->handleInputEvent(keyEvent));
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
}
@@ -2644,8 +2656,9 @@ TEST_P(WebViewTest, ShowPressOnTransformedLink) {
"highlight</a>",
baseURL);
- WebGestureEvent event;
- event.type = WebInputEvent::GestureShowPress;
+ WebGestureEvent event(WebInputEvent::GestureShowPress,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
event.sourceDevice = WebGestureDeviceTouchscreen;
event.x = 20;
event.y = 20;
@@ -2769,10 +2782,11 @@ TEST_P(WebViewTest, CompositionNotCancelledByBackspace) {
// Press Backspace and verify composition didn't get cancelled. This is to
// verify the fix for crbug.com/429916.
- WebKeyboardEvent keyEvent;
+ WebKeyboardEvent keyEvent(WebInputEvent::RawKeyDown,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
keyEvent.domKey = Platform::current()->domKeyEnumFromString("\b");
keyEvent.windowsKeyCode = VKEY_BACK;
- keyEvent.type = WebInputEvent::RawKeyDown;
webView->handleInputEvent(keyEvent);
frame->setEditableSelectionOffsets(6, 6);
@@ -2782,7 +2796,7 @@ TEST_P(WebViewTest, CompositionNotCancelledByBackspace) {
verifySelectionAndComposition(webView, 10, 10, 6, 10,
"after pressing Backspace");
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
webView->advanceFocus(false);
@@ -2973,13 +2987,14 @@ static void openDateTimeChooser(WebView* webView,
HTMLInputElement* inputElement) {
inputElement->focus();
- WebKeyboardEvent keyEvent;
+ WebKeyboardEvent keyEvent(WebInputEvent::RawKeyDown,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
keyEvent.domKey = Platform::current()->domKeyEnumFromString(" ");
keyEvent.windowsKeyCode = VKEY_SPACE;
- keyEvent.type = WebInputEvent::RawKeyDown;
webView->handleInputEvent(keyEvent);
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
}
@@ -3554,12 +3569,13 @@ TEST_P(WebViewTest, FirstUserGestureObservedKeyEvent) {
EXPECT_EQ(0, client.getUserGestureNotificationsCount());
- WebKeyboardEvent keyEvent;
+ WebKeyboardEvent keyEvent(WebInputEvent::RawKeyDown,
+ WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
keyEvent.domKey = Platform::current()->domKeyEnumFromString(" ");
keyEvent.windowsKeyCode = VKEY_SPACE;
- keyEvent.type = WebInputEvent::RawKeyDown;
webView->handleInputEvent(keyEvent);
- keyEvent.type = WebInputEvent::KeyUp;
+ keyEvent.setType(WebInputEvent::KeyUp);
webView->handleInputEvent(keyEvent);
EXPECT_EQ(1, client.getUserGestureNotificationsCount());
@@ -3578,14 +3594,14 @@ TEST_P(WebViewTest, FirstUserGestureObservedMouseEvent) {
EXPECT_EQ(0, client.getUserGestureNotificationsCount());
- WebMouseEvent mouseEvent;
+ WebMouseEvent mouseEvent(WebInputEvent::MouseDown, WebInputEvent::NoModifiers,
+ WebInputEvent::TimeStampForTesting);
mouseEvent.button = WebMouseEvent::Button::Left;
mouseEvent.x = 1;
mouseEvent.y = 1;
mouseEvent.clickCount = 1;
- mouseEvent.type = WebInputEvent::MouseDown;
webView->handleInputEvent(mouseEvent);
- mouseEvent.type = WebInputEvent::MouseUp;
+ mouseEvent.setType(WebInputEvent::MouseUp);
webView->handleInputEvent(mouseEvent);
EXPECT_EQ(1, client.getUserGestureNotificationsCount());

Powered by Google App Engine
This is Rietveld 408576698