| Index: components/scheduler/renderer/renderer_scheduler.h
|
| diff --git a/components/scheduler/renderer/renderer_scheduler.h b/components/scheduler/renderer/renderer_scheduler.h
|
| deleted file mode 100644
|
| index 33d75ab25b317cdfb74e206dd96a278552b61687..0000000000000000000000000000000000000000
|
| --- a/components/scheduler/renderer/renderer_scheduler.h
|
| +++ /dev/null
|
| @@ -1,188 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_H_
|
| -#define COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_H_
|
| -
|
| -#include <memory>
|
| -
|
| -#include "base/macros.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "components/scheduler/child/child_scheduler.h"
|
| -#include "components/scheduler/child/single_thread_idle_task_runner.h"
|
| -#include "components/scheduler/renderer/render_widget_scheduling_state.h"
|
| -#include "components/scheduler/scheduler_export.h"
|
| -#include "third_party/WebKit/public/platform/WebScheduler.h"
|
| -#include "third_party/WebKit/public/web/WebInputEvent.h"
|
| -#include "v8/include/v8.h"
|
| -
|
| -namespace base {
|
| -namespace trace_event {
|
| -class BlameContext;
|
| -}
|
| -}
|
| -
|
| -namespace cc {
|
| -struct BeginFrameArgs;
|
| -}
|
| -
|
| -namespace blink {
|
| -class WebLocalFrame;
|
| -class WebThread;
|
| -}
|
| -
|
| -namespace scheduler {
|
| -
|
| -class RenderWidgetSchedulingState;
|
| -
|
| -class SCHEDULER_EXPORT RendererScheduler : public ChildScheduler {
|
| - public:
|
| - class SCHEDULER_EXPORT RAILModeObserver {
|
| - public:
|
| - virtual ~RAILModeObserver();
|
| - virtual void OnRAILModeChanged(v8::RAILMode rail_mode) = 0;
|
| - };
|
| -
|
| - ~RendererScheduler() override;
|
| - static std::unique_ptr<RendererScheduler> Create();
|
| -
|
| - // Returns the compositor task runner.
|
| - virtual scoped_refptr<TaskQueue> CompositorTaskRunner() = 0;
|
| -
|
| - // Creates a WebThread implementation for the renderer main thread.
|
| - virtual std::unique_ptr<blink::WebThread> CreateMainThread() = 0;
|
| -
|
| - // Returns the loading task runner. This queue is intended for tasks related
|
| - // to resource dispatch, foreground HTML parsing, etc...
|
| - virtual scoped_refptr<TaskQueue> LoadingTaskRunner() = 0;
|
| -
|
| - // Returns the timer task runner. This queue is intended for DOM Timers.
|
| - // TODO(alexclarke): Get rid of this default timer queue.
|
| - virtual scoped_refptr<TaskQueue> TimerTaskRunner() = 0;
|
| -
|
| - // Returns a new loading task runner. This queue is intended for tasks related
|
| - // to resource dispatch, foreground HTML parsing, etc...
|
| - virtual scoped_refptr<TaskQueue> NewLoadingTaskRunner(const char* name) = 0;
|
| -
|
| - // Returns a new timer task runner. This queue is intended for DOM Timers.
|
| - virtual scoped_refptr<TaskQueue> NewTimerTaskRunner(const char* name) = 0;
|
| -
|
| - // Returns a task runner for tasks which should never get throttled.
|
| - virtual scoped_refptr<TaskQueue> NewUnthrottledTaskRunner(
|
| - const char* name) = 0;
|
| -
|
| - // Returns a new RenderWidgetSchedulingState. The signals from this will be
|
| - // used to make scheduling decisions.
|
| - virtual std::unique_ptr<RenderWidgetSchedulingState>
|
| - NewRenderWidgetSchedulingState() = 0;
|
| -
|
| - // Called to notify about the start of an extended period where no frames
|
| - // need to be drawn. Must be called from the main thread.
|
| - virtual void BeginFrameNotExpectedSoon() = 0;
|
| -
|
| - // Called to notify about the start of a new frame. Must be called from the
|
| - // main thread.
|
| - virtual void WillBeginFrame(const cc::BeginFrameArgs& args) = 0;
|
| -
|
| - // Called to notify that a previously begun frame was committed. Must be
|
| - // called from the main thread.
|
| - virtual void DidCommitFrameToCompositor() = 0;
|
| -
|
| - // Keep RendererScheduler::InputEventStateToString in sync with this enum.
|
| - enum class InputEventState {
|
| - EVENT_CONSUMED_BY_COMPOSITOR,
|
| - EVENT_FORWARDED_TO_MAIN_THREAD,
|
| - };
|
| - static const char* InputEventStateToString(InputEventState input_event_state);
|
| -
|
| - // Tells the scheduler that the system processed an input event. Called by the
|
| - // compositor (impl) thread. Note it's expected that every call to
|
| - // DidHandleInputEventOnCompositorThread where |event_state| is
|
| - // EVENT_FORWARDED_TO_MAIN_THREAD will be followed by a corresponding call
|
| - // to DidHandleInputEventOnMainThread.
|
| - virtual void DidHandleInputEventOnCompositorThread(
|
| - const blink::WebInputEvent& web_input_event,
|
| - InputEventState event_state) = 0;
|
| -
|
| - // Tells the scheduler that the system processed an input event. Must be
|
| - // called from the main thread.
|
| - virtual void DidHandleInputEventOnMainThread(
|
| - const blink::WebInputEvent& web_input_event) = 0;
|
| -
|
| - // Tells the scheduler that the system is displaying an input animation (e.g.
|
| - // a fling). Called by the compositor (impl) thread.
|
| - virtual void DidAnimateForInputOnCompositorThread() = 0;
|
| -
|
| - // Tells the scheduler that the renderer process has been backgrounded, i.e.,
|
| - // there are no critical, user facing activities (visual, audio, etc...)
|
| - // driven by this process. A stricter condition than |OnRendererHidden()|, the
|
| - // process is assumed to be foregrounded when the scheduler is constructed.
|
| - // Must be called on the main thread.
|
| - virtual void OnRendererBackgrounded() = 0;
|
| -
|
| - // Tells the scheduler that the renderer process has been foregrounded.
|
| - // This is the assumed state when the scheduler is constructed.
|
| - // Must be called on the main thread.
|
| - virtual void OnRendererForegrounded() = 0;
|
| -
|
| - // Tells the scheduler that the render process should be suspended. This can
|
| - // only be done when the renderer is backgrounded. The renderer will be
|
| - // automatically resumed when foregrounded.
|
| - virtual void SuspendRenderer() = 0;
|
| -
|
| - // Tells the scheduler that a navigation task is pending. While any main-frame
|
| - // navigation tasks are pending, the scheduler will ensure that loading tasks
|
| - // are not blocked even if they are expensive. Must be called on the main
|
| - // thread.
|
| - virtual void AddPendingNavigation(
|
| - blink::WebScheduler::NavigatingFrameType type) = 0;
|
| -
|
| - // Tells the scheduler that a navigation task is no longer pending.
|
| - // Must be called on the main thread.
|
| - virtual void RemovePendingNavigation(
|
| - blink::WebScheduler::NavigatingFrameType type) = 0;
|
| -
|
| - // Tells the scheduler that a navigation has started. The scheduler will
|
| - // prioritize loading tasks for a short duration afterwards.
|
| - // Must be called from the main thread.
|
| - virtual void OnNavigationStarted() = 0;
|
| -
|
| - // Returns true if the scheduler has reason to believe that high priority work
|
| - // may soon arrive on the main thread, e.g., if gesture events were observed
|
| - // recently.
|
| - // Must be called from the main thread.
|
| - virtual bool IsHighPriorityWorkAnticipated() = 0;
|
| -
|
| - // Suspends the timer queue and increments the timer queue suspension count.
|
| - // May only be called from the main thread.
|
| - virtual void SuspendTimerQueue() = 0;
|
| -
|
| - // Decrements the timer queue suspension count and re-enables the timer queue
|
| - // if the suspension count is zero and the current schduler policy allows it.
|
| - virtual void ResumeTimerQueue() = 0;
|
| -
|
| - // Sets whether to allow suspension of timers after the backgrounded signal is
|
| - // received via OnRendererBackgrounded. Defaults to disabled.
|
| - virtual void SetTimerQueueSuspensionWhenBackgroundedEnabled(bool enabled) = 0;
|
| -
|
| - // Sets the default blame context to which top level work should be
|
| - // attributed in this renderer. |blame_context| must outlive this scheduler.
|
| - virtual void SetTopLevelBlameContext(
|
| - base::trace_event::BlameContext* blame_context) = 0;
|
| -
|
| - // The renderer scheduler maintains an estimated RAIL mode[1]. This observer
|
| - // can be used to get notified when the mode changes. The observer will be
|
| - // called on the main thread and must outlive this class.
|
| - // [1]
|
| - // https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/rail
|
| - virtual void SetRAILModeObserver(RAILModeObserver* observer) = 0;
|
| -
|
| - protected:
|
| - RendererScheduler();
|
| - DISALLOW_COPY_AND_ASSIGN(RendererScheduler);
|
| -};
|
| -
|
| -} // namespace scheduler
|
| -
|
| -#endif // COMPONENTS_SCHEDULER_RENDERER_RENDERER_SCHEDULER_H_
|
|
|