Chromium Code Reviews| Index: content/renderer/input/main_thread_event_queue.h |
| diff --git a/content/renderer/input/main_thread_event_queue.h b/content/renderer/input/main_thread_event_queue.h |
| index 7f2f62a6bdcf40f9f9de8338f42e7e09e62fd1bb..ee39856be4b00413a010ee33cccac4d307634f93 100644 |
| --- a/content/renderer/input/main_thread_event_queue.h |
| +++ b/content/renderer/input/main_thread_event_queue.h |
| @@ -24,7 +24,8 @@ class EventWithDispatchType : public ScopedWebInputEventWithLatencyInfo { |
| public: |
| EventWithDispatchType(ui::WebScopedInputEvent event, |
| const ui::LatencyInfo& latency, |
| - InputEventDispatchType dispatch_type); |
| + InputEventDispatchType dispatch_type, |
| + bool originally_cancelable); |
| ~EventWithDispatchType(); |
| void CoalesceWith(const EventWithDispatchType& other); |
| @@ -41,6 +42,8 @@ class EventWithDispatchType : public ScopedWebInputEventWithLatencyInfo { |
| return non_blocking_coalesced_count_ + blocking_coalesced_event_ids_.size(); |
| } |
| + bool originallyCancelable() const { return originally_cancelable_; } |
|
dtapuska
2017/02/24 19:18:48
Happy for another name. It's friday and I didn't h
aelias_OOO_until_Jul13
2017/02/24 20:19:51
It doesn't seem that the additional state adds any
dtapuska
2017/02/24 20:23:35
Not true. dispatch_type_ is whether an ACK needs t
aelias_OOO_until_Jul13
2017/02/24 21:01:14
OK. If I understand correctly, this is a problem
dtapuska
2017/02/24 21:29:41
These dispatch_types_ are of different enums. We r
|
| + |
| private: |
| InputEventDispatchType dispatch_type_; |
| @@ -53,6 +56,12 @@ class EventWithDispatchType : public ScopedWebInputEventWithLatencyInfo { |
| size_t non_blocking_coalesced_count_; |
| base::TimeTicks creation_timestamp_; |
| base::TimeTicks last_coalesced_timestamp_; |
| + |
| + // Whether the received event was originally cancelable or not. The compositor |
| + // input handler can change the event based on presence of event handlers so |
| + // this is the state at which the renderer received the event from the |
| + // browser. |
| + bool originally_cancelable_; |
| }; |
| class CONTENT_EXPORT MainThreadEventQueueClient { |
| @@ -124,7 +133,7 @@ class CONTENT_EXPORT MainThreadEventQueue |
| const ui::LatencyInfo& latency, |
| InputEventDispatchType dispatch_type, |
| InputEventAckState ack_result); |
| - void DispatchRafAlignedInput(); |
| + void DispatchRafAlignedInput(double frame_time_sec); |
| // Call once the main thread has handled an outstanding |type| event |
| // in flight. |
| @@ -167,6 +176,7 @@ class CONTENT_EXPORT MainThreadEventQueue |
| WebInputEventQueue<EventWithDispatchType> events_; |
| bool sent_main_frame_request_; |
| + double last_async_touch_move_timestamp_; |
| }; |
| // Lock used to serialize |shared_state_|. |