| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/threading/sequenced_worker_pool.h" | 5 #include "base/threading/sequenced_worker_pool.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 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 | 825 |
| 826 void StopTaskRunner() { | 826 void StopTaskRunner() { |
| 827 // Make sure all tasks are run before shutting down. Delayed tasks are | 827 // Make sure all tasks are run before shutting down. Delayed tasks are |
| 828 // not run, they're simply deleted. | 828 // not run, they're simply deleted. |
| 829 pool_owner_->pool()->FlushForTesting(); | 829 pool_owner_->pool()->FlushForTesting(); |
| 830 pool_owner_->pool()->Shutdown(); | 830 pool_owner_->pool()->Shutdown(); |
| 831 // Don't reset |pool_owner_| here, as the test may still hold a | 831 // Don't reset |pool_owner_| here, as the test may still hold a |
| 832 // reference to the pool. | 832 // reference to the pool. |
| 833 } | 833 } |
| 834 | 834 |
| 835 bool TaskRunnerHandlesNonZeroDelays() const { | |
| 836 return true; | |
| 837 } | |
| 838 | |
| 839 private: | 835 private: |
| 840 MessageLoop message_loop_; | 836 MessageLoop message_loop_; |
| 841 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; | 837 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; |
| 842 }; | 838 }; |
| 843 | 839 |
| 844 INSTANTIATE_TYPED_TEST_CASE_P( | 840 INSTANTIATE_TYPED_TEST_CASE_P( |
| 845 SequencedWorkerPool, TaskRunnerTest, | 841 SequencedWorkerPool, TaskRunnerTest, |
| 846 SequencedWorkerPoolTaskRunnerTestDelegate); | 842 SequencedWorkerPoolTaskRunnerTestDelegate); |
| 847 | 843 |
| 848 class SequencedWorkerPoolTaskRunnerWithShutdownBehaviorTestDelegate { | 844 class SequencedWorkerPoolTaskRunnerWithShutdownBehaviorTestDelegate { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 865 | 861 |
| 866 void StopTaskRunner() { | 862 void StopTaskRunner() { |
| 867 // Make sure all tasks are run before shutting down. Delayed tasks are | 863 // Make sure all tasks are run before shutting down. Delayed tasks are |
| 868 // not run, they're simply deleted. | 864 // not run, they're simply deleted. |
| 869 pool_owner_->pool()->FlushForTesting(); | 865 pool_owner_->pool()->FlushForTesting(); |
| 870 pool_owner_->pool()->Shutdown(); | 866 pool_owner_->pool()->Shutdown(); |
| 871 // Don't reset |pool_owner_| here, as the test may still hold a | 867 // Don't reset |pool_owner_| here, as the test may still hold a |
| 872 // reference to the pool. | 868 // reference to the pool. |
| 873 } | 869 } |
| 874 | 870 |
| 875 bool TaskRunnerHandlesNonZeroDelays() const { | |
| 876 return true; | |
| 877 } | |
| 878 | |
| 879 private: | 871 private: |
| 880 MessageLoop message_loop_; | 872 MessageLoop message_loop_; |
| 881 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; | 873 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; |
| 882 scoped_refptr<TaskRunner> task_runner_; | 874 scoped_refptr<TaskRunner> task_runner_; |
| 883 }; | 875 }; |
| 884 | 876 |
| 885 INSTANTIATE_TYPED_TEST_CASE_P( | 877 INSTANTIATE_TYPED_TEST_CASE_P( |
| 886 SequencedWorkerPoolTaskRunner, TaskRunnerTest, | 878 SequencedWorkerPoolTaskRunner, TaskRunnerTest, |
| 887 SequencedWorkerPoolTaskRunnerWithShutdownBehaviorTestDelegate); | 879 SequencedWorkerPoolTaskRunnerWithShutdownBehaviorTestDelegate); |
| 888 | 880 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 906 | 898 |
| 907 void StopTaskRunner() { | 899 void StopTaskRunner() { |
| 908 // Make sure all tasks are run before shutting down. Delayed tasks are | 900 // Make sure all tasks are run before shutting down. Delayed tasks are |
| 909 // not run, they're simply deleted. | 901 // not run, they're simply deleted. |
| 910 pool_owner_->pool()->FlushForTesting(); | 902 pool_owner_->pool()->FlushForTesting(); |
| 911 pool_owner_->pool()->Shutdown(); | 903 pool_owner_->pool()->Shutdown(); |
| 912 // Don't reset |pool_owner_| here, as the test may still hold a | 904 // Don't reset |pool_owner_| here, as the test may still hold a |
| 913 // reference to the pool. | 905 // reference to the pool. |
| 914 } | 906 } |
| 915 | 907 |
| 916 bool TaskRunnerHandlesNonZeroDelays() const { | |
| 917 return true; | |
| 918 } | |
| 919 | |
| 920 private: | 908 private: |
| 921 MessageLoop message_loop_; | 909 MessageLoop message_loop_; |
| 922 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; | 910 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; |
| 923 scoped_refptr<SequencedTaskRunner> task_runner_; | 911 scoped_refptr<SequencedTaskRunner> task_runner_; |
| 924 }; | 912 }; |
| 925 | 913 |
| 926 INSTANTIATE_TYPED_TEST_CASE_P( | 914 INSTANTIATE_TYPED_TEST_CASE_P( |
| 927 SequencedWorkerPoolSequencedTaskRunner, TaskRunnerTest, | 915 SequencedWorkerPoolSequencedTaskRunner, TaskRunnerTest, |
| 928 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); | 916 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); |
| 929 | 917 |
| 930 INSTANTIATE_TYPED_TEST_CASE_P( | 918 INSTANTIATE_TYPED_TEST_CASE_P( |
| 931 SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest, | 919 SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest, |
| 932 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); | 920 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); |
| 933 | 921 |
| 934 } // namespace | 922 } // namespace |
| 935 | 923 |
| 936 } // namespace base | 924 } // namespace base |
| OLD | NEW |