| 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/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
| 7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
| 8 #include "base/message_loop_proxy.h" | 8 #include "base/message_loop_proxy.h" |
| 9 #include "content/browser/browser_thread_impl.h" | 9 #include "content/browser/browser_thread_impl.h" |
| 10 #include "content/test/test_browser_thread.h" | 10 #include "content/test/test_browser_thread.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 } | 97 } |
| 98 | 98 |
| 99 TEST_F(BrowserThreadTest, Release) { | 99 TEST_F(BrowserThreadTest, Release) { |
| 100 BrowserThread::ReleaseSoon(BrowserThread::UI, FROM_HERE, this); | 100 BrowserThread::ReleaseSoon(BrowserThread::UI, FROM_HERE, this); |
| 101 MessageLoop::current()->Run(); | 101 MessageLoop::current()->Run(); |
| 102 } | 102 } |
| 103 | 103 |
| 104 TEST_F(BrowserThreadTest, TaskToNonExistentThreadIsDeleted) { | 104 TEST_F(BrowserThreadTest, TaskToNonExistentThreadIsDeleted) { |
| 105 bool deleted = false; | 105 bool deleted = false; |
| 106 BrowserThread::PostTask( | 106 BrowserThread::PostTask( |
| 107 BrowserThread::WEBKIT, FROM_HERE, | 107 BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, |
| 108 new DummyTask(&deleted)); | 108 new DummyTask(&deleted)); |
| 109 EXPECT_TRUE(deleted); | 109 EXPECT_TRUE(deleted); |
| 110 } | 110 } |
| 111 | 111 |
| 112 TEST_F(BrowserThreadTest, ReleasedOnCorrectThread) { | 112 TEST_F(BrowserThreadTest, ReleasedOnCorrectThread) { |
| 113 { | 113 { |
| 114 scoped_refptr<DeletedOnFile> test( | 114 scoped_refptr<DeletedOnFile> test( |
| 115 new DeletedOnFile(MessageLoop::current())); | 115 new DeletedOnFile(MessageLoop::current())); |
| 116 } | 116 } |
| 117 MessageLoop::current()->Run(); | 117 MessageLoop::current()->Run(); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 145 base::Bind(&BrowserThreadTest::DoNothing), | 145 base::Bind(&BrowserThreadTest::DoNothing), |
| 146 base::Bind(&MessageLoop::Quit, | 146 base::Bind(&MessageLoop::Quit, |
| 147 base::Unretained(MessageLoop::current()->current())))); | 147 base::Unretained(MessageLoop::current()->current())))); |
| 148 MessageLoop::current()->Run(); | 148 MessageLoop::current()->Run(); |
| 149 } | 149 } |
| 150 | 150 |
| 151 | 151 |
| 152 TEST_F(BrowserThreadTest, TaskToNonExistentThreadIsDeletedViaMessageLoopProxy) { | 152 TEST_F(BrowserThreadTest, TaskToNonExistentThreadIsDeletedViaMessageLoopProxy) { |
| 153 bool deleted = false; | 153 bool deleted = false; |
| 154 scoped_refptr<base::MessageLoopProxy> message_loop_proxy = | 154 scoped_refptr<base::MessageLoopProxy> message_loop_proxy = |
| 155 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::WEBKIT); | 155 BrowserThread::GetMessageLoopProxyForThread( |
| 156 BrowserThread::WEBKIT_DEPRECATED); |
| 156 message_loop_proxy->PostTask(FROM_HERE, new DummyTask(&deleted)); | 157 message_loop_proxy->PostTask(FROM_HERE, new DummyTask(&deleted)); |
| 157 EXPECT_TRUE(deleted); | 158 EXPECT_TRUE(deleted); |
| 158 } | 159 } |
| 159 | 160 |
| 160 TEST_F(BrowserThreadTest, PostTaskViaMessageLoopProxyAfterThreadExits) { | 161 TEST_F(BrowserThreadTest, PostTaskViaMessageLoopProxyAfterThreadExits) { |
| 161 scoped_ptr<BrowserThreadImpl> io_thread( | 162 scoped_ptr<BrowserThreadImpl> io_thread( |
| 162 new BrowserThreadImpl(BrowserThread::IO)); | 163 new BrowserThreadImpl(BrowserThread::IO)); |
| 163 io_thread->Start(); | 164 io_thread->Start(); |
| 164 io_thread->Stop(); | 165 io_thread->Stop(); |
| 165 | 166 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 179 } | 180 } |
| 180 bool deleted = false; | 181 bool deleted = false; |
| 181 scoped_refptr<base::MessageLoopProxy> message_loop_proxy = | 182 scoped_refptr<base::MessageLoopProxy> message_loop_proxy = |
| 182 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); | 183 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO); |
| 183 bool ret = message_loop_proxy->PostTask(FROM_HERE, new DummyTask(&deleted)); | 184 bool ret = message_loop_proxy->PostTask(FROM_HERE, new DummyTask(&deleted)); |
| 184 EXPECT_FALSE(ret); | 185 EXPECT_FALSE(ret); |
| 185 EXPECT_TRUE(deleted); | 186 EXPECT_TRUE(deleted); |
| 186 } | 187 } |
| 187 | 188 |
| 188 } | 189 } |
| OLD | NEW |