| Index: Source/platform/scheduler/Scheduler.cpp
|
| diff --git a/Source/platform/scheduler/Scheduler.cpp b/Source/platform/scheduler/Scheduler.cpp
|
| index 4a447721f58921b8fe0500568ed583f76288b5c8..b8c7905a4299271500eaec631a8cf01eebc7dd71 100644
|
| --- a/Source/platform/scheduler/Scheduler.cpp
|
| +++ b/Source/platform/scheduler/Scheduler.cpp
|
| @@ -73,8 +73,8 @@ public:
|
| class Scheduler::MainThreadPendingTaskRunner : public WebThread::Task {
|
| public:
|
| MainThreadPendingTaskRunner(
|
| - const Scheduler::Task& task, const TraceLocation& location)
|
| - : m_task(task, location)
|
| + const Scheduler::Task& task, const TraceLocation& location, const char* traceName)
|
| + : m_task(task, location, traceName)
|
| {
|
| ASSERT(Scheduler::shared());
|
| }
|
| @@ -90,7 +90,7 @@ public:
|
| m_task.run();
|
| }
|
|
|
| - Scheduler::TracedTask m_task;
|
| + TracedTask m_task;
|
| };
|
|
|
| Scheduler* Scheduler::s_sharedScheduler = nullptr;
|
| @@ -142,25 +142,28 @@ void Scheduler::scheduleIdleTask(const TraceLocation& location, const IdleTask&
|
| m_mainThread->postTask(new MainThreadIdleTaskAdapter(idleTask, 0, location));
|
| }
|
|
|
| +void Scheduler::postHighPriorityTaskInternal(const TraceLocation& location, const Task& task, const char* traceName)
|
| +{
|
| + Locker<Mutex> lock(m_pendingTasksMutex);
|
| +
|
| + m_pendingHighPriorityTasks.append(TracedTask(task, location, traceName));
|
| + atomicIncrement(&m_highPriorityTaskCount);
|
| + maybePostMainThreadPendingHighPriorityTaskRunner();
|
| +}
|
| +
|
| void Scheduler::postTask(const TraceLocation& location, const Task& task)
|
| {
|
| - m_mainThread->postTask(new MainThreadPendingTaskRunner(task, location));
|
| + m_mainThread->postTask(new MainThreadPendingTaskRunner(task, location, "Scheduler::MainThreadTask"));
|
| }
|
|
|
| void Scheduler::postInputTask(const TraceLocation& location, const Task& task)
|
| {
|
| - Locker<Mutex> lock(m_pendingTasksMutex);
|
| - m_pendingHighPriorityTasks.append(TracedTask(task, location));
|
| - atomicIncrement(&m_highPriorityTaskCount);
|
| - maybePostMainThreadPendingHighPriorityTaskRunner();
|
| + postHighPriorityTaskInternal(location, task, "Scheduler::InputTask");
|
| }
|
|
|
| void Scheduler::postCompositorTask(const TraceLocation& location, const Task& task)
|
| {
|
| - Locker<Mutex> lock(m_pendingTasksMutex);
|
| - m_pendingHighPriorityTasks.append(TracedTask(task, location));
|
| - atomicIncrement(&m_highPriorityTaskCount);
|
| - maybePostMainThreadPendingHighPriorityTaskRunner();
|
| + postHighPriorityTaskInternal(location, task, "Scheduler::CompositorTask");
|
| }
|
|
|
| void Scheduler::maybePostMainThreadPendingHighPriorityTaskRunner()
|
| @@ -266,12 +269,4 @@ bool Scheduler::hasPendingHighPriorityWork() const
|
| return acquireLoad(&m_highPriorityTaskCount) != 0;
|
| }
|
|
|
| -void Scheduler::TracedTask::run()
|
| -{
|
| - TRACE_EVENT2("blink", "TracedTask::run",
|
| - "src_file", m_location.fileName(),
|
| - "src_func", m_location.functionName());
|
| - m_task();
|
| -}
|
| -
|
| } // namespace blink
|
|
|