Changeset 240460 in webkit
- Timestamp:
- Jan 24, 2019 5:49:10 PM (5 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r240459 r240460 1 2019-01-24 Fujii Hironori <Hironori.Fujii@sony.com> 2 3 [Win][WebKitTestRunner] Implement EventSenderProxy 4 https://bugs.webkit.org/show_bug.cgi?id=193755 5 6 Reviewed by Don Olmstead. 7 8 * WebKitTestRunner/EventSenderProxy.h: Removed unused members m_buttonState and m_mouseButtonsCurrentlyDown. 9 * WebKitTestRunner/win/EventSenderProxyWin.cpp: 10 (WTR::EventSenderProxy::dispatchMessage): 11 (WTR::EventSenderProxy::EventSenderProxy): 12 (WTR::EventSenderProxy::mouseDown): 13 (WTR::EventSenderProxy::mouseUp): 14 (WTR::EventSenderProxy::mouseMoveTo): 15 (WTR::EventSenderProxy::mouseScrollBy): 16 (WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): 17 1 18 2019-01-24 Ross Kirsling <ross.kirsling@sony.com> 2 19 -
trunk/Tools/WebKitTestRunner/EventSenderProxy.h
r238098 r240460 124 124 #endif 125 125 126 #if PLATFORM(WIN) 127 LRESULT dispatchMessage(UINT message, WPARAM, LPARAM); 128 POINT positionInPoint() const { return { static_cast<LONG>(m_position.x), static_cast<LONG>(m_position.y) }; } 129 #endif 130 126 131 double m_time; 127 132 WKPoint m_position; … … 144 149 Vector<struct wpe_input_touch_event_raw> m_touchEvents; 145 150 HashSet<unsigned, DefaultHash<unsigned>::Hash, WTF::UnsignedWithZeroKeyHashTraits<unsigned>> m_updatedTouchEvents; 146 #elif PLATFORM(WIN)147 uint32_t m_buttonState;148 uint32_t m_mouseButtonsCurrentlyDown { 0 };149 151 #endif 150 152 }; -
trunk/Tools/WebKitTestRunner/win/EventSenderProxyWin.cpp
r238098 r240460 34 34 namespace WTR { 35 35 36 // Key event location code defined in DOM Level 3. 37 enum KeyLocationCode { 38 DOMKeyLocationStandard = 0x00, 39 DOMKeyLocationLeft = 0x01, 40 DOMKeyLocationRight = 0x02, 41 DOMKeyLocationNumpad = 0x03 42 }; 36 LRESULT EventSenderProxy::dispatchMessage(UINT message, WPARAM wParam, LPARAM lParam) 37 { 38 MSG msg { }; 39 msg.hwnd = WKViewGetWindow(m_testController->mainWebView()->platformView()); 40 msg.message = message; 41 msg.wParam = wParam; 42 msg.lParam = lParam; 43 msg.time = GetTickCount() + static_cast<DWORD>(m_time); 44 msg.pt = positionInPoint(); 43 45 44 enum ButtonState { 45 ButtonReleased = 0, 46 ButtonPressed = 1 47 }; 48 49 enum PointerAxis { 50 VerticalScroll = 0, 51 HorizontalScroll = 1 52 }; 46 TranslateMessage(&msg); 47 return DispatchMessage(&msg); 48 } 53 49 54 50 EventSenderProxy::EventSenderProxy(TestController* testController) … … 59 55 , m_clickTime(0) 60 56 , m_clickButton(kWKEventMouseButtonNoButton) 61 , m_buttonState(ButtonReleased)62 57 { 63 58 } … … 69 64 void EventSenderProxy::mouseDown(unsigned button, WKEventModifiers wkModifiers) 70 65 { 71 notImplemented(); 66 int messageType; 67 switch (button) { 68 case 0: 69 messageType = WM_LBUTTONDOWN; 70 break; 71 case 1: 72 messageType = WM_MBUTTONDOWN; 73 break; 74 case 2: 75 messageType = WM_RBUTTONDOWN; 76 break; 77 case 3: 78 // fast/events/mouse-click-events expects the 4th button has event.button = 1, so send an WM_MBUTTONDOWN 79 messageType = WM_MBUTTONDOWN; 80 break; 81 default: 82 messageType = WM_LBUTTONDOWN; 83 break; 84 } 85 WPARAM wparam = 0; 86 dispatchMessage(messageType, wparam, MAKELPARAM(positionInPoint().x, positionInPoint().y)); 72 87 } 73 88 74 89 void EventSenderProxy::mouseUp(unsigned button, WKEventModifiers wkModifiers) 75 90 { 76 notImplemented(); 91 int messageType; 92 switch (button) { 93 case 0: 94 messageType = WM_LBUTTONUP; 95 break; 96 case 1: 97 messageType = WM_MBUTTONUP; 98 break; 99 case 2: 100 messageType = WM_RBUTTONUP; 101 break; 102 case 3: 103 // fast/events/mouse-click-events expects the 4th button has event.button = 1, so send an WM_MBUTTONUP 104 messageType = WM_MBUTTONUP; 105 break; 106 default: 107 messageType = WM_LBUTTONUP; 108 break; 109 } 110 WPARAM wparam = 0; 111 dispatchMessage(messageType, wparam, MAKELPARAM(positionInPoint().x, positionInPoint().y)); 77 112 } 78 113 79 114 void EventSenderProxy::mouseMoveTo(double x, double y) 80 115 { 81 notImplemented(); 116 m_position.x = x; 117 m_position.y = y; 118 dispatchMessage(WM_MOUSEMOVE, 0, MAKELPARAM(positionInPoint().x, positionInPoint().y)); 82 119 } 83 120 84 void EventSenderProxy::mouseScrollBy(int horizontal, int vertical)121 void EventSenderProxy::mouseScrollBy(int x, int y) 85 122 { 86 notImplemented(); 123 RECT rect; 124 GetWindowRect(WKViewGetWindow(m_testController->mainWebView()->platformView()), &rect); 125 126 if (x) { 127 UINT scrollChars = 1; 128 SystemParametersInfo(SPI_GETWHEELSCROLLCHARS, 0, &scrollChars, 0); 129 x *= WHEEL_DELTA / scrollChars; 130 dispatchMessage(WM_MOUSEHWHEEL, MAKEWPARAM(0, x), MAKELPARAM(rect.left + positionInPoint().x, rect.top + positionInPoint().y)); 131 } 132 133 if (y) { 134 UINT scrollLines = 3; 135 SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, &scrollLines, 0); 136 y *= WHEEL_DELTA / scrollLines; 137 dispatchMessage(WM_MOUSEWHEEL, MAKEWPARAM(0, y), MAKELPARAM(rect.left + positionInPoint().x, rect.top + positionInPoint().y)); 138 } 87 139 } 88 140 89 void EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases(int horizontal, int vertical, int, int)141 void EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases(int, int, int, int) 90 142 { 91 143 notImplemented();
Note: See TracChangeset
for help on using the changeset viewer.