| 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..7eaff37040d7bc60feb6680979a3467d03294f42 100644
|
| --- a/base/message_loop/message_pump_android.h
|
| +++ b/base/message_loop/message_pump_android.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/macros.h"
|
| #include "base/message_loop/message_pump.h"
|
| +#include "base/synchronization/waitable_event.h"
|
|
|
| namespace base {
|
|
|
| @@ -31,12 +32,26 @@ class BASE_EXPORT MessagePumpForUI : public MessagePump {
|
| void ScheduleDelayedWork(const TimeTicks& delayed_work_time) override;
|
|
|
| virtual void Start(Delegate* delegate);
|
| + void StartForTesting(Delegate* delegate, 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_; }
|
| +
|
| + void NotifyTestDone();
|
|
|
| static bool RegisterBindings(JNIEnv* env);
|
|
|
| private:
|
| RunLoop* run_loop_;
|
| base::android::ScopedJavaGlobalRef<jobject> system_message_handler_obj_;
|
| + bool should_abort_;
|
| + // An event that is triggered when we catch a certain test exception in
|
| + // SystemMessageHandler, this event is only used in tests.
|
| + WaitableEvent* test_event_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MessagePumpForUI);
|
| };
|
|
|