DescriptionRewrote WebRTC browser tests to not use peerconnection_server.
This removes all the code that we used for talking to the
peerconnection_server. I also cleaned up tons of dead code from the
test javascript (most of which was used in the old manual test page,
which is now completely self-contained and doesn't use this javascript
anymore).
In place of the peerconnection_server, we'll send signaling information
through the test using ExecuteJavascript calls from the browser test.
This was a bit tricky to design since the javascript can't talk back
to the browser test without the browser test initiating the talking.
The basic design became
1. Test asks tab 1 to get user media and create an offer with audio
and video. The offer is returned to the test as a JSON encoded
session description.
2. The test asks tab 2 to get user media and create a peer connection.
3. The test passes the offer to tab2 and asks it to create an answer,
and the answer is returned to the test like the offer in 1.
4. The test asks tab 1 to accept the answer.
5. Both tabs are now gathering ICE candidates.
6. The test asks tab 1 to return its ICE candidates (waiting for
gathering to complete if necessary). The candidates are then sent
to tab 2 which processes them. The ICE candidates are passed as
JSON encoded RTCIceCandidate instances.
7. 6) is repeated, but from tab 2 to tab 1.
8. We wait for video / audio to start playing.
In general this is a more synchronous design compared to the
peerconnection_server design as the test used to merely arbitrate
connections to the server and then let the javascript in the two tabs
talk to each other asynchronously as far as the test was concerned.
This seems to work though, and the test has full control over what
happens. Hopefully it makes the negotiation flow clearer rather than
having this magical out-of-band signaling channel that the server
enabled previously.
BUG=369469
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=269311
Patch Set 1 #Patch Set 2 : #
Total comments: 23
Patch Set 3 : Nit fixes #Messages
Total messages: 11 (0 generated)
|