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

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

Issue 342633003: [Android] Select text when stylus first button is pressed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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_util.h" 5 #include "content/browser/renderer_host/input/web_input_event_util.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "content/common/input/web_touch_event_traits.h" 8 #include "content/common/input/web_touch_event_traits.h"
9 #include "ui/events/gesture_detection/gesture_event_data.h" 9 #include "ui/events/gesture_detection/gesture_event_data.h"
10 #include "ui/events/gesture_detection/motion_event.h" 10 #include "ui/events/gesture_detection/motion_event.h"
11 11
12 using blink::WebGestureEvent; 12 using blink::WebGestureEvent;
13 using blink::WebInputEvent; 13 using blink::WebInputEvent;
14 using blink::WebMouseEvent;
14 using blink::WebTouchEvent; 15 using blink::WebTouchEvent;
15 using blink::WebTouchPoint; 16 using blink::WebTouchPoint;
16 using ui::MotionEvent; 17 using ui::MotionEvent;
17 18
18 namespace { 19 namespace {
19 20
20 const char* GetKeyIdentifier(ui::KeyboardCode key_code) { 21 const char* GetKeyIdentifier(ui::KeyboardCode key_code) {
21 switch (key_code) { 22 switch (key_code) {
22 case ui::VKEY_MENU: 23 case ui::VKEY_MENU:
23 return "Alt"; 24 return "Alt";
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 if (id) { 207 if (id) {
207 base::strlcpy(event->keyIdentifier, id, sizeof(event->keyIdentifier) - 1); 208 base::strlcpy(event->keyIdentifier, id, sizeof(event->keyIdentifier) - 1);
208 } else { 209 } else {
209 base::snprintf(event->keyIdentifier, 210 base::snprintf(event->keyIdentifier,
210 sizeof(event->keyIdentifier), 211 sizeof(event->keyIdentifier),
211 "U+%04X", 212 "U+%04X",
212 base::ToUpperASCII(static_cast<int>(windows_key_code))); 213 base::ToUpperASCII(static_cast<int>(windows_key_code)));
213 } 214 }
214 } 215 }
215 216
217 blink::WebMouseEvent CreateWebMouseEventFromMotionEvent(
218 const ui::MotionEvent& event) {
219 blink::WebMouseEvent result;
220 result.type = WebInputEvent::MouseMove;
221 switch (event.GetAction()) {
222 case MotionEvent::ACTION_DOWN: {
223 result.type = WebInputEvent::MouseDown;
224 result.modifiers |= WebInputEvent::LeftButtonDown;
225 result.clickCount = 1;
226 break;
227 }
228 case MotionEvent::ACTION_UP:
229 case MotionEvent::ACTION_CANCEL: {
230 result.type = WebInputEvent::MouseUp;
231 result.clickCount = 1;
232 break;
233 }
234 case MotionEvent::ACTION_MOVE: {
235 result.type = WebInputEvent::MouseMove;
236 result.modifiers |= WebInputEvent::LeftButtonDown;
237 break;
238 }
239 default: {
240 }
241 }
242 result.timeStampSeconds =
243 (event.GetEventTime() - base::TimeTicks()).InSecondsF();
244 result.x = event.GetX();
245 result.y = event.GetY();
246 result.windowX = event.GetX();
247 result.windowY = event.GetY();
248
249 if (result.type == WebInputEvent::MouseDown ||
250 result.type == WebInputEvent::MouseUp)
251 result.button = WebMouseEvent::ButtonLeft;
252 else
253 result.button = WebMouseEvent::ButtonNone;
254 return result;
255 }
256
216 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent( 257 blink::WebTouchEvent CreateWebTouchEventFromMotionEvent(
217 const ui::MotionEvent& event) { 258 const ui::MotionEvent& event) {
218 blink::WebTouchEvent result; 259 blink::WebTouchEvent result;
219 260
220 WebTouchEventTraits::ResetType( 261 WebTouchEventTraits::ResetType(
221 ToWebInputEventType(event.GetAction()), 262 ToWebInputEventType(event.GetAction()),
222 (event.GetEventTime() - base::TimeTicks()).InSecondsF(), 263 (event.GetEventTime() - base::TimeTicks()).InSecondsF(),
223 &result); 264 &result);
224 265
225 result.touchesLength = 266 result.touchesLength =
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 break; 365 break;
325 default: 366 default:
326 NOTREACHED() << "ui::EventType provided wasn't a valid gesture event."; 367 NOTREACHED() << "ui::EventType provided wasn't a valid gesture event.";
327 break; 368 break;
328 } 369 }
329 370
330 return gesture; 371 return gesture;
331 } 372 }
332 373
333 } // namespace content 374 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698