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 |