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

Side by Side Diff: content/browser/renderer_host/input/web_input_event_builders_win.cc

Issue 2227563003: Refactoring button field and its type (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix new instances Created 4 years, 4 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/input/web_input_event_builders_win.h" 5 #include "content/browser/renderer_host/input/web_input_event_builders_win.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/browser/renderer_host/input/web_input_event_util.h" 8 #include "content/browser/renderer_host/input/web_input_event_util.h"
9 #include "ui/display/win/screen_win.h" 9 #include "ui/display/win/screen_win.h"
10 #include "ui/events/blink/blink_event_util.h" 10 #include "ui/events/blink/blink_event_util.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 WPARAM wparam, 94 WPARAM wparam,
95 LPARAM lparam, 95 LPARAM lparam,
96 double time_stamp, 96 double time_stamp,
97 blink::WebPointerProperties::PointerType pointer_type) { 97 blink::WebPointerProperties::PointerType pointer_type) {
98 WebMouseEvent result; 98 WebMouseEvent result;
99 99
100 switch (message) { 100 switch (message) {
101 case WM_MOUSEMOVE: 101 case WM_MOUSEMOVE:
102 result.type = WebInputEvent::MouseMove; 102 result.type = WebInputEvent::MouseMove;
103 if (wparam & MK_LBUTTON) 103 if (wparam & MK_LBUTTON)
104 result.button = WebMouseEvent::ButtonLeft; 104 result.button = WebMouseEvent::Button::Left;
105 else if (wparam & MK_MBUTTON) 105 else if (wparam & MK_MBUTTON)
106 result.button = WebMouseEvent::ButtonMiddle; 106 result.button = WebMouseEvent::Button::Middle;
107 else if (wparam & MK_RBUTTON) 107 else if (wparam & MK_RBUTTON)
108 result.button = WebMouseEvent::ButtonRight; 108 result.button = WebMouseEvent::Button::Right;
109 else 109 else
110 result.button = WebMouseEvent::ButtonNone; 110 result.button = WebMouseEvent::Button::NoButton;
111 break; 111 break;
112 case WM_MOUSELEAVE: 112 case WM_MOUSELEAVE:
113 case WM_NCMOUSELEAVE: 113 case WM_NCMOUSELEAVE:
114 // TODO(rbyers): This should be MouseLeave but is disabled temporarily. 114 // TODO(rbyers): This should be MouseLeave but is disabled temporarily.
115 // See http://crbug.com/450631 115 // See http://crbug.com/450631
116 result.type = WebInputEvent::MouseMove; 116 result.type = WebInputEvent::MouseMove;
117 result.button = WebMouseEvent::ButtonNone; 117 result.button = WebMouseEvent::Button::NoButton;
118 // set the current mouse position (relative to the client area of the 118 // set the current mouse position (relative to the client area of the
119 // current window) since none is specified for this event 119 // current window) since none is specified for this event
120 lparam = GetRelativeCursorPos(hwnd); 120 lparam = GetRelativeCursorPos(hwnd);
121 break; 121 break;
122 case WM_LBUTTONDOWN: 122 case WM_LBUTTONDOWN:
123 case WM_LBUTTONDBLCLK: 123 case WM_LBUTTONDBLCLK:
124 result.type = WebInputEvent::MouseDown; 124 result.type = WebInputEvent::MouseDown;
125 result.button = WebMouseEvent::ButtonLeft; 125 result.button = WebMouseEvent::Button::Left;
126 break; 126 break;
127 case WM_MBUTTONDOWN: 127 case WM_MBUTTONDOWN:
128 case WM_MBUTTONDBLCLK: 128 case WM_MBUTTONDBLCLK:
129 result.type = WebInputEvent::MouseDown; 129 result.type = WebInputEvent::MouseDown;
130 result.button = WebMouseEvent::ButtonMiddle; 130 result.button = WebMouseEvent::Button::Middle;
131 break; 131 break;
132 case WM_RBUTTONDOWN: 132 case WM_RBUTTONDOWN:
133 case WM_RBUTTONDBLCLK: 133 case WM_RBUTTONDBLCLK:
134 result.type = WebInputEvent::MouseDown; 134 result.type = WebInputEvent::MouseDown;
135 result.button = WebMouseEvent::ButtonRight; 135 result.button = WebMouseEvent::Button::Right;
136 break; 136 break;
137 case WM_LBUTTONUP: 137 case WM_LBUTTONUP:
138 result.type = WebInputEvent::MouseUp; 138 result.type = WebInputEvent::MouseUp;
139 result.button = WebMouseEvent::ButtonLeft; 139 result.button = WebMouseEvent::Button::Left;
140 break; 140 break;
141 case WM_MBUTTONUP: 141 case WM_MBUTTONUP:
142 result.type = WebInputEvent::MouseUp; 142 result.type = WebInputEvent::MouseUp;
143 result.button = WebMouseEvent::ButtonMiddle; 143 result.button = WebMouseEvent::Button::Middle;
144 break; 144 break;
145 case WM_RBUTTONUP: 145 case WM_RBUTTONUP:
146 result.type = WebInputEvent::MouseUp; 146 result.type = WebInputEvent::MouseUp;
147 result.button = WebMouseEvent::ButtonRight; 147 result.button = WebMouseEvent::Button::Right;
148 break; 148 break;
149 default: 149 default:
150 NOTREACHED(); 150 NOTREACHED();
151 } 151 }
152 152
153 result.timeStampSeconds = time_stamp; 153 result.timeStampSeconds = time_stamp;
154 result.pointerType = pointer_type; 154 result.pointerType = pointer_type;
155 155
156 // set position fields: 156 // set position fields:
157 157
(...skipping 11 matching lines...) Expand all
169 169
170 result.globalX = dip_global_point.x(); 170 result.globalX = dip_global_point.x();
171 result.globalY = dip_global_point.y(); 171 result.globalY = dip_global_point.y();
172 172
173 // calculate number of clicks: 173 // calculate number of clicks:
174 174
175 // This differs slightly from the WebKit code in WebKit/win/WebView.cpp 175 // This differs slightly from the WebKit code in WebKit/win/WebView.cpp
176 // where their original code looks buggy. 176 // where their original code looks buggy.
177 static int last_click_position_x; 177 static int last_click_position_x;
178 static int last_click_position_y; 178 static int last_click_position_y;
179 static WebMouseEvent::Button last_click_button = WebMouseEvent::ButtonLeft; 179 static WebMouseEvent::Button last_click_button = WebMouseEvent::Button::Left;
180 180
181 double current_time = result.timeStampSeconds; 181 double current_time = result.timeStampSeconds;
182 bool cancel_previous_click = 182 bool cancel_previous_click =
183 (abs(last_click_position_x - result.x) > 183 (abs(last_click_position_x - result.x) >
184 (::GetSystemMetrics(SM_CXDOUBLECLK) / 2)) 184 (::GetSystemMetrics(SM_CXDOUBLECLK) / 2))
185 || (abs(last_click_position_y - result.y) > 185 || (abs(last_click_position_y - result.y) >
186 (::GetSystemMetrics(SM_CYDOUBLECLK) / 2)) 186 (::GetSystemMetrics(SM_CYDOUBLECLK) / 2))
187 || ((current_time - g_last_click_time) * 1000.0 > ::GetDoubleClickTime()); 187 || ((current_time - g_last_click_time) * 1000.0 > ::GetDoubleClickTime());
188 188
189 if (result.type == WebInputEvent::MouseDown) { 189 if (result.type == WebInputEvent::MouseDown) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 WPARAM wparam, 232 WPARAM wparam,
233 LPARAM lparam, 233 LPARAM lparam,
234 double time_stamp, 234 double time_stamp,
235 blink::WebPointerProperties::PointerType pointer_type) { 235 blink::WebPointerProperties::PointerType pointer_type) {
236 WebMouseWheelEvent result; 236 WebMouseWheelEvent result;
237 237
238 result.type = WebInputEvent::MouseWheel; 238 result.type = WebInputEvent::MouseWheel;
239 239
240 result.timeStampSeconds = time_stamp; 240 result.timeStampSeconds = time_stamp;
241 241
242 result.button = WebMouseEvent::ButtonNone; 242 result.button = WebMouseEvent::Button::NoButton;
243 243
244 result.pointerType = pointer_type; 244 result.pointerType = pointer_type;
245 245
246 // Get key state, coordinates, and wheel delta from event. 246 // Get key state, coordinates, and wheel delta from event.
247 UINT key_state; 247 UINT key_state;
248 float wheel_delta; 248 float wheel_delta;
249 bool horizontal_scroll = false; 249 bool horizontal_scroll = false;
250 if ((message == WM_VSCROLL) || (message == WM_HSCROLL)) { 250 if ((message == WM_VSCROLL) || (message == WM_HSCROLL)) {
251 // Synthesize mousewheel event from a scroll event. This is needed to 251 // Synthesize mousewheel event from a scroll event. This is needed to
252 // simulate middle mouse scrolling in some laptops. Use GetAsyncKeyState 252 // simulate middle mouse scrolling in some laptops. Use GetAsyncKeyState
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 result.wheelTicksX = wheel_delta; 367 result.wheelTicksX = wheel_delta;
368 } else { 368 } else {
369 result.deltaY = scroll_delta; 369 result.deltaY = scroll_delta;
370 result.wheelTicksY = wheel_delta; 370 result.wheelTicksY = wheel_delta;
371 } 371 }
372 372
373 return result; 373 return result;
374 } 374 }
375 375
376 } // namespace content 376 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698