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 3e9ab9c94b8989aecb31b56643b4e8b9d92cc222..b4c5728bc8213eb745bf8ebe488dbdd53145ccbb 100644 | 
| --- a/content/renderer/input/main_thread_event_queue.h | 
| +++ b/content/renderer/input/main_thread_event_queue.h | 
| @@ -30,17 +30,23 @@ class EventWithDispatchType : public ScopedWebInputEventWithLatencyInfo { | 
| WARN_UNUSED_RESULT; | 
| void CoalesceWith(const EventWithDispatchType& other); | 
| - const std::deque<uint32_t>& eventsToAck() const { return eventsToAck_; } | 
| + const std::deque<uint32_t>& coalescedEventIds() const { | 
| + return coalesced_event_ids_; | 
| + } | 
| InputEventDispatchType dispatchType() const { return dispatch_type_; } | 
| + base::TimeTicks creationTimestamp() const { return creation_timestamp_; } | 
| + base::TimeTicks coalescedTimestamp() const { return coalesced_timestamp_; } | 
| private: | 
| InputEventDispatchType dispatch_type_; | 
| - // |eventsToAck_| contains the unique touch event id to be acked. If | 
| + // |coalesced_event_ids_| contains the unique touch event id to be acked. If | 
| 
 
tdresser
2016/08/24 13:43:00
event id -> event ids
 
dtapuska
2016/08/24 17:10:06
done.
 
 | 
| // the events are TouchEvents the value will be 0. More importantly for | 
| 
 
tdresser
2016/08/24 13:43:00
Is this comment correct? Should it be "If the even
 
dtapuska
2016/08/24 17:10:06
done.
 
 | 
| // those cases the deque ends up containing how many additional ACKs | 
| // need to be sent. | 
| - std::deque<uint32_t> eventsToAck_; | 
| + std::deque<uint32_t> coalesced_event_ids_; | 
| + base::TimeTicks creation_timestamp_; | 
| + base::TimeTicks coalesced_timestamp_; | 
| 
 
tdresser
2016/08/24 13:43:00
Maybe:
last_coalesced_timestamp_
or
most_recent_co
 
dtapuska
2016/08/24 17:10:06
done
 
 | 
| }; | 
| class CONTENT_EXPORT MainThreadEventQueueClient { | 
| @@ -58,6 +64,7 @@ class CONTENT_EXPORT MainThreadEventQueueClient { | 
| blink::WebInputEvent::Type type, | 
| InputEventAckState ack_result, | 
| uint32_t touch_event_id) = 0; | 
| + virtual void NeedsMainFrame(int routing_id) = 0; | 
| }; | 
| // MainThreadEventQueue implements a queue for events that need to be | 
| @@ -103,7 +110,8 @@ class CONTENT_EXPORT MainThreadEventQueue | 
| int routing_id, | 
| MainThreadEventQueueClient* client, | 
| const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner, | 
| - blink::scheduler::RendererScheduler* renderer_scheduler); | 
| + blink::scheduler::RendererScheduler* renderer_scheduler, | 
| + bool handle_raf_aligned_input); | 
| // Called once the compositor has handled |event| and indicated that it is | 
| // a non-blocking event to be queued to the main thread. | 
| @@ -111,6 +119,7 @@ class CONTENT_EXPORT MainThreadEventQueue | 
| const ui::LatencyInfo& latency, | 
| InputEventDispatchType dispatch_type, | 
| InputEventAckState ack_result); | 
| + void DispatchRafAlignedInput(); | 
| // Call once the main thread has handled an outstanding |type| event | 
| // in flight. | 
| @@ -124,7 +133,10 @@ class CONTENT_EXPORT MainThreadEventQueue | 
| ~MainThreadEventQueue(); | 
| void QueueEvent(std::unique_ptr<EventWithDispatchType> event); | 
| void SendEventNotificationToMainThread(); | 
| - void PopEventOnMainThread(); | 
| + void DispatchSingleEvent(); | 
| + void DispatchInFlightEvent(); | 
| + void PossiblyScheduleMainFrame(); | 
| + | 
| void SendEventToMainThread(const blink::WebInputEvent* event, | 
| const ui::LatencyInfo& latency, | 
| InputEventDispatchType original_dispatch_type); | 
| @@ -137,6 +149,8 @@ class CONTENT_EXPORT MainThreadEventQueue | 
| bool is_flinging_; | 
| bool last_touch_start_forced_nonblocking_due_to_fling_; | 
| bool enable_fling_passive_listener_flag_; | 
| + bool handle_raf_aligned_input_; | 
| + bool sent_main_frame_request_; | 
| 
 
tdresser
2016/08/24 13:42:59
We should indicate which members should only be ac
 
dtapuska
2016/08/24 17:10:06
done
 
 | 
| base::Lock event_queue_lock_; | 
| scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |