| Index: Source/platform/scheduler/TracedTask.h
|
| diff --git a/Source/platform/scheduler/TracedTask.h b/Source/platform/scheduler/TracedTask.h
|
| index 87f18beec58d5ffefd0d73a249b2ac30771980f6..c21f942b4ca36b139c805c0d10ab90eed8d2c9b2 100644
|
| --- a/Source/platform/scheduler/TracedTask.h
|
| +++ b/Source/platform/scheduler/TracedTask.h
|
| @@ -21,21 +21,50 @@ namespace blink {
|
|
|
| class TracedTask {
|
| public:
|
| + virtual void run() const = 0;
|
| + virtual ~TracedTask();
|
| +
|
| +protected:
|
| + TracedTask(const TraceLocation&, const char* traceName);
|
| + void endFlowTraceEvent() const;
|
| +
|
| + TraceLocation m_location;
|
| + const char* m_traceName;
|
| +
|
| +private:
|
| + // Declared volatile as it is atomically incremented.
|
| + static volatile int s_nextFlowTraceID;
|
| + uint64_t m_flowTraceID;
|
| +};
|
| +
|
| +class TracedStandardTask : public TracedTask {
|
| +public:
|
| typedef Function<void()> Task;
|
|
|
| - void run() const;
|
| + virtual void run() const;
|
| + virtual ~TracedStandardTask();
|
|
|
| private:
|
| friend class Scheduler;
|
| - TracedTask(const Task&, const TraceLocation&, const char* traceName);
|
|
|
| - // Declared volatile as it is atomically incremented.
|
| - static volatile int s_nextFlowTraceID;
|
| + TracedStandardTask(const Task&, const TraceLocation&, const char* traceName);
|
|
|
| - uint64_t m_flowTraceID;
|
| Task m_task;
|
| - TraceLocation m_location;
|
| - const char* m_traceName;
|
| +};
|
| +
|
| +class TracedIdleTask : public TracedTask {
|
| +public:
|
| + typedef Function<void(double deadlineSeconds)> IdleTask;
|
| +
|
| + virtual void run() const;
|
| + virtual ~TracedIdleTask();
|
| +
|
| +private:
|
| + friend class Scheduler;
|
| +
|
| + TracedIdleTask(const IdleTask&, const TraceLocation&, const char* traceName);
|
| +
|
| + IdleTask m_idleTask;
|
| };
|
|
|
| } // namespace blink
|
|
|