OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef CONTENT_PUBLIC_TEST_NESTED_MESSAGE_PUMP_ANDROID_ | 5 #ifndef CONTENT_PUBLIC_TEST_NESTED_MESSAGE_PUMP_ANDROID_ |
6 #define CONTENT_PUBLIC_TEST_NESTED_MESSAGE_PUMP_ANDROID_ | 6 #define CONTENT_PUBLIC_TEST_NESTED_MESSAGE_PUMP_ANDROID_ |
7 | 7 |
8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/message_loop/message_pump_android.h" | 10 #include "base/message_loop/message_pump_android.h" |
11 | 11 |
12 namespace content { | 12 namespace content { |
13 | 13 |
14 // A nested message pump to be used for content browsertests and layout tests | 14 // A nested message pump to be used for content browsertests and layout tests |
15 // on Android. It overrides the default UI message pump to allow nested loops. | 15 // on Android. It overrides the default UI message pump to allow nested loops. |
16 class NestedMessagePumpAndroid : public base::MessagePumpForUI { | 16 class NestedMessagePumpAndroid : public base::MessagePumpForUI { |
17 public: | 17 public: |
18 NestedMessagePumpAndroid(); | 18 NestedMessagePumpAndroid(); |
19 | 19 |
20 virtual void Run(Delegate* delegate) override; | 20 void Run(Delegate* delegate) override; |
21 virtual void Quit() override; | 21 void Quit() override; |
22 virtual void ScheduleWork() override; | 22 void ScheduleWork() override; |
23 virtual void ScheduleDelayedWork( | 23 void ScheduleDelayedWork(const base::TimeTicks& delayed_work_time) override; |
24 const base::TimeTicks& delayed_work_time) override; | 24 void Start(Delegate* delegate) override; |
25 virtual void Start(Delegate* delegate) override; | |
26 | 25 |
27 static bool RegisterJni(JNIEnv* env); | 26 static bool RegisterJni(JNIEnv* env); |
28 | 27 |
29 protected: | 28 protected: |
30 virtual ~NestedMessagePumpAndroid(); | 29 ~NestedMessagePumpAndroid() override; |
31 | 30 |
32 private: | 31 private: |
33 // We may make recursive calls to Run, so we save state that needs to be | 32 // We may make recursive calls to Run, so we save state that needs to be |
34 // separate between them in this structure type. | 33 // separate between them in this structure type. |
35 struct RunState; | 34 struct RunState; |
36 | 35 |
37 RunState* state_; | 36 RunState* state_; |
38 | 37 |
39 DISALLOW_COPY_AND_ASSIGN(NestedMessagePumpAndroid); | 38 DISALLOW_COPY_AND_ASSIGN(NestedMessagePumpAndroid); |
40 }; | 39 }; |
41 | 40 |
42 } // namespace content | 41 } // namespace content |
43 | 42 |
44 #endif // CONTENT_PUBLIC_TEST_NESTED_MESSAGE_PUMP_ANDROID_ | 43 #endif // CONTENT_PUBLIC_TEST_NESTED_MESSAGE_PUMP_ANDROID_ |
OLD | NEW |