Chromium Code Reviews| Index: Source/platform/scheduler/TracedTask.h |
| diff --git a/Source/platform/scheduler/TracedTask.h b/Source/platform/scheduler/TracedTask.h |
| index 87f18beec58d5ffefd0d73a249b2ac30771980f6..8bc4754561294e58447f193797cb4edb8be5a4e6 100644 |
| --- a/Source/platform/scheduler/TracedTask.h |
| +++ b/Source/platform/scheduler/TracedTask.h |
| @@ -21,23 +21,53 @@ namespace blink { |
| class TracedTask { |
|
Sami
2014/09/24 14:00:40
Note to self: this should probably be renamed as P
rmcilroy
2014/09/29 17:42:58
Acknowledged.
|
| public: |
| - typedef Function<void()> Task; |
| + virtual void run() const = 0; |
| + virtual ~TracedTask(); |
| - void run() const; |
| +protected: |
| + TracedTask(const TraceLocation&, const char* traceName); |
| + void traceRun() const; |
| private: |
| - friend class Scheduler; |
| - TracedTask(const Task&, const TraceLocation&, const char* traceName); |
| // Declared volatile as it is atomically incremented. |
| static volatile int s_nextFlowTraceID; |
| uint64_t m_flowTraceID; |
| - Task m_task; |
| TraceLocation m_location; |
| const char* m_traceName; |
| }; |
| +class TracedStandardTask : public TracedTask { |
| +public: |
| + typedef Function<void()> Task; |
| + |
| + virtual void run() const; |
| + virtual ~TracedStandardTask(); |
| + |
| +private: |
| + friend class Scheduler; |
| + |
| + TracedStandardTask(const Task&, const TraceLocation&, const char* traceName); |
| + |
| + Task m_task; |
| +}; |
| + |
| +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 |
| #endif // TracedTask_h |