OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Neither the name of Google Inc. nor the names of its | 10 * * Neither the name of Google Inc. nor the names of its |
(...skipping 29 matching lines...) Expand all Loading... |
40 WTF_MAKE_NONCOPYABLE(ExecutionContextTask); | 40 WTF_MAKE_NONCOPYABLE(ExecutionContextTask); |
41 WTF_MAKE_FAST_ALLOCATED; | 41 WTF_MAKE_FAST_ALLOCATED; |
42 public: | 42 public: |
43 ExecutionContextTask() { } | 43 ExecutionContextTask() { } |
44 virtual ~ExecutionContextTask() { } | 44 virtual ~ExecutionContextTask() { } |
45 virtual void performTask(ExecutionContext*) = 0; | 45 virtual void performTask(ExecutionContext*) = 0; |
46 // Certain tasks get marked specially so that they aren't discarded, and are
executed, when the context is shutting down its message queue. | 46 // Certain tasks get marked specially so that they aren't discarded, and are
executed, when the context is shutting down its message queue. |
47 virtual bool isCleanupTask() const { return false; } | 47 virtual bool isCleanupTask() const { return false; } |
48 }; | 48 }; |
49 | 49 |
50 class CallClosureTask : public ExecutionContextTask { | 50 class CallClosureTask FINAL : public ExecutionContextTask { |
51 public: | 51 public: |
52 static PassOwnPtr<CallClosureTask> create(const Closure& closure) | 52 static PassOwnPtr<CallClosureTask> create(const Closure& closure) |
53 { | 53 { |
54 return adoptPtr(new CallClosureTask(closure)); | 54 return adoptPtr(new CallClosureTask(closure)); |
55 } | 55 } |
56 virtual void performTask(ExecutionContext*) OVERRIDE { m_closure(); } | 56 virtual void performTask(ExecutionContext*) OVERRIDE { m_closure(); } |
57 | 57 |
58 private: | 58 private: |
59 explicit CallClosureTask(const Closure& closure) : m_closure(closure) { } | 59 explicit CallClosureTask(const Closure& closure) : m_closure(closure) { } |
60 Closure m_closure; | 60 Closure m_closure; |
61 }; | 61 }; |
62 | 62 |
63 } // namespace | 63 } // namespace |
64 | 64 |
65 #endif | 65 #endif |
OLD | NEW |