Replace uses of WebRtcOfferOptions by RtcOfferOptionsPlatform
The public API is not needed any more now that the WebRTC/Peerconnection
implementation resides solely in Blink.
Hence, this CL uses RtcOfferOptionsPlatform directly.
BUG=787254, 919392
R=guidou@chromium.org, haraken@chromium.org
Change-Id: Ic1d6c34e6d85523cdcd473f74c894e8043924fa4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1884931
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#712103}
diff --git a/third_party/blink/public/BUILD.gn b/third_party/blink/public/BUILD.gn
index 3ec01cf..fc6b41e 100644
--- a/third_party/blink/public/BUILD.gn
+++ b/third_party/blink/public/BUILD.gn
@@ -288,7 +288,6 @@
"platform/web_rtc_dtmf_sender_handler_client.h",
"platform/web_rtc_ice_candidate.h",
"platform/web_rtc_legacy_stats.h",
- "platform/web_rtc_offer_options.h",
"platform/web_rtc_peer_connection_handler.h",
"platform/web_rtc_peer_connection_handler_client.h",
"platform/web_rtc_rtp_receiver.h",
diff --git a/third_party/blink/public/platform/web_rtc_peer_connection_handler.h b/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
index 49412d5..dd74029 100644
--- a/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
+++ b/third_party/blink/public/platform/web_rtc_peer_connection_handler.h
@@ -49,12 +49,12 @@
namespace blink {
+class RTCOfferOptionsPlatform;
class WebLocalFrame;
class WebMediaConstraints;
class WebMediaStream;
class WebMediaStreamTrack;
class WebRTCAnswerOptions;
-class WebRTCOfferOptions;
class WebRTCRtpSender;
class WebRTCSessionDescription;
class WebRTCSessionDescriptionRequest;
@@ -93,7 +93,7 @@
const WebMediaConstraints&) = 0;
virtual WebVector<std::unique_ptr<WebRTCRtpTransceiver>> CreateOffer(
const WebRTCSessionDescriptionRequest&,
- const WebRTCOfferOptions&) = 0;
+ RTCOfferOptionsPlatform*) = 0;
virtual void CreateAnswer(const WebRTCSessionDescriptionRequest&,
const WebMediaConstraints&) = 0;
virtual void CreateAnswer(const WebRTCSessionDescriptionRequest&,
diff --git a/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.cc b/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.cc
index 023ed52..2ed96fd 100644
--- a/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.cc
+++ b/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.cc
@@ -257,7 +257,7 @@
WebVector<std::unique_ptr<WebRTCRtpTransceiver>>
MockWebRTCPeerConnectionHandler::CreateOffer(
const WebRTCSessionDescriptionRequest&,
- const WebRTCOfferOptions&) {
+ RTCOfferOptionsPlatform*) {
return {};
}
diff --git a/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.h b/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.h
index c7c17f9..4e55f51a 100644
--- a/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.h
+++ b/third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler.h
@@ -33,7 +33,7 @@
const WebMediaConstraints&) override;
WebVector<std::unique_ptr<WebRTCRtpTransceiver>> CreateOffer(
const WebRTCSessionDescriptionRequest&,
- const WebRTCOfferOptions&) override;
+ RTCOfferOptionsPlatform*) override;
void CreateAnswer(const WebRTCSessionDescriptionRequest&,
const WebMediaConstraints&) override;
void CreateAnswer(const WebRTCSessionDescriptionRequest&,
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc
index f455d30..584bad2 100644
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc
@@ -22,12 +22,12 @@
#include "third_party/blink/public/platform/web_media_stream_track.h"
#include "third_party/blink/public/platform/web_rtc_answer_options.h"
#include "third_party/blink/public/platform/web_rtc_ice_candidate.h"
-#include "third_party/blink/public/platform/web_rtc_offer_options.h"
#include "third_party/blink/public/platform/web_rtc_peer_connection_handler_client.h"
#include "third_party/blink/public/web/web_document.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/public/web/web_user_media_request.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h"
+#include "third_party/blink/renderer/platform/peerconnection/rtc_offer_options_platform.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
@@ -68,19 +68,19 @@
return String(constraints.ToString());
}
-static String SerializeOfferOptions(const blink::WebRTCOfferOptions& options) {
- if (options.IsNull())
+static String SerializeOfferOptions(blink::RTCOfferOptionsPlatform* options) {
+ if (!options)
return "null";
StringBuilder result;
result.Append("offerToReceiveVideo: ");
- result.AppendNumber(options.OfferToReceiveVideo());
+ result.AppendNumber(options->OfferToReceiveVideo());
result.Append(", offerToReceiveAudio: ");
- result.AppendNumber(options.OfferToReceiveAudio());
+ result.AppendNumber(options->OfferToReceiveAudio());
result.Append(", voiceActivityDetection: ");
- result.Append(SerializeBoolean(options.VoiceActivityDetection()));
+ result.Append(SerializeBoolean(options->VoiceActivityDetection()));
result.Append(", iceRestart: ");
- result.Append(SerializeBoolean(options.IceRestart()));
+ result.Append(SerializeBoolean(options->IceRestart()));
return result.ToString();
}
@@ -776,7 +776,7 @@
void PeerConnectionTracker::TrackCreateOffer(
RTCPeerConnectionHandler* pc_handler,
- const blink::WebRTCOfferOptions& options) {
+ RTCOfferOptionsPlatform* options) {
DCHECK_CALLED_ON_VALID_THREAD(main_thread_);
int id = GetLocalIDForHandler(pc_handler);
if (id == -1)
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.h b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.h
index b5c5415..98585c6 100644
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.h
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.h
@@ -26,11 +26,11 @@
namespace blink {
class RTCPeerConnectionHandler;
+class RTCOfferOptionsPlatform;
class WebLocalFrame;
class WebMediaConstraints;
class WebRTCAnswerOptions;
class WebRTCICECandidate;
-class WebRTCOfferOptions;
class WebUserMediaRequest;
// This class collects data about each peer connection,
@@ -99,7 +99,7 @@
// The |pc_handler| is the handler object associated with the PeerConnection,
// the |constraints| is the media constraints used to create the offer/answer.
virtual void TrackCreateOffer(RTCPeerConnectionHandler* pc_handler,
- const blink::WebRTCOfferOptions& options);
+ RTCOfferOptionsPlatform* options);
// TODO(hta): Get rid of the version below.
virtual void TrackCreateOffer(RTCPeerConnectionHandler* pc_handler,
const blink::WebMediaConstraints& options);
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker_test.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker_test.cc
index 4712af6..2adeb27 100644
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker_test.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker_test.cc
@@ -10,7 +10,6 @@
#include "third_party/blink/public/mojom/peerconnection/peer_connection_tracker.mojom-blink.h"
#include "third_party/blink/public/platform/scheduler/test/renderer_scheduler_test_support.h"
#include "third_party/blink/public/platform/web_media_constraints.h"
-#include "third_party/blink/public/platform/web_rtc_offer_options.h"
#include "third_party/blink/public/platform/web_rtc_rtp_receiver.h"
#include "third_party/blink/public/platform/web_rtc_rtp_sender.h"
#include "third_party/blink/public/platform/web_rtc_rtp_transceiver.h"
@@ -18,6 +17,7 @@
#include "third_party/blink/renderer/modules/peerconnection/mock_peer_connection_dependency_factory.h"
#include "third_party/blink/renderer/modules/peerconnection/mock_web_rtc_peer_connection_handler_client.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h"
+#include "third_party/blink/renderer/platform/peerconnection/rtc_offer_options_platform.h"
using ::testing::_;
@@ -167,9 +167,10 @@
TEST_F(PeerConnectionTrackerTest, TrackCreateOffer) {
CreateTrackerWithMocks();
CreateAndRegisterPeerConnectionHandler();
- // Note: blink::WebRTCOfferOptions is not mockable. So we can't write tests
- // for anything but a null options parameter.
- blink::WebRTCOfferOptions options(0, 0, false, false);
+ // Note: blink::RTCOfferOptionsPlatform is not mockable. So we can't write
+ // tests for anything but a null options parameter.
+ RTCOfferOptionsPlatform* options =
+ MakeGarbageCollected<RTCOfferOptionsPlatform>(0, 0, false, false);
EXPECT_CALL(
*mock_host_,
UpdatePeerConnection(
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
index 2db4b85..948c9d6 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
@@ -48,7 +48,6 @@
#include "third_party/blink/public/platform/web_rtc_answer_options.h"
#include "third_party/blink/public/platform/web_rtc_data_channel_init.h"
#include "third_party/blink/public/platform/web_rtc_ice_candidate.h"
-#include "third_party/blink/public/platform/web_rtc_offer_options.h"
#include "third_party/blink/public/platform/web_rtc_session_description.h"
#include "third_party/blink/public/platform/web_rtc_session_description_request.h"
#include "third_party/blink/public/platform/web_rtc_stats_request.h"
@@ -194,8 +193,9 @@
return false;
}
-WebRTCOfferOptions ConvertToWebRTCOfferOptions(const RTCOfferOptions* options) {
- return WebRTCOfferOptions(MakeGarbageCollected<RTCOfferOptionsPlatform>(
+RTCOfferOptionsPlatform* ConvertToRTCOfferOptionsPlatform(
+ const RTCOfferOptions* options) {
+ return MakeGarbageCollected<RTCOfferOptionsPlatform>(
options->hasOfferToReceiveVideo()
? std::max(options->offerToReceiveVideo(), 0)
: -1,
@@ -204,7 +204,7 @@
: -1,
options->hasVoiceActivityDetection() ? options->voiceActivityDetection()
: true,
- options->hasIceRestart() ? options->iceRestart() : false));
+ options->hasIceRestart() ? options->iceRestart() : false);
}
WebRTCAnswerOptions ConvertToWebRTCAnswerOptions(
@@ -855,8 +855,8 @@
context,
WebFeature::kRTCPeerConnectionCreateOfferOptionsOfferToReceive);
}
- auto web_transceivers =
- peer_handler_->CreateOffer(request, ConvertToWebRTCOfferOptions(options));
+ auto web_transceivers = peer_handler_->CreateOffer(
+ request, ConvertToRTCOfferOptionsPlatform(options));
for (auto& web_transceiver : web_transceivers)
CreateOrUpdateTransceiver(std::move(web_transceiver));
return promise;
@@ -899,8 +899,7 @@
context, WebFeature::kRTCPeerConnectionCreateOfferLegacyCompliant);
}
- web_transceivers =
- peer_handler_->CreateOffer(request, WebRTCOfferOptions(offer_options));
+ web_transceivers = peer_handler_->CreateOffer(request, offer_options);
} else {
MediaErrorState media_error_state;
WebMediaConstraints constraints = media_constraints_impl::Create(
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc
index 0e96369..00e88ef 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.cc
@@ -32,7 +32,6 @@
#include "third_party/blink/public/platform/web_rtc_data_channel_init.h"
#include "third_party/blink/public/platform/web_rtc_ice_candidate.h"
#include "third_party/blink/public/platform/web_rtc_legacy_stats.h"
-#include "third_party/blink/public/platform/web_rtc_offer_options.h"
#include "third_party/blink/public/platform/web_rtc_rtp_sender.h"
#include "third_party/blink/public/platform/web_rtc_rtp_transceiver.h"
#include "third_party/blink/public/platform/web_rtc_session_description.h"
@@ -49,6 +48,7 @@
#include "third_party/blink/renderer/modules/peerconnection/webrtc_set_description_observer.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_event_log_output_sink.h"
#include "third_party/blink/renderer/platform/peerconnection/rtc_event_log_output_sink_proxy.h"
+#include "third_party/blink/renderer/platform/peerconnection/rtc_offer_options_platform.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "third_party/blink/renderer/platform/wtf/thread_safe_ref_counted.h"
#include "third_party/webrtc/api/rtc_event_log_output.h"
@@ -510,12 +510,13 @@
}
void ConvertOfferOptionsToWebrtcOfferOptions(
- const blink::WebRTCOfferOptions& options,
+ const RTCOfferOptionsPlatform* options,
webrtc::PeerConnectionInterface::RTCOfferAnswerOptions* output) {
- output->offer_to_receive_audio = options.OfferToReceiveAudio();
- output->offer_to_receive_video = options.OfferToReceiveVideo();
- output->voice_activity_detection = options.VoiceActivityDetection();
- output->ice_restart = options.IceRestart();
+ DCHECK(options);
+ output->offer_to_receive_audio = options->OfferToReceiveAudio();
+ output->offer_to_receive_video = options->OfferToReceiveVideo();
+ output->voice_activity_detection = options->VoiceActivityDetection();
+ output->ice_restart = options->IceRestart();
}
void ConvertAnswerOptionsToWebrtcAnswerOptions(
@@ -1150,7 +1151,7 @@
blink::WebVector<std::unique_ptr<blink::WebRTCRtpTransceiver>>
RTCPeerConnectionHandler::CreateOffer(
const blink::WebRTCSessionDescriptionRequest& request,
- const blink::WebRTCOfferOptions& options) {
+ blink::RTCOfferOptionsPlatform* options) {
DCHECK(task_runner_->RunsTasksInCurrentSequence());
TRACE_EVENT0("webrtc", "RTCPeerConnectionHandler::createOffer");
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h
index 920aa903..4a3c66e 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_handler.h
@@ -34,11 +34,11 @@
namespace blink {
class PeerConnectionDependencyFactory;
class PeerConnectionTracker;
+class RTCOfferOptionsPlatform;
class SetLocalDescriptionRequest;
class WebLocalFrame;
class WebRTCAnswerOptions;
class WebRTCLegacyStats;
-class WebRTCOfferOptions;
class WebRTCPeerConnectionHandlerClient;
// Mockable wrapper for blink::WebRTCStatsResponse
@@ -112,7 +112,7 @@
const blink::WebMediaConstraints& options) override;
blink::WebVector<std::unique_ptr<blink::WebRTCRtpTransceiver>> CreateOffer(
const blink::WebRTCSessionDescriptionRequest& request,
- const blink::WebRTCOfferOptions& options) override;
+ blink::RTCOfferOptionsPlatform* options) override;
void CreateAnswer(const blink::WebRTCSessionDescriptionRequest& request,
const blink::WebMediaConstraints& options) override;
diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_test.cc b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_test.cc
index 04256b6..ceaedd6 100644
--- a/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_test.cc
+++ b/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_test.cc
@@ -43,6 +43,8 @@
namespace blink {
+class RTCOfferOptionsPlatform;
+
static const char* kOfferSdpUnifiedPlanSingleAudioSingleVideo =
"v=0\r\n"
"o=- 6676943034916303038 2 IN IP4 127.0.0.1\r\n"
@@ -713,7 +715,7 @@
WebVector<std::unique_ptr<WebRTCRtpTransceiver>> CreateOffer(
const WebRTCSessionDescriptionRequest& request,
- const WebRTCOfferOptions&) override {
+ RTCOfferOptionsPlatform*) override {
PostToCompleteRequest<WebRTCSessionDescriptionRequest>(
async_operation_action_, request);
return {};
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 8fafab74..3249935c 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -536,7 +536,6 @@
"exported/web_resource_timing_info.cc",
"exported/web_rtc_answer_options.cc",
"exported/web_rtc_ice_candidate.cc",
- "exported/web_rtc_offer_options.cc",
"exported/web_rtc_peer_connection_handler_client.cc",
"exported/web_rtc_rtp_receiver.cc",
"exported/web_rtc_rtp_sender.cc",
diff --git a/third_party/blink/renderer/platform/exported/web_rtc_offer_options.cc b/third_party/blink/renderer/platform/exported/web_rtc_offer_options.cc
deleted file mode 100644
index 366bb3d..0000000
--- a/third_party/blink/renderer/platform/exported/web_rtc_offer_options.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "third_party/blink/public/platform/web_rtc_offer_options.h"
-
-#include "third_party/blink/renderer/platform/heap/heap.h"
-#include "third_party/blink/renderer/platform/peerconnection/rtc_offer_options_platform.h"
-
-namespace blink {
-
-WebRTCOfferOptions::WebRTCOfferOptions(RTCOfferOptionsPlatform* options)
- : private_(options) {}
-
-WebRTCOfferOptions::WebRTCOfferOptions(int32_t offer_to_receive_audio,
- int32_t offer_to_receive_video,
- bool voice_activity_detection,
- bool ice_restart)
- : private_(MakeGarbageCollected<RTCOfferOptionsPlatform>(
- offer_to_receive_audio,
- offer_to_receive_video,
- voice_activity_detection,
- ice_restart)) {}
-
-void WebRTCOfferOptions::Assign(const WebRTCOfferOptions& other) {
- private_ = other.private_;
-}
-
-void WebRTCOfferOptions::Reset() {
- private_.Reset();
-}
-
-int32_t WebRTCOfferOptions::OfferToReceiveVideo() const {
- DCHECK(!IsNull());
- return private_->OfferToReceiveVideo();
-}
-
-int32_t WebRTCOfferOptions::OfferToReceiveAudio() const {
- DCHECK(!IsNull());
- return private_->OfferToReceiveAudio();
-}
-
-bool WebRTCOfferOptions::VoiceActivityDetection() const {
- DCHECK(!IsNull());
- return private_->VoiceActivityDetection();
-}
-
-bool WebRTCOfferOptions::IceRestart() const {
- DCHECK(!IsNull());
- return private_->IceRestart();
-}
-
-} // namespace blink