OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 // |
| 5 // Test file for the MessageLoop refactoring clang tool. |
| 6 |
| 7 template <class T> |
| 8 class scoped_refptr { |
| 9 public: |
| 10 T* operator->(); |
| 11 T* get(); |
| 12 }; |
| 13 |
| 14 namespace base { |
| 15 |
| 16 class SingleThreadTaskRunner { |
| 17 public: |
| 18 void PostTask(); |
| 19 void PostDelayedTask(); |
| 20 void PostNonNestableTask(); |
| 21 void PostNonNestableDelayedTask(); |
| 22 }; |
| 23 |
| 24 class MessageLoopProxy: public SingleThreadTaskRunner { |
| 25 public: |
| 26 static scoped_refptr<MessageLoopProxy> current(); |
| 27 }; |
| 28 |
| 29 class MessageLoop { |
| 30 public: |
| 31 void PostTask(); |
| 32 void PostDelayedTask(); |
| 33 void PostNonNestableTask(); |
| 34 void PostNonNestableDelayedTask(); |
| 35 |
| 36 scoped_refptr<SingleThreadTaskRunner> task_runner(); |
| 37 scoped_refptr<MessageLoopProxy> message_loop_proxy(); |
| 38 |
| 39 static MessageLoop* current(); |
| 40 }; |
| 41 |
| 42 class Thread { |
| 43 public: |
| 44 scoped_refptr<SingleThreadTaskRunner> task_runner(); |
| 45 scoped_refptr<MessageLoopProxy> message_loop_proxy(); |
| 46 }; |
| 47 |
| 48 class ThreadTaskRunnerHandle { |
| 49 public: |
| 50 static scoped_refptr<SingleThreadTaskRunner> Get(); |
| 51 }; |
| 52 |
| 53 }; |
| 54 |
| 55 void TestPostTask() { |
| 56 base::MessageLoop loop; |
| 57 |
| 58 loop.task_runner()->PostTask(); |
| 59 (&loop)->task_runner()->PostDelayedTask(); |
| 60 loop.task_runner()->PostNonNestableTask(); |
| 61 (&loop)->task_runner()->PostNonNestableDelayedTask(); |
| 62 } |
| 63 |
| 64 void TestMessageLoopProxyGetter() { |
| 65 base::MessageLoop loop; |
| 66 |
| 67 loop.task_runner()->PostTask(); |
| 68 } |
| 69 |
| 70 void TestThreadMessageLoopProxyGetter() { |
| 71 base::Thread thread; |
| 72 |
| 73 thread.task_runner()->PostTask(); |
| 74 } |
| 75 |
| 76 void TestMessageLoopProxyCurrent() { |
| 77 base::ThreadTaskRunnerHandle::Get()->PostTask(); |
| 78 } |
| 79 |
| 80 void TestMessageLoopProxyPointer() { |
| 81 base::SingleThreadTaskRunner* proxy; |
| 82 } |
| 83 |
| 84 void TestMessageLoopProxyRefPtr() { |
| 85 scoped_refptr<base::SingleThreadTaskRunner> proxy; |
| 86 } |
| 87 |
| 88 namespace base { |
| 89 |
| 90 void TestMessageLoopProxyRefPtrInBase() { |
| 91 scoped_refptr<SingleThreadTaskRunner> proxy; |
| 92 } |
| 93 |
| 94 } // namespace base |
OLD | NEW |