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

Issue 271653002: Rewrote WebRTC browser tests to not use peerconnection_server. (Closed)

Created:
6 years, 7 months ago by phoglund_chromium
Modified:
6 years, 7 months ago
CC:
chromium-reviews, fischman+watch_chromium.org, feature-media-reviews_chromium.org, wjia+watch_chromium.org, mcasas+watch_chromium.org
Visibility:
Public.

Description

Rewrote 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+266 lines, -932 lines) Patch
M build/all.gyp View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M chrome/browser/media/chrome_webrtc_audio_quality_browsertest.cc View 7 chunks +5 lines, -24 lines 0 comments Download
M chrome/browser/media/chrome_webrtc_browsertest.cc View 9 chunks +12 lines, -21 lines 0 comments Download
M chrome/browser/media/chrome_webrtc_disable_encryption_flag_browsertest.cc View 4 chunks +4 lines, -10 lines 0 comments Download
M chrome/browser/media/chrome_webrtc_typing_detection_browsertest.cc View 6 chunks +4 lines, -15 lines 0 comments Download
M chrome/browser/media/chrome_webrtc_video_quality_browsertest.cc View 7 chunks +5 lines, -11 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_base.h View 2 chunks +18 lines, -5 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_base.cc View 1 chunk +55 lines, -28 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_common.h View 1 chunk +0 lines, -19 lines 0 comments Download
M chrome/browser/media/webrtc_browsertest_common.cc View 2 chunks +0 lines, -47 lines 0 comments Download
M chrome/test/data/webrtc/getusermedia.js View 1 2 chunks +0 lines, -102 lines 0 comments Download
M chrome/test/data/webrtc/jsep01_call.js View 1 3 chunks +41 lines, -194 lines 0 comments Download
M chrome/test/data/webrtc/message_handling.js View 1 2 chunks +121 lines, -454 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
phoglund_chromium
kjellander: main review tommi: owner stamp
6 years, 7 months ago (2014-05-07 11:40:22 UTC) #1
phoglund_chromium
kjellander: main review tommi: owner stamp
6 years, 7 months ago (2014-05-07 11:47:27 UTC) #2
kjellander_chromium
This is excellent work! What a clenaup. lgtm with just a few nits. I would ...
6 years, 7 months ago (2014-05-08 09:11:49 UTC) #3
phoglund_chromium
https://codereview.chromium.org/271653002/diff/20001/build/all.gyp File build/all.gyp (right): https://codereview.chromium.org/271653002/diff/20001/build/all.gyp#newcode607 build/all.gyp:607: 'chromium_builder_qa', # TODO(phoglund): not sure if needed? On 2014/05/08 ...
6 years, 7 months ago (2014-05-08 13:27:42 UTC) #4
phoglund_chromium
Alright tommi, please give an owner stamp when you're ready.
6 years, 7 months ago (2014-05-08 13:28:20 UTC) #5
tommi (sloooow) - chröme
rs lgtm https://codereview.chromium.org/271653002/diff/20001/build/all.gyp File build/all.gyp (right): https://codereview.chromium.org/271653002/diff/20001/build/all.gyp#newcode607 build/all.gyp:607: 'chromium_builder_qa', # TODO(phoglund): not sure if needed? ...
6 years, 7 months ago (2014-05-08 13:32:46 UTC) #6
phoglund_chromium
On 2014/05/08 13:32:46, tommi wrote: > rs lgtm > > https://codereview.chromium.org/271653002/diff/20001/build/all.gyp > File build/all.gyp (right): ...
6 years, 7 months ago (2014-05-08 14:02:19 UTC) #7
phoglund_chromium
The CQ bit was checked by phoglund@chromium.org
6 years, 7 months ago (2014-05-08 14:02:33 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/phoglund@chromium.org/271653002/40001
6 years, 7 months ago (2014-05-08 14:06:51 UTC) #9
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-08 22:14:10 UTC) #10
commit-bot: I haz the power
6 years, 7 months ago (2014-05-09 15:26:33 UTC) #11
Message was sent while issue was closed.
Change committed as 269311

Powered by Google App Engine
This is Rietveld 408576698