| OLD | NEW | 
|    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "base/message_loop.h" |    5 #include "base/message_loop.h" | 
|    6  |    6  | 
|    7 #include <algorithm> |    7 #include <algorithm> | 
|    8  |    8  | 
|    9 #include "base/bind.h" |    9 #include "base/bind.h" | 
|   10 #include "base/compiler_specific.h" |   10 #include "base/compiler_specific.h" | 
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  242   destruction_observers_.AddObserver(destruction_observer); |  242   destruction_observers_.AddObserver(destruction_observer); | 
|  243 } |  243 } | 
|  244  |  244  | 
|  245 void MessageLoop::RemoveDestructionObserver( |  245 void MessageLoop::RemoveDestructionObserver( | 
|  246     DestructionObserver* destruction_observer) { |  246     DestructionObserver* destruction_observer) { | 
|  247   DCHECK_EQ(this, current()); |  247   DCHECK_EQ(this, current()); | 
|  248   destruction_observers_.RemoveObserver(destruction_observer); |  248   destruction_observers_.RemoveObserver(destruction_observer); | 
|  249 } |  249 } | 
|  250  |  250  | 
|  251 void MessageLoop::PostTask( |  251 void MessageLoop::PostTask( | 
|  252     const tracked_objects::Location& from_here, Task* task) { |  | 
|  253   DCHECK(task); |  | 
|  254   PendingTask pending_task( |  | 
|  255       from_here, |  | 
|  256       base::Bind( |  | 
|  257           &base::subtle::TaskClosureAdapter::Run, |  | 
|  258           new base::subtle::TaskClosureAdapter(task, &should_leak_tasks_)), |  | 
|  259       CalculateDelayedRuntime(0), true); |  | 
|  260   AddToIncomingQueue(&pending_task); |  | 
|  261 } |  | 
|  262  |  | 
|  263 void MessageLoop::PostDelayedTask( |  | 
|  264     const tracked_objects::Location& from_here, Task* task, int64 delay_ms) { |  | 
|  265   DCHECK(task); |  | 
|  266   PendingTask pending_task( |  | 
|  267       from_here, |  | 
|  268       base::Bind( |  | 
|  269           &base::subtle::TaskClosureAdapter::Run, |  | 
|  270           new base::subtle::TaskClosureAdapter(task, &should_leak_tasks_)), |  | 
|  271       CalculateDelayedRuntime(delay_ms), true); |  | 
|  272   AddToIncomingQueue(&pending_task); |  | 
|  273 } |  | 
|  274  |  | 
|  275 void MessageLoop::PostDelayedTask( |  | 
|  276     const tracked_objects::Location& from_here, |  | 
|  277     Task* task, |  | 
|  278     base::TimeDelta delay) { |  | 
|  279   PostDelayedTask(from_here, task, delay.InMillisecondsRoundedUp()); |  | 
|  280 } |  | 
|  281  |  | 
|  282 void MessageLoop::PostNonNestableTask( |  | 
|  283     const tracked_objects::Location& from_here, Task* task) { |  | 
|  284   DCHECK(task); |  | 
|  285   PendingTask pending_task( |  | 
|  286       from_here, |  | 
|  287       base::Bind( |  | 
|  288           &base::subtle::TaskClosureAdapter::Run, |  | 
|  289           new base::subtle::TaskClosureAdapter(task, &should_leak_tasks_)), |  | 
|  290       CalculateDelayedRuntime(0), false); |  | 
|  291   AddToIncomingQueue(&pending_task); |  | 
|  292 } |  | 
|  293  |  | 
|  294 void MessageLoop::PostNonNestableDelayedTask( |  | 
|  295     const tracked_objects::Location& from_here, Task* task, int64 delay_ms) { |  | 
|  296   DCHECK(task); |  | 
|  297   PendingTask pending_task( |  | 
|  298       from_here, |  | 
|  299       base::Bind( |  | 
|  300           &base::subtle::TaskClosureAdapter::Run, |  | 
|  301           new base::subtle::TaskClosureAdapter(task, &should_leak_tasks_)), |  | 
|  302       CalculateDelayedRuntime(delay_ms), false); |  | 
|  303   AddToIncomingQueue(&pending_task); |  | 
|  304 } |  | 
|  305  |  | 
|  306 void MessageLoop::PostNonNestableDelayedTask( |  | 
|  307     const tracked_objects::Location& from_here, |  | 
|  308     Task* task, |  | 
|  309     base::TimeDelta delay) { |  | 
|  310   PostNonNestableDelayedTask(from_here, task, delay.InMillisecondsRoundedUp()); |  | 
|  311 } |  | 
|  312  |  | 
|  313 void MessageLoop::PostTask( |  | 
|  314     const tracked_objects::Location& from_here, const base::Closure& task) { |  252     const tracked_objects::Location& from_here, const base::Closure& task) { | 
|  315   DCHECK(!task.is_null()) << from_here.ToString(); |  253   DCHECK(!task.is_null()) << from_here.ToString(); | 
|  316   PendingTask pending_task(from_here, task, CalculateDelayedRuntime(0), true); |  254   PendingTask pending_task(from_here, task, CalculateDelayedRuntime(0), true); | 
|  317   AddToIncomingQueue(&pending_task); |  255   AddToIncomingQueue(&pending_task); | 
|  318 } |  256 } | 
|  319  |  257  | 
|  320 void MessageLoop::PostDelayedTask( |  258 void MessageLoop::PostDelayedTask( | 
|  321     const tracked_objects::Location& from_here, |  259     const tracked_objects::Location& from_here, | 
|  322     const base::Closure& task, |  260     const base::Closure& task, | 
|  323     int64 delay_ms) { |  261     int64 delay_ms) { | 
| (...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  869                                            Watcher *delegate) { |  807                                            Watcher *delegate) { | 
|  870   return pump_libevent()->WatchFileDescriptor( |  808   return pump_libevent()->WatchFileDescriptor( | 
|  871       fd, |  809       fd, | 
|  872       persistent, |  810       persistent, | 
|  873       static_cast<base::MessagePumpLibevent::Mode>(mode), |  811       static_cast<base::MessagePumpLibevent::Mode>(mode), | 
|  874       controller, |  812       controller, | 
|  875       delegate); |  813       delegate); | 
|  876 } |  814 } | 
|  877  |  815  | 
|  878 #endif |  816 #endif | 
| OLD | NEW |