| 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());
|
|
|