| Index: webkit/api/src/win/WebInputEventFactory.cpp
|
| ===================================================================
|
| --- webkit/api/src/win/WebInputEventFactory.cpp (revision 16673)
|
| +++ webkit/api/src/win/WebInputEventFactory.cpp (working copy)
|
| @@ -91,6 +91,12 @@
|
| {
|
| WebKeyboardEvent result;
|
|
|
| + // TODO(pkasting): http://b/1117926 Are we guaranteed that the message that
|
| + // GetMessageTime() refers to is the same one that we're passed in? Perhaps
|
| + // one of the construction parameters should be the time passed by the
|
| + // caller, who would know for sure.
|
| + result.timeStampSeconds = GetMessageTime() / 1000.0;
|
| +
|
| result.windowsKeyCode = result.nativeKeyCode = static_cast<int>(wparam);
|
|
|
| switch (message) {
|
| @@ -130,6 +136,8 @@
|
| result.modifiers |= WebInputEvent::ControlKey;
|
| if (GetKeyState(VK_MENU) & 0x8000)
|
| result.modifiers |= WebInputEvent::AltKey;
|
| + // NOTE: There doesn't seem to be a way to query the mouse button state in
|
| + // this case.
|
|
|
| if (LOWORD(lparam) > 1)
|
| result.modifiers |= WebInputEvent::IsAutoRepeat;
|
| @@ -222,6 +230,8 @@
|
|
|
| result.x = static_cast<short>(LOWORD(lparam));
|
| result.y = static_cast<short>(HIWORD(lparam));
|
| + result.windowX = result.x;
|
| + result.windowY = result.y;
|
|
|
| POINT globalPoint = { result.x, result.y };
|
| ClientToScreen(hwnd, &globalPoint);
|
| @@ -272,6 +282,12 @@
|
| result.modifiers |= WebInputEvent::ShiftKey;
|
| if (GetKeyState(VK_MENU) & 0x8000)
|
| result.modifiers |= WebInputEvent::AltKey;
|
| + if (wparam & MK_LBUTTON)
|
| + result.modifiers |= WebInputEvent::LeftButtonDown;
|
| + if (wparam & MK_MBUTTON)
|
| + result.modifiers |= WebInputEvent::MiddleButtonDown;
|
| + if (wparam & MK_RBUTTON)
|
| + result.modifiers |= WebInputEvent::RightButtonDown;
|
|
|
| return result;
|
| }
|
| @@ -284,6 +300,13 @@
|
| WebMouseWheelEvent result; //(WebInputEvent::Uninitialized());
|
|
|
| result.type = WebInputEvent::MouseWheel;
|
| +
|
| + // TODO(pkasting): http://b/1117926 Are we guaranteed that the message that
|
| + // GetMessageTime() refers to is the same one that we're passed in? Perhaps
|
| + // one of the construction parameters should be the time passed by the
|
| + // caller, who would know for sure.
|
| + result.timeStampSeconds = GetMessageTime() / 1000.0;
|
| +
|
| result.button = WebMouseEvent::ButtonNone;
|
|
|
| // Get key state, coordinates, and wheel delta from event.
|
| @@ -302,6 +325,8 @@
|
| keyState |= MK_SHIFT;
|
| if (getKeyState(VK_CONTROL))
|
| keyState |= MK_CONTROL;
|
| + // NOTE: There doesn't seem to be a way to query the mouse button state
|
| + // in this case.
|
|
|
| POINT cursorPosition = {0};
|
| GetCursorPos(&cursorPosition);
|
| @@ -354,12 +379,20 @@
|
| result.modifiers |= WebInputEvent::ControlKey;
|
| if (getKeyState(VK_MENU) & 0x8000)
|
| result.modifiers |= WebInputEvent::AltKey;
|
| + if (keyState & MK_LBUTTON)
|
| + result.modifiers |= WebInputEvent::LeftButtonDown;
|
| + if (keyState & MK_MBUTTON)
|
| + result.modifiers |= WebInputEvent::MiddleButtonDown;
|
| + if (keyState & MK_RBUTTON)
|
| + result.modifiers |= WebInputEvent::RightButtonDown;
|
|
|
| // Set coordinates by translating event coordinates from screen to client.
|
| POINT clientPoint = { result.globalX, result.globalY };
|
| MapWindowPoints(NULL, hwnd, &clientPoint, 1);
|
| result.x = clientPoint.x;
|
| result.y = clientPoint.y;
|
| + result.windowX = result.x;
|
| + result.windowY = result.y;
|
|
|
| // Convert wheel delta amount to a number of pixels to scroll.
|
| //
|
|
|