1 // Copyright 2015 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.
5 #ifndef MOJO_SERVICES_HTML_VIEWER_WEBSCHEDULER_IMPL_H_
6 #define MOJO_SERVICES_HTML_VIEWER_WEBSCHEDULER_IMPL_H_
8 #include "third_party/WebKit/public/platform/WebScheduler.h"
9 #include "third_party/WebKit/public/platform/WebThread.h"
10 #include "third_party/WebKit/public/platform/WebTraceLocation.h"
12 namespace html_viewer
{
14 class WebSchedulerImpl
: public blink::WebScheduler
{
16 explicit WebSchedulerImpl(
17 scoped_refptr
<base::SingleThreadTaskRunner
> task_runner
);
18 ~WebSchedulerImpl() override
;
21 // blink::WebScheduler overrides.
22 virtual void postIdleTask(const blink::WebTraceLocation
& location
,
23 blink::WebScheduler::IdleTask
* task
);
24 virtual void postLoadingTask(const blink::WebTraceLocation
& location
,
25 blink::WebThread::Task
* task
);
26 virtual void postTimerTask(const blink::WebTraceLocation
& location
,
27 blink::WebThread::Task
* task
,
30 static void RunIdleTask(scoped_ptr
<blink::WebScheduler::IdleTask
> task
);
31 static void RunTask(scoped_ptr
<blink::WebThread::Task
> task
);
33 scoped_refptr
<base::SingleThreadTaskRunner
> task_runner_
;
35 DISALLOW_COPY_AND_ASSIGN(WebSchedulerImpl
);
38 } // namespace html_viewer
40 #endif // MOJO_SERVICES_HTML_VIEWER_WEBSCHEDULER_IMPL_H_