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

Side by Side Diff: third_party/WebKit/public/platform/scheduler/renderer/renderer_scheduler.h

Issue 2909293002: Allow tasks scheduled for the instant virtual time budges expires to run (Closed)
Patch Set: Changes for altimin@ Created 3 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 THIRD_PARTY_WEBKIT_PUBLIC_PLATFORM_SCHEDULER_RENDERER_RENDERER_SCHEDULER _H_ 5 #ifndef THIRD_PARTY_WEBKIT_PUBLIC_PLATFORM_SCHEDULER_RENDERER_RENDERER_SCHEDULER _H_
6 #define THIRD_PARTY_WEBKIT_PUBLIC_PLATFORM_SCHEDULER_RENDERER_RENDERER_SCHEDULER _H_ 6 #define THIRD_PARTY_WEBKIT_PUBLIC_PLATFORM_SCHEDULER_RENDERER_RENDERER_SCHEDULER _H_
7 7
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 // prioritize loading tasks for a short duration afterwards. 152 // prioritize loading tasks for a short duration afterwards.
153 // Must be called from the main thread. 153 // Must be called from the main thread.
154 virtual void OnNavigationStarted() = 0; 154 virtual void OnNavigationStarted() = 0;
155 155
156 // Returns true if the scheduler has reason to believe that high priority work 156 // Returns true if the scheduler has reason to believe that high priority work
157 // may soon arrive on the main thread, e.g., if gesture events were observed 157 // may soon arrive on the main thread, e.g., if gesture events were observed
158 // recently. 158 // recently.
159 // Must be called from the main thread. 159 // Must be called from the main thread.
160 virtual bool IsHighPriorityWorkAnticipated() = 0; 160 virtual bool IsHighPriorityWorkAnticipated() = 0;
161 161
162 // Suspends the timer queue and increments the timer queue suspension count. 162 // Suspends the timer queues and increments the timer queue suspension count.
163 // May only be called from the main thread. 163 // May only be called from the main thread.
164 virtual void SuspendTimerQueue() = 0; 164 virtual void SuspendTimerQueue() = 0;
165 165
166 // Decrements the timer queue suspension count and re-enables the timer queue 166 // Decrements the timer queue suspension count and re-enables the timer queues
167 // if the suspension count is zero and the current schduler policy allows it. 167 // if the suspension count is zero and the current schduler policy allows it.
168 virtual void ResumeTimerQueue() = 0; 168 virtual void ResumeTimerQueue() = 0;
169 169
170 // Suspends the timer queues by inserting a fence that blocks any tasks posted
171 // after this point from running. Orthogonal to SuspendTimerQueue. Care must
172 // be taken when using this API to avoid fighting with the TaskQueueThrottler.
173 virtual void VirtualTimePaused() = 0;
174
175 // Removes the fence added by VirtualTimePaused allowing timers to execute
176 // normally. Care must be taken when using this API to avoid fighting with the
177 // TaskQueueThrottler.
178 virtual void VirtualTimeResumed() = 0;
179
170 // Sets whether to allow suspension of timers after the backgrounded signal is 180 // Sets whether to allow suspension of timers after the backgrounded signal is
171 // received via OnRendererBackgrounded. Defaults to disabled. 181 // received via OnRendererBackgrounded. Defaults to disabled.
172 virtual void SetTimerQueueSuspensionWhenBackgroundedEnabled(bool enabled) = 0; 182 virtual void SetTimerQueueSuspensionWhenBackgroundedEnabled(bool enabled) = 0;
173 183
174 // Sets the default blame context to which top level work should be 184 // Sets the default blame context to which top level work should be
175 // attributed in this renderer. |blame_context| must outlive this scheduler. 185 // attributed in this renderer. |blame_context| must outlive this scheduler.
176 virtual void SetTopLevelBlameContext( 186 virtual void SetTopLevelBlameContext(
177 base::trace_event::BlameContext* blame_context) = 0; 187 base::trace_event::BlameContext* blame_context) = 0;
178 188
179 // The renderer scheduler maintains an estimated RAIL mode[1]. This observer 189 // The renderer scheduler maintains an estimated RAIL mode[1]. This observer
(...skipping 11 matching lines...) Expand all
191 201
192 protected: 202 protected:
193 RendererScheduler(); 203 RendererScheduler();
194 DISALLOW_COPY_AND_ASSIGN(RendererScheduler); 204 DISALLOW_COPY_AND_ASSIGN(RendererScheduler);
195 }; 205 };
196 206
197 } // namespace scheduler 207 } // namespace scheduler
198 } // namespace blink 208 } // namespace blink
199 209
200 #endif // THIRD_PARTY_WEBKIT_PUBLIC_PLATFORM_SCHEDULER_RENDERER_RENDERER_SCHEDU LER_H_ 210 #endif // THIRD_PARTY_WEBKIT_PUBLIC_PLATFORM_SCHEDULER_RENDERER_RENDERER_SCHEDU LER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698