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..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; |
|
Sami
2014/10/03 10:39:22
If we have this, do we need the similar typedef in
rmcilroy
2014/10/03 21:41:21
We do if we want people to be able to postIdleTask
|
| + |
| + virtual void run() const; |
| + virtual ~TracedIdleTask(); |
| + |
| +private: |
| + friend class Scheduler; |
|
Sami
2014/10/03 10:39:22
We're a friend of the Scheduler and they're a frie
rmcilroy
2014/10/03 21:41:21
Removed TracedIdleTask as a friend of Scheduler an
|
| + |
| + TracedIdleTask(const IdleTask&, const TraceLocation&, const char* traceName); |
| + |
| + IdleTask m_idleTask; |
| }; |
| } // namespace blink |