| Index: components/test_runner/event_sender.h
|
| diff --git a/components/test_runner/event_sender.h b/components/test_runner/event_sender.h
|
| index be4bd7866259e29c860b71fbd6562e1f46bc3fcc..ac6aa8a52d22ba767d65f7cbdec94bd1706a5f9e 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"
|
| @@ -61,8 +62,14 @@ class EventSender : public base::SupportsWeakPtr<EventSender> {
|
|
|
| void DoDragDrop(const blink::WebDragData&, blink::WebDragOperationsMask);
|
|
|
| - void MouseDown(int button_number, int modifiers);
|
| - void MouseUp(int button_number, int modifiers);
|
| + void MouseDown(int button_number, int modifiers,
|
| + blink::WebPointerProperties::PointerType =
|
| + blink::WebPointerProperties::PointerType::Mouse,
|
| + int pointerId = 0);
|
| + void MouseUp(int button_number, int modifiers,
|
| + blink::WebPointerProperties::PointerType =
|
| + blink::WebPointerProperties::PointerType::Mouse,
|
| + int pointerId = 0);
|
| void SetMouseButtonState(int button_number, int modifiers);
|
|
|
| void KeyDown(const std::string& code_str,
|
| @@ -267,14 +274,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_;
|
|
|
| @@ -282,9 +304,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_;
|
|
|