summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/java
diff options
context:
space:
mode:
authorkristianm@chromium.org <kristianm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-08 01:31:52 +0000
committerkristianm@chromium.org <kristianm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-08 01:31:52 +0000
commit349ad5872a8ff25729e1b67ad24a09b64571c04c (patch)
treeec401c4675c4a02b546b4f849b8c2a41d50fe1c7 /content/browser/renderer_host/java
parent29aaa27acf958c13926a5199e717aa79124fe779 (diff)
downloadchromium_src-349ad5872a8ff25729e1b67ad24a09b64571c04c.zip
chromium_src-349ad5872a8ff25729e1b67ad24a09b64571c04c.tar.gz
chromium_src-349ad5872a8ff25729e1b67ad24a09b64571c04c.tar.bz2
Making a way to create thread with a Java Looper for Android
We need to create a new message loop type for this as for testing the Android UI message pump type is not the standard Java, but gets overridden to a different one that can handle nested message loops. Using the new Java thread for the java bridge thread, so the thread used for AJI callbacks will have a prepared Looper. BUG=b/8680913 TBR=jochen@chromium.org Review URL: https://chromiumcodereview.appspot.com/18584006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@216349 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/java')
-rw-r--r--content/browser/renderer_host/java/java_bridge_dispatcher_host.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/content/browser/renderer_host/java/java_bridge_dispatcher_host.cc b/content/browser/renderer_host/java/java_bridge_dispatcher_host.cc
index eeb8d96..95a1c6a 100644
--- a/content/browser/renderer_host/java/java_bridge_dispatcher_host.cc
+++ b/content/browser/renderer_host/java/java_bridge_dispatcher_host.cc
@@ -4,9 +4,9 @@
#include "content/browser/renderer_host/java/java_bridge_dispatcher_host.h"
+#include "base/android/java_handler_thread.h"
#include "base/bind.h"
#include "base/lazy_instance.h"
-#include "base/threading/thread.h"
#include "content/browser/renderer_host/java/java_bridge_channel_host.h"
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/child/child_process.h"
@@ -17,12 +17,18 @@
#include "content/public/browser/render_process_host.h"
#include "third_party/WebKit/public/web/WebBindings.h"
+#if !defined(OS_ANDROID)
+#error "JavaBridge currently only supports OS_ANDROID"
+#endif
+
namespace content {
namespace {
-class JavaBridgeThread : public base::Thread {
+// The JavaBridge needs to use a Java thread so the callback
+// will happen on a thread with a prepared Looper.
+class JavaBridgeThread : public base::android::JavaHandlerThread {
public:
- JavaBridgeThread() : base::Thread("JavaBridge") {
+ JavaBridgeThread() : base::android::JavaHandlerThread("JavaBridge") {
Start();
}
virtual ~JavaBridgeThread() {