Index: components/devtools_bridge/test/android/client/javatests/src/org/chromium/components/devtools_bridge/WebClient.java |
diff --git a/components/devtools_bridge/test/android/client/javatests/src/org/chromium/components/devtools_bridge/WebClient.java b/components/devtools_bridge/test/android/client/javatests/src/org/chromium/components/devtools_bridge/WebClient.java |
index 896710edd17790b454f05de9343634dae6ec4816..5d6b2f97c86303fc90115435010de1ef438edd95 100644 |
--- a/components/devtools_bridge/test/android/client/javatests/src/org/chromium/components/devtools_bridge/WebClient.java |
+++ b/components/devtools_bridge/test/android/client/javatests/src/org/chromium/components/devtools_bridge/WebClient.java |
@@ -4,6 +4,7 @@ |
package org.chromium.components.devtools_bridge; |
+import org.chromium.base.CalledByNative; |
import org.chromium.base.JNINamespace; |
import org.chromium.chrome.browser.profiles.Profile; |
@@ -14,14 +15,42 @@ import org.chromium.chrome.browser.profiles.Profile; |
public final class WebClient { |
private final long mWebClientPtr; |
- public WebClient(Profile profile) { |
- mWebClientPtr = nativeCreateWebClient(profile); |
+ /** |
+ * Delegate of the web client. |
+ */ |
+ public interface Delegate { |
+ void sendCommand(String json); |
+ } |
+ |
+ public WebClient(Profile profile, Delegate delegate) { |
+ mWebClientPtr = nativeCreateWebClient(profile, delegate); |
+ } |
+ |
+ public void connect(String deviceId) { |
+ nativeConnect(mWebClientPtr, deviceId); |
+ } |
+ |
+ public void disconnect(String deviceId) { |
+ nativeDisconnect(mWebClientPtr, deviceId); |
+ } |
+ |
+ public void disconnectAll() { |
+ nativeDisconnectAll(mWebClientPtr); |
} |
public void dispose() { |
nativeDestroyWebClient(mWebClientPtr); |
} |
- private static native long nativeCreateWebClient(Profile profile); |
+ @CalledByNative |
+ static void sendCommand(Object delegate, String json) { |
+ ((Delegate) delegate).sendCommand(json); |
+ } |
+ |
+ private static native long nativeCreateWebClient(Profile profile, Object delegate); |
private static native void nativeDestroyWebClient(long webClientPtr); |
+ |
+ private static native void nativeConnect(long webClientPtr, String deviceId); |
+ private static native void nativeDisconnect(long webClientPtr, String deviceId); |
+ private static native void nativeDisconnectAll(long webClientPtr); |
} |