Index: components/scheduler/renderer/renderer_scheduler_impl.h |
diff --git a/components/scheduler/renderer/renderer_scheduler_impl.h b/components/scheduler/renderer/renderer_scheduler_impl.h |
index 6fb097a19a77ede866d0145e0fc64b9b43b0d558..d4025da53be109e0fba4a6a9580f27c1ec52751b 100644 |
--- a/components/scheduler/renderer/renderer_scheduler_impl.h |
+++ b/components/scheduler/renderer/renderer_scheduler_impl.h |
@@ -15,6 +15,7 @@ |
#include "components/scheduler/renderer/render_widget_signals.h" |
#include "components/scheduler/renderer/renderer_scheduler.h" |
#include "components/scheduler/renderer/task_cost_estimator.h" |
+#include "components/scheduler/renderer/throttling_helper.h" |
#include "components/scheduler/renderer/user_model.h" |
#include "components/scheduler/scheduler_export.h" |
@@ -26,6 +27,7 @@ class ConvertableToTraceFormat; |
namespace scheduler { |
class RenderWidgetSchedulingState; |
+class ThrottlingHelper; |
class SCHEDULER_EXPORT RendererSchedulerImpl |
: public RendererScheduler, |
@@ -82,6 +84,12 @@ class SCHEDULER_EXPORT RendererSchedulerImpl |
// TaskQueueManager::Observer implementation: |
void OnUnregisterTaskQueue(const scoped_refptr<TaskQueue>& queue) override; |
+ // Returns a task runner where tasks run at the highest possible priority. |
+ scoped_refptr<TaskQueue> ControlTaskRunner(); |
+ |
+ void RegisterTimeDomain(TimeDomain* time_domain); |
+ void UnregisterTimeDomain(TimeDomain* time_domain); |
+ |
// Test helpers. |
SchedulerHelper* GetSchedulerHelperForTesting(); |
TaskCostEstimator* GetLoadingTaskCostEstimatorForTesting(); |
@@ -89,6 +97,14 @@ class SCHEDULER_EXPORT RendererSchedulerImpl |
IdleTimeEstimator* GetIdleTimeEstimatorForTesting(); |
base::TimeTicks CurrentIdleTaskDeadlineForTesting() const; |
+ base::TickClock* tick_clock() const; |
+ |
+ RealTimeDomain* real_time_domain() const { |
+ return helper_.real_time_domain(); |
+ } |
+ |
+ ThrottlingHelper* throttling_helper() { return &throttling_helper_; } |
+ |
private: |
friend class RendererSchedulerImplTest; |
friend class RendererSchedulerImplForTest; |
@@ -233,6 +249,7 @@ class SCHEDULER_EXPORT RendererSchedulerImpl |
SchedulerHelper helper_; |
IdleHelper idle_helper_; |
+ ThrottlingHelper throttling_helper_; |
RenderWidgetSignals render_widget_scheduler_signals_; |
const scoped_refptr<TaskQueue> control_task_runner_; |