Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Unified Diff: components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingReceiverProxy.java

Issue 700833002: Refactoring DevTools bridge tests: moving interface adapters to SignalingReceiverProxy. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactoring-1
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingReceiverProxy.java
diff --git a/components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingReceiverProxy.java b/components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingReceiverProxy.java
index 8abd132cf3dd16c4f7f3b3b4e470cecfa5ea0f7f..f57637b05ed092d5fce84a564dd9f47204055e1b 100644
--- a/components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingReceiverProxy.java
+++ b/components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/SignalingReceiverProxy.java
@@ -8,6 +8,8 @@ import org.chromium.components.devtools_bridge.commands.Command;
import org.chromium.components.devtools_bridge.commands.CommandReceiver;
import org.chromium.components.devtools_bridge.commands.CommandSender;
+import java.util.List;
+
/**
* Helper proxy that binds client and server sessions living on different executors.
*/
@@ -28,6 +30,17 @@ final class SignalingReceiverProxy extends CommandSender {
mDelayMs = delayMs;
}
+ public SignalingReceiverProxy(
+ SessionBase.Executor serverExecutor,
+ SessionBase.Executor clientExecutor,
+ SessionBase.ServerSessionInterface serverSession,
+ String sessionId,
+ int delayMs) {
+ this(serverExecutor, clientExecutor,
+ new SignalingReceiverAdaptor(serverSession, sessionId),
+ delayMs);
+ }
+
public SessionBase.Executor serverExecutor() {
return mServerExecutor;
}
@@ -53,4 +66,72 @@ final class SignalingReceiverProxy extends CommandSender {
}
});
}
+
+ public SessionBase.ServerSessionInterface asServerSession(String sessionId) {
+ return new ServerSessionAdapter(this, sessionId);
+ }
+
+ private static final class ServerSessionAdapter implements SessionBase.ServerSessionInterface {
+ private final SignalingReceiver mAdaptee;
+ private final String mSessionId;
+
+ public ServerSessionAdapter(SignalingReceiver adaptee, String sessionId) {
+ mAdaptee = adaptee;
+ mSessionId = sessionId;
+ }
+
+ @Override
+ public void startSession(
+ RTCConfiguration config, String offer, SessionBase.NegotiationCallback callback) {
+ mAdaptee.startSession(mSessionId, config, offer, callback);
+ }
+
+ @Override
+ public void renegotiate(String offer, SessionBase.NegotiationCallback callback) {
+ mAdaptee.renegotiate(mSessionId, offer, callback);
+ }
+
+ @Override
+ public void iceExchange(
+ List<String> clientCandidates, SessionBase.IceExchangeCallback callback) {
+ mAdaptee.iceExchange(mSessionId, clientCandidates, callback);
+ }
+ }
+
+ private static final class SignalingReceiverAdaptor implements SignalingReceiver {
+ private final SessionBase.ServerSessionInterface mAdaptee;
+ private final String mSessionId;
+
+ public SignalingReceiverAdaptor(
+ SessionBase.ServerSessionInterface adaptee, String sessionId) {
+ mAdaptee = adaptee;
+ mSessionId = sessionId;
+ }
+
+ @Override
+ public void startSession(
+ String sessionId, RTCConfiguration config, String offer,
+ SessionBase.NegotiationCallback callback) {
+ if (mSessionId.equals(sessionId)) {
+ mAdaptee.startSession(config, offer, callback);
+ }
+ }
+
+ @Override
+ public void renegotiate(
+ String sessionId, String offer, SessionBase.NegotiationCallback callback) {
+ if (mSessionId.equals(sessionId)) {
+ mAdaptee.renegotiate(offer, callback);
+ }
+ }
+
+ @Override
+ public void iceExchange(
+ String sessionId, List<String> clientCandidates,
+ SessionBase.IceExchangeCallback callback) {
+ if (mSessionId.equals(sessionId)) {
+ mAdaptee.iceExchange(clientCandidates, callback);
+ }
+ }
+ }
}
« no previous file with comments | « components/devtools_bridge/test/android/javatests/src/org/chromium/components/devtools_bridge/LocalSessionBridge.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698