| Index: base/message_loop/message_pump_android.h
|
| diff --git a/base/message_loop/message_pump_android.h b/base/message_loop/message_pump_android.h
|
| index 795bd5e79ee69569347d3c0c57522c3717c892ee..e4adaf646b6625666a6abd29de377381ec8e9a62 100644
|
| --- a/base/message_loop/message_pump_android.h
|
| +++ b/base/message_loop/message_pump_android.h
|
| @@ -15,8 +15,13 @@
|
|
|
| namespace base {
|
|
|
| +namespace android {
|
| +class JavaMessageHandlerFactory;
|
| +}
|
| +
|
| class RunLoop;
|
| class TimeTicks;
|
| +class WaitableEvent;
|
|
|
| // This class implements a MessagePump needed for TYPE_UI MessageLoops on
|
| // OS_ANDROID platform.
|
| @@ -31,12 +36,25 @@ class BASE_EXPORT MessagePumpForUI : public MessagePump {
|
| void ScheduleDelayedWork(const TimeTicks& delayed_work_time) override;
|
|
|
| virtual void Start(Delegate* delegate);
|
| + void StartForUnitTest(Delegate* delegate,
|
| + base::android::JavaMessageHandlerFactory* factory,
|
| + WaitableEvent* test_done_event);
|
| +
|
| + // We call Abort when there is a pending JNI exception, meaning that the
|
| + // current thread will crash when we return to Java.
|
| + // We can't call any JNI-methods before returning to Java as we would then
|
| + // cause a native crash (instead of the original Java crash).
|
| + void Abort() { should_abort_ = true; }
|
| + bool ShouldAbort() const { return should_abort_; }
|
|
|
| static bool RegisterBindings(JNIEnv* env);
|
|
|
| private:
|
| + JNIEnv* StartInternal();
|
| +
|
| RunLoop* run_loop_;
|
| base::android::ScopedJavaGlobalRef<jobject> system_message_handler_obj_;
|
| + bool should_abort_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MessagePumpForUI);
|
| };
|
|
|