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
3 // found in the LICENSE file.
4 
5 #include "third_party/blink/public/platform/scheduler/test/web_fake_thread_scheduler.h"
6 
7 #include "base/single_thread_task_runner.h"
8 #include "base/threading/thread_task_runner_handle.h"
9 #include "build/build_config.h"
10 #include "third_party/blink/public/common/input/web_input_event_attribution.h"
11 #include "third_party/blink/renderer/platform/scheduler/public/thread.h"
12 #include "third_party/blink/renderer/platform/scheduler/test/web_fake_widget_scheduler.h"
13 
14 namespace blink {
15 namespace scheduler {
16 
17 WebFakeThreadScheduler::WebFakeThreadScheduler() = default;
18 
19 WebFakeThreadScheduler::~WebFakeThreadScheduler() = default;
20 
CreateMainThread()21 std::unique_ptr<Thread> WebFakeThreadScheduler::CreateMainThread() {
22   return nullptr;
23 }
24 
25 scoped_refptr<base::SingleThreadTaskRunner>
DefaultTaskRunner()26 WebFakeThreadScheduler::DefaultTaskRunner() {
27   return base::ThreadTaskRunnerHandle::Get();
28 }
29 
30 scoped_refptr<base::SingleThreadTaskRunner>
CompositorTaskRunner()31 WebFakeThreadScheduler::CompositorTaskRunner() {
32   return base::ThreadTaskRunnerHandle::Get();
33 }
34 
35 std::unique_ptr<WebAgentGroupScheduler>
CreateAgentGroupScheduler()36 WebFakeThreadScheduler::CreateAgentGroupScheduler() {
37   return nullptr;
38 }
39 
40 std::unique_ptr<WebWidgetScheduler>
CreateWidgetScheduler()41 WebFakeThreadScheduler::CreateWidgetScheduler() {
42   return std::make_unique<WebFakeWidgetScheduler>();
43 }
44 
45 WebAgentGroupScheduler*
GetCurrentAgentGroupScheduler()46 WebFakeThreadScheduler::GetCurrentAgentGroupScheduler() {
47   return nullptr;
48 }
49 
50 std::unique_ptr<WebRenderWidgetSchedulingState>
NewRenderWidgetSchedulingState()51 WebFakeThreadScheduler::NewRenderWidgetSchedulingState() {
52   return nullptr;
53 }
54 
WillBeginFrame(const viz::BeginFrameArgs & args)55 void WebFakeThreadScheduler::WillBeginFrame(const viz::BeginFrameArgs& args) {}
56 
BeginFrameNotExpectedSoon()57 void WebFakeThreadScheduler::BeginFrameNotExpectedSoon() {}
58 
BeginMainFrameNotExpectedUntil(base::TimeTicks time)59 void WebFakeThreadScheduler::BeginMainFrameNotExpectedUntil(
60     base::TimeTicks time) {}
61 
DidCommitFrameToCompositor()62 void WebFakeThreadScheduler::DidCommitFrameToCompositor() {}
63 
DidHandleInputEventOnCompositorThread(const blink::WebInputEvent & web_input_event,InputEventState event_state)64 void WebFakeThreadScheduler::DidHandleInputEventOnCompositorThread(
65     const blink::WebInputEvent& web_input_event,
66     InputEventState event_state) {}
67 
WillPostInputEventToMainThread(WebInputEvent::Type web_input_event_type,const WebInputEventAttribution & attribution)68 void WebFakeThreadScheduler::WillPostInputEventToMainThread(
69     WebInputEvent::Type web_input_event_type,
70     const WebInputEventAttribution& attribution) {}
71 
WillHandleInputEventOnMainThread(WebInputEvent::Type web_input_event_type,const WebInputEventAttribution & attribution)72 void WebFakeThreadScheduler::WillHandleInputEventOnMainThread(
73     WebInputEvent::Type web_input_event_type,
74     const WebInputEventAttribution& attribution) {}
75 
DidHandleInputEventOnMainThread(const blink::WebInputEvent & web_input_event,WebInputEventResult result)76 void WebFakeThreadScheduler::DidHandleInputEventOnMainThread(
77     const blink::WebInputEvent& web_input_event,
78     WebInputEventResult result) {}
79 
DidAnimateForInputOnCompositorThread()80 void WebFakeThreadScheduler::DidAnimateForInputOnCompositorThread() {}
81 
DidScheduleBeginMainFrame()82 void WebFakeThreadScheduler::DidScheduleBeginMainFrame() {}
DidRunBeginMainFrame()83 void WebFakeThreadScheduler::DidRunBeginMainFrame() {}
84 
IsHighPriorityWorkAnticipated()85 bool WebFakeThreadScheduler::IsHighPriorityWorkAnticipated() {
86   return false;
87 }
88 
SetRendererHidden(bool hidden)89 void WebFakeThreadScheduler::SetRendererHidden(bool hidden) {}
90 
SetRendererBackgrounded(bool backgrounded)91 void WebFakeThreadScheduler::SetRendererBackgrounded(bool backgrounded) {}
92 
SetSchedulerKeepActive(bool keep_active)93 void WebFakeThreadScheduler::SetSchedulerKeepActive(bool keep_active) {}
94 
95 std::unique_ptr<WebFakeThreadScheduler::RendererPauseHandle>
PauseRenderer()96 WebFakeThreadScheduler::PauseRenderer() {
97   return nullptr;
98 }
99 
100 #if defined(OS_ANDROID)
PauseTimersForAndroidWebView()101 void WebFakeThreadScheduler::PauseTimersForAndroidWebView() {}
102 
ResumeTimersForAndroidWebView()103 void WebFakeThreadScheduler::ResumeTimersForAndroidWebView() {}
104 #endif
105 
Shutdown()106 void WebFakeThreadScheduler::Shutdown() {}
107 
SetTopLevelBlameContext(base::trace_event::BlameContext * blame_context)108 void WebFakeThreadScheduler::SetTopLevelBlameContext(
109     base::trace_event::BlameContext* blame_context) {}
110 
SetRendererProcessType(WebRendererProcessType type)111 void WebFakeThreadScheduler::SetRendererProcessType(
112     WebRendererProcessType type) {}
113 
OnMainFrameRequestedForInput()114 void WebFakeThreadScheduler::OnMainFrameRequestedForInput() {}
115 
116 }  // namespace scheduler
117 }  // namespace blink
118