diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-05-09 14:22:11 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-05-09 15:11:45 +0000 |
commit | 2ddb2d3e14eef3de7dbd0cef553d669b9ac2361c (patch) | |
tree | e75f511546c5fd1a173e87c1f9fb11d7ac8d1af3 /chromium/base/message_loop/message_loop.cc | |
parent | a4f3d46271c57e8155ba912df46a05559d14726e (diff) |
BASELINE: Update Chromium to 51.0.2704.41
Also adds in all smaller components by reversing logic for exclusion.
Change-Id: Ibf90b506e7da088ea2f65dcf23f2b0992c504422
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'chromium/base/message_loop/message_loop.cc')
-rw-r--r-- | chromium/base/message_loop/message_loop.cc | 48 |
1 files changed, 22 insertions, 26 deletions
diff --git a/chromium/base/message_loop/message_loop.cc b/chromium/base/message_loop/message_loop.cc index e84765a0f7a..01e7512b19f 100644 --- a/chromium/base/message_loop/message_loop.cc +++ b/chromium/base/message_loop/message_loop.cc @@ -5,13 +5,14 @@ #include "base/message_loop/message_loop.h" #include <algorithm> +#include <memory> #include <utility> #include "base/bind.h" #include "base/compiler_specific.h" #include "base/lazy_instance.h" #include "base/logging.h" -#include "base/memory/scoped_ptr.h" +#include "base/memory/ptr_util.h" #include "base/message_loop/message_pump_default.h" #include "base/metrics/histogram.h" #include "base/metrics/statistics_recorder.h" @@ -103,7 +104,7 @@ MessagePumpForIO* ToPumpIO(MessagePump* pump) { } #endif // !defined(OS_NACL_SFI) -scoped_ptr<MessagePump> ReturnPump(scoped_ptr<MessagePump> pump) { +std::unique_ptr<MessagePump> ReturnPump(std::unique_ptr<MessagePump> pump) { return pump; } @@ -127,7 +128,7 @@ MessageLoop::MessageLoop(Type type) BindToCurrentThread(); } -MessageLoop::MessageLoop(scoped_ptr<MessagePump> pump) +MessageLoop::MessageLoop(std::unique_ptr<MessagePump> pump) : MessageLoop(TYPE_CUSTOM, Bind(&ReturnPump, Passed(&pump))) { BindToCurrentThread(); } @@ -206,7 +207,7 @@ bool MessageLoop::InitMessagePumpForUIFactory(MessagePumpFactory* factory) { } // static -scoped_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) { +std::unique_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) { // TODO(rvargas): Get rid of the OS guards. #if defined(USE_GLIB) && !defined(OS_NACL) typedef MessagePumpGlib MessagePumpForUI; @@ -215,21 +216,22 @@ scoped_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) { #endif #if defined(OS_IOS) || defined(OS_MACOSX) -#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(MessagePumpMac::Create()) +#define MESSAGE_PUMP_UI std::unique_ptr<MessagePump>(MessagePumpMac::Create()) #elif defined(OS_NACL) // Currently NaCl doesn't have a UI MessageLoop. // TODO(abarth): Figure out if we need this. -#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>() +#define MESSAGE_PUMP_UI std::unique_ptr<MessagePump>() #else -#define MESSAGE_PUMP_UI scoped_ptr<MessagePump>(new MessagePumpForUI()) +#define MESSAGE_PUMP_UI std::unique_ptr<MessagePump>(new MessagePumpForUI()) #endif #if defined(OS_MACOSX) // Use an OS native runloop on Mac to support timer coalescing. - #define MESSAGE_PUMP_DEFAULT \ - scoped_ptr<MessagePump>(new MessagePumpCFRunLoop()) +#define MESSAGE_PUMP_DEFAULT \ + std::unique_ptr<MessagePump>(new MessagePumpCFRunLoop()) #else - #define MESSAGE_PUMP_DEFAULT scoped_ptr<MessagePump>(new MessagePumpDefault()) +#define MESSAGE_PUMP_DEFAULT \ + std::unique_ptr<MessagePump>(new MessagePumpDefault()) #endif if (type == MessageLoop::TYPE_UI) { @@ -238,11 +240,11 @@ scoped_ptr<MessagePump> MessageLoop::CreateMessagePumpForType(Type type) { return MESSAGE_PUMP_UI; } if (type == MessageLoop::TYPE_IO) - return scoped_ptr<MessagePump>(new MessagePumpForIO()); + return std::unique_ptr<MessagePump>(new MessagePumpForIO()); #if defined(OS_ANDROID) if (type == MessageLoop::TYPE_JAVA) - return scoped_ptr<MessagePump>(new MessagePumpForUI()); + return std::unique_ptr<MessagePump>(new MessagePumpForUI()); #endif DCHECK_EQ(MessageLoop::TYPE_DEFAULT, type); @@ -375,9 +377,10 @@ bool MessageLoop::IsIdleForTesting() { //------------------------------------------------------------------------------ // static -scoped_ptr<MessageLoop> MessageLoop::CreateUnbound( - Type type, MessagePumpFactoryCallback pump_factory) { - return make_scoped_ptr(new MessageLoop(type, pump_factory)); +std::unique_ptr<MessageLoop> MessageLoop::CreateUnbound( + Type type, + MessagePumpFactoryCallback pump_factory) { + return WrapUnique(new MessageLoop(type, pump_factory)); } MessageLoop::MessageLoop(Type type, MessagePumpFactoryCallback pump_factory) @@ -398,7 +401,7 @@ MessageLoop::MessageLoop(Type type, MessagePumpFactoryCallback pump_factory) new internal::MessageLoopTaskRunner(incoming_task_queue_)), task_runner_(unbound_task_runner_) { // If type is TYPE_CUSTOM non-null pump_factory must be given. - DCHECK_EQ(type_ == TYPE_CUSTOM, !pump_factory_.is_null()); + DCHECK(type_ != TYPE_CUSTOM || !pump_factory_.is_null()); } void MessageLoop::BindToCurrentThread() { @@ -436,17 +439,7 @@ void MessageLoop::SetThreadTaskRunnerHandle() { void MessageLoop::RunHandler() { DCHECK_EQ(this, current()); - StartHistogrammer(); - -#if defined(OS_WIN) - if (run_loop_->dispatcher_ && type() == TYPE_UI) { - static_cast<MessagePumpForUI*>(pump_.get())-> - RunWithDispatcher(this, run_loop_->dispatcher_); - return; - } -#endif - pump_->Run(this); } @@ -684,6 +677,9 @@ void MessageLoop::ReleaseSoonInternal( //------------------------------------------------------------------------------ // MessageLoopForUI +MessageLoopForUI::MessageLoopForUI(std::unique_ptr<MessagePump> pump) + : MessageLoop(TYPE_UI, Bind(&ReturnPump, Passed(&pump))) {} + #if defined(OS_ANDROID) void MessageLoopForUI::Start() { // No Histogram support for UI message loop as it is managed by Java side |