OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/synthetic_mouse_driver.h" | 5 #include "content/browser/renderer_host/input/synthetic_mouse_driver.h" |
6 | 6 |
7 #include "content/browser/renderer_host/input/synthetic_gesture_target.h" | 7 #include "content/browser/renderer_host/input/synthetic_gesture_target.h" |
8 | 8 |
9 namespace content { | 9 namespace content { |
10 | 10 |
11 SyntheticMouseDriver::SyntheticMouseDriver() {} | 11 SyntheticMouseDriver::SyntheticMouseDriver() {} |
12 | 12 |
13 SyntheticMouseDriver::~SyntheticMouseDriver() {} | 13 SyntheticMouseDriver::~SyntheticMouseDriver() {} |
14 | 14 |
15 void SyntheticMouseDriver::DispatchEvent(SyntheticGestureTarget* target, | 15 void SyntheticMouseDriver::DispatchEvent(SyntheticGestureTarget* target, |
16 const base::TimeTicks& timestamp) { | 16 const base::TimeTicks& timestamp) { |
17 mouse_event_.timeStampSeconds = ConvertTimestampToSeconds(timestamp); | 17 mouse_event_.timeStampSeconds = ConvertTimestampToSeconds(timestamp); |
18 target->DispatchInputEventToPlatform(mouse_event_); | 18 target->DispatchInputEventToPlatform(mouse_event_); |
19 } | 19 } |
20 | 20 |
21 int SyntheticMouseDriver::Press(float x, float y) { | 21 void SyntheticMouseDriver::Press(float x, float y, int index) { |
22 DCHECK_EQ(index, 0); | |
samuong
2016/12/20 05:13:26
is this because only one synthetic mouse pointer i
lanwei
2016/12/20 18:51:47
Yes, because there is just one mouse cursor, suppo
| |
22 mouse_event_ = SyntheticWebMouseEventBuilder::Build( | 23 mouse_event_ = SyntheticWebMouseEventBuilder::Build( |
23 blink::WebInputEvent::MouseDown, x, y, 0); | 24 blink::WebInputEvent::MouseDown, x, y, 0); |
24 mouse_event_.clickCount = 1; | 25 mouse_event_.clickCount = 1; |
25 return 0; | |
26 } | 26 } |
27 | 27 |
28 void SyntheticMouseDriver::Move(float x, float y, int index) { | 28 void SyntheticMouseDriver::Move(float x, float y, int index) { |
29 DCHECK_EQ(index, 0); | 29 DCHECK_EQ(index, 0); |
30 blink::WebMouseEvent::Button button = mouse_event_.button; | 30 blink::WebMouseEvent::Button button = mouse_event_.button; |
31 int click_count = mouse_event_.clickCount; | 31 int click_count = mouse_event_.clickCount; |
32 mouse_event_ = SyntheticWebMouseEventBuilder::Build( | 32 mouse_event_ = SyntheticWebMouseEventBuilder::Build( |
33 blink::WebInputEvent::MouseMove, x, y, 0); | 33 blink::WebInputEvent::MouseMove, x, y, 0); |
34 mouse_event_.button = button; | 34 mouse_event_.button = button; |
35 mouse_event_.clickCount = click_count; | 35 mouse_event_.clickCount = click_count; |
36 } | 36 } |
37 | 37 |
38 void SyntheticMouseDriver::Release(int index) { | 38 void SyntheticMouseDriver::Release(int index) { |
39 DCHECK_EQ(index, 0); | 39 DCHECK_EQ(index, 0); |
40 mouse_event_ = SyntheticWebMouseEventBuilder::Build( | 40 mouse_event_ = SyntheticWebMouseEventBuilder::Build( |
41 blink::WebInputEvent::MouseUp, mouse_event_.x, mouse_event_.y, 0); | 41 blink::WebInputEvent::MouseUp, mouse_event_.x, mouse_event_.y, 0); |
42 mouse_event_.clickCount = 1; | 42 mouse_event_.clickCount = 1; |
43 } | 43 } |
44 | 44 |
45 bool SyntheticMouseDriver::UserInputCheck( | 45 bool SyntheticMouseDriver::UserInputCheck( |
46 const SyntheticPointerActionParams& params) const { | 46 const SyntheticPointerActionParams& params) const { |
47 if (params.gesture_source_type != SyntheticGestureParams::MOUSE_INPUT) | 47 DCHECK_EQ(params.index(), 0); |
48 return false; | |
49 | |
50 if (params.pointer_action_type() == | 48 if (params.pointer_action_type() == |
51 SyntheticPointerActionParams::PointerActionType::NOT_INITIALIZED) { | 49 SyntheticPointerActionParams::PointerActionType::NOT_INITIALIZED) { |
52 return false; | 50 return false; |
53 } | 51 } |
54 | 52 |
55 if (params.pointer_action_type() == | 53 if (params.pointer_action_type() == |
56 SyntheticPointerActionParams::PointerActionType::PRESS && | 54 SyntheticPointerActionParams::PointerActionType::PRESS && |
57 mouse_event_.clickCount > 0) { | 55 mouse_event_.clickCount > 0) { |
58 return false; | 56 return false; |
59 } | 57 } |
60 | 58 |
61 if (params.pointer_action_type() == | 59 if (params.pointer_action_type() == |
62 SyntheticPointerActionParams::PointerActionType::RELEASE && | 60 SyntheticPointerActionParams::PointerActionType::RELEASE && |
63 mouse_event_.clickCount <= 0) { | 61 mouse_event_.clickCount <= 0) { |
64 return false; | 62 return false; |
65 } | 63 } |
66 | 64 |
67 return true; | 65 return true; |
68 } | 66 } |
69 | 67 |
70 } // namespace content | 68 } // namespace content |
OLD | NEW |