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

Side by Side Diff: content/browser/renderer_host/ui_events_helper.cc

Issue 567783002: Add modifier flags to MotionEvent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove MotionEvent modifiers Created 6 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui_events_helper.h" 5 #include "content/browser/renderer_host/ui_events_helper.h"
6 6
7 #include "content/browser/renderer_host/input/web_input_event_util.h"
7 #include "content/common/input/web_touch_event_traits.h" 8 #include "content/common/input/web_touch_event_traits.h"
8 #include "third_party/WebKit/public/web/WebInputEvent.h" 9 #include "third_party/WebKit/public/web/WebInputEvent.h"
9 #include "ui/events/event.h" 10 #include "ui/events/event.h"
10 #include "ui/events/event_constants.h" 11 #include "ui/events/event_constants.h"
11 12
12 namespace { 13 namespace {
13 14
14 int WebModifiersToUIFlags(int modifiers) { 15 int WebModifiersToUIFlags(int modifiers) {
15 int flags = ui::EF_NONE; 16 int flags = ui::EF_NONE;
16 17
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 NOTREACHED() << "Unknown gesture type: " << event.type(); 236 NOTREACHED() << "Unknown gesture type: " << event.type();
236 } 237 }
237 238
238 gesture_event.sourceDevice = blink::WebGestureDeviceTouchscreen; 239 gesture_event.sourceDevice = blink::WebGestureDeviceTouchscreen;
239 gesture_event.modifiers = EventFlagsToWebEventModifiers(event.flags()); 240 gesture_event.modifiers = EventFlagsToWebEventModifiers(event.flags());
240 gesture_event.timeStampSeconds = event.time_stamp().InSecondsF(); 241 gesture_event.timeStampSeconds = event.time_stamp().InSecondsF();
241 242
242 return gesture_event; 243 return gesture_event;
243 } 244 }
244 245
245 int EventFlagsToWebEventModifiers(int flags) {
246 int modifiers = 0;
247
248 if (flags & ui::EF_SHIFT_DOWN)
249 modifiers |= blink::WebInputEvent::ShiftKey;
250 if (flags & ui::EF_CONTROL_DOWN)
251 modifiers |= blink::WebInputEvent::ControlKey;
252 if (flags & ui::EF_ALT_DOWN)
253 modifiers |= blink::WebInputEvent::AltKey;
254 if (flags & ui::EF_COMMAND_DOWN)
255 modifiers |= blink::WebInputEvent::MetaKey;
256
257 if (flags & ui::EF_LEFT_MOUSE_BUTTON)
258 modifiers |= blink::WebInputEvent::LeftButtonDown;
259 if (flags & ui::EF_MIDDLE_MOUSE_BUTTON)
260 modifiers |= blink::WebInputEvent::MiddleButtonDown;
261 if (flags & ui::EF_RIGHT_MOUSE_BUTTON)
262 modifiers |= blink::WebInputEvent::RightButtonDown;
263 if (flags & ui::EF_CAPS_LOCK_DOWN)
264 modifiers |= blink::WebInputEvent::CapsLockOn;
265 if (flags & ui::EF_IS_REPEAT)
266 modifiers |= blink::WebInputEvent::IsAutoRepeat;
267 return modifiers;
268 }
269
270 blink::WebTouchPoint* UpdateWebTouchEventFromUIEvent( 246 blink::WebTouchPoint* UpdateWebTouchEventFromUIEvent(
271 const ui::TouchEvent& event, 247 const ui::TouchEvent& event,
272 blink::WebTouchEvent* web_event) { 248 blink::WebTouchEvent* web_event) {
273 blink::WebTouchPoint* point = NULL; 249 blink::WebTouchPoint* point = NULL;
274 switch (event.type()) { 250 switch (event.type()) {
275 case ui::ET_TOUCH_PRESSED: 251 case ui::ET_TOUCH_PRESSED:
276 // Add a new touch point. 252 // Add a new touch point.
277 if (web_event->touchesLength < blink::WebTouchEvent::touchesLengthCap) { 253 if (web_event->touchesLength < blink::WebTouchEvent::touchesLengthCap) {
278 point = &web_event->touches[web_event->touchesLength++]; 254 point = &web_event->touches[web_event->touchesLength++];
279 point->id = event.touch_id(); 255 point->id = event.touch_id();
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 // Update the type of the touch event. 303 // Update the type of the touch event.
328 WebTouchEventTraits::ResetType(TouchEventTypeFromEvent(event), 304 WebTouchEventTraits::ResetType(TouchEventTypeFromEvent(event),
329 event.time_stamp().InSecondsF(), 305 event.time_stamp().InSecondsF(),
330 web_event); 306 web_event);
331 web_event->modifiers = EventFlagsToWebEventModifiers(event.flags()); 307 web_event->modifiers = EventFlagsToWebEventModifiers(event.flags());
332 308
333 return point; 309 return point;
334 } 310 }
335 311
336 } // namespace content 312 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/input/web_input_event_util.cc ('k') | content/browser/renderer_host/web_input_event_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698