| Index: content/browser/renderer_host/input/synthetic_gesture_controller.h
|
| diff --git a/content/browser/renderer_host/input/synthetic_gesture_controller.h b/content/browser/renderer_host/input/synthetic_gesture_controller.h
|
| index 770770a34bd6347b64e2c2b4ad85e05c6357ca75..7ee0f88f7a51b527f6b1ebcbd65e8488b0d68bc4 100644
|
| --- a/content/browser/renderer_host/input/synthetic_gesture_controller.h
|
| +++ b/content/browser/renderer_host/input/synthetic_gesture_controller.h
|
| @@ -12,6 +12,7 @@
|
|
|
| #include "base/callback.h"
|
| #include "base/macros.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "base/time/time.h"
|
| #include "content/browser/renderer_host/input/synthetic_gesture.h"
|
| #include "content/common/content_export.h"
|
| @@ -26,8 +27,12 @@ class SyntheticGestureTarget;
|
| // input events to the platform until the gesture has finished.
|
| class CONTENT_EXPORT SyntheticGestureController {
|
| public:
|
| - explicit SyntheticGestureController(
|
| - std::unique_ptr<SyntheticGestureTarget> gesture_target);
|
| + using BeginFrameCallback = base::OnceClosure;
|
| + using BeginFrameRequestCallback =
|
| + base::RepeatingCallback<void(BeginFrameCallback)>;
|
| + SyntheticGestureController(
|
| + std::unique_ptr<SyntheticGestureTarget> gesture_target,
|
| + BeginFrameRequestCallback begin_frame_callback);
|
| virtual ~SyntheticGestureController();
|
|
|
| typedef base::Callback<void(SyntheticGesture::Result)>
|
| @@ -36,21 +41,17 @@ class CONTENT_EXPORT SyntheticGestureController {
|
| std::unique_ptr<SyntheticGesture> synthetic_gesture,
|
| const OnGestureCompleteCallback& completion_callback);
|
|
|
| - // Forward input events of the currently processed gesture.
|
| - void Flush(base::TimeTicks timestamp);
|
| -
|
| - // To be called when all events generated from the current gesture have been
|
| - // fully flushed from the input pipeline (i.e., sent, processed and ack'ed).
|
| - void OnDidFlushInput();
|
| + bool DispatchNextEvent(base::TimeTicks = base::TimeTicks::Now());
|
|
|
| private:
|
| + void OnBeginFrame();
|
| +
|
| void StartGesture(const SyntheticGesture& gesture);
|
| void StopGesture(const SyntheticGesture& gesture,
|
| const OnGestureCompleteCallback& completion_callback,
|
| SyntheticGesture::Result result);
|
|
|
| std::unique_ptr<SyntheticGestureTarget> gesture_target_;
|
| - std::unique_ptr<SyntheticGesture::Result> pending_gesture_result_;
|
|
|
| // A queue of gesture/callback pairs. Implemented as two queues to
|
| // simplify the ownership of SyntheticGesture pointers.
|
| @@ -82,6 +83,10 @@ class CONTENT_EXPORT SyntheticGestureController {
|
| DISALLOW_COPY_AND_ASSIGN(GestureAndCallbackQueue);
|
| } pending_gesture_queue_;
|
|
|
| + BeginFrameRequestCallback begin_frame_callback_;
|
| +
|
| + base::WeakPtrFactory<SyntheticGestureController> weak_ptr_factory_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SyntheticGestureController);
|
| };
|
|
|
|
|