OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 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 // An implementation of WebThread in terms of base::MessageLoop and | 5 // An implementation of WebThread in terms of base::MessageLoop and |
6 // base::Thread | 6 // base::Thread |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/tracked_objects.h" | 10 #include "base/tracked_objects.h" |
(...skipping 28 matching lines...) Expand all Loading... | |
39 base::Passed(&scoped_task))); | 39 base::Passed(&scoped_task))); |
40 } | 40 } |
41 | 41 |
42 void WebSchedulerImpl::postTimerTask( | 42 void WebSchedulerImpl::postTimerTask( |
43 const blink::WebTraceLocation& web_location, | 43 const blink::WebTraceLocation& web_location, |
44 blink::WebThread::Task* task, | 44 blink::WebThread::Task* task, |
45 long long delayMs) { | 45 long long delayMs) { |
46 scoped_ptr<blink::WebThread::Task> scoped_task(task); | 46 scoped_ptr<blink::WebThread::Task> scoped_task(task); |
47 tracked_objects::Location location(web_location.functionName(), | 47 tracked_objects::Location location(web_location.functionName(), |
48 web_location.fileName(), -1, nullptr); | 48 web_location.fileName(), -1, nullptr); |
49 task_runner_->PostDelayedTask( | 49 task_runner_->PostNonNestableDelayedTask( |
50 location, | 50 location, |
51 base::Bind(&WebSchedulerImpl::RunTask, base::Passed(&scoped_task)), | 51 base::Bind(&WebSchedulerImpl::RunTask, base::Passed(&scoped_task)), |
52 base::TimeDelta::FromMilliseconds(delayMs)); | 52 base::TimeDelta::FromMilliseconds(delayMs)); |
53 } | 53 } |
54 | 54 |
55 void WebSchedulerImpl::postShutdownTask( | |
56 const blink::WebTraceLocation& web_location, | |
57 blink::WebThread::Task* task, | |
58 long long delayMs) { | |
59 scoped_ptr<blink::WebThread::Task> scoped_task(task); | |
60 tracked_objects::Location location(web_location.functionName(), | |
61 web_location.fileName(), -1, nullptr); | |
62 task_runner_->PostNonNestableDelayedTask( | |
63 location, | |
64 base::Bind(&WebSchedulerImpl::RunTask, base::Passed(&scoped_task)), | |
65 base::TimeDelta::FromMilliseconds(delayMs)); | |
66 } | |
67 | |
68 void WebSchedulerImpl::preShutdown() { | |
69 // TODO(alexclarke) Implement pre shutdown for mojo? | |
sky
2015/04/23 16:35:37
Add a NOTIMPLEMENTED here.
alex clarke (OOO till 29th)
2015/04/23 17:34:32
Done.
| |
70 } | |
71 | |
55 // static | 72 // static |
56 void WebSchedulerImpl::RunIdleTask( | 73 void WebSchedulerImpl::RunIdleTask( |
57 scoped_ptr<blink::WebThread::IdleTask> task) { | 74 scoped_ptr<blink::WebThread::IdleTask> task) { |
58 // TODO(davemoore) Implement idle scheduling. | 75 // TODO(davemoore) Implement idle scheduling. |
59 task->run(0); | 76 task->run(0); |
60 } | 77 } |
61 | 78 |
62 // static | 79 // static |
63 void WebSchedulerImpl::RunTask(scoped_ptr<blink::WebThread::Task> task) { | 80 void WebSchedulerImpl::RunTask(scoped_ptr<blink::WebThread::Task> task) { |
64 task->run(); | 81 task->run(); |
65 } | 82 } |
66 | 83 |
67 } // namespace html_viewer | 84 } // namespace html_viewer |
OLD | NEW |