Index: third_party/WebKit/Source/platform/Task.h |
diff --git a/third_party/WebKit/Source/platform/Task.h b/third_party/WebKit/Source/platform/Task.h |
index 64b656c7374f14261d098c250be6bdc7c1f009db..141a2824367cf48af55d14ed374a14bd9b4c0009 100644 |
--- a/third_party/WebKit/Source/platform/Task.h |
+++ b/third_party/WebKit/Source/platform/Task.h |
@@ -40,11 +40,16 @@ |
namespace blink { |
-class Task : public WebTaskRunner::Task { |
- USING_FAST_MALLOC(Task); |
- WTF_MAKE_NONCOPYABLE(Task); |
+// Please use WTF::Closure and WTF::CrossThreadClosure directly, instead of |
haraken
2016/03/02 09:27:35
Nit: I might prefer renaming WTF::Closure to WTF::
hiroshige
2016/03/03 02:21:07
Should we also rename bind() to sameThreadBind()?
haraken
2016/03/03 02:38:06
I'd prefer having sameThreadBind & sameThreadCallb
tzik
2016/03/03 04:49:30
It's up to you. :p
Since bind() in Blink is mostly
hiroshige
2016/03/04 02:02:46
Thanks for suggestions!
I renamed WTF::Closure to
|
+// wrapping them by blink::SameThreadTask/CrossThreadTask here. |
+ |
+// TODO(hiroshige): Make these classes internal to |
+// Source/platform/WebTaskRunner.cpp. |
+class SameThreadTask : public WebTaskRunner::Task { |
+ USING_FAST_MALLOC(SameThreadTask); |
+ WTF_MAKE_NONCOPYABLE(SameThreadTask); |
public: |
- explicit Task(PassOwnPtr<Closure> closure) |
+ explicit SameThreadTask(PassOwnPtr<Closure> closure) |
: m_closure(std::move(closure)) |
{ |
} |
@@ -58,6 +63,24 @@ private: |
OwnPtr<Closure> m_closure; |
}; |
+class CrossThreadTask : public WebTaskRunner::Task { |
+ USING_FAST_MALLOC(CrossThreadTask); |
+ WTF_MAKE_NONCOPYABLE(CrossThreadTask); |
+public: |
+ explicit CrossThreadTask(PassOwnPtr<CrossThreadClosure> closure) |
+ : m_closure(std::move(closure)) |
+ { |
+ } |
+ |
+ void run() override |
+ { |
+ (*m_closure)(); |
+ } |
+ |
+private: |
+ OwnPtr<CrossThreadClosure> m_closure; |
+}; |
+ |
} // namespace blink |
#endif // Task_h |