Chromium Code Reviews| Index: content/browser/renderer_host/input/synthetic_pointer_action.h |
| diff --git a/content/browser/renderer_host/input/synthetic_pointer_action.h b/content/browser/renderer_host/input/synthetic_pointer_action.h |
| index 23b23fa421be29b1254cd491eebcbaff13adbb06..38fb167681d1e76ddf29bd3660f6733a220b0c07 100644 |
| --- a/content/browser/renderer_host/input/synthetic_pointer_action.h |
| +++ b/content/browser/renderer_host/input/synthetic_pointer_action.h |
| @@ -5,6 +5,7 @@ |
| #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_POINTER_ACTION_H_ |
| #define CONTENT_BROWSER_RENDERER_HOST_INPUT_SYNTHETIC_POINTER_ACTION_H_ |
| +#include <array> |
| #include "base/macros.h" |
| #include "content/browser/renderer_host/input/synthetic_gesture.h" |
| #include "content/browser/renderer_host/input/synthetic_gesture_target.h" |
| @@ -12,25 +13,48 @@ |
| #include "content/common/content_export.h" |
| #include "content/common/input/synthetic_pointer_action_params.h" |
| +using blink::WebTouchEvent; |
| + |
| namespace content { |
| class CONTENT_EXPORT SyntheticPointerAction : public SyntheticGesture { |
| public: |
| + using IndexMap = std::array<int, WebTouchEvent::touchesLengthCap>; |
| + |
| explicit SyntheticPointerAction(const SyntheticPointerActionParams& params); |
| - SyntheticPointerAction(const SyntheticPointerActionParams& params, |
| - SyntheticPointer* synthetic_pointer); |
| + SyntheticPointerAction( |
| + std::unique_ptr<std::vector<SyntheticPointerActionParams>> param_list, |
| + SyntheticPointer* synthetic_pointer, |
| + IndexMap* index_map); |
| ~SyntheticPointerAction() override; |
| SyntheticGesture::Result ForwardInputEvents( |
| const base::TimeTicks& timestamp, |
| SyntheticGestureTarget* target) override; |
| - void ForwardTouchOrMouseInputEvents(const base::TimeTicks& timestamp, |
| - SyntheticGestureTarget* target); |
| - |
| private: |
| - SyntheticPointerActionParams params_; |
| + SyntheticGesture::Result ForwardTouchOrMouseInputEvents( |
| + const base::TimeTicks& timestamp, |
| + SyntheticGestureTarget* target); |
| + int GetPointIndex(int index) const { return (*index_map_)[index]; } |
| + void SetPointIndex(int index, int point_index) { |
| + (*index_map_)[index] = point_index; |
| + } |
| + bool UserInputCheck(const SyntheticPointerActionParams& params); |
|
tdresser
2016/06/28 15:44:11
Let's add a comment here explaining what UserInput
lanwei
2016/07/07 19:35:31
Maybe not, this function will just return true or
|
| + |
| + // SyntheticGestureController is responsible to create the |
| + // SyntheticPointerActions and control when to forward them. |
| + // This will be passed from SyntheticGestureController, which will reset its |
| + // value to push a new batch of action parameters. |
| + // This contains a list of pointer actions which will be dispatched together. |
| + const std::unique_ptr<std::vector<SyntheticPointerActionParams>> param_list_; |
| + // These two objects will be owned by SyntheticGestureController, which |
| + // will manage their lifetime by initiating them when it starts processing a |
| + // pointer action sequence and resetting them when it finishes. |
| SyntheticPointer* synthetic_pointer_; |
| + IndexMap* index_map_; |
| + |
| + SyntheticPointerActionParams params_; |
| DISALLOW_COPY_AND_ASSIGN(SyntheticPointerAction); |
| }; |