Chromium Code Reviews| Index: base/threading/thread.h |
| diff --git a/base/threading/thread.h b/base/threading/thread.h |
| index 98831b82e5ccea93b2d2f68c583a74682d6925d0..0974b53eda0794f872cc897710b842004d255a21 100644 |
| --- a/base/threading/thread.h |
| +++ b/base/threading/thread.h |
| @@ -8,12 +8,16 @@ |
| #include <string> |
| #include "base/base_export.h" |
| +#include "base/callback.h" |
| +#include "base/memory/scoped_ptr.h" |
| #include "base/message_loop/message_loop.h" |
| #include "base/message_loop/message_loop_proxy.h" |
| #include "base/threading/platform_thread.h" |
| namespace base { |
| +class MessagePump; |
| + |
| // A simple thread abstraction that establishes a MessageLoop on a new thread. |
| // The consumer uses the MessageLoop of the thread to cause code to execute on |
| // the thread. When this object is destroyed the thread is terminated. All |
| @@ -30,13 +34,22 @@ namespace base { |
| class BASE_EXPORT Thread : PlatformThread::Delegate { |
| public: |
| struct Options { |
| - Options() : message_loop_type(MessageLoop::TYPE_DEFAULT), stack_size(0) {} |
| + typedef Callback<scoped_ptr<MessagePump>()> MessagePumpFactory; |
| + |
| + Options() : message_loop_type(MessageLoop::TYPE_DEFAULT), stack_size(0) { |
| + } |
| Options(MessageLoop::Type type, size_t size) |
| - : message_loop_type(type), stack_size(size) {} |
| + : message_loop_type(type), |
| + stack_size(size) {} |
| // Specifies the type of message loop that will be allocated on the thread. |
| MessageLoop::Type message_loop_type; |
| + // Used to create the MessagePump for the MessageLoop. The callback is Run() |
| + // on the thread. If message_pump_factory.is_null(), then a MessagePump |
| + // appropriate for |message_loop_type| is created. |
| + MessagePumpFactory message_pump_factory; |
|
darin (slow to review)
2013/11/07 21:03:38
You might mention that message_pump_factory overri
|
| + |
| // Specifies the maximum stack size that the thread is allowed to use. |
| // This does not necessarily correspond to the thread's initial stack size. |
| // A value of 0 indicates that the default maximum should be used. |