New issue
Advanced search Search tips

Issue 787254 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocked on:
issue 704136
issue 764680
issue 793297



Sign in to add a comment

Mojofy and Onion Soup content/renderer/media/webrtc

Project Member Reported by slangley@chromium.org, Nov 21 2017

Issue description

- Convert existing IPC messages to mojo.
- Move the code from content/renderer into blink.
- Remove any now redundant layers from public/web etc.

From the tracking spreadsheet:

"Our plan is to move all IPC related to navigator.mediaDevices (getUserMedia and enumerateDevices) to Blink. This means that we will move much of the code from user_media_....{h|cc} from content/renderer/media to Blink. However, moving the full MediaStreams framework from content to Blink is not straightforward because 1) it defines interfaces used by content/renderer/pepper, which is marked as "Don't migrate"; and 2) several MediaStream... classes in content also depend on types from media/ which are currently not available from Blink."
 

Comment 1 by guidou@chromium.org, Nov 29 2017

Summary: Mojofy and Onion Soup content/renderer/media/ (WebRTC) (was: Mojofy and Onion Soup content/renderer/media/ (non-WebRTC))

Comment 2 by guidou@chromium.org, Nov 29 2017

Changed description since this concerns the WebRTC-related parts.
Blockedon: 764680
Blockedon: 704136

Comment 5 by guidou@chromium.org, Dec 12 2017

Blockedon: 793297

Comment 6 by guidou@chromium.org, Apr 24 2018

Cc: guidou@chromium.org
Owner: hbos@chromium.org
Summary: Mojofy and Onion Soup content/renderer/media/webrtc (was: Mojofy and Onion Soup content/renderer/media/ (WebRTC))

Comment 7 by orphis@chromium.org, May 14 2018

Cc: orphis@chromium.org
Project Member

Comment 9 by bugdroid1@chromium.org, May 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f

commit 4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f
Author: Florent Castelli <orphis@chromium.org>
Date: Tue May 15 15:22:00 2018

Remove WebRTCRtpParameters layer, use webrtc::RtpParameters instead

This is part of the onion soup efforts.

Bug: 787254
Change-Id: If099833448584243d4b03586f100faf1939c4887
Reviewed-on: https://chromium-review.googlesource.com/1057309
Commit-Queue: Florent Castelli <orphis@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#558708}
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/content/renderer/BUILD.gn
[delete] https://crrev.com/00afc304843f76fdbde9b22841cf45b3ebf1b6d4/content/renderer/media/webrtc/rtc_rtp_parameters.cc
[delete] https://crrev.com/00afc304843f76fdbde9b22841cf45b3ebf1b6d4/content/renderer/media/webrtc/rtc_rtp_parameters.h
[delete] https://crrev.com/00afc304843f76fdbde9b22841cf45b3ebf1b6d4/content/renderer/media/webrtc/rtc_rtp_parameters_unittest.cc
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/content/renderer/media/webrtc/rtc_rtp_sender.cc
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/content/renderer/media/webrtc/rtc_rtp_sender.h
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/content/test/BUILD.gn
[delete] https://crrev.com/00afc304843f76fdbde9b22841cf45b3ebf1b6d4/third_party/blink/public/platform/web_rtc_rtp_parameters.h
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/third_party/blink/public/platform/web_rtc_rtp_sender.h
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
[modify] https://crrev.com/4fdbd2c4632f9053a480cb1311cdb9ee8ec3622f/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jun 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c220be7c001dbe68a36afc3e02838c510b0b3b0f

commit c220be7c001dbe68a36afc3e02838c510b0b3b0f
Author: Henrik Boström <hbos@chromium.org>
Date: Thu Jun 07 16:30:41 2018

Fire RTCPeerConnection.onsignalingstatechange in the correct order.

With this change, onsignalingstatechange always fires before the
setLocalDescription's promise resolves.

Before this change, signaling state changes were surfaced with callbacks
firing separately from the callback that setLocalDescription or
setRemoteDescription had completed. As a result, the result of a SLD/SRD
operation was surfaced in two PostTasks instead of one. This could lead
to flaky behavior where JavaScript task execeution cycles may or may not
execute between PostTasks which lead to undefined order. Also when the
signalingstatechange was surfaced to the JS thread the firing of the
event was delayed by a task execution cycle due to
ScheduleDispatchEvent.
- If both PostTasks were handled in the same cycle, the event firing
  would be scheduled and the promise resolved, such that the promise's
  then() is invoked just before the event fires (scheduled after
  promise). This is NOT in accordance with the spec.
- If onsignalingstatechange's PostTask was handled in its own cycle,
  the event would be scheduled such that by the time the
  setLocalDescription's callback's PostTask occurs resolving the
  promise, the event would fire before the promise's then(). This IS
  in accordance with the spec.

With this change, the onsignalingstatechange event is fired without
delay, and it is processed in by the same observer that handles the
SLD/SRD callback, so the order is always guaranteed to be the same.

In addition, this CL removes the usage of
WebRTCPeerConnectionHandlerClient::SignalingState and relies on the
webrtc::PeerConnectionInterface::SignalingState enum directly. This
is part of the Onion Souping work (crbug.com/787254).

Bug:  848768 , 787254
Change-Id: I7bc10439c44c6ff6beab0289975295ff2e051b9c
Reviewed-on: https://chromium-review.googlesource.com/1085302
Commit-Queue: Henrik Boström <hbos@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565291}
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/peer_connection_tracker.cc
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/peer_connection_tracker.h
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/webrtc_set_remote_description_observer.cc
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/content/renderer/media/webrtc/webrtc_set_remote_description_observer.h
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setLocalDescription-expected.txt
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-setLocalDescription.html
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/c220be7c001dbe68a36afc3e02838c510b0b3b0f/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h

Project Member

Comment 12 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185

commit f4ff752c0af42b2dce4b8dd5878e9e70f40d1185
Author: Florent Castelli <orphis@chromium.org>
Date: Thu Aug 16 17:02:19 2018

Onion-soup WebRTCCertficate to rtc::RTCCertificate

Bug: 787254
Change-Id: I44dd447f8799a4b1ff45da609112e46294e89747
Reviewed-on: https://chromium-review.googlesource.com/1175919
Commit-Queue: Florent Castelli <orphis@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Tommi <tommi@chromium.org>
Reviewed-by: Harald Alvestrand <hta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583697}
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/content/renderer/BUILD.gn
[delete] https://crrev.com/fcab234783a396391ce97a62ec6c8849ebb8d01f/content/renderer/media/webrtc/rtc_certificate.cc
[delete] https://crrev.com/fcab234783a396391ce97a62ec6c8849ebb8d01f/content/renderer/media/webrtc/rtc_certificate.h
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/content/renderer/media/webrtc/rtc_certificate_generator.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/content/renderer/media/webrtc/rtc_certificate_generator.h
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/content/test/test_blink_web_unit_test_support.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/public/BUILD.gn
[delete] https://crrev.com/fcab234783a396391ce97a62ec6c8849ebb8d01f/third_party/blink/public/platform/web_rtc_certificate.h
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/public/platform/web_rtc_certificate_generator.h
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/public/platform/web_rtc_configuration.h
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_deserializer_for_modules.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_serializer_for_modules.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_serializer_for_modules_test.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/modules/peerconnection/rtc_certificate.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/modules/peerconnection/rtc_certificate.h
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/renderer/modules/peerconnection/testing/internals_rtc_certificate.cc
[modify] https://crrev.com/f4ff752c0af42b2dce4b8dd5878e9e70f40d1185/third_party/blink/tools/audit_non_blink_usage.py

Project Member

Comment 13 by bugdroid1@chromium.org, Aug 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ad3996ca66ecc2eecf7f4b1bd14c260647549fae

commit ad3996ca66ecc2eecf7f4b1bd14c260647549fae
Author: Florent Castelli <orphis@chromium.org>
Date: Tue Aug 21 11:05:22 2018

Onion-soup WebRTCConfiguration to matching WebRTC type

Also moved the translation from default sdp semantics and its counter
to the PeerConnection from the handler.

Bug: 787254
Change-Id: Iea26f6500ebcdfdeb862596861580b21c9eba903
Reviewed-on: https://chromium-review.googlesource.com/1177754
Reviewed-by: Henrik Boström <hbos@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Florent Castelli <orphis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#584713}
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/content/renderer/media/webrtc/rtc_peer_connection_handler.h
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/third_party/blink/public/BUILD.gn
[delete] https://crrev.com/f92191b7e96a596337d4aa96e713f189e86e4a85/third_party/blink/public/platform/web_rtc_configuration.h
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.cc
[modify] https://crrev.com/ad3996ca66ecc2eecf7f4b1bd14c260647549fae/third_party/blink/renderer/platform/testing/testing_platform_support_with_web_rtc.h

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/18cc3ed2b09abbf80e7c4d29ef3578f639277c81

commit 18cc3ed2b09abbf80e7c4d29ef3578f639277c81
Author: Jonas Olsson <jonasolsson@chromium.org>
Date: Wed Oct 17 11:19:06 2018

Use WebRTC's IceConnection and IceGathering enums in Blink.

This is part of the onion soup efforts.

Bug: chromium:787254
Change-Id: Ic813f3da59aa4621e89fc0802fa779165c4a67d8
Reviewed-on: https://chromium-review.googlesource.com/c/1276565
Commit-Queue: Jonas Olsson <jonasolsson@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600349}
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/content/renderer/media/webrtc/mock_web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/content/renderer/media/webrtc/peer_connection_tracker.cc
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/content/renderer/media/webrtc/peer_connection_tracker.h
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/content/renderer/media/webrtc/rtc_peer_connection_handler.cc
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/content/renderer/media/webrtc/rtc_peer_connection_handler_unittest.cc
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
[modify] https://crrev.com/18cc3ed2b09abbf80e7c4d29ef3578f639277c81/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h

Sign in to add a comment