tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 190c8712231471858b5b9d2d169fdb7cd0b3e132
parent e15714fcb54aa28988bda6454766b5a1fcd55b73
Author: Dan Baker <dbaker@mozilla.com>
Date:   Mon,  1 Dec 2025 17:06:50 -0700

Bug 2000941 - Vendor libwebrtc from d22b593b75

Upstream commit: https://webrtc.googlesource.com/src/+/d22b593b755e224a44152ae32ef69fa964e5ecb4
    Refactor: Separate header extension tests for Unified Plan

    The tests in `pc/peer_connection_header_extension_unittest.cc` were parameterized to run for both Plan B and Unified Plan SDP semantics. However, several of the tests were specific to Unified Plan and would return early for Plan B.

    This CL separates these tests into a new test suite, `PeerConnectionHeaderExtensionUnifiedPlanTest`, which is instantiated only for Unified Plan. This improves test clarity and organization.

    Bug: None
    Change-Id: I53e28b5b0e4c8909538cf7b2aa9145607e203447
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/408001
    Reviewed-by: Henrik Boström <hbos@webrtc.org>
    Commit-Queue: Harald Alvestrand <hta@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45575}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/pc/peer_connection_header_extension_unittest.cc | 100++++++++++++++++++++++++++++++++++++-------------------------------------------
2 files changed, 48 insertions(+), 56 deletions(-)

diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor @@ -1,4 +1,4 @@ # ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc -libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-12-02T00:03:56.127637+00:00. +libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-12-02T00:06:35.962409+00:00. # base of lastest vendoring -eaf570fb55 +d22b593b75 diff --git a/third_party/libwebrtc/pc/peer_connection_header_extension_unittest.cc b/third_party/libwebrtc/pc/peer_connection_header_extension_unittest.cc @@ -114,12 +114,14 @@ class PeerConnectionHeaderExtensionTest std::vector<RtpHeaderExtensionCapability> extensions_; }; -TEST_P(PeerConnectionHeaderExtensionTest, TransceiverOffersHeaderExtensions) { +class PeerConnectionHeaderExtensionUnifiedPlanTest + : public PeerConnectionHeaderExtensionTest {}; + +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + TransceiverOffersHeaderExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> wrapper = CreatePeerConnection(media_type, semantics); auto transceiver = wrapper->AddTransceiver(media_type); @@ -147,12 +149,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, .header_extensions); } -TEST_P(PeerConnectionHeaderExtensionTest, OffersUnstoppedDefaultExtensions) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + OffersUnstoppedDefaultExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> wrapper = CreatePeerConnection(media_type, semantics); auto transceiver = wrapper->AddTransceiver(media_type); @@ -166,12 +167,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, OffersUnstoppedDefaultExtensions) { Field(&RtpExtension::uri, "uri4"))); } -TEST_P(PeerConnectionHeaderExtensionTest, OffersUnstoppedModifiedExtensions) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + OffersUnstoppedModifiedExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> wrapper = CreatePeerConnection(media_type, semantics); auto transceiver = wrapper->AddTransceiver(media_type); @@ -190,12 +190,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, OffersUnstoppedModifiedExtensions) { Field(&RtpExtension::uri, "uri3"))); } -TEST_P(PeerConnectionHeaderExtensionTest, AnswersUnstoppedModifiedExtensions) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + AnswersUnstoppedModifiedExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection(media_type, semantics); std::unique_ptr<PeerConnectionWrapper> pc2 = @@ -225,12 +224,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, AnswersUnstoppedModifiedExtensions) { Field(&RtpExtension::uri, "uri3"))); } -TEST_P(PeerConnectionHeaderExtensionTest, NegotiatedExtensionsAreAccessible) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + NegotiatedExtensionsAreAccessible) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection(media_type, semantics); auto transceiver1 = pc1->AddTransceiver(media_type); @@ -263,12 +261,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, NegotiatedExtensionsAreAccessible) { RtpTransceiverDirection::kStopped))); } -TEST_P(PeerConnectionHeaderExtensionTest, OfferedExtensionsArePerTransceiver) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + OfferedExtensionsArePerTransceiver) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection(media_type, semantics); auto transceiver1 = pc1->AddTransceiver(media_type); @@ -293,12 +290,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, OfferedExtensionsArePerTransceiver) { Field(&RtpExtension::uri, "uri4"))); } -TEST_P(PeerConnectionHeaderExtensionTest, RemovalAfterRenegotiation) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + RemovalAfterRenegotiation) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection(media_type, semantics); std::unique_ptr<PeerConnectionWrapper> pc2 = @@ -326,13 +322,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, RemovalAfterRenegotiation) { Field(&RtpExtension::uri, "uri3"))); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, StoppedByDefaultExtensionCanBeActivatedByRemoteSdp) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection(media_type, semantics); std::unique_ptr<PeerConnectionWrapper> pc2 = @@ -363,13 +357,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, RtpTransceiverDirection::kSendRecv))); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, UnknownExtensionInRemoteOfferDoesNotShowUp) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc = CreatePeerConnection(media_type, semantics); std::string sdp = @@ -418,13 +410,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, // These tests are regression tests for behavior that the API // enables in a proper way. It conflicts with the behavior // of the API to only offer non-stopped extensions. -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, SdpMungingAnswerWithoutApiUsageEnablesExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc = CreatePeerConnection( media_type, semantics, "WebRTC-HeaderExtensionNegotiateMemory/Disabled/"); std::string sdp = @@ -475,13 +465,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, Field(&RtpExtension::uri, "uri3"), Field(&RtpExtension::uri, "uri4"))); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, SdpMungingAnswerWithoutApiUsageEnablesExtensionsWithMemory) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc = CreatePeerConnection( media_type, semantics, "WebRTC-HeaderExtensionNegotiateMemory/Enabled/"); std::string sdp = @@ -532,13 +520,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, ElementsAre(Field(&RtpExtension::uri, "uri1"))); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, SdpMungingOfferWithoutApiUsageEnablesExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc = CreatePeerConnection(media_type, semantics); pc->AddTransceiver(media_type); @@ -563,13 +549,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, Field(&RtpExtension::uri, "uri1"))); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, EnablingExtensionsAfterRemoteOfferWithoutHeaderExtensionMemory) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc = CreatePeerConnection( media_type, semantics, "WebRTC-HeaderExtensionNegotiateMemory/Disabled/"); std::string sdp = @@ -624,13 +608,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, EXPECT_EQ(extensions[0].id, 5); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, EnablingExtensionsAfterRemoteOfferWithHeaderExtensionMemory) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) - return; std::unique_ptr<PeerConnectionWrapper> pc = CreatePeerConnection( media_type, semantics, "WebRTC-HeaderExtensionNegotiateMemory/Enabled/"); std::string sdp = @@ -682,13 +664,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, EXPECT_EQ(extensions[0].id, 5); } -TEST_P(PeerConnectionHeaderExtensionTest, SenderParametersReflectNegotiation) { +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, + SenderParametersReflectNegotiation) { SdpSemantics semantics; MediaType media_type; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) { - GTEST_SKIP() << "This test only works with Unified Plan"; - } std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection(media_type, semantics); std::unique_ptr<PeerConnectionWrapper> pc2 = @@ -718,14 +698,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, SenderParametersReflectNegotiation) { } } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, TransceiversAddedAfterFirstDoNotCopy) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) { - GTEST_SKIP() << "This test only works with Unified Plan"; - } std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection( media_type, semantics, "WebRTC-HeaderExtensionNegotiateMemory/Disabled/"); @@ -751,14 +728,11 @@ TEST_P(PeerConnectionHeaderExtensionTest, Field(&RtpExtension::uri, "uri4"))); } -TEST_P(PeerConnectionHeaderExtensionTest, +TEST_P(PeerConnectionHeaderExtensionUnifiedPlanTest, TransceiversAddedAfterFirstTransceiverCopyExtensions) { MediaType media_type; SdpSemantics semantics; std::tie(media_type, semantics) = GetParam(); - if (semantics != SdpSemantics::kUnifiedPlan) { - GTEST_SKIP() << "This test only works with Unified Plan"; - } std::unique_ptr<PeerConnectionWrapper> pc1 = CreatePeerConnection( media_type, semantics, "WebRTC-HeaderExtensionNegotiateMemory/Enabled/"); auto transceiver1 = pc1->AddTransceiver(media_type); @@ -801,4 +775,22 @@ INSTANTIATE_TEST_SUITE_P( .str(); }); +INSTANTIATE_TEST_SUITE_P( + , + PeerConnectionHeaderExtensionUnifiedPlanTest, + Combine(Values(MediaType::AUDIO, MediaType::VIDEO), + Values(SdpSemantics::kUnifiedPlan)), + [](const testing::TestParamInfo< + PeerConnectionHeaderExtensionUnifiedPlanTest::ParamType>& info) { + MediaType media_type; + SdpSemantics semantics; + std::tie(media_type, semantics) = info.param; + return (StringBuilder("With") + << (semantics == SdpSemantics::kPlanB_DEPRECATED ? "PlanB" + : "UnifiedPlan") + << "And" << (media_type == MediaType::AUDIO ? "Voice" : "Video") + << "Engine") + .str(); + }); + } // namespace webrtc