Index: base/test/test_mock_time_task_runner.cc |
diff --git a/base/test/test_mock_time_task_runner.cc b/base/test/test_mock_time_task_runner.cc |
index 6dfecaf838ba8ee5e5b36f8d067e021e4d51f4c5..15510bcc656eaad3cf0f4494b47b0c850c648a89 100644 |
--- a/base/test/test_mock_time_task_runner.cc |
+++ b/base/test/test_mock_time_task_runner.cc |
@@ -8,6 +8,8 @@ |
#include "base/macros.h" |
#include "base/memory/ptr_util.h" |
#include "base/memory/ref_counted.h" |
+#include "base/message_loop/message_loop.h" |
+#include "base/threading/thread_task_runner_handle.h" |
#include "base/time/clock.h" |
#include "base/time/tick_clock.h" |
@@ -266,4 +268,18 @@ bool TestMockTimeTaskRunner::DequeueNextTask(const TimeTicks& reference, |
return false; |
} |
+// ScopedTestMockTimeTaskRunner ----------------------------------------------- |
+ |
+ScopedMockTaskRunnerWrapper::ScopedMockTaskRunnerWrapper() { |
gab
2016/11/15 19:52:01
DCHECK(base::MessageLoop::current());
gab
2016/11/15 19:52:01
: task_runner_(new base::TestMockTimeTaskRunner),
bruthig
2016/11/15 21:52:44
Done.
bruthig
2016/11/15 21:52:44
Done.
|
+ task_runner_ = new base::TestMockTimeTaskRunner; |
+ previous_task_runner_ = base::ThreadTaskRunnerHandle::Get(); |
+ base::MessageLoop::current()->SetTaskRunner(task_runner_); |
+} |
+ |
+ScopedMockTaskRunnerWrapper::~ScopedMockTaskRunnerWrapper() { |
gab
2016/11/15 19:52:01
DCHECK(previous_task_runner_->RunsTasksOnCurrentTh
bruthig
2016/11/15 21:52:44
Done.
|
+ DCHECK_EQ(task_runner_, base::ThreadTaskRunnerHandle::Get()); |
+ task_runner_->ClearPendingTasks(); |
gab
2016/11/15 19:52:01
This feels wrong. Remaining tasks should be transf
bruthig
2016/11/15 21:52:44
Not exactly sure if I implemented what you were as
|
+ base::MessageLoop::current()->SetTaskRunner(previous_task_runner_); |
gab
2016/11/15 19:52:01
->SetTaskRunner(std::move(previous_task_runner_));
bruthig
2016/11/15 21:52:44
Done.
|
+} |
+ |
} // namespace base |