Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: content/renderer/input/main_thread_event_queue.h

Issue 2273703002: Force events to be non blocking if main thread is unresponsive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_INPUT_MAIN_THREAD_EVENT_QUEUE_H_ 5 #ifndef CONTENT_RENDERER_INPUT_MAIN_THREAD_EVENT_QUEUE_H_
6 #define CONTENT_RENDERER_INPUT_MAIN_THREAD_EVENT_QUEUE_H_ 6 #define CONTENT_RENDERER_INPUT_MAIN_THREAD_EVENT_QUEUE_H_
7 7
8 #include <deque> 8 #include <deque>
9 #include "base/feature_list.h" 9 #include "base/feature_list.h"
10 #include "content/common/content_export.h" 10 #include "content/common/content_export.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 InputEventDispatchType original_dispatch_type); 130 InputEventDispatchType original_dispatch_type);
131 131
132 friend class MainThreadEventQueueTest; 132 friend class MainThreadEventQueueTest;
133 int routing_id_; 133 int routing_id_;
134 MainThreadEventQueueClient* client_; 134 MainThreadEventQueueClient* client_;
135 WebInputEventQueue<EventWithDispatchType> events_; 135 WebInputEventQueue<EventWithDispatchType> events_;
136 std::unique_ptr<EventWithDispatchType> in_flight_event_; 136 std::unique_ptr<EventWithDispatchType> in_flight_event_;
137 bool is_flinging_; 137 bool is_flinging_;
138 bool last_touch_start_forced_nonblocking_due_to_fling_; 138 bool last_touch_start_forced_nonblocking_due_to_fling_;
139 bool enable_fling_passive_listener_flag_; 139 bool enable_fling_passive_listener_flag_;
140 bool enable_non_blocking_due_to_main_thread_responsiveness_flag_;
dtapuska 2016/08/23 16:18:29 I think you win for the longest variable name in t
tdresser 2016/08/23 17:25:32 I'm open to alternative suggestions!
140 141
141 base::Lock event_queue_lock_; 142 base::Lock event_queue_lock_;
142 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; 143 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
143 blink::scheduler::RendererScheduler* renderer_scheduler_; 144 blink::scheduler::RendererScheduler* renderer_scheduler_;
144 145
145 DISALLOW_COPY_AND_ASSIGN(MainThreadEventQueue); 146 DISALLOW_COPY_AND_ASSIGN(MainThreadEventQueue);
146 }; 147 };
147 148
148 } // namespace content 149 } // namespace content
149 150
150 #endif // CONTENT_RENDERER_INPUT_MAIN_THREAD_EVENT_QUEUE_H_ 151 #endif // CONTENT_RENDERER_INPUT_MAIN_THREAD_EVENT_QUEUE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698