tor-browser

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

commit 5a47cade7576141d33475b0e6c434f6f2c788e22
parent ba363bb0dd690b5cede2897d896218542de15fb4
Author: Dan Baker <dbaker@mozilla.com>
Date:   Wed, 19 Nov 2025 21:31:24 -0700

Bug 2000941 - Vendor libwebrtc from 99da2214ee

Upstream commit: https://webrtc.googlesource.com/src/+/99da2214ee3fc86deae76726c7e52931aff1768a
    Use Clock from socket_unittest

    These tests use the global clock so no need for clock injection, pending
    future changes to the socket implementation.

    Bug: webrtc:42223992
    Change-Id: I67d4294f357b7c8557e2ee00fa38f247ad546a8b
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/407443
    Commit-Queue: Harald Alvestrand <hta@webrtc.org>
    Reviewed-by: Harald Alvestrand <hta@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#45536}

Diffstat:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/rtc_base/socket_unittest.cc | 19++++++++++---------
Mthird_party/libwebrtc/rtc_base/socket_unittest.h | 3+++
3 files changed, 15 insertions(+), 11 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-20T04:28:55.921938+00:00. +libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-11-20T04:31:09.060649+00:00. # base of lastest vendoring -824c352e6f +99da2214ee diff --git a/third_party/libwebrtc/rtc_base/socket_unittest.cc b/third_party/libwebrtc/rtc_base/socket_unittest.cc @@ -36,7 +36,6 @@ #include "rtc_base/test_utils.h" #include "rtc_base/third_party/sigslot/sigslot.h" #include "rtc_base/thread.h" -#include "rtc_base/time_utils.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/wait_until.h" @@ -424,8 +423,8 @@ void SocketTest::ConnectWithDnsLookupFailInternal(const IPAddress& loopback) { EXPECT_EQ(0, client->Connect(bogus_dns_addr)); // Wait for connection to fail (EHOSTNOTFOUND). - bool dns_lookup_finished = false; - WAIT_(client->GetState() == Socket::CS_CLOSED, 5000, dns_lookup_finished); + bool dns_lookup_finished = + WaitUntil([&] { return client->GetState() == Socket::CS_CLOSED; }); if (!dns_lookup_finished) { RTC_LOG(LS_WARNING) << "Skipping test; DNS resolution took longer than 5 " "seconds."; @@ -1096,10 +1095,10 @@ void SocketTest::UdpReadyToSend(const IPAddress& loopback) { client->SetOption(Socket::OPT_SNDBUF, send_buffer_size); int error = 0; - uint32_t start_ms = Time(); + uint32_t start_ms = clock_.TimeInMilliseconds(); int sent_packet_num = 0; int expected_error = EWOULDBLOCK; - while (start_ms + 5000 > Time()) { + while (start_ms + 5000 > clock_.TimeInMilliseconds()) { int ret = client->SendTo(test_packet.get(), test_packet_size, test_addr); ++sent_packet_num; if (ret != test_packet_size) { @@ -1220,7 +1219,7 @@ void SocketTest::SocketRecvTimestamp(const IPAddress& loopback) { SocketAddress address = socket->GetLocalAddress(); sink.Monitor(socket.get()); - int64_t send_time_1 = TimeMicros(); + int64_t send_time_1 = clock_.TimeInMicroseconds(); socket->SendTo("foo", 3, address); // Wait until data is available. @@ -1234,7 +1233,7 @@ void SocketTest::SocketRecvTimestamp(const IPAddress& loopback) { const int64_t kTimeBetweenPacketsMs = 100; Thread::SleepMs(kTimeBetweenPacketsMs); - int64_t send_time_2 = TimeMicros(); + int64_t send_time_2 = clock_.TimeInMicroseconds(); socket->SendTo("bar", 3, address); // Wait until data is available. EXPECT_THAT(WaitUntil([&] { return sink.Check(socket.get(), SSE_READ); }, @@ -1268,14 +1267,16 @@ void SocketTest::UdpSocketRecvTimestampUseRtcEpoch(const IPAddress& loopback) { client2->SendTo("foo", 3, address); std::unique_ptr<TestClient::Packet> packet_1 = client1->NextPacket(10000); ASSERT_TRUE(packet_1 != nullptr); - EXPECT_NEAR(packet_1->packet_time->us(), TimeMicros(), 1000'000); + EXPECT_NEAR(packet_1->packet_time->us(), clock_.TimeInMicroseconds(), + 1000'000); Thread::SleepMs(100); client2->SendTo("bar", 3, address); std::unique_ptr<TestClient::Packet> packet_2 = client1->NextPacket(10000); ASSERT_TRUE(packet_2 != nullptr); EXPECT_GT(packet_2->packet_time->us(), packet_1->packet_time->us()); - EXPECT_NEAR(packet_2->packet_time->us(), TimeMicros(), 1000'000); + EXPECT_NEAR(packet_2->packet_time->us(), clock_.TimeInMicroseconds(), + 1000'000); } void SocketTest::SocketSendRecvWithEcn(const IPAddress& loopback) { diff --git a/third_party/libwebrtc/rtc_base/socket_unittest.h b/third_party/libwebrtc/rtc_base/socket_unittest.h @@ -16,6 +16,7 @@ #include "absl/strings/string_view.h" #include "rtc_base/ip_address.h" #include "rtc_base/socket_factory.h" +#include "system_wrappers/include/clock.h" #include "test/gtest.h" namespace webrtc { @@ -28,6 +29,7 @@ class SocketTest : public ::testing::Test { explicit SocketTest(SocketFactory* socket_factory) : kIPv4Loopback(INADDR_LOOPBACK), kIPv6Loopback(in6addr_loopback), + clock_(*Clock::GetRealTimeClock()), socket_factory_(socket_factory) {} void TestConnectIPv4(); void TestConnectIPv6(); @@ -77,6 +79,7 @@ class SocketTest : public ::testing::Test { void TcpInternal(const IPAddress& loopback, size_t data_size, ptrdiff_t max_send_size); + Clock& clock_; private: void ConnectInternal(const IPAddress& loopback);