Index: components/test_runner/event_sender.h |
diff --git a/components/test_runner/event_sender.h b/components/test_runner/event_sender.h |
index 91c3cb2a400d216ba3cbde8eb54ee8f76b0b8544..d45184a1f175ca40a90a13694dde2a18da184b43 100644 |
--- a/components/test_runner/event_sender.h |
+++ b/components/test_runner/event_sender.h |
@@ -9,6 +9,7 @@ |
#include <queue> |
#include <string> |
+#include <unordered_map> |
#include <vector> |
#include "base/macros.h" |
@@ -62,6 +63,14 @@ class EventSender : public base::SupportsWeakPtr<EventSender> { |
void MouseDown(int button_number, int modifiers); |
void MouseUp(int button_number, int modifiers); |
+ void PointerDown(int button_number, |
+ int modifiers, |
+ blink::WebPointerProperties::PointerType, |
+ int pointerId); |
+ void PointerUp(int button_number, |
+ int modifiers, |
+ blink::WebPointerProperties::PointerType, |
+ int pointerId); |
void SetMouseButtonState(int button_number, int modifiers); |
void KeyDown(const std::string& code_str, |
@@ -182,8 +191,8 @@ class EventSender : public base::SupportsWeakPtr<EventSender> { |
void FinishDragAndDrop(const blink::WebMouseEvent&, blink::WebDragOperation); |
- void DoMouseUp(const blink::WebMouseEvent&); |
- void DoMouseMove(const blink::WebMouseEvent&); |
+ void DoDragAfterMouseUp(const blink::WebMouseEvent&); |
+ void DoDragAfterMouseMove(const blink::WebMouseEvent&); |
void ReplaySavedEvents(); |
blink::WebInputEventResult HandleInputEventOnViewOrPopup( |
const blink::WebInputEvent&); |
@@ -262,14 +271,29 @@ class EventSender : public base::SupportsWeakPtr<EventSender> { |
// Location of the touch point that initiated a gesture. |
blink::WebPoint current_gesture_location_; |
- // Last pressed mouse button (Left/Right/Middle or None). |
- static blink::WebMouseEvent::Button pressed_button_; |
- // A bitwise OR of the WebMouseEvent::*ButtonDown values corresponding to |
- // currently pressed buttons of mouse. |
- static int current_buttons_; |
+ // Mouse-like pointer properties. |
+ struct PointerState { |
+ // Last pressed button (Left/Right/Middle or None). |
+ blink::WebMouseEvent::Button pressed_button_; |
- static int modifiers_; |
+ // A bitwise OR of the WebMouseEvent::*ButtonDown values corresponding to |
+ // currently pressed buttons of the pointer (e.g. pen or mouse). |
+ int current_buttons_; |
+ |
+ // Location of last mouseMoveTo event of this pointer. |
+ blink::WebPoint last_pos_; |
+ |
+ int modifiers_; |
+ |
+ PointerState() |
+ : pressed_button_(blink::WebMouseEvent::ButtonNone) |
+ , current_buttons_(0) |
+ , last_pos_(blink::WebPoint(0, 0)) |
+ , modifiers_(0) { } |
+ }; |
+ typedef std::unordered_map<int, PointerState> PointerStateMap; |
+ PointerStateMap current_pointer_state_; |
bool replaying_saved_events_; |
@@ -277,9 +301,6 @@ class EventSender : public base::SupportsWeakPtr<EventSender> { |
blink::WebDragOperationsMask current_drag_effects_allowed_; |
- // Location of last mouseMoveTo event. |
- static blink::WebPoint last_mouse_pos_; |
- |
// Time and place of the last mouse up event. |
double last_click_time_sec_; |
blink::WebPoint last_click_pos_; |