commit f7d599c51b106f98a53fa97648c0196016225c67
parent 10fa78dc3fb97d2391c4451e59bcf0baf92273e9
Author: Dan Baker <dbaker@mozilla.com>
Date: Thu, 20 Nov 2025 13:01:59 -0700
Bug 2000941 - Vendor libwebrtc from 0104eb94c8
Upstream commit: https://webrtc.googlesource.com/src/+/0104eb94c81db9ad7ba6f124c2033b68afcf6966
Move Subscribe* implementations to cc file
Subscribe* functions invoked from Chrome need to be in .cc files,
due to an issue with template expansion.
Bug: webrtc:4222260
Change-Id: I24005a96f88dd8cd0908902d3c127da5c1627f3a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/407622
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45544}
Diffstat:
3 files changed, 27 insertions(+), 14 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-11-20T19:59:03.338062+00:00.
+libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-11-20T20:01:44.432042+00:00.
# base of lastest vendoring
-ae9031c671
+0104eb94c8
diff --git a/third_party/libwebrtc/p2p/base/ice_transport_internal.cc b/third_party/libwebrtc/p2p/base/ice_transport_internal.cc
@@ -255,4 +255,25 @@ void IceTransportInternal::RemoveGatheringStateCallback(
gathering_state_callback_list_.RemoveReceivers(removal_tag);
}
+void IceTransportInternal::SubscribeCandidateGathered(
+ absl::AnyInvocable<void(IceTransportInternal*, const Candidate&)>
+ callback) {
+ candidate_gathered_trampoline_.Subscribe(std::move(callback));
+}
+
+void IceTransportInternal::SubscribeRoleConflict(
+ absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+ role_conflict_trampoline_.Subscribe(std::move(callback));
+}
+
+void IceTransportInternal::SubscribeIceTransportStateChanged(
+ absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+ ice_transport_state_changed_trampoline_.Subscribe(std::move(callback));
+}
+
+void IceTransportInternal::SubscribeDestroyed(
+ absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+ destroyed_trampoline_.Subscribe(std::move(callback));
+}
+
} // namespace webrtc
diff --git a/third_party/libwebrtc/p2p/base/ice_transport_internal.h b/third_party/libwebrtc/p2p/base/ice_transport_internal.h
@@ -361,9 +361,7 @@ class RTC_EXPORT IceTransportInternal : public PacketTransportInternal {
}
void SubscribeCandidateGathered(
absl::AnyInvocable<void(IceTransportInternal*, const Candidate&)>
- callback) {
- candidate_gathered_trampoline_.Subscribe(std::move(callback));
- }
+ callback);
void SetCandidateErrorCallback(
absl::AnyInvocable<void(IceTransportInternal*,
@@ -400,9 +398,7 @@ class RTC_EXPORT IceTransportInternal : public PacketTransportInternal {
SignalRoleConflict(transport);
}
void SubscribeRoleConflict(
- absl::AnyInvocable<void(IceTransportInternal*)> callback) {
- role_conflict_trampoline_.Subscribe(std::move(callback));
- }
+ absl::AnyInvocable<void(IceTransportInternal*)> callback);
// Emitted whenever the new standards-compliant transport state changed.
sigslot::signal1<IceTransportInternal*> SignalIceTransportStateChanged;
@@ -410,9 +406,7 @@ class RTC_EXPORT IceTransportInternal : public PacketTransportInternal {
SignalIceTransportStateChanged(transport);
}
void SubscribeIceTransportStateChanged(
- absl::AnyInvocable<void(IceTransportInternal*)> callback) {
- ice_transport_state_changed_trampoline_.Subscribe(std::move(callback));
- }
+ absl::AnyInvocable<void(IceTransportInternal*)> callback);
// Invoked when the transport is being destroyed.
sigslot::signal1<IceTransportInternal*> SignalDestroyed;
@@ -420,9 +414,7 @@ class RTC_EXPORT IceTransportInternal : public PacketTransportInternal {
SignalDestroyed(transport);
}
void SubscribeDestroyed(
- absl::AnyInvocable<void(IceTransportInternal*)> callback) {
- destroyed_trampoline_.Subscribe(std::move(callback));
- }
+ absl::AnyInvocable<void(IceTransportInternal*)> callback);
// Invoked when remote dictionary has been updated,
// i.e. modifications to attributes from remote ice agent has