tor-browser

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

commit 03b229a0d1b6c9dc764002fe282d0e9b265ee409
parent 2979f70dd960752cdaf91248c64bf97f2af472ed
Author: Dan Baker <dbaker@mozilla.com>
Date:   Tue,  2 Dec 2025 00:29:02 -0700

Bug 2000941 - Vendor libwebrtc from 73282ed449

Upstream commit: https://webrtc.googlesource.com/src/+/73282ed44968c79fbd6efdc0cfb7067092c2ec1b
    snap: guard with field trial

    The field trial name is
      WebRTC-Sctp-Snap

    This prevents it from being enabled by default until it is ready
    and has at least a submitted IETF draft

    Bug: webrtc:426480601
    Change-Id: I3de79ce60c70d74774fa30f9c174987889a66f25
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/397381
    Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
    Cr-Commit-Position: refs/heads/main@{#45735}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/experiments/field_trials.py | 3+++
Mthird_party/libwebrtc/moz-patch-stack/s0102.patch | 2+-
Mthird_party/libwebrtc/pc/BUILD.gn | 1+
Mthird_party/libwebrtc/pc/media_options.h | 3+++
Mthird_party/libwebrtc/pc/sdp_offer_answer.cc | 5+++++
6 files changed, 15 insertions(+), 3 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-02T07:26:29.101846+00:00. +libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-12-02T07:28:48.145910+00:00. # base of lastest vendoring -a4f0e9cabe +73282ed449 diff --git a/third_party/libwebrtc/experiments/field_trials.py b/third_party/libwebrtc/experiments/field_trials.py @@ -173,6 +173,9 @@ ACTIVE_FIELD_TRIALS: FrozenSet[FieldTrial] = frozenset([ FieldTrial('WebRTC-RtcEventLogEncodeNetEqSetMinimumDelayKillSwitch', 42225058, date(2024, 4, 1)), + FieldTrial('WebRTC-Sctp-Snap', + 426480601, + date(2026, 1, 1)), FieldTrial('WebRTC-SimulcastEncoderAdapter-DropUnalignedResolution', 415329365, date(2025, 11, 2)), diff --git a/third_party/libwebrtc/moz-patch-stack/s0102.patch b/third_party/libwebrtc/moz-patch-stack/s0102.patch @@ -601,7 +601,7 @@ index b7561e53b6..fe7eb57423 100644 import("../../webrtc.gni") diff --git a/pc/BUILD.gn b/pc/BUILD.gn -index 139f78efe7..c1943c8cab 100644 +index 61f874c816..6cde29a50d 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -30,8 +30,8 @@ diff --git a/third_party/libwebrtc/pc/BUILD.gn b/third_party/libwebrtc/pc/BUILD.gn @@ -1132,6 +1132,7 @@ rtc_library("sdp_offer_answer") { "../api:scoped_refptr", "../api:sequence_checker", "../api/crypto:options", + "../api/environment", "../api/video:builtin_video_bitrate_allocator_factory", "../api/video:video_bitrate_allocator_factory", "../api/video:video_codec_constants", diff --git a/third_party/libwebrtc/pc/media_options.h b/third_party/libwebrtc/pc/media_options.h @@ -113,6 +113,9 @@ struct MediaSessionOptions { // Default is true for backwards compatibility with clients that use // this internal interface. bool use_obsolete_sctp_sdp = true; + + // Parse and serialize the draft-hancke-tsvwg-snap sctp-init. + bool use_sctp_snap = false; }; } // namespace webrtc diff --git a/third_party/libwebrtc/pc/sdp_offer_answer.cc b/third_party/libwebrtc/pc/sdp_offer_answer.cc @@ -34,6 +34,7 @@ #include "api/array_view.h" #include "api/candidate.h" #include "api/crypto/crypto_options.h" +#include "api/environment/environment.h" #include "api/jsep.h" #include "api/make_ref_counted.h" #include "api/media_stream_interface.h" @@ -4330,6 +4331,8 @@ void SdpOfferAnswerHandler::GetOptionsForOffer( // the default in `options` is false. session_options->use_obsolete_sctp_sdp = offer_answer_options.use_obsolete_sctp_sdp; + // draft-hancke-tsvwg-snap. + session_options->use_sctp_snap = pc_->trials().IsEnabled("WebRTC-Sctp-Snap"); } void SdpOfferAnswerHandler::GetOptionsForPlanBOffer( @@ -4604,6 +4607,8 @@ void SdpOfferAnswerHandler::GetOptionsForAnswer( session_options->pooled_ice_credentials = context_->network_thread()->BlockingCall( [this] { return port_allocator()->GetPooledIceCredentials(); }); + // draft-hancke-tsvwg-snap. + session_options->use_sctp_snap = pc_->trials().IsEnabled("WebRTC-Sctp-Snap"); } void SdpOfferAnswerHandler::GetOptionsForPlanBAnswer(